Skip to content

Commit 2087e12

Browse files
committed
polish: loading components pixel placement
1 parent 2b382f9 commit 2087e12

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

src/components/Nav/Client/index.tsx

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import dynamic from "next/dynamic"
55
import { useLocale } from "next-intl"
66
import { BsTranslate } from "react-icons/bs"
77

8-
import LanguagePicker from "@/components/LanguagePicker"
98
import SearchButton from "@/components/Search/SearchButton"
109
import SearchInputButton from "@/components/Search/SearchInputButton"
1110
import { Button } from "@/components/ui/buttons/Button"
@@ -30,30 +29,42 @@ const Menu = dynamic(() => import("../Menu"), {
3029
),
3130
})
3231

32+
const MobileMenuLoading = () => (
33+
<Skeleton data-label="mobile-menu" className="ms-2 size-6" />
34+
)
35+
3336
const MobileNavMenu = dynamic(() => import("../Mobile"), {
3437
ssr: false,
35-
loading: () => <Skeleton className="my-auto size-6" />,
38+
loading: MobileMenuLoading,
3639
})
3740

3841
const SearchProvider = dynamic(() => import("../../Search"), {
3942
ssr: false,
4043
loading: () => (
4144
<>
42-
<div className="flex items-center gap-6 px-6 max-md:hidden xl:px-3">
45+
<div className="flex items-center gap-6 px-2 max-md:hidden xl:px-3">
4346
<Skeleton
4447
data-label="search-xl"
4548
className="hidden h-6 w-[169px] xl:flex"
4649
/>
4750
<Skeleton data-label="search" className="size-6 xl:hidden" />
4851
</div>
49-
<div className="flex items-center gap-4 md:hidden">
50-
<Skeleton data-label="search" className="size-6 xl:hidden" />
51-
<Skeleton data-label="mobile-menu" className="size-6" />
52+
<div className="flex items-center md:hidden">
53+
<Skeleton data-label="search" className="mx-2 size-6" />
54+
<MobileMenuLoading />
5255
</div>
5356
</>
5457
),
5558
})
5659

60+
const LanguagePicker = dynamic(() => import("../../LanguagePicker"), {
61+
ssr: false,
62+
loading: () => (
63+
// LG skeleton width approximates English "[icon] Languages EN" text width
64+
<Skeleton className="h-6 max-md:hidden md:mx-2 md:w-[54px] lg:mx-3 lg:w-[8.875rem]" />
65+
),
66+
})
67+
5768
const ClientSideNav = () => {
5869
const { t } = useTranslation("common")
5970
const locale = useLocale()
@@ -106,7 +117,7 @@ const ClientSideNav = () => {
106117
)}
107118

108119
{desktopScreen && (
109-
<LanguagePicker>
120+
<LanguagePicker className="max-md:hidden">
110121
<Button
111122
name={DESKTOP_LANGUAGE_BUTTON_NAME}
112123
ref={languagePickerRef}

0 commit comments

Comments
 (0)