<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/app/layout.css?v=1753750864073" data-precedence="next_static/css/app/layout.css"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack.js?v=1753750864073"/><script src="/_next/static/chunks/main-app.js?v=1753750864073" async=""></script><script src="/_next/static/chunks/app/layout.js" async=""></script><script src="/_next/static/chunks/app-pages-internals.js" async=""></script><script src="/_next/static/chunks/app/page.js" async=""></script><script src="/_next/static/chunks/polyfills.js" noModule=""></script></head><body class="antialiased"><div hidden=""><!--$?--><template id="B:0"></template><!--/$--></div><script>((e, i, s, u, m, a, l, h)=>{
let d = document.documentElement, w = [
"light",
"dark"
];
function p(n) {
(Array.isArray(e) ? e : [
e
]).forEach((y)=>{
let k = y === "class", S = k && a ? m.map((f)=>a[f] || f) : m;
k ? (d.classList.remove(...S), d.classList.add(a && a[n] ? a[n] : n)) : d.setAttribute(y, n);
}), R(n);
}
function R(n) {
h && w.includes(n) && (d.style.colorScheme = n);
}
function c() {
return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
}
if (u) p(u);
else try {
let n = localStorage.getItem(i) || s, y = l && n === "system" ? c() : n;
p(y);
} catch (n) {}
})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="min-h-screen relative overflow-hidden"><div class="absolute inset-0 -z-10 overflow-hidden"><div class="absolute inset-0 bg-[radial-gradient(circle_at_1px_1px,rgb(var(--foreground)/0.1)_1px,transparent_0)] [background-size:24px_24px] dark:bg-[radial-gradient(circle_at_1px_1px,rgb(var(--foreground)/0.08)_1px,transparent_0)]"></div><div class="absolute inset-0 bg-[radial-gradient(circle_at_0.5px_0.5px,rgb(var(--foreground)/0.05)_0.5px,transparent_0)] [background-size:12px_12px] dark:bg-[radial-gradient(circle_at_0.5px_0.5px,rgb(var(--foreground)/0.03)_0.5px,transparent_0)]"></div><div class="absolute top-1/4 left-1/3 w-96 h-96 bg-primary/3 rounded-full blur-3xl"></div><div class="absolute bottom-1/3 right-1/4 w-80 h-80 bg-foreground/2 rounded-full blur-3xl"></div><div class="absolute inset-0 bg-gradient-to-tr from-background/80 via-transparent to-background/80"></div><div class="absolute inset-0 bg-gradient-to-br from-transparent via-background/20 to-transparent"></div></div><div class="absolute top-4 right-4 z-10"><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 size-9 relative"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun h-[1.2rem] w-[1.2rem]" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><span class="sr-only">Toggle theme</span></button></div><div class="container mx-auto px-4 py-16 relative z-10"><div class="max-w-4xl mx-auto text-center"><div class="mb-8 relative"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles absolute -top-4 -left-4 h-8 w-8 text-primary/60 animate-pulse" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg><h1 class="text-4xl md:text-6xl font-bold mb-6 bg-gradient-to-r from-foreground via-foreground/80 to-foreground/60 bg-clip-text text-transparent animate-in slide-in-from-bottom duration-1000">Self Cinema</h1><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles absolute -bottom-4 -right-4 h-8 w-8 text-muted-foreground/60 animate-pulse delay-500" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg></div><p class="text-xl md:text-2xl text-muted-foreground mb-12 animate-in slide-in-from-bottom duration-1000 delay-200">私人影院系统 - 享受专属的观影体验 1</p><div class="grid md:grid-cols-2 gap-8 mb-12"><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm group hover:shadow-2xl hover:shadow-primary/10 transition-all hover:scale-105 animate-in slide-in-from-left duration-1000 delay-300 border-2 hover:border-primary/50"><div data-slot="card-header" class="@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6 relative"><div class="absolute -top-2 -right-2 w-4 h-4 bg-primary rounded-full animate-pulse"></div><div class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-6 w-6 text-primary" aria-hidden="true"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><div data-slot="card-title" class="leading-none font-semibold group-hover:text-primary transition-colors">管理后台</div></div><div data-slot="card-description" class="text-muted-foreground text-sm">管理电视剧和剧集,创建分享链接</div></div><div data-slot="card-content" class="px-6"><a href="/admin/login"><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 h-9 px-4 py-2 has-[>svg]:px-3 w-full group-hover:bg-primary/90 transition-all duration-300 hover:shadow-lg">进入管理后台</button></a></div></div><div data-slot="card" class="bg-card text-card-foreground flex flex-col gap-6 rounded-xl py-6 shadow-sm group hover:shadow-2xl hover:shadow-blue-500/10 transition-all hover:scale-105 animate-in slide-in-from-right duration-1000 delay-300 border-2 hover:border-blue-500/50"><div data-slot="card-header" class="@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6 relative"><div class="absolute -top-2 -right-2 w-4 h-4 bg-blue-500 rounded-full animate-pulse delay-1000"></div><div class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play h-6 w-6 text-blue-500" aria-hidden="true"><path d="M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"></path></svg><div data-slot="card-title" class="leading-none font-semibold group-hover:text-blue-500 transition-colors">在线观看</div></div><div data-slot="card-description" class="text-muted-foreground text-sm">通过分享链接观看精彩内容</div></div><div data-slot="card-content" class="px-6"><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 h-9 px-4 py-2 has-[>svg]:px-3 w-full group-hover:border-blue-500/50 transition-all duration-300" disabled="">需要分享链接</button></div></div></div><div class="backdrop-blur-sm bg-background/50 rounded-lg p-6 border border-border/50 animate-in slide-in-from-bottom duration-1000 delay-500"><div class="text-sm text-muted-foreground space-y-2"><p class="flex items-center justify-center gap-2"><span class="w-2 h-2 bg-green-500 rounded-full animate-pulse"></span>支持 MP4、MKV、M3U8 等多种视频格式</p><p class="flex items-center justify-center gap-2"><span class="w-2 h-2 bg-blue-500 rounded-full animate-pulse delay-500"></span>完美适配桌面端和移动端</p><p class="flex items-center justify-center gap-2"><span class="w-2 h-2 bg-muted-foreground rounded-full animate-pulse delay-1000"></span>现代化界面设计,优质观影体验</p></div></div></div></div><div class="absolute bottom-0 left-0 right-0 h-32 bg-gradient-to-t from-background to-transparent"></div></div><!--$?--><template id="B:1"></template><!--/$--><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src="/_next/static/chunks/webpack.js?v=1753750864073" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"5:\"$Sreact.fragment\"\n14:I[\"(app-pages-browser)/./src/components/theme-provider.tsx\",[\"app/layout\",\"static/chunks/app/layout.js\"],\"ThemeProvider\"]\n16:I[\"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js\",[\"app-pages-internals\",\"static/chunks/app-pages-internals.js\"],\"\"]\n18:I[\"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js\",[\"app-pages-internals\",\"static/chunks/app-pages-internals.js\"],\"\"]\n2a:I[\"(app-pages-browser)/./src/components/dot-pattern.tsx\",[\"app/page\",\"static/chunks/app/page.js\"],\"DotPattern\"]\n2d:I[\"(app-pages-browser)/./src/components/theme-toggle.tsx\",[\"app/page\",\"static/chunks/app/page.js\"],\"ThemeToggle\"]\n67:I[\"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js\",[\"app/page\",\"static/chunks/app/page.js\"],\"\"]\n94:I[\"(app-pages-browser)/./node_modules/next/dist/client/components/metadata/metadata-boundary.js\",[\"app-pages-internals\",\"static/chunks/app-pages-internals.js\"],\"OutletBoundary\"]\n9b:I[\"(app-pages-browser)/./node_modules/next/dist/client/components/metadata/async-metadata.js\",[\"app-pages-internals\",\"static/chunks/app-pages-internals.js\"],\"AsyncMetadataOutlet\"]\na3:I[\"(app-pages-browser)/./node_modules/next/dist/client/components/metadata/metadata-boundary.js\",[\"app-pages-internals\",\"static/chunks/app-pages-internals.js\"],\"ViewportBoundary\"]\na9:I[\"(app-pages-browser)/./node_modules/next/dist/client/components/metadata/metadata-boundary.js\",[\"app-pages-internals\",\"static/chunks/app-pages-internals.js\"],\"MetadataBoundary\"]\nae:\"$Sreact.suspense\"\nb2:I[\"(app-pages-browser)/./node_modules/next/dist/client/components/builtin/global-error.js\",[\"app-pages-internals\",\"static/chunks/app-pages-internals.js\"],\"\"]\n:HL[\"/_next/static/css/app/layout.css?v=1753750864073\",\"style\"]\n3:\"$E(()=\u003e{ctx.componentMod.preloadStyle(fullHref,ctx.renderOpts.crossOrigin,ctx.nonce)})\"\n2:{\"name\":\"Preloads\",\"key\":null,\"env\":\"Server\",\"stack\":[],\"props\":{\"preloadCallbacks\":[\"$3\"]}}\n4:[]\n6:[[\"Array.map\",\"\",0,0,0,0,false]]\n9:I[\"(app-pages-browser)"])</script><script>self.__next_f.push([1,"/./node_modules/next/dist/client/components/layout-router.js\",[\"app-pages-internals\",\"static/chunks/app-pages-internals.js\"],\"\"]\nc:I[\"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js\",[\"app-pages-internals\",\"static/chunks/app-pages-internals.js\"],\"\"]\nd:{}\ne:[]\nb:{\"children\":[\"$\",\"$Lc\",null,\"$d\",null,\"$e\",1]}\nf:[]\na:{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$5\",null,\"$b\",null,\"$f\",0],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$Y\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}\n10:[]\n8:{\"name\":\"RootLayout\",\"key\":null,\"env\":\"Server\",\"stack\":[],\"props\":{\"children\":[\"$\",\"$L9\",null,\"$a\",null,\"$10\",1],\"params\":\"$Y\"}}\n11:[[\"RootLayout\",\"webpack-internal:///(rsc)/./src/app/layout.tsx\",18,87,17,1,false]]\n12:[[\"RootLayout\",\"webpack-internal:///(rsc)/./src/app/layout.tsx\",21,94,17,1,false]]\n13:[[\"RootLayout\",\"webpack-internal:///(rsc)/./src/app/layout.tsx\",23,98,17,1,false]]\n15:[]\n17:[]\n1a:{\"name\":\"NotFound\",\"key\":null,\"env\":\"Server\",\"stack\":[],\"props\":{}}\n1b:{\"name\":\"HTTPAccessErrorFallback\",\"key\":null,\"env\":\"Server\",\"owner\":\"$1a\",\"stack\":[],\"props\":{\"status\":404,\"message\":\"This page could not be found.\"}}\n1c:[]\n1d:[]\n1e:[]\n1f:[]\n20:[]\n21:[]\n22:[]\n23:[]\n25:{\"name\":\"Home\",\"key\":null,\"env\":\"Server\",\"stack\":[],\"props\":{\"params\":\"$@26\",\"searchParams\":\"$@27\"}}\n28:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",24,87,23,1,false]]\n29:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",27,88,23,1,false]]\n2b:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",32,88,23,1,false]]\n2c:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",34,102,23,1,false]]\n2e:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",44,88,23,1,false]]\n2f:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",46,102,23,1,false]]\n30:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",49,100,23,1,false]]\n32:{\"name\":\"Sparkles\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\""])</script><script>self.__next_f.push([1,":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",52,108,23,1,false]],\"props\":{\"className\":\"absolute -top-4 -left-4 h-8 w-8 text-primary/60 animate-pulse\"}}\n33:{\"name\":\"\",\"key\":null,\"env\":\"Server\",\"owner\":\"$32\",\"stack\":[],\"props\":{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\",\"key\":\"1s2grr\"}],[\"path\",{\"d\":\"M20 2v4\",\"key\":\"1rf3ol\"}],[\"path\",{\"d\":\"M22 4h-4\",\"key\":\"gwowj6\"}],\"$Y\"],\"className\":\"lucide-sparkles absolute -top-4 -left-4 h-8 w-8 text-primary/60 animate-pulse\"}}\n34:[]\n35:[[\"Array.map\",\"\",0,0,0,0,false]]\n36:[[\"Array.map\",\"\",0,0,0,0,false]]\n37:[[\"Array.map\",\"\",0,0,0,0,false]]\n38:[[\"Array.map\",\"\",0,0,0,0,false]]\n39:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",59,108,23,1,false]]\n3b:{\"name\":\"Sparkles\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",67,108,23,1,false]],\"props\":{\"className\":\"absolute -bottom-4 -right-4 h-8 w-8 text-muted-foreground/60 animate-pulse delay-500\"}}\n3c:{\"name\":\"\",\"key\":null,\"env\":\"Server\",\"owner\":\"$3b\",\"stack\":[],\"props\":{\"ref\":\"$undefined\",\"iconNode\":\"$33:props:iconNode\",\"className\":\"lucide-sparkles absolute -bottom-4 -right-4 h-8 w-8 text-muted-foreground/60 animate-pulse delay-500\"}}\n3d:[]\n3e:[[\"Array.map\",\"\",0,0,0,0,false]]\n3f:[[\"Array.map\",\"\",0,0,0,0,false]]\n40:[[\"Array.map\",\"\",0,0,0,0,false]]\n41:[[\"Array.map\",\"\",0,0,0,0,false]]\n42:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",80,100,23,1,false]]\n43:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",88,100,23,1,false]]\n46:\"$E(function CardHeader({ className, ...props }) {\\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\\\"div\\\", {\\n \\\"data-slot\\\": \\\"card-header\\\",\\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_2__.cn)(\\\"@cont"])</script><script>self.__next_f.push([1,"ainer/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\\\", className),\\n ...props\\n }, void 0, false, {\\n fileName: \\\"/workspaces/oh-my-env/self-cinema/frontend/src/components/ui/card.tsx\\\",\\n lineNumber: 20,\\n columnNumber: 5\\n }, this);\\n})\"\n48:{\"className\":\"absolute -top-2 -right-2 w-4 h-4 bg-primary rounded-full animate-pulse\"}\n49:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",97,124,23,1,false]]\n47:{\"className\":\"relative\",\"children\":[[\"$\",\"div\",null,\"$48\",\"$25\",\"$49\",1],\"$Y\",\"$Y\"]}\n4a:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",94,116,23,1,false]]\n45:{\"name\":\"Card\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",91,108,23,1,false]],\"props\":{\"className\":\"group hover:shadow-2xl hover:shadow-primary/10 transition-all duration-500 hover:scale-105 animate-in slide-in-from-left duration-1000 delay-300 border-2 hover:border-primary/50\",\"children\":[[\"$\",\"$46\",null,\"$47\",\"$25\",\"$4a\",1],\"$Y\"]}}\n4b:[[\"Card\",\"webpack-internal:///(rsc)/./src/components/ui/card.tsx\",20,87,19,1,false]]\n4d:{\"name\":\"CardHeader\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",94,116,23,1,false]],\"props\":\"$47\"}\n4e:[[\"CardHeader\",\"webpack-internal:///(rsc)/./src/components/ui/card.tsx\",31,87,30,1,false]]\n4f:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",97,124,23,1,false]]\n50:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",104,124,23,1,false]]\n52:{\"name\":\"Settings\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",107,132,23,1,false]],\"props\":{\"className\":\"h-6 w-6 text-primary\"}}\n"])</script><script>self.__next_f.push([1,"53:{\"name\":\"\",\"key\":null,\"env\":\"Server\",\"owner\":\"$52\",\"stack\":[],\"props\":{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z\",\"key\":\"1qme2f\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3\",\"key\":\"1v7zrd\"}]],\"className\":\"lucide-settings h-6 w-6 text-primary\"}}\n"])</script><script>self.__next_f.push([1,"54:[]\n55:[[\"Array.map\",\"\",0,0,0,0,false]]\n56:[[\"Array.map\",\"\",0,0,0,0,false]]\n58:{\"name\":\"CardTitle\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",114,132,23,1,false]],\"props\":{\"className\":\"group-hover:text-primary transition-colors\",\"children\":\"管理后台\"}}\n59:[[\"CardTitle\",\"webpack-internal:///(rsc)/./src/components/ui/card.tsx\",42,87,41,1,false]]\n5b:{\"name\":\"CardDescription\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",128,124,23,1,false]],\"props\":{\"children\":\"管理电视剧和剧集,创建分享链接\"}}\n5c:[[\"CardDescription\",\"webpack-internal:///(rsc)/./src/components/ui/card.tsx\",53,87,52,1,false]]\n5f:I[\"(app-pages-browser)/./node_modules/next/dist/client/app-dir/link.js\",[\"app/page\",\"static/chunks/app/page.js\"],\"\"]\n61:\"$E(function Button({ className, variant, size, asChild = false, ...props }) {\\n const Comp = asChild ? _radix_ui_react_slot__WEBPACK_IMPORTED_MODULE_4__.Slot : \\\"button\\\";\\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Comp, {\\n \\\"data-slot\\\": \\\"button\\\",\\n className: (0,_lib_utils__WEBPACK_IMPORTED_MODULE_3__.cn)(buttonVariants({\\n variant,\\n size,\\n className\\n })),\\n ...props\\n }, void 0, false, {\\n fileName: \\\"/workspaces/oh-my-env/self-cinema/frontend/src/components/ui/button.tsx\\\",\\n lineNumber: 51,\\n columnNumber: 5\\n }, this);\\n})\"\n62:{\"className\":\"w-full group-hover:bg-primary/90 transition-all duration-300 hover:shadow-lg\",\"children\":\"进入管理后台\"}\n63:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",144,134,23,1,false]]\n60:{\"href\":\"/admin/login\",\"children\":[\"$\",\"$61\",null,\"$62\",\"$25\",\"$63\",1]}\n64:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",142,130,23,1,false]]\n5e:{\"name\":\"CardContent\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",141,116,23,1,false"])</script><script>self.__next_f.push([1,"]],\"props\":{\"children\":[\"$\",\"$L5f\",null,\"$60\",\"$25\",\"$64\",1]}}\n65:[[\"CardContent\",\"webpack-internal:///(rsc)/./src/components/ui/card.tsx\",75,87,74,1,false]]\n66:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",142,130,23,1,false]]\n69:{\"name\":\"Button\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",144,134,23,1,false]],\"props\":\"$62\"}\n6a:[[\"Button\",\"webpack-internal:///(rsc)/./src/components/ui/button.tsx\",42,87,40,1,false]]\n6e:{\"className\":\"absolute -top-2 -right-2 w-4 h-4 bg-blue-500 rounded-full animate-pulse delay-1000\"}\n6f:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",174,124,23,1,false]]\n6d:{\"className\":\"relative\",\"children\":[[\"$\",\"div\",null,\"$6e\",\"$25\",\"$6f\",1],\"$Y\",\"$Y\"]}\n70:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",171,116,23,1,false]]\n6c:{\"name\":\"Card\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",168,108,23,1,false]],\"props\":{\"className\":\"group hover:shadow-2xl hover:shadow-blue-500/10 transition-all duration-500 hover:scale-105 animate-in slide-in-from-right duration-1000 delay-300 border-2 hover:border-blue-500/50\",\"children\":[[\"$\",\"$46\",null,\"$6d\",\"$25\",\"$70\",1],\"$Y\"]}}\n71:[[\"Card\",\"webpack-internal:///(rsc)/./src/components/ui/card.tsx\",20,87,19,1,false]]\n73:{\"name\":\"CardHeader\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",171,116,23,1,false]],\"props\":\"$6d\"}\n74:[[\"CardHeader\",\"webpack-internal:///(rsc)/./src/components/ui/card.tsx\",31,87,30,1,false]]\n75:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",174,124,23,1,false]]\n76:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",181,124,23,1,false]]\n78:{\"name\":\"Play\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",184,132,23,1,false]],\"props\":{\"className\":\"h-6 w-6 text-blue-500\"}}\n79:{\"name\":\"\",\"key\":null,\"env\":\"Server\",\"owner\":\"$78\",\"stack\":[],\"props\":{\"ref\":\"$undefined\",\"iconNode\":[[\"p"])</script><script>self.__next_f.push([1,"ath\",{\"d\":\"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z\",\"key\":\"10ikf1\"}]],\"className\":\"lucide-play h-6 w-6 text-blue-500\"}}\n7a:[]\n7b:[[\"Array.map\",\"\",0,0,0,0,false]]\n7d:{\"name\":\"CardTitle\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",191,132,23,1,false]],\"props\":{\"className\":\"group-hover:text-blue-500 transition-colors\",\"children\":\"在线观看\"}}\n7e:[[\"CardTitle\",\"webpack-internal:///(rsc)/./src/components/ui/card.tsx\",42,87,41,1,false]]\n80:{\"name\":\"CardDescription\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",205,124,23,1,false]],\"props\":{\"children\":\"通过分享链接观看精彩内容\"}}\n81:[[\"CardDescription\",\"webpack-internal:///(rsc)/./src/components/ui/card.tsx\",53,87,52,1,false]]\n84:{\"variant\":\"outline\",\"className\":\"w-full group-hover:border-blue-500/50 transition-all duration-300\",\"disabled\":true,\"children\":\"需要分享链接\"}\n85:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",219,130,23,1,false]]\n83:{\"name\":\"CardContent\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",218,116,23,1,false]],\"props\":{\"children\":[\"$\",\"$61\",null,\"$84\",\"$25\",\"$85\",1]}}\n86:[[\"CardContent\",\"webpack-internal:///(rsc)/./src/components/ui/card.tsx\",75,87,74,1,false]]\n88:{\"name\":\"Button\",\"key\":null,\"env\":\"Server\",\"owner\":\"$25\",\"stack\":[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",219,130,23,1,false]],\"props\":\"$84\"}\n89:[[\"Button\",\"webpack-internal:///(rsc)/./src/components/ui/button.tsx\",42,87,40,1,false]]\n8a:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",246,100,23,1,false]]\n8b:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",248,114,23,1,false]]\n8c:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",251,112,23,1,false]]\n8d:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",254,120,23,1,false]]\n8e:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",268,112,23,1,false]]\n8f:["])</script><script>self.__next_f.push([1,"[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",271,120,23,1,false]]\n90:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",285,112,23,1,false]]\n91:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",288,120,23,1,false]]\n92:[[\"Home\",\"webpack-internal:///(rsc)/./src/app/page.tsx\",324,88,23,1,false]]\n93:[]\n97:\"$E(async function getViewportReady() {\\n await viewport();\\n return undefined;\\n })\"\n96:{\"name\":\"__next_outlet_boundary__\",\"key\":null,\"env\":\"Server\",\"stack\":[],\"props\":{\"ready\":\"$97\"}}\n99:{\"name\":\"StreamingMetadataOutletImpl\",\"key\":null,\"env\":\"Server\",\"stack\":[],\"props\":{}}\n9a:[]\n9d:[]\n9f:{\"name\":\"NonIndex\",\"key\":null,\"env\":\"Server\",\"stack\":[],\"props\":{\"pagePath\":\"/\",\"statusCode\":200,\"isPossibleServerAction\":false}}\na1:{\"name\":\"ViewportTree\",\"key\":null,\"env\":\"Server\",\"stack\":[],\"props\":{}}\na2:[]\na5:{\"name\":\"__next_viewport_boundary__\",\"key\":null,\"env\":\"Server\",\"owner\":\"$a1\",\"stack\":[],\"props\":{}}\na7:{\"name\":\"MetadataTree\",\"key\":null,\"env\":\"Server\",\"stack\":[],\"props\":{}}\na8:[]\nab:{\"name\":\"__next_metadata_boundary__\",\"key\":null,\"env\":\"Server\",\"owner\":\"$a7\",\"stack\":[],\"props\":{}}\nac:[]\nad:[]\nb0:{\"name\":\"MetadataResolver\",\"key\":null,\"env\":\"Server\",\"owner\":\"$ab\",\"stack\":[],\"props\":{}}\n26:\n27:\nb3:[]\nb4:[]\n1:D\"$2\"\n1:null\n7:D\"$8\"\n19:D\"$1a\"\n19:D\"$1b\"\n"])</script><script>self.__next_f.push([1,"19:[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"},\"$1b\",\"$1c\",1],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInner
... [2 lines truncated] ...