Persistent Announcement
poyraz/persistent-announcementFreeHook
Poyraz Soft Glass Persistent Announcement with container-responsive layout and semantic tokens.
Install it
npx shadcn@latest add https://ui.poyrazavsever.com/r/persistent-announcement.jsonSource
1"use client";23import * as React from "react";45export interface UsePersistentAnnouncementOptions {6 storage?: Pick<Storage, "getItem" | "setItem">;7 defaultOpen?: boolean;8}910function usePersistentAnnouncement(11 id: string,12 { storage, defaultOpen = true }: UsePersistentAnnouncementOptions = {},13) {14 const [open, setOpenState] = React.useState(defaultOpen);1516 React.useEffect(() => {17 const target = storage ?? window.localStorage;18 setOpenState(target.getItem(id) !== "dismissed");19 }, [id, storage]);2021 const setOpen = React.useCallback(22 (nextOpen: boolean) => {23 setOpenState(nextOpen);24 const target = storage ?? window.localStorage;25 target.setItem(id, nextOpen ? "open" : "dismissed");26 },27 [id, storage],28 );2930 return [open, setOpen] as const;31}3233export { usePersistentAnnouncement };
What it pulls in
Other registry items
Files it writes
More from poyraz
All 71 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Navbar Auto Hidenavbar-auto-hide | poyraz | Hooks | Free | no deps |
