From 4c67ec62094110a613806e5c2531f5f8e78e9456 Mon Sep 17 00:00:00 2001 From: Stanley Cheung Date: Wed, 11 Feb 2026 15:56:48 +0800 Subject: [PATCH] fix: update brand name --- .github/CONTRIBUTING.md | 188 ------------------ .github/ISSUE_TEMPLATE/feature_request.yml | 42 ---- .github/SECURITY.md | 28 --- .github/SUPPORT.md | 27 --- .github/workflows/bun-ci.yml | 95 --------- LICENSE | 7 - README.md | 183 ----------------- apps/web/.env.example | 4 +- apps/web/drizzle.config.ts | 2 +- apps/web/e2e/auth-projects.spec.ts | 2 +- apps/web/e2e/editor-cloud-sync.spec.ts | 2 +- apps/web/package.json | 6 +- .../1k/logo-black-with-text.png | Bin .../{opencut => vibecut}/1k/logo-black.png | Bin .../1k/logo-white-black.png | Bin .../1k/logo-white-with-text.png | Bin .../{opencut => vibecut}/1k/logo-white.png | Bin .../2k/logo-black-with-text.png | Bin .../{opencut => vibecut}/2k/logo-black.png | Bin .../2k/logo-white-with-text.png | Bin .../{opencut => vibecut}/2k/logo-white.png | Bin .../4k/logo-black-with-text.png | Bin .../{opencut => vibecut}/4k/logo-black.png | Bin .../4k/logo-white-with-text.png | Bin .../{opencut => vibecut}/4k/logo-white.png | Bin .../logos/{opencut => vibecut}/svg/logo.svg | 0 apps/web/public/manifest.json | 2 +- apps/web/src/app/api/sounds/search/route.ts | 2 +- apps/web/src/app/auth/login/page.tsx | 10 +- apps/web/src/app/auth/register/page.tsx | 10 +- apps/web/src/app/layout.tsx | 2 +- apps/web/src/app/metadata.ts | 4 +- apps/web/src/app/privacy/page.tsx | 22 +- apps/web/src/app/projects/page.tsx | 2 +- apps/web/src/app/terms/page.tsx | 54 ++--- apps/web/src/components/editor/onboarding.tsx | 135 ------------- apps/web/src/components/footer.tsx | 6 +- apps/web/src/components/header.tsx | 2 +- apps/web/src/constants/site-constants.ts | 26 +-- apps/web/src/constants/timeline-constants.tsx | 2 +- apps/web/src/lib/auth/client.ts | 2 +- apps/web/src/lib/auth/server.ts | 4 +- apps/web/src/lib/backend-api.ts | 2 +- apps/web/src/lib/db/index.ts | 2 +- apps/web/src/lib/rate-limit.ts | 2 +- apps/web/src/stores/keybindings-store.ts | 2 +- bun.lock | 20 +- package.json | 16 +- packages/env/package.json | 4 +- packages/ui/package.json | 4 +- 50 files changed, 117 insertions(+), 806 deletions(-) delete mode 100644 .github/CONTRIBUTING.md delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml delete mode 100644 .github/SECURITY.md delete mode 100644 .github/SUPPORT.md delete mode 100644 .github/workflows/bun-ci.yml delete mode 100644 LICENSE delete mode 100644 README.md rename apps/web/public/logos/{opencut => vibecut}/1k/logo-black-with-text.png (100%) rename apps/web/public/logos/{opencut => vibecut}/1k/logo-black.png (100%) rename apps/web/public/logos/{opencut => vibecut}/1k/logo-white-black.png (100%) rename apps/web/public/logos/{opencut => vibecut}/1k/logo-white-with-text.png (100%) rename apps/web/public/logos/{opencut => vibecut}/1k/logo-white.png (100%) rename apps/web/public/logos/{opencut => vibecut}/2k/logo-black-with-text.png (100%) rename apps/web/public/logos/{opencut => vibecut}/2k/logo-black.png (100%) rename apps/web/public/logos/{opencut => vibecut}/2k/logo-white-with-text.png (100%) rename apps/web/public/logos/{opencut => vibecut}/2k/logo-white.png (100%) rename apps/web/public/logos/{opencut => vibecut}/4k/logo-black-with-text.png (100%) rename apps/web/public/logos/{opencut => vibecut}/4k/logo-black.png (100%) rename apps/web/public/logos/{opencut => vibecut}/4k/logo-white-with-text.png (100%) rename apps/web/public/logos/{opencut => vibecut}/4k/logo-white.png (100%) rename apps/web/public/logos/{opencut => vibecut}/svg/logo.svg (100%) delete mode 100644 apps/web/src/components/editor/onboarding.tsx diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md deleted file mode 100644 index dbf7a530..00000000 --- a/.github/CONTRIBUTING.md +++ /dev/null @@ -1,188 +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/) - -> **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:** If you see an error like `Unsupported URL Type "workspace:*"` when running `npm install`, you have two options: -> -> 1. Upgrade to a recent npm version (v9 or later), which has full workspace protocol support. -> 2. Use an alternative package manager such as **bun** or **pnpm**. - -## 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` - -## 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. Navigate to the web app directory: `cd apps/web` -4. Run the linter: `bun run lint` -5. Format your code: `bunx biome format --write .` -6. Commit your changes with a descriptive message -7. 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/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml deleted file mode 100644 index 336e2d6a..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Feature request -description: Suggest an idea for OpenCut -title: "[FEATURE] " -labels: enhancement -body: - - type: markdown - attributes: - value: Please make sure that no duplicated issues has already been delivered. - - type: textarea - id: problem - attributes: - label: Problem - placeholder: Is your feature request related to a problem? Please describe. - description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - validations: - required: true - - type: textarea - id: solution - attributes: - label: Solution - placeholder: Describe the solution you'd like. - description: A clear and concise description of what you want to happen. - validations: - required: true - - type: textarea - id: alternative - attributes: - label: Alternative - placeholder: Describe alternatives you've considered. - description: A clear and concise description of any alternative solutions or features you've considered. - validations: - required: true - - type: textarea - id: additional-context - attributes: - label: Anything else? - description: | - Links? References? Anything that will give us more context about the issue you are encountering! - - Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. - validations: - required: false diff --git a/.github/SECURITY.md b/.github/SECURITY.md deleted file mode 100644 index 1369bbab..00000000 --- a/.github/SECURITY.md +++ /dev/null @@ -1,28 +0,0 @@ -# Security Policy - -## Supported Versions - -| Version | Supported | -| ------- | ------------------ | -| 1.x.x | :white_check_mark: | - -## Reporting a Vulnerability - -We take security vulnerabilities seriously. If you discover a security vulnerability within OpenCut, please send an email to security@opencut.app. All security vulnerabilities will be promptly addressed. - -Please do not report security vulnerabilities through public GitHub issues. - -### What to include in your report - -- Description of the vulnerability -- Steps to reproduce -- Potential impact -- Any suggested fixes - -### Response timeline - -- We will acknowledge receipt within 48 hours -- We will provide a detailed response within 5 business days -- We will keep you updated on our progress - -Thank you for helping keep OpenCut secure! diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md deleted file mode 100644 index 1df3d7bd..00000000 --- a/.github/SUPPORT.md +++ /dev/null @@ -1,27 +0,0 @@ -# Getting Help - -Thanks for using OpenCut! If you need help, here are your options: - -## Documentation - -- Check our [README](../README.md) for basic setup instructions -- Review the [Contributing Guidelines](CONTRIBUTING.md) for development setup - -## Issues - -- **Bug reports**: Use the bug report template -- **Feature requests**: Use the feature request template -- **Questions**: Use GitHub Discussions for general questions - -## Community - -- Join our discussions on GitHub -- Follow the [Code of Conduct](CODE_OF_CONDUCT.md) - -## Response Times - -- Issues are typically triaged within 2-3 business days -- Feature requests may take longer to evaluate -- Security issues are handled with priority - -We appreciate your patience and contributions to making OpenCut better! diff --git a/.github/workflows/bun-ci.yml b/.github/workflows/bun-ci.yml deleted file mode 100644 index b99769f3..00000000 --- a/.github/workflows/bun-ci.yml +++ /dev/null @@ -1,95 +0,0 @@ -name: Bun CI - -concurrency: - group: bun-ci-${{ github.ref }} - cancel-in-progress: true - -on: - push: - branches: [main] - paths-ignore: - - "*.md" - pull_request: - branches: [main] - paths-ignore: - - "*.md" - -jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - - env: - DATABASE_URL: "postgresql://opencut:opencut@localhost:5432/opencut" - BETTER_AUTH_SECRET: "supersecret" - NEXT_PUBLIC_SITE_URL: "http://localhost:3000" - UPSTASH_REDIS_REST_URL: "https://your-upstash-redis-url" - UPSTASH_REDIS_REST_TOKEN: "your-upstash-redis-token" - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install Bun - uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 - with: - bun-version: 1.2.18 - - - name: Cache Bun modules - uses: actions/cache@v4 - with: - path: ~/.bun/install/cache - key: ${{ runner.os }}-bun-1.2.18-${{ hashFiles('apps/web/bun.lock') }} - - - name: Install dependencies - working-directory: apps/web - run: bun install - - - name: Build - working-directory: apps/web - run: bun run build - - - name: Run tests - working-directory: apps/web - run: bun run test - - coverage: - runs-on: ubuntu-latest - - env: - DATABASE_URL: "postgresql://opencut:opencut@localhost:5432/opencut" - BETTER_AUTH_SECRET: "supersecret" - NEXT_PUBLIC_SITE_URL: "http://localhost:3000" - UPSTASH_REDIS_REST_URL: "https://your-upstash-redis-url" - UPSTASH_REDIS_REST_TOKEN: "your-upstash-redis-token" - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install Bun - uses: oven-sh/setup-bun@735343b667d3e6f658f44d0eca948eb6282f2b76 - with: - bun-version: 1.2.18 - - - name: Cache Bun modules - uses: actions/cache@v4 - with: - path: ~/.bun/install/cache - key: ubuntu-bun-1.2.18-${{ hashFiles('apps/web/bun.lock') }} - - - name: Install dependencies - working-directory: apps/web - run: bun install - - - name: Generate coverage - working-directory: apps/web - run: bun run test:coverage - - - name: Upload coverage artifact - uses: actions/upload-artifact@v4 - with: - name: web-coverage-lcov - path: apps/web/coverage diff --git a/LICENSE b/LICENSE deleted file mode 100644 index e2c5ff28..00000000 --- a/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Copyright 2025 OpenCut - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 673e38a7..00000000 --- a/README.md +++ /dev/null @@ -1,183 +0,0 @@ - - - - - -
- OpenCut Logo - -

OpenCut

-

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

-
- -## 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 - -## Features - -- Timeline-based editing -- Multi-track support -- Real-time preview -- No watermarks or subscriptions -- Analytics provided by [Databuddy](https://www.databuddy.cc?utm_source=opencut), 100% Anonymized & Non-invasive. -- Blog powered by [Marble](https://marblecms.com?utm_source=opencut), Headless CMS. - -## Project Structure - -- `apps/web/` – Main Next.js web application -- `src/components/` – UI and editor components -- `src/hooks/` – Custom React hooks -- `src/lib/` – Utility and API logic -- `src/stores/` – State management (Zustand, etc.) -- `src/types/` – TypeScript types - -## Getting Started - -### Prerequisites - -Before you begin, ensure you have the following installed on your system: - -- [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/) - -> **Note:** Docker is optional, but it's essential for running the local database and Redis services. If you're planning to run the frontend or want 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 dev` - -## 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" - BETTER_AUTH_URL="http://localhost:3000" - - # Redis (matches docker-compose.yaml) - UPSTASH_REDIS_REST_URL="http://localhost:8079" - UPSTASH_REDIS_REST_TOKEN="example_token" - - # Marble Blog - MARBLE_WORKSPACE_KEY=cm6ytuq9x0000i803v0isidst # example organization key - NEXT_PUBLIC_MARBLE_API_URL=https://api.marblecms.com - - # 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` from (inside apps/web) -6. Start the development server: `bun run dev` from (inside apps/web) - -The application will be available at [http://localhost:3000](http://localhost:3000). - -## Contributing - -We welcome contributions! While we're actively developing and refactoring certain areas, there are plenty of opportunities to contribute effectively. - -**🎯 Focus areas:** Timeline functionality, project management, performance, bug fixes, and UI improvements outside the preview panel. - -**⚠️ 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 -- Create a feature branch and submit a PR - -## Sponsors - -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. - - - Vercel OSS Program - - - - Powered by fal.ai - - ---- - -[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FOpenCut-app%2FOpenCut&project-name=opencut&repository-name=opencut) - -## License - -[MIT LICENSE](LICENSE) - ---- - -![Star History Chart](https://api.star-history.com/svg?repos=opencut-app/opencut&type=Date) diff --git a/apps/web/.env.example b/apps/web/.env.example index f27da946..94e68d88 100644 --- a/apps/web/.env.example +++ b/apps/web/.env.example @@ -10,7 +10,7 @@ NEXT_PUBLIC_MARBLE_API_URL=https://api.marblecms.com NEXT_PUBLIC_AUTH_API_BASE_URL=http://localhost:3001/api # Server -DATABASE_URL="postgresql://opencut:opencut@localhost:5432/opencut" +DATABASE_URL="postgresql://vibecut:vibecut@localhost:5432/vibecut" BETTER_AUTH_SECRET=your_better_auth_secret UPSTASH_REDIS_REST_URL=http://localhost:8079 @@ -24,6 +24,6 @@ FREESOUND_API_KEY=your_api_key_here CLOUDFLARE_ACCOUNT_ID=your_account_id_here R2_ACCESS_KEY_ID=your_access_key_here R2_SECRET_ACCESS_KEY=your_secret_key_here -R2_BUCKET_NAME=opencut-transcription # whatever you named your r2 bucket +R2_BUCKET_NAME=vibecut-transcription # whatever you named your r2 bucket MODAL_TRANSCRIPTION_URL=your_modal_url_here diff --git a/apps/web/drizzle.config.ts b/apps/web/drizzle.config.ts index 2d53d6b9..2d360dab 100644 --- a/apps/web/drizzle.config.ts +++ b/apps/web/drizzle.config.ts @@ -1,6 +1,6 @@ import type { Config } from "drizzle-kit"; import * as dotenv from "dotenv"; -import { webEnv } from "@opencut/env/web"; +import { webEnv } from "@vibecut/env/web"; // Load the right env file based on environment if (webEnv.NODE_ENV === "production") { diff --git a/apps/web/e2e/auth-projects.spec.ts b/apps/web/e2e/auth-projects.spec.ts index edc147e8..456c1397 100644 --- a/apps/web/e2e/auth-projects.spec.ts +++ b/apps/web/e2e/auth-projects.spec.ts @@ -2,7 +2,7 @@ import { expect, test } from "@playwright/test"; test("login loads backend projects list on /projects", async ({ context, page }) => { await page.addInitScript(() => { - window.localStorage.setItem("opencut_workspace_id", "ws-1"); + window.localStorage.setItem("vibecut_workspace_id", "ws-1"); }); await context.addCookies([ diff --git a/apps/web/e2e/editor-cloud-sync.spec.ts b/apps/web/e2e/editor-cloud-sync.spec.ts index fbd456cd..3c02e776 100644 --- a/apps/web/e2e/editor-cloud-sync.spec.ts +++ b/apps/web/e2e/editor-cloud-sync.spec.ts @@ -176,7 +176,7 @@ test.beforeEach(async ({ context, page }) => { ]); await page.addInitScript(() => { - window.localStorage.setItem("opencut_workspace_id", "ws-1"); + window.localStorage.setItem("vibecut_workspace_id", "ws-1"); }); }); diff --git a/apps/web/package.json b/apps/web/package.json index 0edfe28c..5054b78a 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -1,5 +1,5 @@ { - "name": "@opencut/web", + "name": "@vibecut/web", "version": "0.1.0", "private": true, "packageManager": "bun@1.2.18", @@ -33,8 +33,8 @@ "@hugeicons/core-free-icons": "^3.1.1", "@hugeicons/react": "^1.1.4", "@huggingface/transformers": "^3.8.1", - "@opencut/env": "workspace:*", - "@opencut/ui": "workspace:*", + "@vibecut/env": "workspace:*", + "@vibecut/ui": "workspace:*", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-separator": "^1.1.8", diff --git a/apps/web/public/logos/opencut/1k/logo-black-with-text.png b/apps/web/public/logos/vibecut/1k/logo-black-with-text.png similarity index 100% rename from apps/web/public/logos/opencut/1k/logo-black-with-text.png rename to apps/web/public/logos/vibecut/1k/logo-black-with-text.png diff --git a/apps/web/public/logos/opencut/1k/logo-black.png b/apps/web/public/logos/vibecut/1k/logo-black.png similarity index 100% rename from apps/web/public/logos/opencut/1k/logo-black.png rename to apps/web/public/logos/vibecut/1k/logo-black.png diff --git a/apps/web/public/logos/opencut/1k/logo-white-black.png b/apps/web/public/logos/vibecut/1k/logo-white-black.png similarity index 100% rename from apps/web/public/logos/opencut/1k/logo-white-black.png rename to apps/web/public/logos/vibecut/1k/logo-white-black.png diff --git a/apps/web/public/logos/opencut/1k/logo-white-with-text.png b/apps/web/public/logos/vibecut/1k/logo-white-with-text.png similarity index 100% rename from apps/web/public/logos/opencut/1k/logo-white-with-text.png rename to apps/web/public/logos/vibecut/1k/logo-white-with-text.png diff --git a/apps/web/public/logos/opencut/1k/logo-white.png b/apps/web/public/logos/vibecut/1k/logo-white.png similarity index 100% rename from apps/web/public/logos/opencut/1k/logo-white.png rename to apps/web/public/logos/vibecut/1k/logo-white.png diff --git a/apps/web/public/logos/opencut/2k/logo-black-with-text.png b/apps/web/public/logos/vibecut/2k/logo-black-with-text.png similarity index 100% rename from apps/web/public/logos/opencut/2k/logo-black-with-text.png rename to apps/web/public/logos/vibecut/2k/logo-black-with-text.png diff --git a/apps/web/public/logos/opencut/2k/logo-black.png b/apps/web/public/logos/vibecut/2k/logo-black.png similarity index 100% rename from apps/web/public/logos/opencut/2k/logo-black.png rename to apps/web/public/logos/vibecut/2k/logo-black.png diff --git a/apps/web/public/logos/opencut/2k/logo-white-with-text.png b/apps/web/public/logos/vibecut/2k/logo-white-with-text.png similarity index 100% rename from apps/web/public/logos/opencut/2k/logo-white-with-text.png rename to apps/web/public/logos/vibecut/2k/logo-white-with-text.png diff --git a/apps/web/public/logos/opencut/2k/logo-white.png b/apps/web/public/logos/vibecut/2k/logo-white.png similarity index 100% rename from apps/web/public/logos/opencut/2k/logo-white.png rename to apps/web/public/logos/vibecut/2k/logo-white.png diff --git a/apps/web/public/logos/opencut/4k/logo-black-with-text.png b/apps/web/public/logos/vibecut/4k/logo-black-with-text.png similarity index 100% rename from apps/web/public/logos/opencut/4k/logo-black-with-text.png rename to apps/web/public/logos/vibecut/4k/logo-black-with-text.png diff --git a/apps/web/public/logos/opencut/4k/logo-black.png b/apps/web/public/logos/vibecut/4k/logo-black.png similarity index 100% rename from apps/web/public/logos/opencut/4k/logo-black.png rename to apps/web/public/logos/vibecut/4k/logo-black.png diff --git a/apps/web/public/logos/opencut/4k/logo-white-with-text.png b/apps/web/public/logos/vibecut/4k/logo-white-with-text.png similarity index 100% rename from apps/web/public/logos/opencut/4k/logo-white-with-text.png rename to apps/web/public/logos/vibecut/4k/logo-white-with-text.png diff --git a/apps/web/public/logos/opencut/4k/logo-white.png b/apps/web/public/logos/vibecut/4k/logo-white.png similarity index 100% rename from apps/web/public/logos/opencut/4k/logo-white.png rename to apps/web/public/logos/vibecut/4k/logo-white.png diff --git a/apps/web/public/logos/opencut/svg/logo.svg b/apps/web/public/logos/vibecut/svg/logo.svg similarity index 100% rename from apps/web/public/logos/opencut/svg/logo.svg rename to apps/web/public/logos/vibecut/svg/logo.svg diff --git a/apps/web/public/manifest.json b/apps/web/public/manifest.json index d4a41dc0..7c69e373 100644 --- a/apps/web/public/manifest.json +++ b/apps/web/public/manifest.json @@ -1,5 +1,5 @@ { - "name": "OpenCut", + "name": "VibeCut", "description": "A simple but powerful video editor that gets the job done. In your browser.", "display": "standalone", "start_url": "/", diff --git a/apps/web/src/app/api/sounds/search/route.ts b/apps/web/src/app/api/sounds/search/route.ts index 3070d152..6670bd8c 100644 --- a/apps/web/src/app/api/sounds/search/route.ts +++ b/apps/web/src/app/api/sounds/search/route.ts @@ -1,4 +1,4 @@ -import { webEnv } from "@opencut/env/web"; +import { webEnv } from "@vibecut/env/web"; import { type NextRequest, NextResponse } from "next/server"; import { z } from "zod"; import { checkRateLimit } from "@/lib/rate-limit"; diff --git a/apps/web/src/app/auth/login/page.tsx b/apps/web/src/app/auth/login/page.tsx index 5bd1e186..e2f0b227 100644 --- a/apps/web/src/app/auth/login/page.tsx +++ b/apps/web/src/app/auth/login/page.tsx @@ -2,7 +2,7 @@ import Link from "next/link"; import { useRouter, useSearchParams } from "next/navigation"; -import { useEffect, useState } from "react"; +import { Suspense, useEffect, useState } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; @@ -10,6 +10,14 @@ import { Label } from "@/components/ui/label"; import { useAuthStore } from "@/stores/auth-store"; export default function LoginPage() { + return ( + + + + ); +} + +function LoginContent() { const router = useRouter(); const searchParams = useSearchParams(); const nextPath = searchParams.get("next") || "/projects"; diff --git a/apps/web/src/app/auth/register/page.tsx b/apps/web/src/app/auth/register/page.tsx index f39704ae..b1844b5e 100644 --- a/apps/web/src/app/auth/register/page.tsx +++ b/apps/web/src/app/auth/register/page.tsx @@ -2,7 +2,7 @@ import Link from "next/link"; import { useRouter, useSearchParams } from "next/navigation"; -import { useEffect, useState } from "react"; +import { Suspense, useEffect, useState } from "react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; @@ -10,6 +10,14 @@ import { Label } from "@/components/ui/label"; import { useAuthStore } from "@/stores/auth-store"; export default function RegisterPage() { + return ( + + + + ); +} + +function RegisterContent() { const router = useRouter(); const searchParams = useSearchParams(); const nextPath = searchParams.get("next") || "/projects"; diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index e036236d..18f0c2a8 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -5,7 +5,7 @@ import { Toaster } from "../components/ui/sonner"; import { TooltipProvider } from "../components/ui/tooltip"; import { baseMetaData } from "./metadata"; import { BotIdClient } from "botid/client"; -import { webEnv } from "@opencut/env/web"; +import { webEnv } from "@vibecut/env/web"; import { Inter } from "next/font/google"; import { AuthProvider } from "@/components/providers/auth-provider"; import { AuthGuard } from "@/components/auth/auth-guard"; diff --git a/apps/web/src/app/metadata.ts b/apps/web/src/app/metadata.ts index 7c192d2b..7839daaa 100644 --- a/apps/web/src/app/metadata.ts +++ b/apps/web/src/app/metadata.ts @@ -17,7 +17,7 @@ export const baseMetaData: Metadata = { url: SITE_INFO.openGraphImage, width: 1200, height: 630, - alt: "OpenCut Wordmark", + alt: "VibeCut Wordmark", }, ], }, @@ -25,7 +25,7 @@ export const baseMetaData: Metadata = { card: "summary_large_image", title: SITE_INFO.title, description: SITE_INFO.description, - creator: "@opencutapp", + creator: "@vibecutapp", images: [SITE_INFO.twitterImage], }, pinterest: { diff --git a/apps/web/src/app/privacy/page.tsx b/apps/web/src/app/privacy/page.tsx index b71b8d30..a4d9ce17 100644 --- a/apps/web/src/app/privacy/page.tsx +++ b/apps/web/src/app/privacy/page.tsx @@ -10,13 +10,13 @@ import { Separator } from "@/components/ui/separator"; import { SOCIAL_LINKS } from "@/constants/site-constants"; export const metadata: Metadata = { - title: "Privacy Policy - OpenCut", + title: "Privacy Policy - VibeCut", description: - "Learn how OpenCut handles your data and privacy. Our commitment to protecting your information while you edit videos.", + "Learn how VibeCut handles your data and privacy. Our commitment to protecting your information while you edit videos.", openGraph: { - title: "Privacy Policy - OpenCut", + title: "Privacy Policy - VibeCut", description: - "Learn how OpenCut handles your data and privacy. Our commitment to protecting your information while you edit videos.", + "Learn how VibeCut handles your data and privacy. Our commitment to protecting your information while you edit videos.", type: "website", }, }; @@ -65,10 +65,10 @@ export default function PrivacyPage() {

Questions? Email us at{" "} - oss@opencut.app + oss@vibecut.app

@@ -172,7 +172,7 @@ export default function PrivacyPage() { Databuddy {" "} for completely anonymized and non-invasive analytics to understand how - people use OpenCut. + people use VibeCut.

This helps us improve the editor, but we never collect personal @@ -197,7 +197,7 @@ export default function PrivacyPage() {

Third-Party Services

-

OpenCut integrates with these services:

+

VibeCut integrates with these services: