diff options
Diffstat (limited to 'packages/console/app/src/component/language-picker.tsx')
| -rw-r--r-- | packages/console/app/src/component/language-picker.tsx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/console/app/src/component/language-picker.tsx b/packages/console/app/src/component/language-picker.tsx index b30471d01..f42fd8065 100644 --- a/packages/console/app/src/component/language-picker.tsx +++ b/packages/console/app/src/component/language-picker.tsx @@ -1,10 +1,14 @@ import { For, createSignal } from "solid-js" +import { useLocation, useNavigate } from "@solidjs/router" import { Dropdown, DropdownItem } from "~/component/dropdown" import { useLanguage } from "~/context/language" +import { route, strip } from "~/lib/language" import "./language-picker.css" export function LanguagePicker(props: { align?: "left" | "right" } = {}) { const language = useLanguage() + const navigate = useNavigate() + const location = useLocation() const [open, setOpen] = createSignal(false) return ( @@ -21,6 +25,8 @@ export function LanguagePicker(props: { align?: "left" | "right" } = {}) { selected={locale === language.locale()} onClick={() => { language.setLocale(locale) + const href = `${route(locale, strip(location.pathname))}${location.search}${location.hash}` + if (href !== `${location.pathname}${location.search}${location.hash}`) navigate(href) setOpen(false) }} > |
