├── .env.example ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── bug_report.yml │ ├── feature_request.md │ └── feature_request.yml ├── PULL_REQUEST_TEMPLATE.md └── config.yml ├── .gitignore ├── .repo_ignore ├── ADMIN_GUIDE.md ├── CHANGELOG.md ├── CLAUDE.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── DEPLOYMENT_GUIDE.md ├── Dockerfile ├── PRD.md ├── README.md ├── ROADMAP.md ├── SECURITY.md ├── TEST_PLAN.md ├── TROUBLESHOOTING.md ├── WIREGUARD_TROUBLESHOOTING.md ├── app ├── (authenticated) │ └── dashboard │ │ ├── (pages) │ │ ├── account │ │ │ └── [[...profile]] │ │ │ │ └── page.tsx │ │ ├── admin │ │ │ ├── page.tsx │ │ │ └── users │ │ │ │ └── page.tsx │ │ └── devices │ │ │ ├── [deviceId] │ │ │ └── page.tsx │ │ │ └── new │ │ │ └── page.tsx │ │ ├── _components │ │ ├── app-sidebar.tsx │ │ ├── layout-client.tsx │ │ ├── nav-main.tsx │ │ ├── nav-user.tsx │ │ └── team-switcher.tsx │ │ ├── layout.tsx │ │ └── page.tsx ├── (unauthenticated) │ ├── (marketing) │ │ ├── (pages) │ │ │ ├── about │ │ │ │ └── page.tsx │ │ │ ├── contact │ │ │ │ └── page.tsx │ │ │ ├── features │ │ │ │ └── page.tsx │ │ │ ├── layout.tsx │ │ │ └── pricing │ │ │ │ └── page.tsx │ │ ├── _components │ │ │ ├── footer.tsx │ │ │ ├── header-wrapper.tsx │ │ │ ├── header.tsx │ │ │ ├── scroll-indicator.tsx │ │ │ ├── sections │ │ │ │ ├── companies-section.tsx │ │ │ │ ├── cta-section.tsx │ │ │ │ ├── faq-section.tsx │ │ │ │ ├── features-section.tsx │ │ │ │ ├── hero-section.tsx │ │ │ │ ├── pricing-section.tsx │ │ │ │ ├── section-wrapper.tsx │ │ │ │ ├── social-proof-section.tsx │ │ │ │ └── video-section.tsx │ │ │ ├── site-banner.tsx │ │ │ └── sticky-cta.tsx │ │ ├── layout.tsx │ │ └── page.tsx │ └── confirmation │ │ └── page.tsx ├── api │ ├── admin │ │ ├── invite-codes │ │ │ ├── [codeId] │ │ │ │ ├── route.ts │ │ │ │ └── usage │ │ │ │ │ └── route.ts │ │ │ └── route.ts │ │ └── users │ │ │ └── route.ts │ ├── auth │ │ ├── [...nextauth] │ │ │ └── route.ts │ │ ├── change-password │ │ │ └── route.ts │ │ └── register │ │ │ └── route.ts │ └── devices │ │ ├── [deviceId] │ │ ├── config │ │ │ └── route.ts │ │ ├── qr │ │ │ └── route.ts │ │ └── route.ts │ │ └── route.ts ├── favicon.ico ├── globals.css ├── layout.tsx ├── login │ └── page.tsx ├── not-found.tsx ├── page.tsx ├── register │ └── page.tsx └── robots.txt ├── auth.config.ts ├── auth.ts ├── components.json ├── components ├── setup-instruction-cards.tsx ├── ui │ ├── alert-dialog.tsx │ ├── avatar.tsx │ ├── badge.tsx │ ├── breadcrumb.tsx │ ├── button.tsx │ ├── card.tsx │ ├── collapsible.tsx │ ├── dialog.tsx │ ├── dropdown-menu.tsx │ ├── input.tsx │ ├── label.tsx │ ├── select.tsx │ ├── separator.tsx │ ├── sheet.tsx │ ├── sidebar.tsx │ ├── skeleton.tsx │ ├── sonner.tsx │ ├── table.tsx │ ├── textarea.tsx │ └── tooltip.tsx └── utility │ ├── markdown.tsx │ └── tailwind-indicator.tsx ├── db ├── index.ts ├── migrate-to-multi-use.js ├── migrations │ ├── 0000_giant_butterfly.sql │ ├── 0001_multi_use_invites.sql │ ├── 0002_add_last_login.sql │ ├── 0003_add_invite_code_active_status.sql │ └── meta │ │ ├── 0000_snapshot.json │ │ └── _journal.json ├── schema.ts └── seed │ ├── data │ └── customers.ts │ └── index.ts ├── deploy-hetzner.sh ├── docker-compose.yml ├── drizzle.config.ts ├── env.example ├── eslint.config.mjs ├── hooks ├── use-local-storage.ts └── use-mobile.ts ├── lib ├── language-context.tsx ├── translations.ts ├── utils.ts └── wireguard.ts ├── license ├── middleware.ts ├── next.config.ts ├── package.json ├── postcss.config.mjs ├── prettier.config.cjs ├── supabase ├── .gitignore └── config.toml ├── tsconfig.json └── types └── next-auth.d.ts /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/.env.example -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/.github/ISSUE_TEMPLATE/bug_report.yml -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/.github/ISSUE_TEMPLATE/feature_request.yml -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/.github/config.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/.gitignore -------------------------------------------------------------------------------- /.repo_ignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/.repo_ignore -------------------------------------------------------------------------------- /ADMIN_GUIDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/ADMIN_GUIDE.md -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /DEPLOYMENT_GUIDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/DEPLOYMENT_GUIDE.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/Dockerfile -------------------------------------------------------------------------------- /PRD.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/PRD.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/README.md -------------------------------------------------------------------------------- /ROADMAP.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/ROADMAP.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/SECURITY.md -------------------------------------------------------------------------------- /TEST_PLAN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/TEST_PLAN.md -------------------------------------------------------------------------------- /TROUBLESHOOTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/TROUBLESHOOTING.md -------------------------------------------------------------------------------- /WIREGUARD_TROUBLESHOOTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/WIREGUARD_TROUBLESHOOTING.md -------------------------------------------------------------------------------- /app/(authenticated)/dashboard/(pages)/account/[[...profile]]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(authenticated)/dashboard/(pages)/account/[[...profile]]/page.tsx -------------------------------------------------------------------------------- /app/(authenticated)/dashboard/(pages)/admin/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(authenticated)/dashboard/(pages)/admin/page.tsx -------------------------------------------------------------------------------- /app/(authenticated)/dashboard/(pages)/admin/users/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(authenticated)/dashboard/(pages)/admin/users/page.tsx -------------------------------------------------------------------------------- /app/(authenticated)/dashboard/(pages)/devices/[deviceId]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(authenticated)/dashboard/(pages)/devices/[deviceId]/page.tsx -------------------------------------------------------------------------------- /app/(authenticated)/dashboard/(pages)/devices/new/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(authenticated)/dashboard/(pages)/devices/new/page.tsx -------------------------------------------------------------------------------- /app/(authenticated)/dashboard/_components/app-sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(authenticated)/dashboard/_components/app-sidebar.tsx -------------------------------------------------------------------------------- /app/(authenticated)/dashboard/_components/layout-client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(authenticated)/dashboard/_components/layout-client.tsx -------------------------------------------------------------------------------- /app/(authenticated)/dashboard/_components/nav-main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(authenticated)/dashboard/_components/nav-main.tsx -------------------------------------------------------------------------------- /app/(authenticated)/dashboard/_components/nav-user.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(authenticated)/dashboard/_components/nav-user.tsx -------------------------------------------------------------------------------- /app/(authenticated)/dashboard/_components/team-switcher.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(authenticated)/dashboard/_components/team-switcher.tsx -------------------------------------------------------------------------------- /app/(authenticated)/dashboard/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(authenticated)/dashboard/layout.tsx -------------------------------------------------------------------------------- /app/(authenticated)/dashboard/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(authenticated)/dashboard/page.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/(pages)/about/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/(pages)/about/page.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/(pages)/contact/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/(pages)/contact/page.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/(pages)/features/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/(pages)/features/page.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/(pages)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/(pages)/layout.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/(pages)/pricing/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/(pages)/pricing/page.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/footer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/footer.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/header-wrapper.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/header-wrapper.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/header.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/scroll-indicator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/scroll-indicator.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/sections/companies-section.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/sections/companies-section.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/sections/cta-section.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/sections/cta-section.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/sections/faq-section.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/sections/faq-section.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/sections/features-section.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/sections/features-section.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/sections/hero-section.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/sections/hero-section.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/sections/pricing-section.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/sections/pricing-section.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/sections/section-wrapper.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/sections/section-wrapper.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/sections/social-proof-section.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/sections/social-proof-section.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/sections/video-section.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/sections/video-section.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/site-banner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/site-banner.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/_components/sticky-cta.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/_components/sticky-cta.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/layout.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/(marketing)/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/(marketing)/page.tsx -------------------------------------------------------------------------------- /app/(unauthenticated)/confirmation/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/(unauthenticated)/confirmation/page.tsx -------------------------------------------------------------------------------- /app/api/admin/invite-codes/[codeId]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/api/admin/invite-codes/[codeId]/route.ts -------------------------------------------------------------------------------- /app/api/admin/invite-codes/[codeId]/usage/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/api/admin/invite-codes/[codeId]/usage/route.ts -------------------------------------------------------------------------------- /app/api/admin/invite-codes/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/api/admin/invite-codes/route.ts -------------------------------------------------------------------------------- /app/api/admin/users/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/api/admin/users/route.ts -------------------------------------------------------------------------------- /app/api/auth/[...nextauth]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/api/auth/[...nextauth]/route.ts -------------------------------------------------------------------------------- /app/api/auth/change-password/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/api/auth/change-password/route.ts -------------------------------------------------------------------------------- /app/api/auth/register/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/api/auth/register/route.ts -------------------------------------------------------------------------------- /app/api/devices/[deviceId]/config/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/api/devices/[deviceId]/config/route.ts -------------------------------------------------------------------------------- /app/api/devices/[deviceId]/qr/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/api/devices/[deviceId]/qr/route.ts -------------------------------------------------------------------------------- /app/api/devices/[deviceId]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/api/devices/[deviceId]/route.ts -------------------------------------------------------------------------------- /app/api/devices/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/api/devices/route.ts -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/favicon.ico -------------------------------------------------------------------------------- /app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/globals.css -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/layout.tsx -------------------------------------------------------------------------------- /app/login/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/login/page.tsx -------------------------------------------------------------------------------- /app/not-found.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/not-found.tsx -------------------------------------------------------------------------------- /app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/page.tsx -------------------------------------------------------------------------------- /app/register/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/app/register/page.tsx -------------------------------------------------------------------------------- /app/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: / -------------------------------------------------------------------------------- /auth.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/auth.config.ts -------------------------------------------------------------------------------- /auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/auth.ts -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components.json -------------------------------------------------------------------------------- /components/setup-instruction-cards.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/setup-instruction-cards.tsx -------------------------------------------------------------------------------- /components/ui/alert-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/alert-dialog.tsx -------------------------------------------------------------------------------- /components/ui/avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/avatar.tsx -------------------------------------------------------------------------------- /components/ui/badge.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/badge.tsx -------------------------------------------------------------------------------- /components/ui/breadcrumb.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/breadcrumb.tsx -------------------------------------------------------------------------------- /components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/button.tsx -------------------------------------------------------------------------------- /components/ui/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/card.tsx -------------------------------------------------------------------------------- /components/ui/collapsible.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/collapsible.tsx -------------------------------------------------------------------------------- /components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/dialog.tsx -------------------------------------------------------------------------------- /components/ui/dropdown-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/dropdown-menu.tsx -------------------------------------------------------------------------------- /components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/input.tsx -------------------------------------------------------------------------------- /components/ui/label.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/label.tsx -------------------------------------------------------------------------------- /components/ui/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/select.tsx -------------------------------------------------------------------------------- /components/ui/separator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/separator.tsx -------------------------------------------------------------------------------- /components/ui/sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/sheet.tsx -------------------------------------------------------------------------------- /components/ui/sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/sidebar.tsx -------------------------------------------------------------------------------- /components/ui/skeleton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/skeleton.tsx -------------------------------------------------------------------------------- /components/ui/sonner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/sonner.tsx -------------------------------------------------------------------------------- /components/ui/table.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/table.tsx -------------------------------------------------------------------------------- /components/ui/textarea.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/textarea.tsx -------------------------------------------------------------------------------- /components/ui/tooltip.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/ui/tooltip.tsx -------------------------------------------------------------------------------- /components/utility/markdown.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/utility/markdown.tsx -------------------------------------------------------------------------------- /components/utility/tailwind-indicator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/components/utility/tailwind-indicator.tsx -------------------------------------------------------------------------------- /db/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/db/index.ts -------------------------------------------------------------------------------- /db/migrate-to-multi-use.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/db/migrate-to-multi-use.js -------------------------------------------------------------------------------- /db/migrations/0000_giant_butterfly.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/db/migrations/0000_giant_butterfly.sql -------------------------------------------------------------------------------- /db/migrations/0001_multi_use_invites.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/db/migrations/0001_multi_use_invites.sql -------------------------------------------------------------------------------- /db/migrations/0002_add_last_login.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/db/migrations/0002_add_last_login.sql -------------------------------------------------------------------------------- /db/migrations/0003_add_invite_code_active_status.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/db/migrations/0003_add_invite_code_active_status.sql -------------------------------------------------------------------------------- /db/migrations/meta/0000_snapshot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/db/migrations/meta/0000_snapshot.json -------------------------------------------------------------------------------- /db/migrations/meta/_journal.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/db/migrations/meta/_journal.json -------------------------------------------------------------------------------- /db/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/db/schema.ts -------------------------------------------------------------------------------- /db/seed/data/customers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/db/seed/data/customers.ts -------------------------------------------------------------------------------- /db/seed/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/db/seed/index.ts -------------------------------------------------------------------------------- /deploy-hetzner.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/deploy-hetzner.sh -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /drizzle.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/drizzle.config.ts -------------------------------------------------------------------------------- /env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/env.example -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/eslint.config.mjs -------------------------------------------------------------------------------- /hooks/use-local-storage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/hooks/use-local-storage.ts -------------------------------------------------------------------------------- /hooks/use-mobile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/hooks/use-mobile.ts -------------------------------------------------------------------------------- /lib/language-context.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/lib/language-context.tsx -------------------------------------------------------------------------------- /lib/translations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/lib/translations.ts -------------------------------------------------------------------------------- /lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/lib/utils.ts -------------------------------------------------------------------------------- /lib/wireguard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/lib/wireguard.ts -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/license -------------------------------------------------------------------------------- /middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/middleware.ts -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/next.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/package.json -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/postcss.config.mjs -------------------------------------------------------------------------------- /prettier.config.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/prettier.config.cjs -------------------------------------------------------------------------------- /supabase/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/supabase/.gitignore -------------------------------------------------------------------------------- /supabase/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/supabase/config.toml -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types/next-auth.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arashvakil/LeiaGuard/HEAD/types/next-auth.d.ts --------------------------------------------------------------------------------