Sifa professional network frontend (Next.js, React, TailwindCSS) sifa.id/
at main 35 lines 918 B view raw
1const ONBOARDING_SEEN_KEY = 'sifa:onboarding-seen'; 2const EMAIL_DISMISSED_KEY = 'sifa:welcome-email-dismissed'; 3 4export function markOnboardingSeen(): void { 5 if (typeof window !== 'undefined') { 6 sessionStorage.setItem(ONBOARDING_SEEN_KEY, 'true'); 7 } 8} 9 10export function hasSeenOnboarding(): boolean { 11 if (typeof window !== 'undefined') { 12 return sessionStorage.getItem(ONBOARDING_SEEN_KEY) === 'true'; 13 } 14 return false; 15} 16 17export function isEmailBannerDismissed(): boolean { 18 if (typeof window !== 'undefined') { 19 return localStorage.getItem(EMAIL_DISMISSED_KEY) === 'true'; 20 } 21 return false; 22} 23 24export function dismissEmailBanner(): void { 25 if (typeof window !== 'undefined') { 26 localStorage.setItem(EMAIL_DISMISSED_KEY, 'true'); 27 } 28} 29 30export function resolvePathHref(href: string, handle: string): string { 31 if (href === 'dynamic:profile') { 32 return `/p/${handle}`; 33 } 34 return href; 35}