One Calendar is a privacy-first calendar web app built with Next.js. It has modern security features, including e2ee, password-protected sharing, and self-destructing share links 📅 calendar.xyehr.cn
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(share): 优化分享页版本与隐私服务入口布局

+21 -10
+21 -10
components/app/profile/shared-event.tsx
··· 63 63 64 64 function SharePageFooter({ isZh }: { isZh: boolean }) { 65 65 return ( 66 - <footer className="fixed bottom-0 inset-x-0 z-20 px-4 py-3"> 67 - <div className="mx-auto flex w-full max-w-5xl items-center justify-between text-xs text-muted-foreground"> 68 - <span className="font-mono">v{APP_VERSION}</span> 69 - <div className="flex items-center gap-4"> 70 - <Link href="/privacy" className="transition-colors hover:text-foreground"> 71 - {isZh ? "隐私政策" : "Privacy Policy"} 72 - </Link> 73 - <Link href="/terms" className="transition-colors hover:text-foreground"> 74 - {isZh ? "服务条款" : "Terms of Service"} 75 - </Link> 66 + <footer className="fixed inset-x-0 bottom-0 z-20 px-4 pb-[calc(0.75rem+env(safe-area-inset-bottom))] pt-3"> 67 + <div className="mx-auto w-full max-w-5xl"> 68 + <div className="flex items-center justify-between rounded-2xl border border-border/60 bg-background/80 px-3 py-2 text-xs text-muted-foreground shadow-lg shadow-black/5 backdrop-blur-md supports-[backdrop-filter]:bg-background/65"> 69 + <span className="rounded-full bg-muted px-2 py-1 font-mono text-[11px] tracking-wide text-foreground/80"> 70 + v{APP_VERSION} 71 + </span> 72 + <div className="flex items-center gap-1"> 73 + <Link 74 + href="/privacy" 75 + className="rounded-md px-2 py-1 transition-colors hover:bg-muted hover:text-foreground" 76 + > 77 + {isZh ? "隐私政策" : "Privacy Policy"} 78 + </Link> 79 + <span className="text-muted-foreground/50">•</span> 80 + <Link 81 + href="/terms" 82 + className="rounded-md px-2 py-1 transition-colors hover:bg-muted hover:text-foreground" 83 + > 84 + {isZh ? "服务条款" : "Terms of Service"} 85 + </Link> 86 + </div> 76 87 </div> 77 88 </div> 78 89 </footer>