2 Commits

Author SHA1 Message Date
99965c0674 Update README.md 2025-06-24 20:04:49 +02:00
87c4bd4c95 Fix rendering issue in README 2025-06-24 20:04:22 +02:00
6 changed files with 23 additions and 16 deletions

View File

@ -1,12 +1,16 @@
<img src="apps/web/public/logo.png" align="left" width="130" height="130"> <table>
<tr>
<div align="right"> <td width="130">
<img src="apps/web/public/logo.png" width="130" height="130">
</td>
<td align="right">
# OpenCut (prev AppCut) # OpenCut (prev AppCut)
### A free, open-source video editor for web, desktop, and mobile. ### A free, open-source video editor for web, desktop, and mobile.
</div>
</td>
</tr>
</table>
## Why? ## Why?
@ -20,7 +24,6 @@
- Multi-track support - Multi-track support
- Real-time preview - Real-time preview
- No watermarks or subscriptions - No watermarks or subscriptions
- Analytics provided by [Databuddy](https://www.databuddy.cc?utm_source=opencut), 100% Anonymized & Non-invasive.
## Project Structure ## Project Structure

View File

@ -42,8 +42,13 @@ export function Header() {
</Button> </Button>
</Link> </Link>
<Link href="https://github.com/OpenCut-app/OpenCut" target="_blank"> <Link href="https://github.com/OpenCut-app/OpenCut" target="_blank">
<Button size="sm" className="text-sm ml-4"> <Button variant="text" className="text-sm">
GitHub GitHub
</Button>
</Link>
<Link href={session ? "/editor" : "/auth/login"}>
<Button size="sm" className="text-sm ml-4">
Start editing
<ArrowRight className="h-4 w-4" /> <ArrowRight className="h-4 w-4" />
</Button> </Button>
</Link> </Link>

View File

@ -82,12 +82,12 @@ export function Hero({ signupCount }: HeroProps) {
}; };
return ( return (
<div className="min-h-[calc(100vh-4rem)] flex flex-col justify-between items-center text-center px-4"> <div className="relative min-h-[calc(100vh-4rem)] flex flex-col items-center justify-center text-center px-4">
<motion.div <motion.div
initial={{ opacity: 0 }} initial={{ opacity: 0 }}
animate={{ opacity: 1 }} animate={{ opacity: 1 }}
transition={{ duration: 1 }} transition={{ duration: 1 }}
className="max-w-3xl mx-auto w-full flex-1 flex flex-col justify-center" className="max-w-3xl mx-auto"
> >
<motion.div <motion.div
initial={{ opacity: 0, y: 20 }} initial={{ opacity: 0, y: 20 }}
@ -148,7 +148,7 @@ export function Hero({ signupCount }: HeroProps) {
initial={{ opacity: 0, y: 10 }} initial={{ opacity: 0, y: 10 }}
animate={{ opacity: 1, y: 0 }} animate={{ opacity: 1, y: 0 }}
transition={{ delay: 0.8, duration: 0.6 }} transition={{ delay: 0.8, duration: 0.6 }}
className="mt-8 inline-flex items-center gap-2 bg-muted/30 px-4 py-2 rounded-full text-sm text-muted-foreground justify-center" className="mt-6 inline-flex items-center gap-2 bg-muted/30 px-4 py-2 rounded-full text-sm text-muted-foreground"
> >
<div className="w-2 h-2 bg-green-500 rounded-full animate-pulse" /> <div className="w-2 h-2 bg-green-500 rounded-full animate-pulse" />
<span>{signupCount.toLocaleString()} people already joined</span> <span>{signupCount.toLocaleString()} people already joined</span>
@ -157,7 +157,7 @@ export function Hero({ signupCount }: HeroProps) {
</motion.div> </motion.div>
<motion.div <motion.div
className="mb-8 text-center text-sm text-muted-foreground/60" className="absolute bottom-12 left-0 right-0 text-center text-sm text-muted-foreground/60"
initial={{ opacity: 0 }} initial={{ opacity: 0 }}
animate={{ opacity: 1 }} animate={{ opacity: 1 }}
transition={{ delay: 0.8, duration: 0.8 }} transition={{ delay: 0.8, duration: 0.8 }}

View File

@ -430,7 +430,7 @@
"@types/d3-timer": ["@types/d3-timer@3.0.2", "", {}, "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw=="], "@types/d3-timer": ["@types/d3-timer@3.0.2", "", {}, "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw=="],
"@types/node": ["@types/node@22.15.33", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-wzoocdnnpSxZ+6CjW4ADCK1jVmd1S/J3ArNWfn8FDDQtRm8dkDg7TA+mvek2wNrfCgwuZxqEOiB9B1XCJ6+dbw=="], "@types/node": ["@types/node@22.15.32", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-3jigKqgSjsH6gYZv2nEsqdXfZqIFGAV36XYYjf9KGZ3PSG+IhLecqPnI310RvjutyMwifE2hhhNEklOUrvx/wA=="],
"@types/pg": ["@types/pg@8.15.4", "", { "dependencies": { "@types/node": "*", "pg-protocol": "*", "pg-types": "^2.2.0" } }, "sha512-I6UNVBAoYbvuWkkU3oosC8yxqH21f4/Jc4DK71JLG3dT2mdlGe1z+ep/LQGXaKaOgcvUrsQoPRqfgtMcvZiJhg=="], "@types/pg": ["@types/pg@8.15.4", "", { "dependencies": { "@types/node": "*", "pg-protocol": "*", "pg-types": "^2.2.0" } }, "sha512-I6UNVBAoYbvuWkkU3oosC8yxqH21f4/Jc4DK71JLG3dT2mdlGe1z+ep/LQGXaKaOgcvUrsQoPRqfgtMcvZiJhg=="],

View File

@ -11,7 +11,7 @@ services:
ports: ports:
- "5432:5432" - "5432:5432"
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U opencut"] test: ["CMD", "pg_isready -U opencut"]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 5 retries: 5

View File

@ -1,5 +1,4 @@
{ {
"name": "opencut",
"packageManager": "bun@1.2.17", "packageManager": "bun@1.2.17",
"devDependencies": { "devDependencies": {
"turbo": "^2.5.4" "turbo": "^2.5.4"
@ -18,4 +17,4 @@
"dependencies": { "dependencies": {
"next": "^15.3.4" "next": "^15.3.4"
} }
} }