From e802d6ef19d086d03c067ff3b0faef398b344bde Mon Sep 17 00:00:00 2001 From: 0x1eef <0x1eef@protonmail.com> Date: Fri, 18 Oct 2024 03:23:28 -0300 Subject: [PATCH] Add 'activeLocale' This change tracks the "active locale" in memory, and when the language is changed a re-render occurs. After this change, the URL does not change in the process of changing language --- src/js/components/Select/LanguageSelect.tsx | 20 +++++++--- src/js/components/SurahIndex/index.tsx | 42 +++++++++++---------- src/js/index.tsx | 8 ++-- 3 files changed, 40 insertions(+), 30 deletions(-) diff --git a/src/js/components/Select/LanguageSelect.tsx b/src/js/components/Select/LanguageSelect.tsx index 90fea4e..54ac140 100644 --- a/src/js/components/Select/LanguageSelect.tsx +++ b/src/js/components/Select/LanguageSelect.tsx @@ -2,32 +2,40 @@ import { Quran, TLocale } from "Quran"; import { Select } from "~/components/Select"; type Props = { - locale: TLocale; isOpen: boolean; setIsOpen: (v: boolean) => void; + activeLocale: TLocale; + setActiveLocale: (v: TLocale) => void; }; -export function LanguageSelect({ locale, isOpen, setIsOpen }: Props) { +export function LanguageSelect({ + isOpen, + setIsOpen, + activeLocale, + setActiveLocale, +}: Props) { const locales = Object.values(Quran.locales); return (