Update market, account, and onion operations
Capture the current CyberLux UI, commerce, messaging, and Tor ops updates so local main can be pushed to the remote. Made-with: Cursor
This commit is contained in:
@@ -8,26 +8,48 @@ import HubChatterPublicStrip from "@/components/HubChatterPublicStrip";
|
||||
import AppProviders from "@/components/AppProviders";
|
||||
import DarkWebLaunchFooter from "@/components/DarkWebLaunchFooter";
|
||||
|
||||
const DDOS_KEY = "ddos_verified";
|
||||
|
||||
function readDdosVerified(): boolean {
|
||||
if (typeof window === "undefined") return false;
|
||||
try {
|
||||
if (sessionStorage.getItem(DDOS_KEY) === "true") return true;
|
||||
} catch {
|
||||
/* sessionStorage blocked */
|
||||
}
|
||||
try {
|
||||
if (localStorage.getItem(DDOS_KEY) === "true") return true;
|
||||
} catch {
|
||||
/* localStorage blocked */
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function persistDdosVerified(): void {
|
||||
try {
|
||||
sessionStorage.setItem(DDOS_KEY, "true");
|
||||
} catch {
|
||||
/* ignore */
|
||||
}
|
||||
try {
|
||||
localStorage.setItem(DDOS_KEY, "true");
|
||||
} catch {
|
||||
/* ignore */
|
||||
}
|
||||
}
|
||||
|
||||
export default function RootLayoutClient({ children }: { children: React.ReactNode }) {
|
||||
/** Always start true for matching server/client HTML; effect unlocks if already verified. */
|
||||
const [isProtected, setIsProtected] = useState(true);
|
||||
|
||||
useEffect(() => {
|
||||
try {
|
||||
const hasSeenDDoS = sessionStorage.getItem("ddos_verified");
|
||||
if (hasSeenDDoS) {
|
||||
setIsProtected(false);
|
||||
}
|
||||
} catch {
|
||||
// sessionStorage blocked (rare) — still allow progress overlay to complete
|
||||
if (readDdosVerified()) {
|
||||
setIsProtected(false);
|
||||
}
|
||||
}, []);
|
||||
|
||||
const handleComplete = useCallback(() => {
|
||||
try {
|
||||
sessionStorage.setItem("ddos_verified", "true");
|
||||
} catch {
|
||||
/* ignore */
|
||||
}
|
||||
persistDdosVerified();
|
||||
setIsProtected(false);
|
||||
}, []);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user