Skip to content

Commit 30d0951

Browse files
committed
feat: make homepage search sticky
1 parent 196659f commit 30d0951

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

src/app/[locale]/(main)/(homepage)/components/Header.tsx renamed to src/app/[locale]/(main)/(homepage)/components/MobileHeader.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
'use client';
22

33
import useSearchPageParams from '@/hooks/useSearchPageParams';
4+
import { SearchPageParamsKeys } from '@/utils/params';
45
import { SearchOutlined } from '@mui/icons-material';
5-
import { Box, Stack, Typography } from '@mui/material';
6+
import { Box, Container, Stack, Typography } from '@mui/material';
67
import { grey } from '@mui/material/colors';
78
import { useTranslations } from 'next-intl';
89
import { useState, useTransition } from 'react';
910
import SearchDialog from './SearchDialog';
1011
import SearchSection from './SearchSection';
11-
import { SearchPageParamsKeys } from '@/utils/params';
1212

13-
const Header = () => {
13+
const MobileHeader = () => {
1414
const [isPending, startTransition] = useTransition();
1515

1616
const { navigate, q } = useSearchPageParams();
@@ -31,7 +31,10 @@ const Header = () => {
3131
const t = useTranslations();
3232

3333
return (
34-
<>
34+
<Container
35+
maxWidth="xl"
36+
sx={{ borderBottom: '2px solid', borderColor: 'divider' }}
37+
>
3538
<SearchDialog open={open} onClose={handleToggleDialog}>
3639
<SearchSection
3740
onClickOnBack={handleToggleDialog}
@@ -71,8 +74,8 @@ const Header = () => {
7174
</Typography>
7275
</Box>
7376
</Stack>
74-
</>
77+
</Container>
7578
);
7679
};
7780

78-
export default Header;
81+
export default MobileHeader;

src/app/[locale]/(main)/(homepage)/page.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,16 @@ import {
1616
menuOrderSortOptions,
1717
newestSortOption,
1818
} from '@/static/sortOptions';
19-
import { Box, Container, Stack } from '@mui/material';
19+
import { Box, Stack } from '@mui/material';
2020
import { getTranslations } from 'next-intl/server';
2121
import { Suspense } from 'react';
22-
import PostsSlider from './components/PostsSlider';
23-
import Header from './components/Header';
22+
import MobileHeader from './components/MobileHeader';
2423
import MainCategories from './components/MainCategories';
24+
import PostsSlider from './components/PostsSlider';
2525
import ProductsSlider from './components/ProductsSlider';
2626
import SlidersContainer from './components/SlidersContainer';
2727
import SlidersSkeleton from './components/SlidersSkeleton';
28+
import { Header } from '@/components/Header';
2829

2930
const getCategories = async () => {
3031
const { data } = await getClient().query<GetMainCategoriesQuery>({
@@ -124,9 +125,9 @@ export default async function Home() {
124125
return (
125126
<>
126127
<MobileView>
127-
<Container maxWidth="xl">
128-
<Header />
129-
</Container>
128+
<Header>
129+
<MobileHeader />
130+
</Header>
130131
</MobileView>
131132

132133
<Stack spacing={4} alignItems="center">

0 commit comments

Comments
 (0)