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
1import { clerkMiddleware, createRouteMatcher } from '@clerk/nextjs/server'
2
3const isPublicRoute = createRouteMatcher([
4 '/',
5 '/app',
6 '/sign-in(.*)',
7 '/sign-up(.*)',
8 '/reset-password',
9 '/api/share',
10 '/api/verify',
11 '/at-oauth',
12 '/api/atproto/(.*)',
13 '/oauth-client-metadata.json',
14 '/api/share/public',
15 '/share/(.*)',
16 '/privacy',
17 '/terms',
18])
19
20export default clerkMiddleware(async (auth, req) => {
21 if (!isPublicRoute(req)) {
22 await auth.protect()
23 }
24})
25
26export const config = {
27 matcher: ['/((?!.*\\..*|_next).*)', '/', '/(api|trpc)(.*)'],
28}