Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
528 changes: 528 additions & 0 deletions docs/mainnet-launch-checklist.md

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions frontend/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"extends": ["next/core-web-vitals"],
"rules": {
"react/no-unescaped-entities": "off"
}
}
45 changes: 45 additions & 0 deletions frontend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Dependencies
node_modules
.pnp
.pnp.js

# Testing
coverage

# Next.js
.next/
out/

# Production
build
dist

# Misc
.DS_Store
*.pem

# Debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Local env files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# Vercel
.vercel

# TypeScript
*.tsbuildinfo
next-env.d.ts

# IDE
.vscode/
.idea/

# OS
Thumbs.db
44 changes: 44 additions & 0 deletions frontend/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# PrivacyLayer Frontend

Next.js frontend for PrivacyLayer - the first ZK-proof shielded pool on Stellar Soroban.

## Features

- 🌗 **Dark Mode Support** - System preference detection, manual toggle, and localStorage persistence
- 🔐 **Wallet Integration** - Freighter wallet support for Stellar
- 🎨 **Modern UI** - Tailwind CSS with CSS variables for theming
- ⚡ **Performance** - Next.js 14 with App Router

## Getting Started

```bash
# Install dependencies
npm install

# Run development server
npm run dev

# Build for production
npm run build

# Start production server
npm start
```

## Dark Mode

The dark mode implementation includes:

- **System preference detection** - Automatically matches your OS theme
- **Manual toggle** - Click the sun/moon icon in the header
- **Keyboard shortcut** - Press `Ctrl+K` (or `Cmd+K` on Mac) to toggle
- **Persistence** - Your preference is saved in localStorage
- **No flash** - Script injection prevents flash of unstyled content

## Tech Stack

- [Next.js 14](https://nextjs.org/) - React framework
- [Tailwind CSS](https://tailwindcss.com/) - Styling
- [next-themes](https://github.com/pacocoursey/next-themes) - Theme management
- [Stellar SDK](https://github.com/stellar/js-stellar-sdk) - Stellar integration
- [Freighter](https://www.freighter.app/) - Wallet connection
9 changes: 9 additions & 0 deletions frontend/next.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
images: {
domains: [],
},
}

module.exports = nextConfig
Loading