Skip to content

Commit 587248e

Browse files
committed
activate basic settings
1 parent aa365c4 commit 587248e

File tree

1 file changed

+43
-28
lines changed

1 file changed

+43
-28
lines changed

web/components/layout/Page.tsx

Lines changed: 43 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@ import {
1010
Dialog,
1111
ExpansionIcon,
1212
HelpwaveLogo, IconButton, Input,
13+
LanguageDialog,
1314
MarkdownInterpreter,
1415
SolidButton,
16+
ThemeDialog,
1517
useLocalStorage
1618
} from '@helpwave/hightide'
1719
import { getConfig } from '@/utils/config'
@@ -76,41 +78,54 @@ type HeaderProps = HTMLAttributes<HTMLHeadElement>
7678
*/
7779
export const Header = ({ ...props }: HeaderProps) => {
7880
const translation = useTasksTranslation()
79-
const [username, setUsername] = useState<string | undefined>();
81+
const [username, setUsername] = useState<string | undefined>()
8082

8183
useEffect(() => {
8284
const fetchUser = async () => {
83-
const user = await getUser();
84-
setUsername(user?.profile.name);
85+
const user = await getUser()
86+
setUsername(user?.profile.name)
8587
}
8688

87-
fetchUser();
88-
}, []);
89+
fetchUser()
90+
}, [])
91+
92+
const [isThemeDialogOpen, setIsThemeDialogOpen] = useState<boolean>(false)
93+
const [isLanguageDialogOpen, setIsLanguageDialogOpen] = useState<boolean>(false)
8994

9095
return (
91-
<header
92-
{...props}
93-
className={clsx(
94-
'flex-row-8 items-center justify-between',
95-
props.className
96-
)}
97-
>
98-
<div className="flex-col-0">
99-
<Input placeholder={translation('search')} />
100-
</div>
101-
<div className="flex-row-4 justify-end">
102-
<IconButton color="neutral">
103-
<BellIcon />
104-
</IconButton>
105-
<IconButton color="neutral">
106-
<SettingsIcon />
107-
</IconButton>
108-
<SolidButton color="neutral">
109-
{username}
110-
<ExpansionIcon isExpanded={false} />
111-
</SolidButton>
112-
</div>
113-
</header>
96+
<>
97+
<LanguageDialog
98+
isOpen={isLanguageDialogOpen}
99+
onClose={() => setIsLanguageDialogOpen(false)}
100+
/>
101+
<ThemeDialog
102+
isOpen={isThemeDialogOpen}
103+
onClose={() => setIsThemeDialogOpen(false)}
104+
/>
105+
<header
106+
{...props}
107+
className={clsx(
108+
'flex-row-8 items-center justify-between',
109+
props.className
110+
)}
111+
>
112+
<div className="flex-col-0">
113+
<Input placeholder={translation('search')} />
114+
</div>
115+
<div className="flex-row-4 justify-end">
116+
<IconButton color="neutral">
117+
<BellIcon />
118+
</IconButton>
119+
<IconButton color="neutral" onClick={() => setIsThemeDialogOpen(true)}>
120+
<SettingsIcon />
121+
</IconButton>
122+
<SolidButton color="neutral" onClick={() => setIsLanguageDialogOpen(true)}>
123+
{username}
124+
<ExpansionIcon isExpanded={false} />
125+
</SolidButton>
126+
</div>
127+
</header>
128+
</>
114129
)
115130
}
116131

0 commit comments

Comments
 (0)