スマホ・レーアウト・バグ(#304) (#305)

#304

#304

#304

Co-authored-by: miteruzo <miteruzo@naver.com>
Reviewed-on: #305
This commit was merged in pull request #305.
This commit is contained in:
2026-04-11 16:58:41 +09:00
parent 7b15cb2c5a
commit e021423904
7 changed files with 26 additions and 20 deletions
+1 -1
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
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', subMenu: [
{ name: '一覧', to: '/materials' }, // { name: '一覧', to: '/materials' },
// { name: '検索', to: '/materials/search' }, // { name: '検索', to: '/materials/search', visible: false },
{ name: '追加', to: '/materials/new' }, // { name: '追加', to: '/materials/new' },
// { name: '履歴', to: '/materials/changes' }, // { name: '履歴', to: '/materials/changes', visible: false },
{ name: 'ヘルプ', to: 'wiki/ヘルプ:素材集' }] }, // { 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
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', <main className={cn ('flex-1 overflow-y-auto p-4 md:h-[calc(100dvh-88px)]',
'md:h-[calc(100dvh-88px)] md:overflow-y-auto',
className)}> className)}>
{children} {children}
</main>)) satisfies FC<Props> </main>)) satisfies FC<Props>
+5 -3
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
@@ -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
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
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