diff --git a/src/components/admin/banner.tsx b/src/components/admin/banner.tsx
index cdb75a5..f9905a3 100644
--- a/src/components/admin/banner.tsx
+++ b/src/components/admin/banner.tsx
@@ -1,7 +1,7 @@
"use client";
import { useSearchParams } from "next/navigation";
-import { Suspense } from "react";
+import { Suspense, useEffect, useState } from "react";
import useSWR from "swr";
import { Icon } from "@iconify/react";
@@ -18,7 +18,7 @@ function RedirectBanner() {
if (from !== "old-domain") return null;
return (
-
+
We have moved URLs, welcome to tomodachishare.com!
@@ -27,13 +27,34 @@ function RedirectBanner() {
export default function AdminBanner() {
const { data } = useSWR
("/api/admin/banner", fetcher);
+ const [shouldShow, setShouldShow] = useState(true);
+
+ useEffect(() => {
+ if (!data?.message) return;
+
+ // Check if the current banner text was closed by the user
+ const closedBanner = window.localStorage.getItem("closedBanner");
+ setShouldShow(data.message !== closedBanner);
+ }, [data]);
+
+ const handleClose = () => {
+ if (!data) return;
+
+ // Close banner and remember it
+ window.localStorage.setItem("closedBanner", data.message);
+ setShouldShow(false);
+ };
return (
<>
- {data && data.message && (
-
+ {data && data.message && shouldShow && (
+
{data.message}
+
+
)}