Browse Source

Merge branch 'feature/264' of https://git.miteruzo.com/miteruzo/btrc-hub into feature/264

feature/264
みてるぞ 3 days ago
parent
commit
72e3b10b3c
7 changed files with 26 additions and 20 deletions
  1. +1
    -1
      frontend/src/App.tsx
  2. +11
    -11
      frontend/src/components/TopNav.tsx
  3. +1
    -2
      frontend/src/components/layout/MainArea.tsx
  4. +5
    -3
      frontend/src/index.css
  5. +2
    -1
      frontend/src/pages/materials/MaterialBasePage.tsx
  6. +2
    -1
      frontend/src/pages/posts/PostDetailPage.tsx
  7. +4
    -1
      frontend/src/pages/posts/PostListPage.tsx

+ 1
- 1
frontend/src/App.tsx View File

@@ -131,7 +131,7 @@ export default (() => {
<> <>
<RouteBlockerOverlay/> <RouteBlockerOverlay/>
<BrowserRouter> <BrowserRouter>
<div className="flex flex-col h-dvh w-screen">
<div className="flex flex-col h-dvh w-full">
<TopNav user={user}/> <TopNav user={user}/>
<RouteTransitionWrapper user={user} setUser={setUser}/> <RouteTransitionWrapper user={user} setUser={setUser}/>
</div> </div>


+ 11
- 11
frontend/src/components/TopNav.tsx View File

@@ -79,12 +79,12 @@ export default (({ user }: Props) => {
{ name: '上位タグ', to: '/tags/implications', visible: false }, { name: '上位タグ', to: '/tags/implications', visible: false },
{ name: 'ニコニコ連携', to: '/tags/nico' }, { name: 'ニコニコ連携', to: '/tags/nico' },
{ name: 'ヘルプ', to: '/wiki/ヘルプ:タグ' }] }, { name: 'ヘルプ', to: '/wiki/ヘルプ:タグ' }] },
{ name: '素材', to: '/materials', subMenu: [
{ name: '一覧', to: '/materials' },
// { name: '検索', to: '/materials/search' },
{ name: '追加', to: '/materials/new' },
// { name: '履歴', to: '/materials/changes' },
{ name: 'ヘルプ', to: 'wiki/ヘルプ:素材集' }] },
// { name: '素材', to: '/materials', subMenu: [
// { name: '一覧', to: '/materials' },
// { name: '検索', to: '/materials/search', visible: false },
// { name: '追加', to: '/materials/new' },
// { name: '履歴', to: '/materials/changes', visible: false },
// { name: 'ヘルプ', to: '/wiki/ヘルプ:素材集' }] },
{ name: '上映会', to: '/theatres/1', base: '/theatres', subMenu: [ { name: '上映会', to: '/theatres/1', base: '/theatres', subMenu: [
{ name: <>第&thinsp;1&thinsp;会場</>, to: '/theatres/1' }, { name: <>第&thinsp;1&thinsp;会場</>, to: '/theatres/1' },
{ name: 'CyTube', to: '//cytube.mm428.net/r/deernijika' }, { name: 'CyTube', to: '//cytube.mm428.net/r/deernijika' },
@@ -145,9 +145,9 @@ export default (({ user }: Props) => {


return ( return (
<> <>
<nav className="px-3 flex justify-between items-center w-full min-h-[48px]
<nav className="px-3 flex justify-between items-center w-full
bg-yellow-200 dark:bg-red-975 md:bg-yellow-50"> bg-yellow-200 dark:bg-red-975 md:bg-yellow-50">
<div className="flex items-center gap-2 h-full">
<div className="flex items-center gap-2 h-12">
<PrefetchLink <PrefetchLink
to="/posts" to="/posts"
className="mx-4 text-xl font-bold text-pink-600 hover:text-pink-400 className="mx-4 text-xl font-bold text-pink-600 hover:text-pink-400
@@ -158,13 +158,13 @@ export default (({ user }: Props) => {
ぼざクリ タグ広場 ぼざクリ タグ広場
</PrefetchLink> </PrefetchLink>


<div ref={navRef} className="relative hidden md:flex h-full items-center">
<div ref={navRef} className="relative hidden md:flex h-12 items-center">
<div aria-hidden <div aria-hidden
className={cn ('absolute top-1/2 -translate-y-1/2 h-full',
className={cn ('absolute inset-y-0 h-12',
'bg-yellow-200 dark:bg-red-950', 'bg-yellow-200 dark:bg-red-950',
'transition-[transform,width] duration-200 ease-out')} 'transition-[transform,width] duration-200 ease-out')}
style={{ width: hl.width, style={{ width: hl.width,
transform: `translate(${ hl.left }px, -50%)`,
transform: `translateX(${ hl.left }px)`,
opacity: hl.visible ? 1 : 0 }}/> opacity: hl.visible ? 1 : 0 }}/>


{menu.map ((item, i) => ( {menu.map ((item, i) => (


+ 1
- 2
frontend/src/components/layout/MainArea.tsx View File

@@ -8,8 +8,7 @@ type Props = {




export default (({ children, className }: Props) => ( export default (({ children, className }: Props) => (
<main className={cn ('flex-1 overflow-y-auto p-4',
'md:h-[calc(100dvh-88px)] md:overflow-y-auto',
<main className={cn ('flex-1 overflow-y-auto p-4 md:h-[calc(100dvh-88px)]',
className)}> className)}>
{children} {children}
</main>)) satisfies FC<Props> </main>)) satisfies FC<Props>

+ 5
- 3
frontend/src/index.css View File

@@ -46,10 +46,12 @@ a
body body
{ {
margin: 0; margin: 0;
display: flex;
place-items: center;
min-width: 320px; min-width: 320px;
min-height: 100vh;
}

#root
{
min-height: 100dvh;
} }


h1 h1


+ 2
- 1
frontend/src/pages/materials/MaterialBasePage.tsx View File

@@ -6,7 +6,8 @@ import type { FC } from 'react'




export default (() => ( export default (() => (
<div className="md:flex md:flex-1 md:h-[calc(100dvh-88px)]">
<div className="md:flex md:flex-1 overflow-y-auto md:overflow-y-hidden
md:h-[calc(100dvh-88px)]">
<MaterialSidebar/> <MaterialSidebar/>
<Outlet/> <Outlet/>
</div>)) satisfies FC </div>)) satisfies FC

+ 2
- 1
frontend/src/pages/posts/PostDetailPage.tsx View File

@@ -93,7 +93,8 @@ export default (({ user }: Props) => {
: 'bg-gray-500 hover:bg-gray-600') : 'bg-gray-500 hover:bg-gray-600')


return ( return (
<div className="md:flex md:flex-1 md:h-[calc(100dvh-88px)]">
<div className="md:flex md:flex-1 overflow-y-auto md:overflow-y-hidden
md:h-[calc(100dvh-88px)]">
<Helmet> <Helmet>
{(post?.thumbnail || post?.thumbnailBase) && ( {(post?.thumbnail || post?.thumbnailBase) && (
<meta name="thumbnail" content={post.thumbnail || post.thumbnailBase}/>)} <meta name="thumbnail" content={post.thumbnail || post.thumbnailBase}/>)}


+ 4
- 1
frontend/src/pages/posts/PostListPage.tsx View File

@@ -69,7 +69,10 @@ export default (() => {
}, [location.search]) }, [location.search])


return ( return (
<div className="md:flex md:flex-1 md:h-[calc(100dvh-88px)]" ref={containerRef}>
<div
className="md:flex md:flex-1 overflow-y-auto md:overflow-y-hidden
md:h-[calc(100dvh-88px)]"
ref={containerRef}>
<Helmet> <Helmet>
<title> <title>
{tags.length {tags.length


Loading…
Cancel
Save