chore: random landing banner

This commit is contained in:
Junior Garcia 2025-08-05 11:55:04 -03:00
parent 95e446dd74
commit ab48c6415a
2 changed files with 28 additions and 2 deletions

View File

@ -13,7 +13,7 @@ import {siteConfig} from "@/config/site";
import {fonts} from "@/config/fonts";
import {Navbar} from "@/components/navbar";
import {Footer} from "@/components/footer";
import {HeroUIChatBanner} from "@/components/heroui-chat-banner";
import {RandomBanner} from "@/components/random-banner";
export const metadata: Metadata = {
title: {
@ -83,7 +83,7 @@ export default function RootLayout({children}: {children: React.ReactNode}) {
>
<Providers themeProps={{attribute: "class", defaultTheme: "dark"}}>
<div className="relative flex flex-col" id="app-container">
<HeroUIChatBanner />
<RandomBanner />
<Navbar mobileRoutes={manifest.mobileRoutes} routes={manifest.routes} />
{children}
<Analytics mode="production" />

View File

@ -0,0 +1,26 @@
"use client";
import {useState, useEffect} from "react";
import {HeroUIChatBanner} from "@/components/heroui-chat-banner";
import {ProBanner} from "@/components/pro-banner";
export const RandomBanner = () => {
const [showChatBanner, setShowChatBanner] = useState<boolean | null>(null);
useEffect(() => {
const bannerCount = parseInt(sessionStorage.getItem("bannerCount") || "0", 10);
const shouldShowChat = bannerCount % 2 === 0;
setShowChatBanner(shouldShowChat);
sessionStorage.setItem("bannerCount", String(bannerCount + 1));
}, []);
if (showChatBanner === null) {
return <div className="h-[47px] sm:h-[46px] border-b border-divider" />;
}
return showChatBanner ? <HeroUIChatBanner /> : <ProBanner />;
};