mirror of
https://github.com/soconnor0919/lewisburg-coffee.git
synced 2026-02-04 23:56:32 -05:00
refactor: Use useRef to toggle WelcomeModal open state.
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState, useRef } from "react";
|
||||||
import {
|
import {
|
||||||
Dialog,
|
Dialog,
|
||||||
DialogContent,
|
DialogContent,
|
||||||
@@ -13,6 +13,11 @@ import { Coffee, MapPin, Search, Navigation } from "lucide-react";
|
|||||||
|
|
||||||
export function WelcomeModal() {
|
export function WelcomeModal() {
|
||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
|
const openRef = useRef(false);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
openRef.current = open;
|
||||||
|
}, [open]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const hasSeenWelcome = localStorage.getItem("hasSeenWelcome");
|
const hasSeenWelcome = localStorage.getItem("hasSeenWelcome");
|
||||||
@@ -20,7 +25,9 @@ export function WelcomeModal() {
|
|||||||
setOpen(true);
|
setOpen(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleShowWelcome = () => setOpen(prev => !prev);
|
const handleShowWelcome = () => {
|
||||||
|
setOpen(!openRef.current);
|
||||||
|
};
|
||||||
window.addEventListener("show-welcome-modal", handleShowWelcome);
|
window.addEventListener("show-welcome-modal", handleShowWelcome);
|
||||||
return () => window.removeEventListener("show-welcome-modal", handleShowWelcome);
|
return () => window.removeEventListener("show-welcome-modal", handleShowWelcome);
|
||||||
}, []);
|
}, []);
|
||||||
|
|||||||
Reference in New Issue
Block a user