Skip to content

Commit af520d7

Browse files
committed
fix: save language preference in local storage
1 parent df2681f commit af520d7

File tree

2 files changed

+20
-7
lines changed

2 files changed

+20
-7
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,6 @@ out/
5252

5353
# IDEs
5454
.idea
55+
56+
# passkey-wallet-app
57+
.env

passkey-wallet-app/main.js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ let activeLanguage = "en";
106106
const STORAGE_KEY_PASSKEY = "zksync_sso_passkey";
107107
const STORAGE_KEY_ACCOUNT = "zksync_sso_account";
108108
const STORAGE_KEY_TX_METADATA = "zksync_sso_tx_metadata";
109+
const STORAGE_KEY_LANGUAGE = "zksync-interop-demo-language";
109110

110111
// Auto-refresh interval (in milliseconds)
111112
const BALANCE_REFRESH_INTERVAL = 5000; // 5 seconds
@@ -150,13 +151,7 @@ const translatedText = () => {
150151
// Initialize
151152
document.addEventListener("DOMContentLoaded", async () => {
152153
// setup translation
153-
async function setLanguage(lang) {
154-
activeLanguage = lang;
155-
await updateTranslation(lang);
156-
}
157-
const select = document.getElementById("lang");
158-
select.addEventListener("change", async () => setLanguage(select.value));
159-
await initTranslation(activeLanguage);
154+
await setupTranslation();
160155

161156
// Setup public client for balance checks FIRST
162157
publicClient = createPublicClient({
@@ -180,6 +175,21 @@ document.addEventListener("DOMContentLoaded", async () => {
180175
loadExistingPasskey();
181176
});
182177

178+
async function setupTranslation() {
179+
const select = document.getElementById("lang");
180+
select.addEventListener("change", async () => {
181+
activeLanguage = select.value;
182+
localStorage.setItem(STORAGE_KEY_LANGUAGE, select.value);
183+
await updateTranslation(select.value);
184+
});
185+
const savedLanguage = localStorage.getItem(STORAGE_KEY_LANGUAGE);
186+
if (savedLanguage) {
187+
activeLanguage = savedLanguage;
188+
select.value = savedLanguage;
189+
}
190+
await initTranslation(activeLanguage);
191+
}
192+
183193
function setupEventListeners() {
184194
document.getElementById("createPasskeyBtn").addEventListener("click", handleCreatePasskey);
185195
document.getElementById("deployAccountBtn").addEventListener("click", handleDeployAccount);

0 commit comments

Comments
 (0)