run linter

This commit is contained in:
leander committed 2026-10-31 01:31:20 +01:00
1 parent e4d10f06a5
commit 668a1ffd15
1 file changed
+18 -10
+18 -10
View File
@@ -1,5 +1,5 @@
"use client";
import React, { createContext, useContext, useEffect, useState } from "react";
import React, { createContext, useContext, useSyncExternalStore } from "react";
type Language = "en" | "no";
@@ -11,19 +11,27 @@ const LanguageContext = createContext<{
setLanguage: () => {},
});
export const LanguageProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
const [language, setLanguageState] = useState<Language>("en");
const listeners = new Set<() => void>();
useEffect(() => {
const storedLanguage = localStorage.getItem("language");
if (storedLanguage === "en" || storedLanguage === "no") {
setLanguageState(storedLanguage);
}
}, []);
const subscribe = (listener: () => void) => {
listeners.add(listener);
window.addEventListener("storage", listener);
return () => {
listeners.delete(listener);
window.removeEventListener("storage", listener);
};
};
const getSnapshot = (): Language => (localStorage.getItem("language") === "no" ? "no" : "en");
const getServerSnapshot = (): Language => "en";
export const LanguageProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
const language = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
const setLanguage = (lang: Language) => {
localStorage.setItem("language", lang);
setLanguageState(lang);
listeners.forEach((listener) => listener());
};
return <LanguageContext.Provider value={{ language, setLanguage }}>{children}</LanguageContext.Provider>;