# ⚛️ MapleFile Frontend (React + Vite) End-to-end encrypted file storage frontend built with React 19 and Vite. ## 🚀 Quick Start ### Development Setup ```bash # Install dependencies npm install # Copy environment template cp .env.development.sample .env.development # Start dev server npm run dev ``` The frontend runs at **http://localhost:5173** ### Production Setup ```bash # Copy environment template cp .env.production.sample .env.production # Edit .env.production with your production settings # At minimum, set: VITE_API_BASE_URL # Build for production npm run build # Preview production build locally npm run preview ``` ## ⚙️ Environment Configuration Environment files are **not tracked in git**. Use the `.sample` files as templates: - **`.env.development.sample`** → Copy to `.env.development` (local dev) - **`.env.production.sample`** → Copy to `.env.production` (production build) **Key variables:** | Variable | Description | Default | |----------|-------------|---------| | `VITE_API_BASE_URL` | Backend API endpoint | `http://localhost:8000` (dev) | | `VITE_DEV_MODE` | Development mode flag | `true` (dev) | ### Session Persistence Users can choose their session persistence preference via the "Keep me logged in" checkbox on the login page: - **Checked** - Uses `localStorage` to stay logged in after closing browser - **Unchecked** - Uses `sessionStorage` for session-only persistence (logged out on browser close) The preference is stored and remembered for future logins. ## 🤝 Contributing Found a bug? Want a feature to improve MapleFile Frontend? Please create an [issue](https://codeberg.org/mapleopentech/monorepo/issues/new). ## 📝 License This application is licensed under the [**GNU Affero General Public License v3.0**](https://opensource.org/license/agpl-v3). See [LICENSE](../../LICENSE) for more information.