From 446e68e65ee765d6d54dee8085d569009ff47a77 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Wed, 27 May 2026 00:30:10 +0200 Subject: [PATCH] chore: monorepo setup and web foundation --- .github/CONTRIBUTING.md | 198 -- .gitignore | 6 +- README.md | 162 +- apps/web/.cursorrules | 7 - apps/web/README.md | 215 --- apps/web/components.json | 12 +- apps/web/package.json | 10 +- apps/web/public/favicon.ico | Bin 3870 -> 199364 bytes apps/web/public/logo192.png | Bin 5347 -> 0 bytes apps/web/public/logo512.png | Bin 9664 -> 0 bytes apps/web/src/components/ui/accordion.tsx | 52 +- apps/web/src/components/ui/alert-dialog.tsx | 93 +- apps/web/src/components/ui/alert.tsx | 20 +- apps/web/src/components/ui/aspect-ratio.tsx | 21 +- apps/web/src/components/ui/avatar.tsx | 24 +- apps/web/src/components/ui/badge.tsx | 48 +- apps/web/src/components/ui/breadcrumb.tsx | 60 +- apps/web/src/components/ui/button-group.tsx | 44 +- apps/web/src/components/ui/button.tsx | 46 +- apps/web/src/components/ui/calendar.tsx | 56 +- apps/web/src/components/ui/card.tsx | 22 +- apps/web/src/components/ui/carousel.tsx | 16 +- apps/web/src/components/ui/chart.tsx | 3 +- apps/web/src/components/ui/checkbox.tsx | 17 +- apps/web/src/components/ui/collapsible.tsx | 24 +- apps/web/src/components/ui/combobox.tsx | 50 +- apps/web/src/components/ui/command.tsx | 69 +- apps/web/src/components/ui/context-menu.tsx | 256 +-- apps/web/src/components/ui/dialog.tsx | 67 +- apps/web/src/components/ui/direction.tsx | 26 +- apps/web/src/components/ui/drawer.tsx | 21 +- apps/web/src/components/ui/dropdown-menu.tsx | 270 +-- apps/web/src/components/ui/empty.tsx | 18 +- apps/web/src/components/ui/field.tsx | 46 +- apps/web/src/components/ui/hover-card.tsx | 53 +- apps/web/src/components/ui/input-group.tsx | 51 +- apps/web/src/components/ui/input-otp.tsx | 24 +- apps/web/src/components/ui/input.tsx | 7 +- apps/web/src/components/ui/item.tsx | 64 +- apps/web/src/components/ui/kbd.tsx | 4 +- apps/web/src/components/ui/label.tsx | 12 +- apps/web/src/components/ui/menubar.tsx | 182 +- apps/web/src/components/ui/native-select.tsx | 28 +- .../web/src/components/ui/navigation-menu.tsx | 89 +- apps/web/src/components/ui/pagination.tsx | 69 +- apps/web/src/components/ui/popover.tsx | 63 +- apps/web/src/components/ui/progress.tsx | 78 +- apps/web/src/components/ui/radio-group.tsx | 33 +- apps/web/src/components/ui/resizable.tsx | 7 +- apps/web/src/components/ui/scroll-area.tsx | 19 +- apps/web/src/components/ui/select.tsx | 149 +- apps/web/src/components/ui/separator.tsx | 11 +- apps/web/src/components/ui/sheet.tsx | 77 +- apps/web/src/components/ui/sidebar.tsx | 318 +-- apps/web/src/components/ui/skeleton.tsx | 2 +- apps/web/src/components/ui/slider.tsx | 63 +- apps/web/src/components/ui/sonner.tsx | 34 +- apps/web/src/components/ui/spinner.tsx | 11 +- apps/web/src/components/ui/switch.tsx | 11 +- apps/web/src/components/ui/table.tsx | 8 +- apps/web/src/components/ui/tabs.tsx | 37 +- apps/web/src/components/ui/textarea.tsx | 2 +- apps/web/src/components/ui/toggle-group.tsx | 36 +- apps/web/src/components/ui/toggle.tsx | 24 +- apps/web/src/components/ui/tooltip.tsx | 55 +- apps/web/src/lib/progress/default.ts | 172 -- apps/web/src/lib/progress/types.ts | 59 - apps/web/src/lib/utils.ts | 5 +- apps/web/src/routes/__root.tsx | 18 + apps/web/src/routes/index.tsx | 64 +- apps/web/src/styles.css | 453 ++--- apps/web/wrangler.jsonc | 2 +- bun.lock | 1719 +++++++++++++++++ bunfig.toml | 2 + package.json | 19 + turbo.json | 16 + 76 files changed, 3476 insertions(+), 2653 deletions(-) delete mode 100644 .github/CONTRIBUTING.md delete mode 100644 apps/web/.cursorrules delete mode 100644 apps/web/README.md delete mode 100644 apps/web/public/logo192.png delete mode 100644 apps/web/public/logo512.png delete mode 100644 apps/web/src/lib/progress/default.ts delete mode 100644 apps/web/src/lib/progress/types.ts create mode 100644 bun.lock create mode 100644 bunfig.toml create mode 100644 package.json create mode 100644 turbo.json diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md deleted file mode 100644 index f251603f..00000000 --- a/.github/CONTRIBUTING.md +++ /dev/null @@ -1,198 +0,0 @@ -# Contributing to OpenCut - -⚠️ We are currently NOT accepting feature PRs while we build out the core editor. - -If you want to contribute: - -1. Open an issue first to discuss -2. Wait for maintainer approval -3. Only then start coding - -Critical bug fixes may be accepted on a case-by-case basis. - -Thank you for your interest in contributing to OpenCut! This document provides guidelines and instructions for contributing. - -## Getting Started - -### Prerequisites - -- [Node.js](https://nodejs.org/en/) (v18 or later) -- [Bun](https://bun.sh/docs/installation) - (for `npm` alternative) -- [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/) -- Rust toolchain (only needed for `apps/desktop`) - -> **Note:** Docker is optional, but it's essential for running the local database and Redis services. If you're planning to contribute to frontend features, you can skip the Docker setup. If you have followed the steps below in [Setup](#setup), you're all set to go! - -### Setup - -1. Fork the repository -2. Clone your fork locally -3. Navigate to the web app directory: `cd apps/web` -4. Copy `.env.example` to `.env.local`: - - ```bash - # Unix/Linux/Mac - cp .env.example .env.local - - # Windows Command Prompt - copy .env.example .env.local - - # Windows PowerShell - Copy-Item .env.example .env.local - ``` - -5. Install dependencies: `bun install` -6. Start the development server: `bun run dev` - -> **Note:** Web development uses the published `opencut-wasm` package by default, so a fresh clone does not need a local WASM build. -> -> If you are editing `rust/wasm`, run `bun run build:wasm`, then `cd rust/wasm/pkg && bun link`, then `cd ../../../apps/web && bun link opencut-wasm`. - -### Desktop setup - -Only needed if you're working on `apps/desktop`. See [`apps/desktop/README.md`](../apps/desktop/README.md) — it's a two-step process: Rust toolchain first via `script/setup-rust`, then desktop native dependencies via `apps/desktop/script/setup`. - -## What to Focus On - -**🎯 Good Areas to Contribute:** - -- Timeline functionality and UI improvements -- Project management features -- Performance optimizations -- Bug fixes in existing functionality -- UI/UX improvements -- Documentation and testing - -**⚠️ Areas to Avoid:** - -- Preview panel enhancements (text fonts, stickers, effects) -- Export functionality improvements -- Preview rendering optimizations - -**Why?** We're currently planning a major refactor of the preview system. The current preview renders DOM elements (HTML), but we're moving to a binary rendering approach similar to CapCut. This new system will ensure consistency between preview and export, and provide much better performance and quality. - -The current HTML-based preview is essentially a prototype - the binary approach will be the "real deal." To avoid wasted effort, please focus on other areas of the application until this refactor is complete. - -If you're unsure whether your idea falls into the preview category, feel free to ask us [directly in discord](https://discord.gg/zmR9N35cjK) or create a GitHub issue! - -## Development Setup - -### Local Development - -1. Start the database and Redis services: - - ```bash - # From project root - docker-compose up -d - ``` - -2. Navigate to the web app directory: - - ```bash - cd apps/web - ``` - -3. Copy `.env.example` to `.env.local`: - - ```bash - # Unix/Linux/Mac - cp .env.example .env.local - - # Windows Command Prompt - copy .env.example .env.local - - # Windows PowerShell - Copy-Item .env.example .env.local - ``` - -4. Configure required environment variables in `.env.local`: - - **Required Variables:** - - ```bash - # Database (matches docker-compose.yaml) - DATABASE_URL="postgresql://opencut:opencut@localhost:5432/opencut" - - # Generate a secure secret for Better Auth - BETTER_AUTH_SECRET="your-generated-secret-here" - NEXT_PUBLIC_SITE_URL="http://localhost:3000" - - # Redis (matches docker-compose.yaml) - UPSTASH_REDIS_REST_URL="http://localhost:8079" - UPSTASH_REDIS_REST_TOKEN="example_token" - - # Development - NODE_ENV="development" - ``` - - **Generate BETTER_AUTH_SECRET:** - - ```bash - # Unix/Linux/Mac - openssl rand -base64 32 - - # Windows PowerShell (simple method) - [System.Web.Security.Membership]::GeneratePassword(32, 0) - - # Cross-platform (using Node.js) - node -e "console.log(require('crypto').randomBytes(32).toString('base64'))" - - # Or use an online generator: https://generate-secret.vercel.app/32 - ``` - -5. Run database migrations: `bun run db:migrate` -6. Start the development server: `bun run dev` - -### Desktop - -Working on `apps/desktop`? See [`apps/desktop/README.md`](../apps/desktop/README.md) for setup. Web-only contributors can ignore this entirely. - -## How to Contribute - -### Reporting Bugs - -- Use the bug report template -- Include steps to reproduce -- Provide screenshots if applicable - -### Suggesting Features - -- Use the feature request template -- Explain the use case -- Consider implementation details - -### Code Contributions - -1. Create a new branch: `git checkout -b feature/your-feature-name` -2. Make your changes -3. Run the relevant checks for the area you touched: - - - Web changes: from `apps/web`, run `bun run lint` and `bunx biome format --write .` - - Desktop changes: run `./apps/desktop/script/setup` if your environment isn't set up yet - -4. Commit your changes with a descriptive message -5. Push to your fork and create a pull request - -## Code Style - -- We use Biome for code formatting and linting -- Run `bunx biome format --write .` from the `apps/web` directory to format code -- Run `bun run lint` from the `apps/web` directory to check for linting issues -- Follow the existing code patterns - -## Pull Request Process - -1. Fill out the pull request template completely -2. Link any related issues -3. Ensure CI passes -4. Request review from maintainers -5. Address any feedback - -## Community - -- Be respectful and inclusive -- Follow our Code of Conduct -- Help others in discussions and issues - -Thank you for contributing! diff --git a/.gitignore b/.gitignore index 40b878db..782f9626 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ -node_modules/ \ No newline at end of file +node_modules/ +.turbo/ +.env +.env.* +!.env.example diff --git a/README.md b/README.md index af46df56..7cb64fea 100644 --- a/README.md +++ b/README.md @@ -1,167 +1,39 @@
- OpenCut Logo + OpenCut Logo

OpenCut

-

A free, open-source video editor for web, desktop, and mobile.

+

A free and open source video editor for web, desktop, and mobile.

-## Sponsors +[![Discord](https://img.shields.io/discord/1386309140057690133?label=Discord&logo=discord&logoColor=fff&color=5865F2&style=flat)](https://discord.gg/zmR9N35cjK) +[![X](https://img.shields.io/badge/follow-%40opencutapp-000?logo=x&logoColor=fff&style=flat)](https://x.com/opencutapp) +[![License: MIT](https://img.shields.io/badge/license-MIT-green?style=flat)](LICENSE) -Thanks to [Vercel](https://vercel.com?utm_source=github-opencut&utm_campaign=oss) and [fal.ai](https://fal.ai?utm_source=github-opencut&utm_campaign=oss) for their support of open-source software. +## Status - - Vercel OSS Program - +**OpenCut is being rewritten from the ground up.** What's coming: - - Powered by fal.ai - +- An Editor API as the shared foundation +- First-class third party plugins (made possible by a plugin-first architecture) +- Desktop, mobile, and browser from one codebase (Rust core) +- MCP support +- A scripting tab directly in the editor -## Why? - -- **Privacy**: Your videos stay on your device -- **Free features**: Most basic CapCut features are now paywalled -- **Simple**: People want editors that are easy to use - CapCut proved that - -## Project Structure - -- `apps/web/`: Next.js web application -- `apps/desktop/`: Native desktop app built with GPUI (in progress) -- `rust/`: Platform-agnostic core: GPU compositor, effects, masks, and WASM bindings. We're actively migrating business logic here from TypeScript. -- `docs/`: Architecture and subsystem documentation - -## Getting Started - -### Prerequisites - -- [Bun](https://bun.sh/docs/installation) -- [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/) - -> **Note:** Docker is optional but recommended for running the local database and Redis. If you only want to work on frontend features, you can skip it. - -### Setup - -1. Fork and clone the repository - -2. Copy the environment file: - - ```bash - # Unix/Linux/Mac - cp apps/web/.env.example apps/web/.env.local - - # Windows PowerShell - Copy-Item apps/web/.env.example apps/web/.env.local - ``` - -3. Start the database and Redis: - - ```bash - docker compose up -d db redis serverless-redis-http - ``` - -4. Install dependencies and start the dev server: - - ```bash - bun install - bun dev:web - ``` - -The application will be available at [http://localhost:3000](http://localhost:3000). - -The `.env.example` has sensible defaults that match the Docker Compose config — it should work out of the box. - -### Desktop setup - -Desktop is opt-in. If you're only working on the web app, skip this entirely. - -If you want to get ready for `apps/desktop`, see [`apps/desktop/README.md`](apps/desktop/README.md). It's a two-step setup: Rust toolchain first, then desktop native dependencies. - -### Local WASM development - -Only needed if you're editing `rust/wasm` and want the web app to use your local build instead of the published package. - -**Prerequisites** — install these once before anything else: - -```bash -# Rust toolchain -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - -# build the WASM package -cargo install wasm-pack - -# reruns the build on file changes, used by bun dev:wasm -cargo install cargo-watch -``` - -1. Build the package once from the repo root: - - ```bash - bun run build:wasm - ``` - -2. Register the generated package for linking: - - ```bash - cd rust/wasm/pkg - bun link - ``` - -3. Link `apps/web` to the local package: - - ```bash - cd apps/web - bun link opencut-wasm - ``` - -4. Rebuild on changes while you work: - - ```bash - bun dev:wasm - ``` - -To switch `apps/web` back to the published package, run: - -```bash -cd apps/web -bun add opencut-wasm -``` - -### Self-Hosting with Docker - -To run everything (including a production build of the app) in Docker: - -```bash -docker compose up -d -``` - -The app will be available at [http://localhost:3100](http://localhost:3100). +You can still find the previous version at [opencut-app/opencut-classic](https://github.com/opencut-app/opencut-classic), which is the one to reach for today. [opencut.app](https://opencut.app) still runs the classic version; the rewrite will live at [new.opencut.app](https://new.opencut.app) until it's ready to take over. ## Contributing -We welcome contributions! While we're actively developing and refactoring certain areas, there are plenty of opportunities to contribute effectively. +We're not set up to take outside contributions yet while the architecture is being designed. If you want to follow along, ask questions, or just hang out, [join the Discord](https://discord.gg/zmR9N35cjK) or [open an issue](https://github.com/opencut-app/opencut/issues). -**🎯 Focus areas:** Timeline functionality, project management, performance, bug fixes, and UI improvements outside the preview panel. +## Sponsors -**⚠️ Avoid for now:** Preview panel enhancements (fonts, stickers, effects) and export functionality - we're refactoring these with a new binary rendering approach. - -See our [Contributing Guide](.github/CONTRIBUTING.md) for detailed setup instructions, development guidelines, and complete focus area guidance. - -**Quick start for contributors:** - -- Fork the repo and clone locally -- Follow the setup instructions in CONTRIBUTING.md -- Working on `apps/desktop`? See [`apps/desktop/README.md`](apps/desktop/README.md) for setup -- Create a feature branch and submit a PR +[fal.ai](https://fal.ai?utm_source=github-opencut&utm_campaign=oss) supports OpenCut and open-source software. ## License -[MIT LICENSE](LICENSE) - ---- - -![Star History Chart](https://api.star-history.com/svg?repos=opencut-app/opencut&type=Date) +[MIT](LICENSE) \ No newline at end of file diff --git a/apps/web/.cursorrules b/apps/web/.cursorrules deleted file mode 100644 index 20159602..00000000 --- a/apps/web/.cursorrules +++ /dev/null @@ -1,7 +0,0 @@ -# shadcn instructions - -Use the latest version of Shadcn to install new components, like this command to add a button component: - -```bash -pnpm dlx shadcn@latest add button -``` diff --git a/apps/web/README.md b/apps/web/README.md deleted file mode 100644 index f6caa1e5..00000000 --- a/apps/web/README.md +++ /dev/null @@ -1,215 +0,0 @@ -Welcome to your new TanStack Start app! - -# Getting Started - -To run this application: - -```bash -npm install -npm run dev -``` - -# Building For Production - -To build this application for production: - -```bash -npm run build -``` - -## Testing - -This project uses [Vitest](https://vitest.dev/) for testing. You can run the tests with: - -```bash -npm run test -``` - -## Styling - -This project uses [Tailwind CSS](https://tailwindcss.com/) for styling. - -### Removing Tailwind CSS - -If you prefer not to use Tailwind CSS: - -1. Remove the demo pages in `src/routes/demo/` -2. Replace the Tailwind import in `src/styles.css` with your own styles -3. Remove `tailwindcss()` from the plugins array in `vite.config.ts` -4. Uninstall the packages: `npm install @tailwindcss/vite tailwindcss -D` - - -## Deploy to Cloudflare Workers - -This project uses the Cloudflare Vite plugin (configured in `vite.config.ts`) and `wrangler.jsonc`: - -1. Install Wrangler: `npm install -g wrangler` -2. Authenticate: `wrangler login` -3. Deploy: `npx wrangler deploy` - -For production env vars, run `wrangler secret put MY_VAR` for each secret listed in `.env.example`. Public (non-secret) vars go in `wrangler.jsonc` under `vars`. - -KV, D1, R2, and Durable Object bindings are configured in `wrangler.jsonc` — see https://developers.cloudflare.com/workers/wrangler/configuration/. - - -## Shadcn - -Add components using the latest version of [Shadcn](https://ui.shadcn.com/). - -```bash -pnpm dlx shadcn@latest add button -``` - - - -## Routing - -This project uses [TanStack Router](https://tanstack.com/router) with file-based routing. Routes are managed as files in `src/routes`. - -### Adding A Route - -To add a new route to your application just add a new file in the `./src/routes` directory. - -TanStack will automatically generate the content of the route file for you. - -Now that you have two routes you can use a `Link` component to navigate between them. - -### Adding Links - -To use SPA (Single Page Application) navigation you will need to import the `Link` component from `@tanstack/react-router`. - -```tsx -import { Link } from "@tanstack/react-router"; -``` - -Then anywhere in your JSX you can use it like so: - -```tsx -About -``` - -This will create a link that will navigate to the `/about` route. - -More information on the `Link` component can be found in the [Link documentation](https://tanstack.com/router/v1/docs/framework/react/api/router/linkComponent). - -### Using A Layout - -In the File Based Routing setup the layout is located in `src/routes/__root.tsx`. Anything you add to the root route will appear in all the routes. The route content will appear in the JSX where you render `{children}` in the `shellComponent`. - -Here is an example layout that includes a header: - -```tsx -import { HeadContent, Scripts, createRootRoute } from '@tanstack/react-router' - -export const Route = createRootRoute({ - head: () => ({ - meta: [ - { charSet: 'utf-8' }, - { name: 'viewport', content: 'width=device-width, initial-scale=1' }, - { title: 'My App' }, - ], - }), - shellComponent: ({ children }) => ( - - - - - -
- -
- {children} - - - - ), -}) -``` - -More information on layouts can be found in the [Layouts documentation](https://tanstack.com/router/latest/docs/framework/react/guide/routing-concepts#layouts). - -## Server Functions - -TanStack Start provides server functions that allow you to write server-side code that seamlessly integrates with your client components. - -```tsx -import { createServerFn } from '@tanstack/react-start' - -const getServerTime = createServerFn({ - method: 'GET', -}).handler(async () => { - return new Date().toISOString() -}) - -// Use in a component -function MyComponent() { - const [time, setTime] = useState('') - - useEffect(() => { - getServerTime().then(setTime) - }, []) - - return
Server time: {time}
-} -``` - -## API Routes - -You can create API routes by using the `server` property in your route definitions: - -```tsx -import { createFileRoute } from '@tanstack/react-router' -import { json } from '@tanstack/react-start' - -export const Route = createFileRoute('/api/hello')({ - server: { - handlers: { - GET: () => json({ message: 'Hello, World!' }), - }, - }, -}) -``` - -## Data Fetching - -There are multiple ways to fetch data in your application. You can use TanStack Query to fetch data from a server. But you can also use the `loader` functionality built into TanStack Router to load the data for a route before it's rendered. - -For example: - -```tsx -import { createFileRoute } from '@tanstack/react-router' - -export const Route = createFileRoute('/people')({ - loader: async () => { - const response = await fetch('https://swapi.dev/api/people') - return response.json() - }, - component: PeopleComponent, -}) - -function PeopleComponent() { - const data = Route.useLoaderData() - return ( -
    - {data.results.map((person) => ( -
  • {person.name}
  • - ))} -
- ) -} -``` - -Loaders simplify your data fetching logic dramatically. Check out more information in the [Loader documentation](https://tanstack.com/router/latest/docs/framework/react/guide/data-loading#loader-parameters). - -# Demo files - -Files prefixed with `demo` can be safely deleted. They are there to provide a starting point for you to play around with the features you've installed. - -# Learn More - -You can learn more about all of the offerings from TanStack in the [TanStack documentation](https://tanstack.com). - -For TanStack Start specific documentation, visit [TanStack Start](https://tanstack.com/start). diff --git a/apps/web/components.json b/apps/web/components.json index cdcadc69..741ae2c4 100644 --- a/apps/web/components.json +++ b/apps/web/components.json @@ -1,15 +1,17 @@ { "$schema": "https://ui.shadcn.com/schema.json", - "style": "new-york", + "style": "base-mira", "rsc": false, "tsx": true, "tailwind": { "config": "", "css": "src/styles.css", - "baseColor": "zinc", + "baseColor": "neutral", "cssVariables": true, "prefix": "" }, + "iconLibrary": "hugeicons", + "rtl": false, "aliases": { "components": "#/components", "utils": "#/lib/utils", @@ -17,5 +19,7 @@ "lib": "#/lib", "hooks": "#/hooks" }, - "iconLibrary": "lucide" -} \ No newline at end of file + "menuColor": "default", + "menuAccent": "subtle", + "registries": {} +} diff --git a/apps/web/package.json b/apps/web/package.json index 785ec2ce..873b447d 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -15,7 +15,10 @@ "dependencies": { "@base-ui/react": "^1.4.1", "@cloudflare/vite-plugin": "^1.26.0", + "@fontsource-variable/inter": "^5.2.8", "@hookform/resolvers": "^5.2.2", + "@hugeicons/core-free-icons": "^4.1.2", + "@hugeicons/react": "^1.1.6", "@tailwindcss/vite": "^4.1.18", "@tanstack/react-devtools": "latest", "@tanstack/react-router": "latest", @@ -36,12 +39,13 @@ "react-day-picker": "^10.0.0", "react-dom": "^19.2.0", "react-hook-form": "^7.75.0", - "react-resizable-panels": "^4", + "react-resizable-panels": "^4.11.0", "recharts": "3.8.0", + "shadcn": "^4.7.0", "sonner": "^2.0.7", - "tailwind-merge": "^3.0.2", + "tailwind-merge": "^3.5.0", "tailwindcss": "^4.1.18", - "tw-animate-css": "^1.3.6", + "tw-animate-css": "^1.4.0", "vaul": "^1.1.2", "zod": "^4.4.3" }, diff --git a/apps/web/public/favicon.ico b/apps/web/public/favicon.ico index a11777cc471a4344702741ab1c8a588998b1311a..2306e0df82fa3b4846319ad6ff19bc80e6e07d77 100644 GIT binary patch literal 199364 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ diff --git a/apps/web/public/logo192.png b/apps/web/public/logo192.png deleted file mode 100644 index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN diff --git a/apps/web/src/components/ui/accordion.tsx b/apps/web/src/components/ui/accordion.tsx index b16de2af..3b70bb3f 100644 --- a/apps/web/src/components/ui/accordion.tsx +++ b/apps/web/src/components/ui/accordion.tsx @@ -1,23 +1,27 @@ -import * as React from "react" -import { ChevronDownIcon } from "lucide-react" -import { Accordion as AccordionPrimitive } from "radix-ui" +import { Accordion as AccordionPrimitive } from "@base-ui/react/accordion" import { cn } from "#/lib/utils.ts" +import { HugeiconsIcon } from "@hugeicons/react" +import { ArrowDown01Icon, ArrowUp01Icon } from "@hugeicons/core-free-icons" -function Accordion({ - ...props -}: React.ComponentProps) { - return +function Accordion({ className, ...props }: AccordionPrimitive.Root.Props) { + return ( + + ) } -function AccordionItem({ - className, - ...props -}: React.ComponentProps) { +function AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) { return ( ) @@ -27,19 +31,20 @@ function AccordionTrigger({ className, children, ...props -}: React.ComponentProps) { +}: AccordionPrimitive.Trigger.Props) { return ( svg]:rotate-180", + "group/accordion-trigger relative flex flex-1 items-start justify-between gap-6 border border-transparent p-2 text-left text-xs/relaxed font-medium transition-all outline-none hover:underline aria-disabled:pointer-events-none aria-disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground", className )} {...props} > {children} - + + ) @@ -49,15 +54,22 @@ function AccordionContent({ className, children, ...props -}: React.ComponentProps) { +}: AccordionPrimitive.Panel.Props) { return ( - -

- +
+ {children} +
+ ) } diff --git a/apps/web/src/components/ui/alert-dialog.tsx b/apps/web/src/components/ui/alert-dialog.tsx index c113a0e5..4dab93d4 100644 --- a/apps/web/src/components/ui/alert-dialog.tsx +++ b/apps/web/src/components/ui/alert-dialog.tsx @@ -1,28 +1,22 @@ "use client" import * as React from "react" -import { AlertDialog as AlertDialogPrimitive } from "radix-ui" +import { AlertDialog as AlertDialogPrimitive } from "@base-ui/react/alert-dialog" import { cn } from "#/lib/utils.ts" import { Button } from "#/components/ui/button.tsx" -function AlertDialog({ - ...props -}: React.ComponentProps) { +function AlertDialog({ ...props }: AlertDialogPrimitive.Root.Props) { return } -function AlertDialogTrigger({ - ...props -}: React.ComponentProps) { +function AlertDialogTrigger({ ...props }: AlertDialogPrimitive.Trigger.Props) { return ( ) } -function AlertDialogPortal({ - ...props -}: React.ComponentProps) { +function AlertDialogPortal({ ...props }: AlertDialogPrimitive.Portal.Props) { return ( ) @@ -31,12 +25,12 @@ function AlertDialogPortal({ function AlertDialogOverlay({ className, ...props -}: React.ComponentProps) { +}: AlertDialogPrimitive.Backdrop.Props) { return ( - & { +}: AlertDialogPrimitive.Popup.Props & { size?: "default" | "sm" }) { return ( - ) { + return ( +
+ ) +} + function AlertDialogTitle({ className, ...props @@ -107,7 +117,7 @@ function AlertDialogTitle({ - ) -} - -function AlertDialogMedia({ - className, - ...props -}: React.ComponentProps<"div">) { - return ( -
& - Pick, "variant" | "size">) { +}: React.ComponentProps) { return ( - + + } + {...props} + /> ) } diff --git a/apps/web/src/components/ui/alert.tsx b/apps/web/src/components/ui/alert.tsx index c485b70f..7ea27af1 100644 --- a/apps/web/src/components/ui/alert.tsx +++ b/apps/web/src/components/ui/alert.tsx @@ -4,13 +4,13 @@ import { cva, type VariantProps } from "class-variance-authority" import { cn } from "#/lib/utils.ts" const alertVariants = cva( - "relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", + "group/alert relative grid w-full gap-0.5 rounded-lg border px-2 py-1.5 text-left text-xs/relaxed has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-1.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-3.5", { variants: { variant: { default: "bg-card text-card-foreground", destructive: - "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current", + "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current", }, }, defaultVariants: { @@ -39,7 +39,7 @@ function AlertTitle({ className, ...props }: React.ComponentProps<"div">) {
svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground", className )} {...props} @@ -55,7 +55,7 @@ function AlertDescription({
) { + return ( +
+ ) +} + +export { Alert, AlertTitle, AlertDescription, AlertAction } diff --git a/apps/web/src/components/ui/aspect-ratio.tsx b/apps/web/src/components/ui/aspect-ratio.tsx index 57e38fa9..7125dd8e 100644 --- a/apps/web/src/components/ui/aspect-ratio.tsx +++ b/apps/web/src/components/ui/aspect-ratio.tsx @@ -1,11 +1,22 @@ -"use client" - -import { AspectRatio as AspectRatioPrimitive } from "radix-ui" +import { cn } from "#/lib/utils.ts" function AspectRatio({ + ratio, + className, ...props -}: React.ComponentProps) { - return +}: React.ComponentProps<"div"> & { ratio: number }) { + return ( +
+ ) } export { AspectRatio } diff --git a/apps/web/src/components/ui/avatar.tsx b/apps/web/src/components/ui/avatar.tsx index 7d50ceaa..6585f42a 100644 --- a/apps/web/src/components/ui/avatar.tsx +++ b/apps/web/src/components/ui/avatar.tsx @@ -1,5 +1,5 @@ import * as React from "react" -import { Avatar as AvatarPrimitive } from "radix-ui" +import { Avatar as AvatarPrimitive } from "@base-ui/react/avatar" import { cn } from "#/lib/utils.ts" @@ -7,7 +7,7 @@ function Avatar({ className, size = "default", ...props -}: React.ComponentProps & { +}: AvatarPrimitive.Root.Props & { size?: "default" | "sm" | "lg" }) { return ( @@ -15,7 +15,7 @@ function Avatar({ data-slot="avatar" data-size={size} className={cn( - "group/avatar relative flex size-8 shrink-0 overflow-hidden rounded-full select-none data-[size=lg]:size-10 data-[size=sm]:size-6", + "group/avatar relative flex size-8 shrink-0 rounded-full select-none after:absolute after:inset-0 after:rounded-full after:border after:border-border after:mix-blend-darken data-[size=lg]:size-10 data-[size=sm]:size-6 dark:after:mix-blend-lighten", className )} {...props} @@ -23,14 +23,14 @@ function Avatar({ ) } -function AvatarImage({ - className, - ...props -}: React.ComponentProps) { +function AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props) { return ( ) @@ -39,7 +39,7 @@ function AvatarImage({ function AvatarFallback({ className, ...props -}: React.ComponentProps) { +}: AvatarPrimitive.Fallback.Props) { return ( ) { svg]:hidden", "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2", "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2", @@ -89,7 +89,7 @@ function AvatarGroupCount({
svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3", + "relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-xs/relaxed text-muted-foreground ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3", className )} {...props} @@ -101,7 +101,7 @@ export { Avatar, AvatarImage, AvatarFallback, - AvatarBadge, AvatarGroup, AvatarGroupCount, + AvatarBadge, } diff --git a/apps/web/src/components/ui/badge.tsx b/apps/web/src/components/ui/badge.tsx index cd79adb6..6164463e 100644 --- a/apps/web/src/components/ui/badge.tsx +++ b/apps/web/src/components/ui/badge.tsx @@ -1,23 +1,24 @@ -import * as React from "react" +import { mergeProps } from "@base-ui/react/merge-props" +import { useRender } from "@base-ui/react/use-render" import { cva, type VariantProps } from "class-variance-authority" -import { Slot } from "radix-ui" import { cn } from "#/lib/utils.ts" const badgeVariants = cva( - "inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3", + "group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-[0.625rem] font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-2.5!", { variants: { variant: { - default: "bg-primary text-primary-foreground [a&]:hover:bg-primary/90", + default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80", secondary: - "bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90", + "bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80", destructive: - "bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90", + "bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20", outline: - "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground", - ghost: "[a&]:hover:bg-accent [a&]:hover:text-accent-foreground", - link: "text-primary underline-offset-4 [a&]:hover:underline", + "border-border bg-input/20 text-foreground dark:bg-input/30 [a]:hover:bg-muted [a]:hover:text-muted-foreground", + ghost: + "hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50", + link: "text-primary underline-offset-4 hover:underline", }, }, defaultVariants: { @@ -29,20 +30,23 @@ const badgeVariants = cva( function Badge({ className, variant = "default", - asChild = false, + render, ...props -}: React.ComponentProps<"span"> & - VariantProps & { asChild?: boolean }) { - const Comp = asChild ? Slot.Root : "span" - - return ( - - ) +}: useRender.ComponentProps<"span"> & VariantProps) { + return useRender({ + defaultTagName: "span", + props: mergeProps<"span">( + { + className: cn(badgeVariants({ variant }), className), + }, + props + ), + render, + state: { + slot: "badge", + variant, + }, + }) } export { Badge, badgeVariants } diff --git a/apps/web/src/components/ui/breadcrumb.tsx b/apps/web/src/components/ui/breadcrumb.tsx index 18d5124b..b6d428c1 100644 --- a/apps/web/src/components/ui/breadcrumb.tsx +++ b/apps/web/src/components/ui/breadcrumb.tsx @@ -1,11 +1,20 @@ import * as React from "react" -import { ChevronRight, MoreHorizontal } from "lucide-react" -import { Slot } from "radix-ui" +import { mergeProps } from "@base-ui/react/merge-props" +import { useRender } from "@base-ui/react/use-render" import { cn } from "#/lib/utils.ts" +import { HugeiconsIcon } from "@hugeicons/react" +import { ArrowRight01Icon, MoreHorizontalCircle01Icon } from "@hugeicons/core-free-icons" -function Breadcrumb({ ...props }: React.ComponentProps<"nav">) { - return