diff --git a/front/src/components/TopBar/TopBar.tsx b/front/src/components/TopBar/TopBar.tsx index b42ab93..7a68ec4 100644 --- a/front/src/components/TopBar/TopBar.tsx +++ b/front/src/components/TopBar/TopBar.tsx @@ -1,26 +1,61 @@ import { ReactNode } from 'react'; - - -import { Box, Button, ConditionalValue, Flex, HStack, IconButton, Span, Text, useDisclosure } from '@chakra-ui/react'; -import { LuAlignJustify, LuArrowBigLeft, LuCircleUserRound, LuKeySquare, LuLogIn, LuLogOut, LuMoon, LuSettings, LuSun } from 'react-icons/lu'; -import { MdHelp, MdHome, MdMore, MdOutlinePlaylistPlay, MdOutlineUploadFile, MdSupervisedUserCircle } from 'react-icons/md'; +import { + Box, + Button, + ConditionalValue, + Flex, + HStack, + IconButton, + Span, + Text, + useBreakpointValue, + useDisclosure, +} from '@chakra-ui/react'; +import { + LuAlignJustify, + LuArrowBigLeft, + LuCircleUserRound, + LuKeySquare, + LuLogIn, + LuLogOut, + LuMoon, + LuSettings, + LuSun, +} from 'react-icons/lu'; +import { + MdHelp, + MdHome, + MdMore, + MdOutlinePlaylistPlay, + MdOutlineUploadFile, + MdSupervisedUserCircle, +} from 'react-icons/md'; import { useNavigate } from 'react-router-dom'; - - import { useColorMode, useColorModeValue } from '@/components/ui/color-mode'; -import { DrawerBody, DrawerContent, DrawerHeader, DrawerRoot } from '@/components/ui/drawer'; -import { MenuContent, MenuItem, MenuRoot, MenuTrigger } from '@/components/ui/menu'; +import { + DrawerBody, + DrawerContent, + DrawerHeader, + DrawerRoot, +} from '@/components/ui/drawer'; +import { + MenuContent, + MenuItem, + MenuRoot, + MenuTrigger, +} from '@/components/ui/menu'; import { useServiceContext } from '@/service/ServiceContext'; import { SessionState } from '@/service/SessionState'; import { useSessionService } from '@/service/session'; import { colors } from '@/theme/colors'; -import { requestOpenSite, requestSignIn, requestSignOut, requestSignUp } from '@/utils/sso'; - - - - +import { + requestOpenSite, + requestSignIn, + requestSignOut, + requestSignUp, +} from '@/utils/sso'; export const TOP_BAR_HEIGHT = '50px'; @@ -37,6 +72,8 @@ export const BUTTON_TOP_BAR_PROPERTY = { export type TopBarProps = { children?: ReactNode; title?: string; + titleLink?: string; + titleIcon?: ReactNode; }; const ButtonMenuLeft = ({ @@ -74,7 +111,12 @@ const ButtonMenuLeft = ({ ); }; -export const TopBar = ({ title, children }: TopBarProps) => { +export const TopBar = ({ + title, + titleLink, + titleIcon, + children, +}: TopBarProps) => { const navigate = useNavigate(); const { colorMode, toggleColorMode } = useColorMode(); const { session } = useServiceContext(); @@ -99,8 +141,10 @@ export const TopBar = ({ title, children }: TopBarProps) => { const onKarso = (): void => { requestOpenSite(); }; + const isVisible = useBreakpointValue({ base: false, md: true }); return ( { {title && ( navigate(titleLink) : undefined} > - {title} + + {titleIcon} + {title} + )} {children} @@ -264,4 +315,4 @@ export const TopBar = ({ title, children }: TopBarProps) => { ); -}; \ No newline at end of file +};