feat: save app state to local storage and remove losing battery
This commit is contained in:
@@ -9,7 +9,7 @@ export const WaybarBatteryWidget = (props: { frequency: number }) => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const interval = setInterval(() => {
|
const interval = setInterval(() => {
|
||||||
setBattery((x) => x - 1);
|
// setBattery((x) => x - 1);
|
||||||
|
|
||||||
if (battery - 1 === 0) {
|
if (battery - 1 === 0) {
|
||||||
// TODO: do something
|
// TODO: do something
|
||||||
|
|||||||
@@ -3,9 +3,15 @@ import { AppContext, type AppContextProps } from "~/context/AppContext";
|
|||||||
|
|
||||||
export const AppProvider = (props: { children?: ReactNode }) => {
|
export const AppProvider = (props: { children?: ReactNode }) => {
|
||||||
const [activeKitty, setActiveKitty] = useState(":r0:");
|
const [activeKitty, setActiveKitty] = useState(":r0:");
|
||||||
const [brightness, setBrightness] = useState(100);
|
const [brightness, setBrightness] = useState(
|
||||||
const [volume, setVolume] = useState(100);
|
parseInt(localStorage.getItem("brightness") ?? "100"),
|
||||||
const [state, setState] = useState<AppContextProps["state"]>("off");
|
);
|
||||||
|
const [volume, setVolume] = useState(
|
||||||
|
parseInt(localStorage.getItem("volume") ?? "100"),
|
||||||
|
);
|
||||||
|
const [state, setState] = useState<AppContextProps["state"]>(
|
||||||
|
(localStorage.getItem("state") as AppContextProps["state"]) ?? "off",
|
||||||
|
);
|
||||||
|
|
||||||
const [screenWidth, setScreenWidth] = useState(window.innerWidth);
|
const [screenWidth, setScreenWidth] = useState(window.innerWidth);
|
||||||
|
|
||||||
@@ -19,6 +25,12 @@ export const AppProvider = (props: { children?: ReactNode }) => {
|
|||||||
return () => window.removeEventListener("resize", handleResize);
|
return () => window.removeEventListener("resize", handleResize);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
localStorage.setItem("state", state);
|
||||||
|
localStorage.setItem("brightness", brightness.toString());
|
||||||
|
localStorage.setItem("volume", volume.toString());
|
||||||
|
}, [state, brightness, volume]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<AppContext.Provider
|
<AppContext.Provider
|
||||||
value={{
|
value={{
|
||||||
|
|||||||
Reference in New Issue
Block a user