vibebusiness 1.2.83 → 1.2.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.env +27 -14
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-build-manifest.json +87 -70
- package/.next/standalone/.next/app-path-routes-manifest.json +1 -1
- package/.next/standalone/.next/build-manifest.json +8 -8
- package/.next/standalone/.next/prerender-manifest.json +1 -1
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/routes-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/api/analyze/route.js +1 -1
- package/.next/standalone/.next/server/app/api/analyze/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/briefing/route.js +1 -0
- package/.next/standalone/.next/server/app/api/briefing/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/checkout/route.js +1 -1
- package/.next/standalone/.next/server/app/api/config/detect-repos/route.js +1 -1
- package/.next/standalone/.next/server/app/api/config/route.js +1 -1
- package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/epics/[id]/ideas/route.js +1 -1
- package/.next/standalone/.next/server/app/api/epics/[id]/ideas/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/epics/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/epics/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/epics/route.js +1 -1
- package/.next/standalone/.next/server/app/api/epics/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/goals/[id]/kpis/route.js +1 -1
- package/.next/standalone/.next/server/app/api/goals/[id]/kpis/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/goals/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/goals/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/goals/route.js +1 -1
- package/.next/standalone/.next/server/app/api/goals/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/health/route.js +1 -1
- package/.next/standalone/.next/server/app/api/hypotheses/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/hypotheses/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/hypotheses/route.js +1 -1
- package/.next/standalone/.next/server/app/api/hypotheses/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/card/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/card/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/comments/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/comments/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/implement/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/implement/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/transition/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/[id]/transition/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ideas/route.js +1 -1
- package/.next/standalone/.next/server/app/api/ideas/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/implementations/route.js +1 -1
- package/.next/standalone/.next/server/app/api/implementations/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/investor-updates/generate/route.js +1 -1
- package/.next/standalone/.next/server/app/api/kpis/refresh/route.js +1 -1
- package/.next/standalone/.next/server/app/api/kpis/refresh/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/license/route.js +1 -1
- package/.next/standalone/.next/server/app/api/portal/route.js +1 -1
- package/.next/standalone/.next/server/app/api/provider-status/route.js +1 -1
- package/.next/standalone/.next/server/app/api/social/[id]/publish/route.js +1 -1
- package/.next/standalone/.next/server/app/api/social/[id]/publish/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/social/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/social/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/social/route.js +1 -1
- package/.next/standalone/.next/server/app/api/social/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/webhook/route.js +1 -1
- package/.next/standalone/.next/server/app/briefing/page.js +1 -0
- package/.next/standalone/.next/server/app/briefing/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/briefing/page_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/goals/[id]/page.js +1 -1
- package/.next/standalone/.next/server/app/goals/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/goals/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/goals/page.js +1 -1
- package/.next/standalone/.next/server/app/goals/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/goals/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/hypotheses/[id]/page.js +1 -1
- package/.next/standalone/.next/server/app/hypotheses/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/hypotheses/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/hypotheses/page.js +1 -1
- package/.next/standalone/.next/server/app/hypotheses/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/hypotheses/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/ideas/[id]/page.js +1 -1
- package/.next/standalone/.next/server/app/ideas/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/ideas/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -0
- package/.next/standalone/.next/server/app/index.meta +6 -0
- package/.next/standalone/.next/server/app/index.rsc +6 -0
- package/.next/standalone/.next/server/app/kanban/page.js +1 -0
- package/.next/standalone/.next/server/app/kanban/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/kanban/page_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/page.js +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/roadmap/[id]/page.js +1 -1
- package/.next/standalone/.next/server/app/roadmap/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/roadmap/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/roadmap/investors/page.js +1 -1
- package/.next/standalone/.next/server/app/roadmap/investors/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/roadmap/investors/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/roadmap/page.js +1 -1
- package/.next/standalone/.next/server/app/roadmap/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/roadmap/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/roadmap/public/page.js +1 -1
- package/.next/standalone/.next/server/app/roadmap/public/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/roadmap/public/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/sessions/page.js +1 -1
- package/.next/standalone/.next/server/app/sessions/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/page.js +1 -1
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +3 -3
- package/.next/standalone/.next/server/app/social/page.js +1 -1
- package/.next/standalone/.next/server/app/social/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/social.html +1 -1
- package/.next/standalone/.next/server/app/social.rsc +3 -3
- package/.next/standalone/.next/server/app/updates/[id]/page.js +1 -1
- package/.next/standalone/.next/server/app/updates/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/updates/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/updates/new/page.js +1 -1
- package/.next/standalone/.next/server/app/updates/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/updates/new.html +1 -1
- package/.next/standalone/.next/server/app/updates/new.rsc +3 -3
- package/.next/standalone/.next/server/app/updates/page.js +1 -1
- package/.next/standalone/.next/server/app/updates/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/updates/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +18 -15
- package/.next/standalone/.next/server/chunks/3098.js +1 -0
- package/.next/standalone/.next/server/chunks/3871.js +1 -1
- package/.next/standalone/.next/server/chunks/4355.js +1 -0
- package/.next/standalone/.next/server/chunks/4471.js +2 -2
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/data/codebase-snapshot.json +55 -42
- package/.next/standalone/data/config.json +16 -40
- package/.next/standalone/data/positioning.json +10 -127
- package/.next/standalone/data/sessions.json +56 -312
- package/.next/standalone/node_modules/@esbuild/{darwin-arm64 → darwin-x64}/bin/esbuild +0 -0
- package/.next/standalone/node_modules/@esbuild/{darwin-arm64 → darwin-x64}/package.json +3 -3
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/scripts/analyze.ts +35 -10
- package/.next/standalone/scripts/implement.ts +67 -17
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/templates/commands/distribution-google-ads.md +86 -0
- package/.next/standalone/templates/commands/distribution-meta-ads.md +106 -0
- package/.next/standalone/templates/commands/distribution-repurpose.md +121 -0
- package/.next/standalone/templates/commands/distribution-seo-content.md +115 -0
- package/.next/standalone/templates/commands/distribution-social-expansion.md +128 -0
- package/.next/static/chunks/147-b00f2ac2bbec93ae.js +1 -0
- package/.next/static/chunks/159-4ce492ccac6de8f7.js +1 -0
- package/.next/static/chunks/47-eba0f8b4f9b17641.js +1 -0
- package/.next/static/chunks/547-921898871311cd72.js +1 -0
- package/.next/static/chunks/619-2b2ff3b9eaef112c.js +1 -0
- package/.next/static/chunks/735-b33805b2b19d17ad.js +1 -0
- package/.next/static/chunks/879-7fbd95e93ddc4636.js +1 -0
- package/.next/static/chunks/930-330300153dfcbfc0.js +1 -0
- package/.next/static/chunks/app/briefing/page-683aba0c52e910d7.js +1 -0
- package/.next/static/chunks/app/goals/[id]/page-40818dc7e710eeda.js +1 -0
- package/.next/static/chunks/app/goals/page-f80a64a68854e357.js +1 -0
- package/.next/static/chunks/app/hypotheses/[id]/page-023c882fa395f3ed.js +1 -0
- package/.next/static/chunks/app/hypotheses/page-168748bde00e7d90.js +1 -0
- package/.next/static/chunks/app/ideas/[id]/page-5f33e0ecf590ddec.js +1 -0
- package/.next/static/chunks/app/kanban/page-4f18f1e4f56948a5.js +1 -0
- package/.next/static/chunks/app/layout-cd1571ba4ed4a0fa.js +1 -0
- package/.next/static/chunks/app/page-0a8b9a7b052e6eac.js +1 -0
- package/.next/static/chunks/app/roadmap/[id]/page-9ba8a537e30c633c.js +1 -0
- package/.next/static/chunks/app/roadmap/investors/{page-0095ea5695573796.js → page-a914223623f56df3.js} +1 -1
- package/.next/static/chunks/app/roadmap/page-30de1fdc304eb572.js +1 -0
- package/.next/static/chunks/app/roadmap/public/page-c481b3f9217919ac.js +1 -0
- package/.next/static/chunks/app/sessions/page-d7eefd2fd42b4d55.js +1 -0
- package/.next/static/chunks/app/settings/{page-3afa908a96ce4e51.js → page-caf6daf930e4f2c6.js} +1 -1
- package/.next/static/chunks/app/social/page-21daeca0cf8af46b.js +1 -0
- package/.next/static/chunks/app/updates/[id]/page-2807cd17ae4938d0.js +1 -0
- package/.next/static/chunks/app/updates/new/{page-dcc67ffca587dcc2.js → page-ac5b966024ce0ddc.js} +1 -1
- package/.next/static/chunks/app/updates/page-b6efcdaae7f4f6d2.js +1 -0
- package/.next/static/chunks/{main-6ee938c5db2d5eb4.js → main-3eb11800bc19ca7f.js} +1 -1
- package/.next/static/chunks/{main-app-f42d9aa726a818bf.js → main-app-06ab73909d2a44c7.js} +1 -1
- package/.next/static/chunks/webpack-616e068a201ad621.js +1 -0
- package/.next/static/css/ff70d16171b1c02c.css +3 -0
- package/dist/bin/vibebusiness.js +1 -0
- package/dist/scripts/analyze.js +128 -8
- package/dist/scripts/heartbeat.js +17 -1
- package/dist/scripts/implement.js +77 -15
- package/package.json +1 -1
- package/templates/commands/distribution-google-ads.md +86 -0
- package/templates/commands/distribution-meta-ads.md +106 -0
- package/templates/commands/distribution-repurpose.md +121 -0
- package/templates/commands/distribution-seo-content.md +115 -0
- package/templates/commands/distribution-social-expansion.md +128 -0
- package/.next/standalone/.next/server/chunks/6299.js +0 -1
- package/.next/standalone/.next/server/chunks/995.js +0 -1
- package/.next/standalone/data/.analysis-prompt.txt +0 -170
- package/.next/standalone/data/business-context.json +0 -187
- package/.next/standalone/data/competitors.json +0 -576
- package/.next/standalone/data/copy/landing-improvements-2026-02-20.md +0 -111
- package/.next/standalone/data/copy/landing-landing-page-2026-02-20.md +0 -68
- package/.next/standalone/data/email-campaigns/sequences/onboarding.md +0 -183
- package/.next/standalone/data/email-campaigns/welcome-2026-02-20.md +0 -42
- package/.next/standalone/data/goals.json +0 -439
- package/.next/standalone/data/heartbeat-sessions.json +0 -7550
- package/.next/standalone/data/hypotheses.json +0 -269
- package/.next/standalone/data/ideas.json +0 -10747
- package/.next/standalone/data/implementations.json +0 -3304
- package/.next/standalone/data/pages.json +0 -22
- package/.next/standalone/data/payments.json +0 -33
- package/.next/standalone/data/reports/visuals/idea-first-tweet-card.png +0 -0
- package/.next/standalone/data/reports/visuals/idea-lp-hero-specificity-card.png +0 -0
- package/.next/standalone/data/reports/visuals/idea-lp-og-meta-card.png +0 -0
- package/.next/standalone/data/reports/visuals/idea-lp-social-proof-card.png +0 -0
- package/.next/standalone/data/reports/visuals/idea-readme-landing-url-card.png +0 -0
- package/.next/standalone/data/reports/visuals/idea-stripe-integration-card.png +0 -0
- package/.next/standalone/data/reports/visuals/promo-launch.png +0 -0
- package/.next/standalone/data/reports/visuals/promo-ship-fast.png +0 -0
- package/.next/standalone/data/reports/visuals/promo-while-you-slept-v2.png +0 -0
- package/.next/standalone/data/reports/visuals/promo-while-you-slept-v3.png +0 -0
- package/.next/standalone/data/reports/visuals/promo-while-you-slept.png +0 -0
- package/.next/standalone/data/social.json +0 -179
- package/.next/standalone/data/videos/ad-solo-founder-burnout.mp4 +0 -0
- package/.next/standalone/data/videos/staging/ad-solo-founder-burnout.json +0 -54
- package/.next/standalone/data/videos/while-you-slept-demo-feed.mp4 +0 -0
- package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/48519e014fdef8bfe40a0d447e90c96c/0.pack +0 -0
- package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/48519e014fdef8bfe40a0d447e90c96c/index.pack +0 -0
- package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/c99d23d3548030c8ff8de678c71eeb15/0.pack +0 -0
- package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/c99d23d3548030c8ff8de678c71eeb15/1.pack +0 -0
- package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/c99d23d3548030c8ff8de678c71eeb15/2.pack +0 -0
- package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/c99d23d3548030c8ff8de678c71eeb15/index.pack +0 -0
- package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/c99d23d3548030c8ff8de678c71eeb15/index.pack.old +0 -0
- package/.next/static/chunks/280-fd1092f75f985b1e.js +0 -1
- package/.next/static/chunks/354-d5bc9619159f46c5.js +0 -1
- package/.next/static/chunks/429-8f4030371ebef5c3.js +0 -1
- package/.next/static/chunks/809-833fcb9fe6e81fd6.js +0 -1
- package/.next/static/chunks/827-6cf4bfc10d1ff0c7.js +0 -1
- package/.next/static/chunks/851-65b033bf38847cbb.js +0 -1
- package/.next/static/chunks/app/goals/[id]/page-231bb4daae0f06eb.js +0 -1
- package/.next/static/chunks/app/goals/page-4dfa36ac38853b88.js +0 -1
- package/.next/static/chunks/app/hypotheses/[id]/page-6ec09d5470557c18.js +0 -1
- package/.next/static/chunks/app/hypotheses/page-1732b7466579493e.js +0 -1
- package/.next/static/chunks/app/ideas/[id]/page-b3dfe1e61fc656a4.js +0 -1
- package/.next/static/chunks/app/layout-eeef7928298d2198.js +0 -1
- package/.next/static/chunks/app/page-3635a292b3d471c0.js +0 -1
- package/.next/static/chunks/app/roadmap/[id]/page-b93a96f017c8d3dd.js +0 -1
- package/.next/static/chunks/app/roadmap/page-eacd69a99fcfc658.js +0 -1
- package/.next/static/chunks/app/roadmap/public/page-6b791041894b76d2.js +0 -1
- package/.next/static/chunks/app/sessions/page-a56ea625acdfa13e.js +0 -1
- package/.next/static/chunks/app/social/page-5211c78a5f37df65.js +0 -1
- package/.next/static/chunks/app/updates/[id]/page-fa20533878416cd0.js +0 -1
- package/.next/static/chunks/app/updates/page-19a09d7046577f70.js +0 -1
- package/.next/static/chunks/webpack-a3c37fcbf859f6f9.js +0 -1
- package/.next/static/css/654766eb547c6bab.css +0 -3
- /package/.next/static/{wJT1h-ifHTtYVlXZG2PFS → COv1w-K5vJ1LbOqnlKgHv}/_buildManifest.js +0 -0
- /package/.next/static/{wJT1h-ifHTtYVlXZG2PFS → COv1w-K5vJ1LbOqnlKgHv}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[594],{1264:function(e,t,s){Promise.resolve().then(s.bind(s,1259)),Promise.resolve().then(s.bind(s,9534))},1259:function(e,t,s){"use strict";s.d(t,{default:function(){return j}});var a=s(7437),r=s(7648),l=s(9376),n=s(5929),i=s(5466),c=s(2048),d=s(8896),o=s(8220),m=s(2718),x=s(5621),h=s(8728),u=s(2222),p=s(2023),b=s(1994);let g=[{href:"/briefing",label:"Briefing",icon:(0,a.jsx)(n.Z,{size:18})},{href:"/kanban",label:"Dashboard",icon:(0,a.jsx)(i.Z,{className:"w-5 h-5"})},{href:"/roadmap",label:"Roadmap",icon:(0,a.jsx)(c.Z,{className:"w-5 h-5"})},{href:"/goals",label:"Goals",icon:(0,a.jsx)(d.Z,{className:"w-5 h-5"})},{href:"/hypotheses",label:"Hypotheses",icon:(0,a.jsx)(o.Z,{className:"w-5 h-5"})},{href:"/social",label:"Social",icon:(0,a.jsx)(m.Z,{className:"w-5 h-5"})},{href:"/sessions",label:"Sessions",icon:(0,a.jsx)(x.Z,{className:"w-5 h-5"})},{href:"/settings",label:"Settings",icon:(0,a.jsx)(h.Z,{className:"w-5 h-5"})}];function j(e){let{children:t}=e,s=(0,l.usePathname)();return(0,a.jsxs)("div",{className:"min-h-screen flex",children:[(0,a.jsxs)("aside",{className:"w-64 bg-slate-900 text-white flex flex-col",children:[(0,a.jsx)("div",{className:"p-4 border-b border-slate-700",children:(0,a.jsxs)(r.default,{href:"/",className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"w-10 h-10 bg-emerald-500 rounded-lg flex items-center justify-center",children:(0,a.jsx)(u.Z,{className:"w-6 h-6 text-white"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"font-bold text-lg leading-tight",children:"Analyst"}),(0,a.jsx)("p",{className:"text-xs text-slate-400",children:"AI Product Manager"})]})]})}),(0,a.jsx)("nav",{className:"flex-1 p-4",children:(0,a.jsx)("ul",{className:"space-y-1",children:g.map(e=>{let t=s.startsWith(e.href);return(0,a.jsx)("li",{children:(0,a.jsxs)(r.default,{href:e.href,className:(0,b.Z)("flex items-center gap-3 px-3 py-2 rounded-lg transition-colors",t?"bg-slate-800 text-white":"text-slate-400 hover:text-white hover:bg-slate-800"),children:[e.icon,(0,a.jsx)("span",{children:e.label})]})},e.href)})})}),(0,a.jsx)("div",{className:"p-4 border-t border-slate-700",children:(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-slate-500",children:[(0,a.jsx)(p.Z,{className:"w-4 h-4"}),(0,a.jsx)("span",{children:"Powered by Claude"})]})})]}),(0,a.jsx)("main",{className:"flex-1 overflow-auto",children:t})]})}},9534:function(e,t,s){"use strict";s.d(t,{default:function(){return ec}});var a=s(7437),r=s(7648),l=s(2265),n=s(519),i=s(1817),c=s(2934),d=s(9388),o=s(5554),m=s(6865),x=s(875),h=s(407),u=s(1723),p=s(1947),b=s(221),g=s(5368),j=s(1047),f=s(4286),N=s(1102),v=s(3113),w=s(2735),_=s(2660),y=s(505),Z=s(1239),S=s(525),k=s(8736),C=s(3781),R=s(6362),I=s(5846),P=s(8896),D=s(933),A=s(1994),F=s(6153),T=s(9376),M=s(1671),q=s(9227),E=s(3276),G=s(7829),O=s(9076),z=s(6076);let L={primary:"btn-primary",secondary:"btn-secondary",danger:"btn-danger",warning:"bg-amber-500 text-white hover:bg-amber-600 focus:ring-amber-500"};function U(e){let{ideaId:t,currentStage:s}=e,r=(0,T.useRouter)(),[n,c]=(0,l.useState)(!1),[o,m]=(0,l.useState)(null),[x,h]=(0,l.useState)(null),[p,b]=(0,l.useState)(""),g=function(e){switch(e){case"inbox":return[{toStage:"under_review",label:"Start Review",icon:(0,a.jsx)(u.Z,{className:"w-4 h-4"}),variant:"primary"},{toStage:"rejected",label:"Reject",icon:(0,a.jsx)(d.Z,{className:"w-4 h-4"}),variant:"danger",requiresComment:!0}];case"under_review":return[{toStage:"approved",label:"Approve",icon:(0,a.jsx)(M.Z,{className:"w-4 h-4"}),variant:"primary"},{toStage:"deferred",label:"Defer",icon:(0,a.jsx)(q.Z,{className:"w-4 h-4"}),variant:"warning",requiresComment:!0},{toStage:"rejected",label:"Reject",icon:(0,a.jsx)(d.Z,{className:"w-4 h-4"}),variant:"danger",requiresComment:!0}];case"approved":return[{toStage:"in_progress",label:"Start Implementation",icon:(0,a.jsx)(E.Z,{className:"w-4 h-4"}),variant:"primary",triggerImplementation:!0},{toStage:"deferred",label:"Defer",icon:(0,a.jsx)(q.Z,{className:"w-4 h-4"}),variant:"warning",requiresComment:!0}];case"in_progress":return[{toStage:"testing",label:"Move to Testing",icon:(0,a.jsx)(G.Z,{className:"w-4 h-4"}),variant:"primary"},{toStage:"approved",label:"Back to Approved",icon:(0,a.jsx)(O.Z,{className:"w-4 h-4"}),variant:"secondary"}];case"testing":return[{toStage:"shipped",label:"Ship It!",icon:(0,a.jsx)(z.Z,{className:"w-4 h-4"}),variant:"primary"},{toStage:"in_progress",label:"Back to In Progress",icon:(0,a.jsx)(O.Z,{className:"w-4 h-4"}),variant:"secondary"}];case"shipped":return[{toStage:"rolled_back",label:"Roll Back",icon:(0,a.jsx)(O.Z,{className:"w-4 h-4"}),variant:"danger",requiresComment:!0}];case"deferred":return[{toStage:"under_review",label:"Reopen Review",icon:(0,a.jsx)(u.Z,{className:"w-4 h-4"}),variant:"primary"},{toStage:"rejected",label:"Reject",icon:(0,a.jsx)(d.Z,{className:"w-4 h-4"}),variant:"danger",requiresComment:!0}];case"rejected":case"rolled_back":return[{toStage:"inbox",label:"Reopen",icon:(0,a.jsx)(O.Z,{className:"w-4 h-4"}),variant:"secondary"}];default:return[]}}(s),j=async(e,s)=>{c(!0),m(e);try{(await fetch("/api/ideas/".concat(t,"/transition"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({to_stage:e,comment:s})})).ok&&r.refresh()}catch(e){console.error("Failed to transition stage:",e)}finally{c(!1),m(null),h(null),b("")}},f=async()=>{c(!0),m("in_progress");try{let e=await fetch("/api/ideas/".concat(t,"/implement"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})}),s=await e.json();s.success?r.refresh():(console.error("Failed to start implementation:",s.error),alert(s.error||"Failed to start implementation"))}catch(e){console.error("Failed to start implementation:",e),alert("Failed to start implementation")}finally{c(!1),m(null)}},N=e=>{e.triggerImplementation?f():e.requiresComment?h(e):j(e.toStage)};return 0===g.length?null:(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"text-sm text-slate-500",children:["Current stage: ",(0,a.jsx)("span",{className:"font-medium text-slate-700",children:F.yb[s]})]}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:g.map(e=>(0,a.jsxs)("button",{onClick:()=>N(e),disabled:n,className:(0,A.Z)("btn gap-2",L[e.variant],n&&"opacity-75"),children:[o===e.toStage?(0,a.jsx)(i.Z,{className:"w-4 h-4 animate-spin"}):e.icon,(0,a.jsx)("span",{children:e.label})]},e.toStage))}),x&&(0,a.jsx)("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-xl p-6 w-full max-w-md animate-slide-in",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold text-slate-900 mb-2",children:x.label}),(0,a.jsx)("p",{className:"text-sm text-slate-500 mb-4",children:"Please provide a reason for this action."}),(0,a.jsx)("textarea",{value:p,onChange:e=>b(e.target.value),placeholder:"Enter your comment...",className:"textarea h-24 mb-4",autoFocus:!0}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)("button",{onClick:()=>{h(null),b("")},className:"btn btn-secondary",disabled:n,children:"Cancel"}),(0,a.jsxs)("button",{onClick:()=>j(x.toStage,p),disabled:n||!p.trim(),className:(0,A.Z)("btn gap-2",L[x.variant]),children:[n?(0,a.jsx)(i.Z,{className:"w-4 h-4 animate-spin"}):x.icon,(0,a.jsx)("span",{children:"Confirm"})]})]})]})})]})}var V=s(2222),B=s(2369),H=s(4743);function W(e){let{ideaId:t,comments:s}=e,r=(0,T.useRouter)(),[n,c]=(0,l.useState)(""),[d,o]=(0,l.useState)(!1),m=async e=>{if(e.preventDefault(),n.trim()&&!d){o(!0);try{(await fetch("/api/ideas/".concat(t,"/comments"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({author:"human",author_name:"Founder",content:n.trim()})})).ok&&(c(""),r.refresh())}catch(e){console.error("Failed to add comment:",e)}finally{o(!1)}}};return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h3",{className:"font-semibold text-slate-900",children:"Discussion"}),(0,a.jsx)("div",{className:"space-y-3",children:0===s.length?(0,a.jsx)("p",{className:"text-sm text-slate-400 italic",children:"No comments yet"}):s.map(e=>(0,a.jsxs)("div",{className:(0,A.Z)("comment-bubble",e.author),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:["ai"===e.author?(0,a.jsx)("div",{className:"w-6 h-6 bg-emerald-100 rounded-full flex items-center justify-center",children:(0,a.jsx)(V.Z,{className:"w-3.5 h-3.5 text-emerald-600"})}):(0,a.jsx)("div",{className:"w-6 h-6 bg-blue-100 rounded-full flex items-center justify-center",children:(0,a.jsx)(B.Z,{className:"w-3.5 h-3.5 text-blue-600"})}),(0,a.jsx)("span",{className:"text-sm font-medium text-slate-700",children:e.author_name}),(0,a.jsx)("span",{className:"text-xs text-slate-400",children:new Date(e.created_at).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})})]}),(0,a.jsx)("p",{className:"text-sm text-slate-600 whitespace-pre-wrap",children:e.content})]},e.id))}),(0,a.jsxs)("form",{onSubmit:m,className:"flex gap-2",children:[(0,a.jsx)("input",{type:"text",value:n,onChange:e=>c(e.target.value),placeholder:"Add a comment...",className:"input flex-1",disabled:d}),(0,a.jsx)("button",{type:"submit",disabled:!n.trim()||d,className:"btn btn-primary",children:d?(0,a.jsx)(i.Z,{className:"w-4 h-4 animate-spin"}):(0,a.jsx)(H.Z,{className:"w-4 h-4"})})]})]})}var J=s(7168),X=s(401),K=s(8867);let Q={cloning:{label:"Cloning repository...",color:"text-blue-600"},branching:{label:"Creating branch...",color:"text-blue-600"},decomposing:{label:"Decomposing into sub-tasks...",color:"text-amber-600"},implementing:{label:"Implementing changes...",color:"text-violet-600"},testing:{label:"Running tests...",color:"text-cyan-600"},creating_pr:{label:"Creating PR...",color:"text-cyan-600"},completed:{label:"Completed",color:"text-emerald-600"},failed:{label:"Failed",color:"text-red-600"}};function $(e){let{ideaId:t,onComplete:s}=e,[r,n]=(0,l.useState)(null),[c,o]=(0,l.useState)(!0),[m,x]=(0,l.useState)(!1),[h,u]=(0,l.useState)(!1),p=async()=>{try{let e=await fetch("/api/ideas/".concat(t,"/implement")),a=await e.json();a.success&&a.data?(n(a.data),("completed"===a.data.status||"failed"===a.data.status)&&(null==s||s())):n(null)}catch(e){console.error("Failed to fetch implementation status:",e)}finally{o(!1)}};if((0,l.useEffect)(()=>{p();let e=setInterval(()=>{r&&"completed"!==r.status&&"failed"!==r.status&&p()},3e3);return()=>clearInterval(e)},[t]),(0,l.useEffect)(()=>{if(r&&("completed"===r.status||"failed"===r.status))return;let e=setInterval(p,3e3);return()=>clearInterval(e)},[null==r?void 0:r.status]),c)return(0,a.jsxs)("div",{className:"flex items-center gap-2 text-slate-500",children:[(0,a.jsx)(i.Z,{className:"w-4 h-4 animate-spin"}),(0,a.jsx)("span",{className:"text-sm",children:"Loading..."})]});if(!r)return null;let g=Q[r.status]||{label:r.status,color:"text-slate-600"},j=!["completed","failed"].includes(r.status);return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("h3",{className:"font-semibold text-slate-900 flex items-center gap-2",children:[(0,a.jsx)(b.Z,{className:"w-4 h-4"}),"Implementation Progress"]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[j?(0,a.jsx)(i.Z,{className:(0,A.Z)("w-5 h-5 animate-spin",g.color)}):"completed"===r.status?(0,a.jsx)(M.Z,{className:"w-5 h-5 text-emerald-600"}):(0,a.jsx)(d.Z,{className:"w-5 h-5 text-red-600"}),(0,a.jsx)("span",{className:(0,A.Z)("font-medium",g.color),children:g.label}),j&&(0,a.jsx)("button",{onClick:p,className:"p-1 text-slate-400 hover:text-slate-600",title:"Refresh",children:(0,a.jsx)(J.Z,{className:"w-4 h-4"})})]}),(0,a.jsxs)("div",{className:"p-3 bg-slate-50 rounded-lg border border-slate-200",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,a.jsx)(C.Z,{className:"w-4 h-4 text-slate-500"}),(0,a.jsx)("code",{className:"flex-1 bg-slate-200 px-2 py-0.5 rounded font-mono text-xs",children:r.branch_name}),(0,a.jsx)("button",{onClick:()=>{(null==r?void 0:r.branch_name)&&(navigator.clipboard.writeText(r.branch_name),u(!0),setTimeout(()=>u(!1),2e3))},className:"p-1 text-slate-400 hover:text-slate-600",title:"Copy branch name",children:h?(0,a.jsx)(X.Z,{className:"w-4 h-4 text-emerald-600"}):(0,a.jsx)(K.Z,{className:"w-4 h-4"})})]}),(0,a.jsxs)("div",{className:"mt-2 text-xs text-slate-500",children:["Repo: ",r.repo_name," • Workspace: ",r.workspace_path]}),r.pr_url&&(0,a.jsxs)("a",{href:r.pr_url,target:"_blank",rel:"noopener noreferrer",className:"mt-2 flex items-center gap-1 text-sm text-blue-600 hover:underline",children:[(0,a.jsx)("span",{children:"View Pull Request"}),(0,a.jsx)(R.Z,{className:"w-3 h-3"})]})]}),r.error_message&&(0,a.jsx)("div",{className:"p-3 bg-red-50 border border-red-200 rounded-lg text-sm text-red-700",children:r.error_message}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("button",{onClick:()=>x(!m),className:"text-sm text-slate-500 hover:text-slate-700",children:[m?"Hide":"Show"," logs (",r.logs.length,")"]}),m&&(0,a.jsx)("div",{className:"mt-2 p-3 bg-slate-900 rounded-lg max-h-64 overflow-y-auto",children:(0,a.jsx)("pre",{className:"text-xs text-slate-300 font-mono whitespace-pre-wrap",children:r.logs.join("\n")})})]})]})}function Y(e){return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"2-digit"})}function ee(e){let{title:t,icon:s,children:r}=e;return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("h3",{className:"flex items-center gap-2 font-semibold text-slate-900",children:[s,(0,a.jsx)("span",{children:t})]}),(0,a.jsx)("div",{className:"text-sm text-slate-600",children:r})]})}function et(e){let{status:t}=e;switch(t){case"pending":return(0,a.jsx)(n.Z,{className:"w-4 h-4 text-slate-400"});case"in_progress":return(0,a.jsx)(i.Z,{className:"w-4 h-4 text-violet-500 animate-spin"});case"completed":return(0,a.jsx)(c.Z,{className:"w-4 h-4 text-emerald-500"});case"failed":return(0,a.jsx)(d.Z,{className:"w-4 h-4 text-red-500"})}}function es(e){return e?new Date(e).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}):""}function ea(e){let{failureType:t}=e;if(!t)return null;let s={timeout:{text:"timeout",className:"bg-orange-100 text-orange-700"},error:{text:"error",className:"bg-red-100 text-red-700"},tests_failed:{text:"tests failed",className:"bg-amber-100 text-amber-700"}}[t];return(0,a.jsx)("span",{className:(0,A.Z)("text-xs px-1.5 py-0.5 rounded font-medium",s.className),children:s.text})}function er(e){let{subTasks:t}=e,[s,r]=(0,l.useState)(null);if(0===t.length)return null;let n=t.filter(e=>"completed"===e.status).length,i=t.filter(e=>"failed"===e.status).length,c=Math.round(n/t.length*100);return(0,a.jsx)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsxs)(ee,{title:"Sub-Tasks",icon:(0,a.jsx)(o.Z,{className:"w-4 h-4 text-violet-500"}),children:[(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between text-xs mb-1",children:[(0,a.jsxs)("span",{className:"text-slate-500",children:[n,"/",t.length," done",i>0&&(0,a.jsxs)("span",{className:"text-red-500 ml-1",children:["(",i," failed)"]})]}),(0,a.jsxs)("span",{className:"text-slate-500",children:[c,"%"]})]}),(0,a.jsx)("div",{className:"w-full bg-slate-200 rounded-full h-2",children:(0,a.jsx)("div",{className:(0,A.Z)("h-2 rounded-full transition-all",i>0?"bg-red-500":"bg-emerald-500"),style:{width:"".concat(c,"%")}})})]}),(0,a.jsx)("ul",{className:"space-y-2",children:t.map(e=>{let t=s===e.id;return(0,a.jsxs)("li",{className:"border border-slate-100 rounded-lg",children:[(0,a.jsxs)("button",{onClick:()=>r(t?null:e.id),className:"w-full flex items-center gap-2 p-2 text-left hover:bg-slate-50 rounded-lg",children:[(0,a.jsx)(et,{status:e.status}),(0,a.jsx)("span",{className:(0,A.Z)("flex-1 text-sm","completed"===e.status&&"line-through text-slate-400","failed"===e.status&&"text-red-600"),children:e.title}),"failed"===e.status&&e.failure_type&&(0,a.jsx)(ea,{failureType:e.failure_type}),e.has_uncommitted_changes&&(0,a.jsx)("span",{title:"Uncommitted changes in workspace",children:(0,a.jsx)(m.Z,{className:"w-3.5 h-3.5 text-amber-500"})}),t?(0,a.jsx)(x.Z,{className:"w-3 h-3 text-slate-400"}):(0,a.jsx)(h.Z,{className:"w-3 h-3 text-slate-400"})]}),t&&(0,a.jsxs)("div",{className:"px-8 pb-3 space-y-3",children:[(0,a.jsx)("p",{className:"text-xs text-slate-600 whitespace-pre-wrap",children:e.description}),(e.duration_ms||e.lines_added||e.lines_removed)&&(0,a.jsxs)("div",{className:"flex flex-wrap gap-3 text-xs text-slate-500",children:[e.duration_ms&&(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(u.Z,{className:"w-3 h-3"}),function(e){if(!e)return"";let t=Math.floor(e/1e3),s=Math.floor(t/60),a=Math.floor(s/60);return a>0?"".concat(a,"h ").concat(s%60,"m"):s>0?"".concat(s,"m ").concat(t%60,"s"):"".concat(t,"s")}(e.duration_ms)]}),(e.lines_added||e.lines_removed)&&(0,a.jsxs)("span",{className:"flex items-center gap-1 font-mono",children:[(0,a.jsx)(p.Z,{className:"w-3 h-3"}),(0,a.jsxs)("span",{className:"text-emerald-600",children:["+",e.lines_added||0]}),(0,a.jsxs)("span",{className:"text-red-600",children:["-",e.lines_removed||0]})]})]}),e.files_changed&&e.files_changed.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsxs)("span",{className:"text-xs font-medium text-emerald-600 flex items-center gap-1",children:[(0,a.jsx)(p.Z,{className:"w-3 h-3"}),"Files Changed:"]}),(0,a.jsx)("ul",{className:"mt-1",children:e.files_changed.map(e=>(0,a.jsx)("li",{className:"text-xs text-slate-600 font-mono",children:e},e))})]}),e.files_to_modify.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-xs font-medium text-slate-500",children:"Planned Files:"}),(0,a.jsx)("ul",{className:"mt-1",children:e.files_to_modify.map(e=>(0,a.jsx)("li",{className:"text-xs text-slate-400 font-mono",children:e},e))})]}),e.error_message&&(0,a.jsx)("div",{className:"p-2 bg-red-50 border border-red-200 rounded text-xs text-red-700 whitespace-pre-wrap",children:e.error_message}),e.output_snippet&&(0,a.jsxs)("details",{className:"group",children:[(0,a.jsxs)("summary",{className:"text-xs font-medium text-slate-500 cursor-pointer flex items-center gap-1",children:[(0,a.jsx)(b.Z,{className:"w-3 h-3"}),"Output",(0,a.jsx)(h.Z,{className:"w-3 h-3 group-open:rotate-90 transition-transform"})]}),(0,a.jsx)("pre",{className:"mt-1 p-2 bg-slate-50 border border-slate-200 rounded text-xs text-slate-600 overflow-x-auto max-h-48 overflow-y-auto whitespace-pre-wrap",children:e.output_snippet})]}),e.has_uncommitted_changes&&(0,a.jsxs)("div",{className:"flex items-center gap-2 p-2 bg-amber-50 border border-amber-200 rounded text-xs text-amber-700",children:[(0,a.jsx)(m.Z,{className:"w-3.5 h-3.5"}),"Uncommitted changes in workspace"]}),e.commit_hash&&(0,a.jsxs)("div",{className:"text-xs text-slate-400",children:["Commit: ",(0,a.jsx)("code",{className:"bg-slate-100 px-1 rounded",children:e.commit_hash.slice(0,8)})]}),(e.started_at||e.completed_at)&&(0,a.jsxs)("div",{className:"text-xs text-slate-400",children:[e.started_at&&(0,a.jsxs)("span",{children:["Started: ",es(e.started_at)]}),e.completed_at&&(0,a.jsxs)("span",{className:"ml-3",children:["Finished: ",es(e.completed_at)]})]})]})]},e.id)})})]})})}function el(e){let{status:t}=e;switch(t){case"met":return(0,a.jsx)(c.Z,{className:"w-4 h-4 text-emerald-500"});case"partially_met":return(0,a.jsx)(m.Z,{className:"w-4 h-4 text-amber-500"});case"not_met":return(0,a.jsx)(d.Z,{className:"w-4 h-4 text-red-500"});case"no_data":return(0,a.jsx)(g.Z,{className:"w-4 h-4 text-slate-400"});default:return(0,a.jsx)(j.Z,{className:"w-4 h-4 text-slate-400"})}}function en(e){let{verification:t}=e;return(0,a.jsx)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsxs)(ee,{title:"Post-Ship Verification",icon:(0,a.jsx)(f.Z,{className:"w-4 h-4 text-emerald-500"}),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-3",children:[(0,a.jsx)("span",{className:(0,A.Z)("text-xs font-medium px-2 py-1 rounded",F.aR[t.status]),children:F.Wb[t.status]}),t.confidence&&(0,a.jsxs)("span",{className:"text-xs text-slate-500",children:["Confidence: ",t.confidence]})]}),t.summary&&(0,a.jsx)("p",{className:"text-sm text-slate-700 mb-4",children:t.summary}),t.requires_human_review&&(0,a.jsxs)("div",{className:"flex items-center gap-2 p-2 mb-4 bg-amber-50 border border-amber-200 rounded text-xs text-amber-700",children:[(0,a.jsx)(N.Z,{className:"w-3.5 h-3.5 flex-shrink-0"}),(0,a.jsxs)("span",{children:["Requires human review: ",t.human_review_reason||"Review needed"]})]}),t.metric_evaluations.length>0&&(0,a.jsxs)("div",{className:"space-y-2 mb-4",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-slate-500 uppercase",children:"Metric Results"}),(0,a.jsx)("ul",{className:"space-y-1.5",children:t.metric_evaluations.map((e,t)=>(0,a.jsxs)("li",{className:"flex items-start gap-2",children:[(0,a.jsx)(el,{status:e.status}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"text-xs text-slate-700",children:e.metric}),(0,a.jsx)("p",{className:"text-xs text-slate-500 mt-0.5",children:e.evidence})]})]},t))})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-4 text-xs text-slate-400 pt-3 border-t border-slate-100",children:[t.first_evaluated_at&&(0,a.jsxs)("span",{children:["First evaluated: ",Y(t.first_evaluated_at)]}),t.evaluation_count>0&&(0,a.jsxs)("span",{children:["Evaluations: ",t.evaluation_count]}),t.next_evaluation_after&&(0,a.jsxs)("span",{children:["Next check: ",new Date(t.next_evaluation_after).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})]})]}),t.follow_up_idea_ids.length>0&&(0,a.jsxs)("div",{className:"mt-3 pt-3 border-t border-slate-100",children:[(0,a.jsx)("span",{className:"text-xs font-medium text-slate-500",children:"Follow-up ideas:"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1",children:t.follow_up_idea_ids.map(e=>(0,a.jsx)(r.default,{href:"/ideas/".concat(e),className:"text-xs text-blue-600 hover:underline bg-blue-50 px-1.5 py-0.5 rounded",children:e},e))})]})]})})}function ei(e){let{ideaId:t}=e,[s,r]=(0,l.useState)(!1),n="/api/ideas/".concat(t,"/card");return((0,l.useEffect)(()=>{fetch(n,{method:"HEAD"}).then(e=>{e.ok&&r(!0)}).catch(()=>{})},[n]),s)?(0,a.jsx)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsx)(ee,{title:"Ship Card",icon:(0,a.jsx)(v.Z,{className:"w-4 h-4 text-violet-500"}),children:(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsx)("img",{src:n,alt:"Ship announcement card",className:"w-full rounded-lg border border-slate-200"}),(0,a.jsxs)("a",{href:n,download:"".concat(t,"-card.png"),className:"inline-flex items-center gap-1.5 mt-3 text-xs text-slate-500 hover:text-slate-700",children:[(0,a.jsx)(w.Z,{className:"w-3.5 h-3.5"}),"Download PNG"]})]})})}):null}function ec(e){let{idea:t,linkedGoal:s}=e;return(0,a.jsxs)("div",{className:"max-w-4xl mx-auto p-6",children:[(0,a.jsxs)(r.default,{href:"/",className:"inline-flex items-center gap-2 text-sm text-slate-500 hover:text-slate-700 mb-6",children:[(0,a.jsx)(_.Z,{className:"w-4 h-4"}),(0,a.jsx)("span",{children:"Back to Dashboard"})]}),(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6 mb-6",children:[(0,a.jsx)("div",{className:"flex items-start justify-between mb-4",children:(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-3",children:[(0,a.jsx)("span",{className:(0,A.Z)("priority-badge",F.Gs[t.priority]),children:F.rF[t.priority]}),(0,a.jsx)("span",{className:(0,A.Z)("category-badge",F.pG[t.category]),children:F.Hs[t.category]}),(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)("div",{className:(0,A.Z)("stage-indicator",F.lv[t.stage])}),(0,a.jsx)("span",{className:"text-xs text-slate-500",children:F.yb[t.stage]})]})]}),(0,a.jsx)("h1",{className:"text-2xl font-bold text-slate-900 mb-2",children:t.title}),(0,a.jsx)("p",{className:"text-slate-600",children:t.summary})]})}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-6 text-sm text-slate-500 pt-4 border-t border-slate-100",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(y.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Created ",Y(t.created_at)]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(Z.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Effort: ",F.bi[t.effort]]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(S.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Impact: ",F.bi[t.impact]]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(k.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Source: ",F.Vr[t.source.type]]})]})]}),t.tags.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-2 mt-4",children:t.tags.map(e=>(0,a.jsx)("span",{className:"px-2 py-1 bg-slate-100 text-slate-600 text-xs rounded",children:e},e))}),t.implementation.branch_name&&(0,a.jsx)("div",{className:"mt-4 p-3 bg-slate-50 rounded-lg border border-slate-200",children:(0,a.jsxs)("div",{className:"flex items-center gap-4 text-sm",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-slate-600",children:[(0,a.jsx)(C.Z,{className:"w-4 h-4"}),(0,a.jsx)("code",{className:"bg-slate-200 px-2 py-0.5 rounded",children:t.implementation.branch_name})]}),t.implementation.pr_url&&(0,a.jsxs)("a",{href:t.implementation.pr_url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-blue-600 hover:underline",children:[(0,a.jsx)("span",{children:"View PR"}),(0,a.jsx)(R.Z,{className:"w-3 h-3"})]})]})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[(0,a.jsxs)("div",{className:"lg:col-span-2 space-y-6",children:[(0,a.jsx)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsx)(ee,{title:"Context",icon:(0,a.jsx)(I.Z,{className:"w-4 h-4 text-amber-500"}),children:(0,a.jsx)("p",{className:"whitespace-pre-wrap",children:t.context})})}),(0,a.jsx)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsx)(ee,{title:"Rationale",icon:(0,a.jsx)(P.Z,{className:"w-4 h-4 text-blue-500"}),children:(0,a.jsx)("p",{className:"whitespace-pre-wrap",children:t.rationale})})}),(0,a.jsx)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsx)(ee,{title:"Implementation Plan",icon:(0,a.jsx)(D.Z,{className:"w-4 h-4 text-emerald-500"}),children:(0,a.jsx)("div",{className:"whitespace-pre-wrap",children:t.implementation_plan})})}),t.implementation.sub_tasks&&t.implementation.sub_tasks.length>0&&(0,a.jsx)(er,{subTasks:t.implementation.sub_tasks}),"shipped"===t.stage&&t.verification&&(0,a.jsx)(en,{verification:t.verification}),"shipped"===t.stage&&(0,a.jsx)(ei,{ideaId:t.id}),(0,a.jsx)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsx)(ee,{title:"Success Metrics",icon:(0,a.jsx)(S.Z,{className:"w-4 h-4 text-violet-500"}),children:(0,a.jsx)("ul",{className:"list-disc list-inside space-y-1",children:t.success_metrics.map((e,t)=>(0,a.jsx)("li",{children:e},t))})})})]}),(0,a.jsxs)("div",{className:"space-y-6",children:[(s||t.expected_impact)&&(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:[(0,a.jsxs)("h3",{className:"flex items-center gap-2 font-semibold text-slate-900 mb-3",children:[(0,a.jsx)(P.Z,{className:"w-4 h-4 text-emerald-500"}),(0,a.jsx)("span",{children:"Goal Alignment"})]}),s?(0,a.jsxs)(r.default,{href:"/goals/".concat(s.id),className:"block p-3 bg-emerald-50 border border-emerald-200 rounded-lg hover:border-emerald-300 transition-colors",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-emerald-800",children:s.title}),(0,a.jsx)(R.Z,{className:"w-3 h-3 text-emerald-600"})]}),(0,a.jsx)("p",{className:"text-xs text-emerald-600 line-clamp-2",children:s.description})]}):t.goal_id?(0,a.jsxs)("p",{className:"text-sm text-slate-500",children:["Linked to goal: ",(0,a.jsx)("code",{className:"text-xs bg-slate-100 px-1 rounded",children:t.goal_id})]}):null,t.expected_impact&&(0,a.jsxs)("div",{className:"mt-3 pt-3 border-t border-slate-100",children:[(0,a.jsx)("p",{className:"text-xs text-slate-500 uppercase font-medium mb-1",children:"Expected Impact"}),(0,a.jsx)("p",{className:"text-sm text-slate-700",children:t.expected_impact})]})]}),(0,a.jsx)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsx)(U,{ideaId:t.id,currentStage:t.stage})}),["in_progress","testing","shipped","rolled_back"].includes(t.stage)&&(0,a.jsx)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsx)($,{ideaId:t.id})}),(0,a.jsx)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:(0,a.jsx)(W,{ideaId:t.id,comments:t.comments})}),t.source.files_analyzed&&t.source.files_analyzed.length>0&&(0,a.jsxs)("div",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:[(0,a.jsx)("h3",{className:"font-semibold text-slate-900 mb-3",children:"Files Analyzed"}),(0,a.jsx)("ul",{className:"space-y-1",children:t.source.files_analyzed.map((e,t)=>(0,a.jsx)("li",{className:"text-xs text-slate-500 font-mono truncate",children:e},t))})]})]})]})]})}},6153:function(e,t,s){"use strict";s.d(t,{G:function(){return i},GK:function(){return Z},Gs:function(){return o},Hs:function(){return a},PN:function(){return u},PW:function(){return _},Q_:function(){return p},R$:function(){return v},Vr:function(){return m},Wb:function(){return h},aR:function(){return x},bi:function(){return c},en:function(){return N},i2:function(){return f},kT:function(){return b},l5:function(){return g},lE:function(){return w},lv:function(){return n},pG:function(){return r},rF:function(){return d},tV:function(){return j},tl:function(){return y},xP:function(){return S},yb:function(){return l}});let a={product:"Product",ux_design:"UX/Design",growth:"Growth",performance:"Performance",tech_debt:"Tech Debt",security:"Security",infrastructure:"Infrastructure",content:"Content",analytics:"Analytics",integration:"Integration"},r={product:"bg-blue-100 text-blue-800",ux_design:"bg-purple-100 text-purple-800",growth:"bg-green-100 text-green-800",performance:"bg-orange-100 text-orange-800",tech_debt:"bg-yellow-100 text-yellow-800",security:"bg-red-100 text-red-800",infrastructure:"bg-gray-100 text-gray-800",content:"bg-pink-100 text-pink-800",analytics:"bg-cyan-100 text-cyan-800",integration:"bg-indigo-100 text-indigo-800"},l={inbox:"Inbox",under_review:"Under Review",approved:"Approved",in_progress:"In Progress",testing:"Testing",shipped:"Shipped",deferred:"Deferred",rejected:"Rejected",rolled_back:"Rolled Back"},n={inbox:"bg-amber-500",under_review:"bg-blue-500",approved:"bg-emerald-500",in_progress:"bg-violet-500",testing:"bg-cyan-500",shipped:"bg-green-500",deferred:"bg-gray-500",rejected:"bg-red-500",rolled_back:"bg-orange-500"},i=["inbox","under_review","approved","in_progress","testing","shipped"],c={xs:"XS",s:"S",m:"M",l:"L",xl:"XL"},d={critical:"Critical",high:"High",medium:"Medium",low:"Low"},o={critical:"bg-red-100 text-red-800 border-red-300",high:"bg-orange-100 text-orange-800 border-orange-300",medium:"bg-yellow-100 text-yellow-800 border-yellow-300",low:"bg-gray-100 text-gray-800 border-gray-300"},m={codebase_analysis:"Codebase Analysis",metrics_review:"Metrics Review",market_research:"Market Research",seo_audit:"SEO Audit",growth_distribution:"Growth Distribution",manual:"Manual"},x={pending:"bg-slate-100 text-slate-700",validated:"bg-emerald-100 text-emerald-800",needs_investigation:"bg-amber-100 text-amber-800",inconclusive:"bg-slate-100 text-slate-600",invalidated:"bg-red-100 text-red-800"},h={pending:"Pending",validated:"Validated",needs_investigation:"Needs Investigation",inconclusive:"Inconclusive",invalidated:"Invalidated"},u={ship:"Ship",update:"Update",milestone:"Milestone",digest:"Digest",manual:"Manual",thread:"Thread",insight:"Insight"},p={ship:"bg-green-100 text-green-800",update:"bg-blue-100 text-blue-800",milestone:"bg-amber-100 text-amber-800",digest:"bg-purple-100 text-purple-800",manual:"bg-slate-100 text-slate-800",thread:"bg-indigo-100 text-indigo-800",insight:"bg-cyan-100 text-cyan-800"},b={acquisition:"Acquisition",activation:"Activation",retention:"Retention",revenue:"Revenue",referral:"Referral"},g={acquisition:"bg-blue-100 text-blue-800",activation:"bg-emerald-100 text-emerald-800",retention:"bg-purple-100 text-purple-800",revenue:"bg-amber-100 text-amber-800",referral:"bg-pink-100 text-pink-800"},j={on_track:"On Track",at_risk:"At Risk",behind:"Behind",achieved:"Achieved"},f={on_track:"bg-emerald-100 text-emerald-800 border-emerald-300",at_risk:"bg-amber-100 text-amber-800 border-amber-300",behind:"bg-red-100 text-red-800 border-red-300",achieved:"bg-blue-100 text-blue-800 border-blue-300"},N={manual:"Manual",rest_api:"REST API",posthog:"PostHog",firestore:"Firestore",stripe:"Stripe",whatsapp:"WhatsApp"},v={stated:"Stated",testing:"Testing",validated:"Validated",invalidated:"Invalidated",deferred:"Deferred"},w={stated:"bg-slate-100 text-slate-800 border-slate-300",testing:"bg-amber-100 text-amber-800 border-amber-300",validated:"bg-emerald-100 text-emerald-800 border-emerald-300",invalidated:"bg-red-100 text-red-800 border-red-300",deferred:"bg-slate-100 text-slate-500 border-slate-200"},_={acquisition:"Acquisition",engagement:"Engagement",conversion:"Conversion",monetization:"Monetization"},y={acquisition:"bg-blue-100 text-blue-800",engagement:"bg-purple-100 text-purple-800",conversion:"bg-amber-100 text-amber-800",monetization:"bg-emerald-100 text-emerald-800"},Z={planned:"Planned",active:"Active",completed:"Completed",paused:"Paused"},S={planned:"bg-slate-100 text-slate-700 border-slate-300",active:"bg-blue-100 text-blue-800 border-blue-300",completed:"bg-emerald-100 text-emerald-800 border-emerald-300",paused:"bg-amber-100 text-amber-800 border-amber-300"}}},function(e){e.O(0,[972,47,971,117,744],function(){return e(e.s=1264)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[720],{3850:function(e,t,s){Promise.resolve().then(s.bind(s,4067)),Promise.resolve().then(s.bind(s,1259)),Promise.resolve().then(s.bind(s,8825))},4067:function(e,t,s){"use strict";s.d(t,{default:function(){return o}});var a=s(7437),r=s(9376),l=s(6221),i=s(9801),n=s(4372),c=s(6076),d=s(8623);function o(e){let{stats:t}=e,s=(0,r.useRouter)();return(0,a.jsx)("header",{className:"px-6 py-4 bg-white border-b border-slate-200",children:(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-2xl font-bold text-slate-900",children:"Idea Dashboard"}),(0,a.jsxs)("div",{className:"flex items-center gap-6 mt-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-slate-600",children:[(0,a.jsx)(l.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:[t.total," total"]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-amber-600",children:[(0,a.jsx)(i.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:[t.inbox," in inbox"]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-violet-600",children:[(0,a.jsx)(n.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:[t.inProgress," in progress"]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-emerald-600",children:[(0,a.jsx)(c.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:[t.shipped," shipped"]})]})]})]}),(0,a.jsx)(d.Z,{onAnalysisComplete:()=>{s.refresh()}})]})})}},1259:function(e,t,s){"use strict";s.d(t,{default:function(){return f}});var a=s(7437),r=s(7648),l=s(9376),i=s(5929),n=s(5466),c=s(2048),d=s(8896),o=s(8220),x=s(2718),m=s(5621),u=s(8728),h=s(2222),b=s(2023),g=s(1994);let p=[{href:"/briefing",label:"Briefing",icon:(0,a.jsx)(i.Z,{size:18})},{href:"/kanban",label:"Dashboard",icon:(0,a.jsx)(n.Z,{className:"w-5 h-5"})},{href:"/roadmap",label:"Roadmap",icon:(0,a.jsx)(c.Z,{className:"w-5 h-5"})},{href:"/goals",label:"Goals",icon:(0,a.jsx)(d.Z,{className:"w-5 h-5"})},{href:"/hypotheses",label:"Hypotheses",icon:(0,a.jsx)(o.Z,{className:"w-5 h-5"})},{href:"/social",label:"Social",icon:(0,a.jsx)(x.Z,{className:"w-5 h-5"})},{href:"/sessions",label:"Sessions",icon:(0,a.jsx)(m.Z,{className:"w-5 h-5"})},{href:"/settings",label:"Settings",icon:(0,a.jsx)(u.Z,{className:"w-5 h-5"})}];function f(e){let{children:t}=e,s=(0,l.usePathname)();return(0,a.jsxs)("div",{className:"min-h-screen flex",children:[(0,a.jsxs)("aside",{className:"w-64 bg-slate-900 text-white flex flex-col",children:[(0,a.jsx)("div",{className:"p-4 border-b border-slate-700",children:(0,a.jsxs)(r.default,{href:"/",className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"w-10 h-10 bg-emerald-500 rounded-lg flex items-center justify-center",children:(0,a.jsx)(h.Z,{className:"w-6 h-6 text-white"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"font-bold text-lg leading-tight",children:"Analyst"}),(0,a.jsx)("p",{className:"text-xs text-slate-400",children:"AI Product Manager"})]})]})}),(0,a.jsx)("nav",{className:"flex-1 p-4",children:(0,a.jsx)("ul",{className:"space-y-1",children:p.map(e=>{let t=s.startsWith(e.href);return(0,a.jsx)("li",{children:(0,a.jsxs)(r.default,{href:e.href,className:(0,g.Z)("flex items-center gap-3 px-3 py-2 rounded-lg transition-colors",t?"bg-slate-800 text-white":"text-slate-400 hover:text-white hover:bg-slate-800"),children:[e.icon,(0,a.jsx)("span",{children:e.label})]})},e.href)})})}),(0,a.jsx)("div",{className:"p-4 border-t border-slate-700",children:(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-slate-500",children:[(0,a.jsx)(b.Z,{className:"w-4 h-4"}),(0,a.jsx)("span",{children:"Powered by Claude"})]})})]}),(0,a.jsx)("main",{className:"flex-1 overflow-auto",children:t})]})}},8623:function(e,t,s){"use strict";s.d(t,{Z:function(){return o}});var a=s(7437),r=s(2265),l=s(1817),i=s(3276),n=s(1671),c=s(9322),d=s(1994);function o(e){let{onAnalysisComplete:t}=e,[s,o]=(0,r.useState)(!1),[x,m]=(0,r.useState)(!1),[u,h]=(0,r.useState)(null),b=async e=>{m(!0),h(null);try{let s=await fetch("/api/analyze",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:e})}),a=await s.json();a.success?(h({success:!0,message:"Generated ".concat(a.ideas_count," new ideas")}),null==t||t()):h({success:!1,message:a.error||"Analysis failed"})}catch(e){h({success:!1,message:"Failed to start analysis"})}finally{m(!1),setTimeout(()=>{h(null),o(!1)},3e3)}};return(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("button",{onClick:()=>o(!s),disabled:x,className:(0,d.Z)("btn btn-primary gap-2",x&&"opacity-75 cursor-wait"),children:x?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.Z,{className:"w-4 h-4 animate-spin"}),(0,a.jsx)("span",{children:"Analyzing..."})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.Z,{className:"w-4 h-4"}),(0,a.jsx)("span",{children:"Analyze Now"})]})}),s&&!x&&(0,a.jsxs)("div",{className:"absolute right-0 mt-2 w-56 bg-white rounded-lg shadow-lg border border-slate-200 py-2 z-10 animate-slide-in",children:[(0,a.jsxs)("button",{onClick:()=>b("quick"),className:"w-full px-4 py-2 text-left hover:bg-slate-50 transition-colors",children:[(0,a.jsx)("div",{className:"font-medium text-slate-900",children:"Quick Scan"}),(0,a.jsx)("div",{className:"text-xs text-slate-500",children:"Recent changes, TODOs, errors"})]}),(0,a.jsxs)("button",{onClick:()=>b("deep"),className:"w-full px-4 py-2 text-left hover:bg-slate-50 transition-colors",children:[(0,a.jsx)("div",{className:"font-medium text-slate-900",children:"Deep Review"}),(0,a.jsx)("div",{className:"text-xs text-slate-500",children:"Architecture, tech debt, security"})]}),(0,a.jsxs)("button",{onClick:()=>b("metrics"),className:"w-full px-4 py-2 text-left hover:bg-slate-50 transition-colors",children:[(0,a.jsx)("div",{className:"font-medium text-slate-900",children:"Metrics Review"}),(0,a.jsx)("div",{className:"text-xs text-slate-500",children:"Funnels, conversions, drop-offs"})]}),(0,a.jsxs)("button",{onClick:()=>b("seo"),className:"w-full px-4 py-2 text-left hover:bg-slate-50 transition-colors",children:[(0,a.jsx)("div",{className:"font-medium text-slate-900",children:"SEO Audit"}),(0,a.jsx)("div",{className:"text-xs text-slate-500",children:"Blog performance, technical SEO"})]})]}),u&&(0,a.jsx)("div",{className:(0,d.Z)("absolute right-0 mt-2 px-4 py-3 rounded-lg shadow-lg animate-slide-in",u.success?"bg-emerald-50 border border-emerald-200":"bg-red-50 border border-red-200"),children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[u.success?(0,a.jsx)(n.Z,{className:"w-4 h-4 text-emerald-600"}):(0,a.jsx)(c.Z,{className:"w-4 h-4 text-red-600"}),(0,a.jsx)("span",{className:(0,d.Z)("text-sm font-medium",u.success?"text-emerald-800":"text-red-800"),children:u.message})]})})]})}},8825:function(e,t,s){"use strict";s.d(t,{default:function(){return C}});var a=s(7437),r=s(2265),l=s(3247),i=s(740),n=s(2489),c=s(1994),d=s(7648),o=s(9322),x=s(265),m=s(6858),u=s(5051),h=s(1239),b=s(3417),g=s(8896),p=s(4286),f=s(6646),j=s(6153);function v(e){let{priority:t}=e;switch(t){case"critical":return(0,a.jsx)(o.Z,{className:"w-3 h-3"});case"high":return(0,a.jsx)(x.Z,{className:"w-3 h-3"});case"medium":return(0,a.jsx)(m.Z,{className:"w-3 h-3"});case"low":return(0,a.jsx)(u.Z,{className:"w-3 h-3"})}}function N(e){let{size:t,label:s}=e;return(0,a.jsx)("span",{className:"size-badge",title:s,children:j.bi[t]})}function y(e){let{idea:t,compact:s=!1}=e,r=t.comments.length>0;return(0,a.jsx)(d.default,{href:"/ideas/".concat(t.id),children:(0,a.jsxs)("div",{className:"idea-card",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,a.jsxs)("span",{className:(0,c.Z)("priority-badge",j.Gs[t.priority]),children:[(0,a.jsx)(v,{priority:t.priority}),(0,a.jsx)("span",{className:"ml-1",children:j.rF[t.priority]})]}),(0,a.jsx)("span",{className:(0,c.Z)("category-badge",j.pG[t.category]),children:j.Hs[t.category]})]}),(0,a.jsx)("h3",{className:"font-medium text-slate-900 text-sm leading-snug mb-1",children:t.title}),!s&&(0,a.jsx)("p",{className:"text-xs text-slate-500 line-clamp-2 mb-2",children:t.summary}),(0,a.jsxs)("div",{className:"flex items-center justify-between mt-2 pt-2 border-t border-slate-100",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1",title:"Effort",children:[(0,a.jsx)(h.Z,{className:"w-3 h-3 text-slate-400"}),(0,a.jsx)(N,{size:t.effort,label:"Effort"})]}),(0,a.jsx)("span",{className:"text-slate-300",children:"/"}),(0,a.jsxs)("div",{className:"flex items-center gap-1",title:"Impact",children:[(0,a.jsx)(x.Z,{className:"w-3 h-3 text-slate-400"}),(0,a.jsx)(N,{size:t.impact,label:"Impact"})]})]}),r&&(0,a.jsxs)("div",{className:"flex items-center gap-1 text-slate-400",children:[(0,a.jsx)(b.Z,{className:"w-3 h-3"}),(0,a.jsx)("span",{className:"text-xs",children:t.comments.length})]})]}),t.goal_id&&(0,a.jsxs)("div",{className:"flex items-center gap-1 mt-2 text-emerald-600",children:[(0,a.jsx)(g.Z,{className:"w-3 h-3"}),(0,a.jsx)("span",{className:"text-[10px]",children:"Goal aligned"})]}),"shipped"===t.stage&&t.verification&&"pending"!==t.verification.status&&(0,a.jsxs)("div",{className:"flex items-center gap-1 mt-1",children:[(0,a.jsx)(p.Z,{className:"w-3 h-3"}),(0,a.jsx)("span",{className:(0,c.Z)("text-[10px] px-1 py-0.5 rounded",j.aR[t.verification.status]),children:j.Wb[t.verification.status]})]}),t.verification_status&&(0,a.jsxs)("div",{className:"flex items-center gap-1 mt-1",children:[(0,a.jsx)(f.Z,{className:"w-3 h-3"}),(0,a.jsx)("span",{className:(0,c.Z)("text-[10px] px-1 py-0.5 rounded","proceed"===t.verification_status&&"bg-green-100 text-green-700","extend"===t.verification_status&&"bg-blue-100 text-blue-700","investigate"===t.verification_status&&"bg-yellow-100 text-yellow-700","stop"===t.verification_status&&"bg-red-100 text-red-700"),children:t.verification_status.toUpperCase()})]}),!s&&t.tags.length>0&&(0,a.jsxs)("div",{className:"flex flex-wrap gap-1 mt-2",children:[t.tags.slice(0,3).map(e=>(0,a.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 bg-slate-100 text-slate-500 rounded",children:e},e)),t.tags.length>3&&(0,a.jsxs)("span",{className:"text-[10px] text-slate-400",children:["+",t.tags.length-3]})]})]})})}var w=s(8623);let Z=["product","ux_design","growth","performance","tech_debt","security","infrastructure","content","analytics","integration"],_=["critical","high","medium","low"],k=["xs","s","m","l","xl"];function C(e){let{ideas:t}=e,[s,d]=(0,r.useState)({categories:[],priorities:[],efforts:[],search:""}),[o,x]=(0,r.useState)(!1),[m,u]=(0,r.useState)(null),h=(0,r.useMemo)(()=>{let e={all:t.length};return t.forEach(t=>{e[t.category]=(e[t.category]||0)+1}),e},[t]),b=(0,r.useMemo)(()=>t.filter(e=>{if(m&&e.category!==m)return!1;if(s.search){let t=s.search.toLowerCase();if(!(e.title.toLowerCase().includes(t)||e.summary.toLowerCase().includes(t)||e.tags.some(e=>e.toLowerCase().includes(t))))return!1}return(!(s.categories.length>0)||!!s.categories.includes(e.category))&&(!(s.priorities.length>0)||!!s.priorities.includes(e.priority))&&(!(s.efforts.length>0)||!!s.efforts.includes(e.effort))}),[t,s,m]),g=(0,r.useMemo)(()=>{let e={};return j.G.forEach(t=>{e[t]=[]}),b.forEach(t=>{j.G.includes(t.stage)&&e[t.stage].push(t)}),e},[b]),p=s.categories.length+s.priorities.length+s.efforts.length,f=null!==m||""!==s.search||p>0,v=(e,t)=>{d(s=>{let a=s[e],r=a.includes(t)?a.filter(e=>e!==t):[...a,t];return{...s,[e]:r}})};return(0,a.jsxs)("div",{className:"h-full flex flex-col",children:[(0,a.jsx)("div",{className:"px-6 py-3 bg-slate-50 border-b border-slate-200 overflow-x-auto",children:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)("button",{onClick:()=>u(null),className:(0,c.Z)("px-3 py-1.5 text-sm font-medium rounded-full whitespace-nowrap transition-colors",null===m?"bg-slate-800 text-white":"bg-white text-slate-600 hover:bg-slate-100 border border-slate-200"),children:["All",(0,a.jsxs)("span",{className:"ml-1.5 text-xs opacity-70",children:["(",h.all,")"]})]}),Z.map(e=>(0,a.jsxs)("button",{onClick:()=>u(e),className:(0,c.Z)("px-3 py-1.5 text-sm font-medium rounded-full whitespace-nowrap transition-colors",m===e?j.pG[e]:"bg-white text-slate-600 hover:bg-slate-100 border border-slate-200"),children:[j.Hs[e],h[e]>0&&(0,a.jsxs)("span",{className:"ml-1.5 text-xs opacity-70",children:["(",h[e],")"]})]},e))]})}),(0,a.jsxs)("div",{className:"px-6 py-4 bg-white border-b border-slate-200",children:[(0,a.jsxs)("div",{className:"flex items-center gap-4",children:[(0,a.jsxs)("div",{className:"relative flex-1 max-w-md",children:[(0,a.jsx)(l.Z,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-400"}),(0,a.jsx)("input",{type:"text",placeholder:"Search ideas...",value:s.search,onChange:e=>d(t=>({...t,search:e.target.value})),className:"input pl-10"})]}),(0,a.jsxs)("button",{onClick:()=>x(!o),className:(0,c.Z)("btn btn-secondary gap-2",o&&"bg-slate-200"),children:[(0,a.jsx)(i.Z,{className:"w-4 h-4"}),(0,a.jsx)("span",{children:"Filters"}),p>0&&(0,a.jsx)("span",{className:"px-1.5 py-0.5 bg-emerald-500 text-white text-xs rounded-full",children:p})]}),p>0&&(0,a.jsxs)("button",{onClick:()=>{d({categories:[],priorities:[],efforts:[],search:""})},className:"btn btn-ghost gap-1 text-sm",children:[(0,a.jsx)(n.Z,{className:"w-4 h-4"}),"Clear"]})]}),o&&(0,a.jsxs)("div",{className:"mt-4 flex flex-wrap gap-6 animate-slide-in",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-xs font-medium text-slate-500 mb-2",children:"Category"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:Z.map(e=>(0,a.jsx)("button",{onClick:()=>v("categories",e),className:(0,c.Z)("px-2 py-1 text-xs rounded border transition-colors",s.categories.includes(e)?"bg-emerald-100 border-emerald-300 text-emerald-800":"bg-white border-slate-200 text-slate-600 hover:border-slate-300"),children:j.Hs[e]},e))})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-xs font-medium text-slate-500 mb-2",children:"Priority"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:_.map(e=>(0,a.jsx)("button",{onClick:()=>v("priorities",e),className:(0,c.Z)("px-2 py-1 text-xs rounded border transition-colors",s.priorities.includes(e)?"bg-emerald-100 border-emerald-300 text-emerald-800":"bg-white border-slate-200 text-slate-600 hover:border-slate-300"),children:j.rF[e]},e))})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-xs font-medium text-slate-500 mb-2",children:"Effort"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:k.map(e=>(0,a.jsx)("button",{onClick:()=>v("efforts",e),className:(0,c.Z)("px-2 py-1 text-xs rounded border transition-colors",s.efforts.includes(e)?"bg-emerald-100 border-emerald-300 text-emerald-800":"bg-white border-slate-200 text-slate-600 hover:border-slate-300"),children:j.bi[e]},e))})]})]})]}),0!==t.length||f?(0,a.jsx)("div",{className:"flex-1 overflow-x-auto p-6",children:(0,a.jsx)("div",{className:"flex gap-4 h-full min-w-max",children:j.G.map(e=>(0,a.jsxs)("div",{className:"w-72 flex flex-col",children:[(0,a.jsxs)("div",{className:"kanban-column-header",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:(0,c.Z)("stage-indicator",j.lv[e])}),(0,a.jsx)("span",{className:"font-medium text-slate-700",children:j.yb[e]})]}),(0,a.jsx)("span",{className:"text-sm text-slate-400",children:g[e].length})]}),(0,a.jsx)("div",{className:"kanban-column flex-1 overflow-y-auto",children:0===g[e].length?(0,a.jsx)("div",{className:"text-center py-8 text-slate-400 text-sm",children:"No ideas"}):g[e].map(e=>(0,a.jsx)(y,{idea:e},e.id))})]},e))})}):(0,a.jsx)("div",{className:"flex-1 flex items-center justify-center p-6",children:(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center h-96 text-center gap-6",children:[(0,a.jsx)("div",{className:"text-6xl",children:"\uD83E\uDD16"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-2xl font-bold text-gray-900 mb-2",children:"Your AI analyst is ready"}),(0,a.jsx)("p",{className:"text-gray-500 max-w-md",children:"Run your first vibe cycle to generate prioritized improvement ideas for your codebase."})]}),(0,a.jsxs)("div",{className:"flex flex-col items-center gap-3",children:[(0,a.jsx)(w.Z,{}),(0,a.jsxs)("p",{className:"text-sm text-gray-400",children:["Or run: ",(0,a.jsx)("code",{className:"bg-gray-100 px-2 py-0.5 rounded",children:"vibebusiness analyze --type=quick"})]})]}),(0,a.jsxs)("div",{className:"mt-4 opacity-40 pointer-events-none border border-dashed border-gray-300 rounded-lg p-4 w-72 text-left",children:[(0,a.jsx)("div",{className:"text-xs font-medium text-gray-400 uppercase mb-1",children:"Example idea"}),(0,a.jsx)("div",{className:"font-medium text-gray-700 text-sm",children:"Add empty-state onboarding UI to Kanban"}),(0,a.jsx)("div",{className:"text-xs text-gray-400 mt-1",children:"ux_design \xb7 XS effort \xb7 high impact"})]})]})})]})}},6153:function(e,t,s){"use strict";s.d(t,{G:function(){return n},GK:function(){return _},Gs:function(){return o},Hs:function(){return a},PN:function(){return h},PW:function(){return w},Q_:function(){return b},R$:function(){return N},Vr:function(){return x},Wb:function(){return u},aR:function(){return m},bi:function(){return c},en:function(){return v},i2:function(){return j},kT:function(){return g},l5:function(){return p},lE:function(){return y},lv:function(){return i},pG:function(){return r},rF:function(){return d},tV:function(){return f},tl:function(){return Z},xP:function(){return k},yb:function(){return l}});let a={product:"Product",ux_design:"UX/Design",growth:"Growth",performance:"Performance",tech_debt:"Tech Debt",security:"Security",infrastructure:"Infrastructure",content:"Content",analytics:"Analytics",integration:"Integration"},r={product:"bg-blue-100 text-blue-800",ux_design:"bg-purple-100 text-purple-800",growth:"bg-green-100 text-green-800",performance:"bg-orange-100 text-orange-800",tech_debt:"bg-yellow-100 text-yellow-800",security:"bg-red-100 text-red-800",infrastructure:"bg-gray-100 text-gray-800",content:"bg-pink-100 text-pink-800",analytics:"bg-cyan-100 text-cyan-800",integration:"bg-indigo-100 text-indigo-800"},l={inbox:"Inbox",under_review:"Under Review",approved:"Approved",in_progress:"In Progress",testing:"Testing",shipped:"Shipped",deferred:"Deferred",rejected:"Rejected",rolled_back:"Rolled Back"},i={inbox:"bg-amber-500",under_review:"bg-blue-500",approved:"bg-emerald-500",in_progress:"bg-violet-500",testing:"bg-cyan-500",shipped:"bg-green-500",deferred:"bg-gray-500",rejected:"bg-red-500",rolled_back:"bg-orange-500"},n=["inbox","under_review","approved","in_progress","testing","shipped"],c={xs:"XS",s:"S",m:"M",l:"L",xl:"XL"},d={critical:"Critical",high:"High",medium:"Medium",low:"Low"},o={critical:"bg-red-100 text-red-800 border-red-300",high:"bg-orange-100 text-orange-800 border-orange-300",medium:"bg-yellow-100 text-yellow-800 border-yellow-300",low:"bg-gray-100 text-gray-800 border-gray-300"},x={codebase_analysis:"Codebase Analysis",metrics_review:"Metrics Review",market_research:"Market Research",seo_audit:"SEO Audit",growth_distribution:"Growth Distribution",manual:"Manual"},m={pending:"bg-slate-100 text-slate-700",validated:"bg-emerald-100 text-emerald-800",needs_investigation:"bg-amber-100 text-amber-800",inconclusive:"bg-slate-100 text-slate-600",invalidated:"bg-red-100 text-red-800"},u={pending:"Pending",validated:"Validated",needs_investigation:"Needs Investigation",inconclusive:"Inconclusive",invalidated:"Invalidated"},h={ship:"Ship",update:"Update",milestone:"Milestone",digest:"Digest",manual:"Manual",thread:"Thread",insight:"Insight"},b={ship:"bg-green-100 text-green-800",update:"bg-blue-100 text-blue-800",milestone:"bg-amber-100 text-amber-800",digest:"bg-purple-100 text-purple-800",manual:"bg-slate-100 text-slate-800",thread:"bg-indigo-100 text-indigo-800",insight:"bg-cyan-100 text-cyan-800"},g={acquisition:"Acquisition",activation:"Activation",retention:"Retention",revenue:"Revenue",referral:"Referral"},p={acquisition:"bg-blue-100 text-blue-800",activation:"bg-emerald-100 text-emerald-800",retention:"bg-purple-100 text-purple-800",revenue:"bg-amber-100 text-amber-800",referral:"bg-pink-100 text-pink-800"},f={on_track:"On Track",at_risk:"At Risk",behind:"Behind",achieved:"Achieved"},j={on_track:"bg-emerald-100 text-emerald-800 border-emerald-300",at_risk:"bg-amber-100 text-amber-800 border-amber-300",behind:"bg-red-100 text-red-800 border-red-300",achieved:"bg-blue-100 text-blue-800 border-blue-300"},v={manual:"Manual",rest_api:"REST API",posthog:"PostHog",firestore:"Firestore",stripe:"Stripe",whatsapp:"WhatsApp"},N={stated:"Stated",testing:"Testing",validated:"Validated",invalidated:"Invalidated",deferred:"Deferred"},y={stated:"bg-slate-100 text-slate-800 border-slate-300",testing:"bg-amber-100 text-amber-800 border-amber-300",validated:"bg-emerald-100 text-emerald-800 border-emerald-300",invalidated:"bg-red-100 text-red-800 border-red-300",deferred:"bg-slate-100 text-slate-500 border-slate-200"},w={acquisition:"Acquisition",engagement:"Engagement",conversion:"Conversion",monetization:"Monetization"},Z={acquisition:"bg-blue-100 text-blue-800",engagement:"bg-purple-100 text-purple-800",conversion:"bg-amber-100 text-amber-800",monetization:"bg-emerald-100 text-emerald-800"},_={planned:"Planned",active:"Active",completed:"Completed",paused:"Paused"},k={planned:"bg-slate-100 text-slate-700 border-slate-300",active:"bg-blue-100 text-blue-800 border-blue-300",completed:"bg-emerald-100 text-emerald-800 border-emerald-300",paused:"bg-amber-100 text-amber-800 border-amber-300"}}},function(e){e.O(0,[972,547,971,117,744],function(){return e(e.s=3850)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{9424:function(n,e,u){Promise.resolve().then(u.t.bind(u,2778,23))},2778:function(){}},function(n){n.O(0,[461,971,117,744],function(){return n(n.s=9424)}),_N_E=n.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{3521:function(){}},function(n){n.O(0,[971,117,744],function(){return n(n.s=3521)}),_N_E=n.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[25],{5794:function(e,t,a){Promise.resolve().then(a.bind(a,47))},9205:function(e,t,a){"use strict";a.d(t,{Z:function(){return d}});var s=a(2265);let r=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),n=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return t.filter((e,t,a)=>!!e&&a.indexOf(e)===t).join(" ")};var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,s.forwardRef)((e,t)=>{let{color:a="currentColor",size:r=24,strokeWidth:i=2,absoluteStrokeWidth:d,className:c="",children:o,iconNode:u,...h}=e;return(0,s.createElement)("svg",{ref:t,...l,width:r,height:r,stroke:a,strokeWidth:d?24*Number(i)/Number(r):i,className:n("lucide",c),...h},[...u.map(e=>{let[t,a]=e;return(0,s.createElement)(t,a)}),...Array.isArray(o)?o:[o]])}),d=(e,t)=>{let a=(0,s.forwardRef)((a,l)=>{let{className:d,...c}=a;return(0,s.createElement)(i,{ref:l,iconNode:t,className:n("lucide-".concat(r(e)),d),...c})});return a.displayName="".concat(e),a}},2660:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},2222:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},505:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]])},6362:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},8220:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("FlaskConical",[["path",{d:"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2",key:"pzvekw"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M7 16h10",key:"wp8him"}]])},5621:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]])},5466:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]])},5846:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},2048:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("Map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]])},2718:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]])},8728:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("Settings",[["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"}]])},2023:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]])},5929:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},8896:function(e,t,a){"use strict";a.d(t,{Z:function(){return s}});let s=(0,a(9205).Z)("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]])},7648:function(e,t,a){"use strict";a.d(t,{default:function(){return r.a}});var s=a(2972),r=a.n(s)},9376:function(e,t,a){"use strict";var s=a(5475);a.o(s,"usePathname")&&a.d(t,{usePathname:function(){return s.usePathname}}),a.o(s,"useRouter")&&a.d(t,{useRouter:function(){return s.useRouter}})},47:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return m}});var s=a(7437),r=a(2265),n=a(7648),l=a(2660);let i=(0,a(9205).Z)("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);var d=a(5846),c=a(8896),o=a(505),u=a(6362),h=a(1994),x=a(1259),p=a(6153);function m(e){let{params:t}=e,{id:a}=t,[m,g]=(0,r.useState)(null),[f,b]=(0,r.useState)([]),[v,y]=(0,r.useState)(null),[j,w]=(0,r.useState)(!0),[k,N]=(0,r.useState)(null);(0,r.useEffect)(()=>{!async function(){try{let e=await fetch("/api/epics/".concat(a)),t=await e.json();if(!t.success){N(t.error||"Failed to load epic");return}if(g(t.data),t.data.idea_ids.length>0){let e=await fetch("/api/ideas"),a=await e.json();if(a.success){let e=t.data.idea_ids.map(e=>a.data.find(t=>t.id===e)).filter(Boolean);b(e)}}if(t.data.goal_id){let e=await fetch("/api/goals/".concat(t.data.goal_id)),a=await e.json();a.success&&y(a.data)}}catch(e){N("Failed to load epic"),console.error("Error fetching epic:",e)}finally{w(!1)}}()},[a]);let Z=async e=>{try{let t=await fetch("/api/epics/".concat(a),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:e,status_override:!0})}),s=await t.json();s.success&&g(s.data)}catch(e){console.error("Failed to update status:",e)}};return j?(0,s.jsx)(x.default,{children:(0,s.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,s.jsx)("div",{className:"w-8 h-8 border-4 border-slate-200 border-t-blue-500 rounded-full animate-spin"})})}):k||!m?(0,s.jsx)(x.default,{children:(0,s.jsxs)("div",{className:"p-6",children:[(0,s.jsxs)(n.default,{href:"/roadmap",className:"inline-flex items-center gap-2 text-slate-600 hover:text-slate-900 mb-6",children:[(0,s.jsx)(l.Z,{className:"w-4 h-4"}),(0,s.jsx)("span",{children:"Back to Roadmap"})]}),(0,s.jsx)("div",{className:"bg-red-50 border border-red-200 rounded-lg p-6 text-center",children:(0,s.jsx)("p",{className:"text-red-600",children:k||"Epic not found"})})]})}):(0,s.jsx)(x.default,{children:(0,s.jsxs)("div",{className:"p-6",children:[(0,s.jsxs)(n.default,{href:"/roadmap",className:"inline-flex items-center gap-2 text-slate-600 hover:text-slate-900 mb-6",children:[(0,s.jsx)(l.Z,{className:"w-4 h-4"}),(0,s.jsx)("span",{children:"Back to Roadmap"})]}),(0,s.jsxs)("div",{className:"bg-white rounded-lg border border-slate-200 p-6 mb-6",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between mb-4",children:[(0,s.jsxs)("div",{className:"flex items-start gap-4",children:[(0,s.jsx)("div",{className:"w-14 h-14 bg-blue-100 rounded-xl flex items-center justify-center flex-shrink-0",children:(0,s.jsx)(i,{className:"w-7 h-7 text-blue-600"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"flex items-center gap-2 mb-1",children:(0,s.jsx)("span",{className:(0,h.Z)("text-xs px-2 py-0.5 rounded-full",p.pG[m.category]),children:p.Hs[m.category]})}),(0,s.jsx)("h1",{className:"text-2xl font-bold text-slate-900 mb-1",children:m.title}),(0,s.jsx)("p",{className:"text-slate-500",children:m.description})]})]}),(0,s.jsxs)("div",{className:"flex flex-col items-end gap-2",children:[(0,s.jsx)("span",{className:(0,h.Z)("inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm font-medium border",p.xP[m.status]),children:p.GK[m.status]}),(0,s.jsxs)("select",{value:m.status,onChange:e=>Z(e.target.value),className:"text-xs border border-slate-200 rounded px-2 py-1 text-slate-600",children:[(0,s.jsx)("option",{value:"planned",children:"Planned"}),(0,s.jsx)("option",{value:"active",children:"Active"}),(0,s.jsx)("option",{value:"completed",children:"Completed"}),(0,s.jsx)("option",{value:"paused",children:"Paused"})]})]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-6 text-sm text-slate-500 mb-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(d.Z,{className:"w-4 h-4"}),(0,s.jsxs)("span",{children:[m.idea_ids.length," ideas"]})]}),v&&(0,s.jsxs)(n.default,{href:"/goals/".concat(v.id),className:"flex items-center gap-2 text-emerald-600 hover:text-emerald-700",children:[(0,s.jsx)(c.Z,{className:"w-4 h-4"}),(0,s.jsx)("span",{children:v.title})]})]}),(0,s.jsxs)("div",{className:"flex items-start gap-4 mb-4",children:[(0,s.jsx)(o.Z,{className:"w-4 h-4 text-slate-400 mt-2"}),(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-xs text-slate-500 mb-1",children:"Target Start"}),(0,s.jsx)("input",{type:"date",value:m.target_start||"",onChange:async e=>{let t=e.target.value||null;try{let e=await fetch("/api/epics/".concat(a),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({target_start:t})}),s=await e.json();s.success&&g(s.data)}catch(e){console.error("Failed to update target_start:",e)}},className:"text-sm border border-slate-200 rounded px-2 py-1 text-slate-700"}),!m.target_start&&(0,s.jsx)("span",{className:"text-[10px] text-slate-400 block mt-0.5",children:"auto-estimated"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-xs text-slate-500 mb-1",children:"Target End"}),(0,s.jsx)("input",{type:"date",value:m.target_end||"",onChange:async e=>{let t=e.target.value||null;try{let e=await fetch("/api/epics/".concat(a),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({target_end:t})}),s=await e.json();s.success&&g(s.data)}catch(e){console.error("Failed to update target_end:",e)}},className:"text-sm border border-slate-200 rounded px-2 py-1 text-slate-700"}),!m.target_end&&(0,s.jsx)("span",{className:"text-[10px] text-slate-400 block mt-0.5",children:"auto-estimated"})]})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,s.jsxs)("span",{className:"text-xs text-slate-500",children:[m.progress.shipped_count,"/",m.progress.total_ideas," ideas shipped"]}),(0,s.jsxs)("span",{className:"text-xs font-medium text-slate-700",children:[m.progress.progress_pct,"%"]})]}),(0,s.jsx)("div",{className:"relative h-2 bg-slate-100 rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:(0,h.Z)("absolute left-0 top-0 h-full rounded-full transition-all duration-500","completed"===m.status?"bg-emerald-500":"active"===m.status?"bg-blue-500":"bg-slate-300"),style:{width:"".concat(m.progress.progress_pct,"%")}})}),m.progress.effort_total>0&&(0,s.jsxs)("p",{className:"text-xs text-slate-400 mt-1",children:["Effort: ",m.progress.effort_completed,"/",m.progress.effort_total," points completed"]})]})]}),(0,s.jsxs)("div",{className:"bg-white rounded-lg border border-slate-200",children:[(0,s.jsx)("div",{className:"px-6 py-4 border-b border-slate-200",children:(0,s.jsxs)("h2",{className:"text-lg font-semibold text-slate-900",children:["Ideas (",f.length,")"]})}),f.length>0?(0,s.jsx)("div",{className:"divide-y divide-slate-100",children:f.map((e,t)=>(0,s.jsxs)(n.default,{href:"/ideas/".concat(e.id),className:"flex items-center gap-4 px-6 py-3 hover:bg-slate-50 transition-colors",children:[(0,s.jsx)("span",{className:"text-xs text-slate-400 w-6 text-center",children:t+1}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("h3",{className:"text-sm font-medium text-slate-900 truncate",children:e.title}),(0,s.jsx)("p",{className:"text-xs text-slate-500 truncate",children:e.summary})]}),(0,s.jsx)("span",{className:(0,h.Z)("text-xs px-2 py-0.5 rounded-full text-white",p.lv[e.stage]),children:p.yb[e.stage]}),(0,s.jsx)("span",{className:"text-xs text-slate-400 w-8 text-center",children:p.bi[e.effort]}),(0,s.jsx)(u.Z,{className:"w-4 h-4 text-slate-300 flex-shrink-0"})]},e.id))}):(0,s.jsxs)("div",{className:"p-8 text-center",children:[(0,s.jsx)(d.Z,{className:"w-8 h-8 text-slate-300 mx-auto mb-2"}),(0,s.jsx)("p",{className:"text-sm text-slate-500",children:"No ideas in this epic yet. Add ideas via the API."})]})]}),(0,s.jsxs)("div",{className:"mt-6 text-xs text-slate-400",children:[(0,s.jsxs)("p",{children:["Created: ",new Date(m.created_at).toLocaleString()]}),(0,s.jsxs)("p",{children:["Last updated: ",new Date(m.updated_at).toLocaleString()]})]})]})})}},1259:function(e,t,a){"use strict";a.d(t,{default:function(){return b}});var s=a(7437),r=a(7648),n=a(9376),l=a(5929),i=a(5466),d=a(2048),c=a(8896),o=a(8220),u=a(2718),h=a(5621),x=a(8728),p=a(2222),m=a(2023),g=a(1994);let f=[{href:"/briefing",label:"Briefing",icon:(0,s.jsx)(l.Z,{size:18})},{href:"/kanban",label:"Dashboard",icon:(0,s.jsx)(i.Z,{className:"w-5 h-5"})},{href:"/roadmap",label:"Roadmap",icon:(0,s.jsx)(d.Z,{className:"w-5 h-5"})},{href:"/goals",label:"Goals",icon:(0,s.jsx)(c.Z,{className:"w-5 h-5"})},{href:"/hypotheses",label:"Hypotheses",icon:(0,s.jsx)(o.Z,{className:"w-5 h-5"})},{href:"/social",label:"Social",icon:(0,s.jsx)(u.Z,{className:"w-5 h-5"})},{href:"/sessions",label:"Sessions",icon:(0,s.jsx)(h.Z,{className:"w-5 h-5"})},{href:"/settings",label:"Settings",icon:(0,s.jsx)(x.Z,{className:"w-5 h-5"})}];function b(e){let{children:t}=e,a=(0,n.usePathname)();return(0,s.jsxs)("div",{className:"min-h-screen flex",children:[(0,s.jsxs)("aside",{className:"w-64 bg-slate-900 text-white flex flex-col",children:[(0,s.jsx)("div",{className:"p-4 border-b border-slate-700",children:(0,s.jsxs)(r.default,{href:"/",className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"w-10 h-10 bg-emerald-500 rounded-lg flex items-center justify-center",children:(0,s.jsx)(p.Z,{className:"w-6 h-6 text-white"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"font-bold text-lg leading-tight",children:"Analyst"}),(0,s.jsx)("p",{className:"text-xs text-slate-400",children:"AI Product Manager"})]})]})}),(0,s.jsx)("nav",{className:"flex-1 p-4",children:(0,s.jsx)("ul",{className:"space-y-1",children:f.map(e=>{let t=a.startsWith(e.href);return(0,s.jsx)("li",{children:(0,s.jsxs)(r.default,{href:e.href,className:(0,g.Z)("flex items-center gap-3 px-3 py-2 rounded-lg transition-colors",t?"bg-slate-800 text-white":"text-slate-400 hover:text-white hover:bg-slate-800"),children:[e.icon,(0,s.jsx)("span",{children:e.label})]})},e.href)})})}),(0,s.jsx)("div",{className:"p-4 border-t border-slate-700",children:(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs text-slate-500",children:[(0,s.jsx)(m.Z,{className:"w-4 h-4"}),(0,s.jsx)("span",{children:"Powered by Claude"})]})})]}),(0,s.jsx)("main",{className:"flex-1 overflow-auto",children:t})]})}},6153:function(e,t,a){"use strict";a.d(t,{G:function(){return i},GK:function(){return Z},Gs:function(){return o},Hs:function(){return s},PN:function(){return p},PW:function(){return k},Q_:function(){return m},R$:function(){return j},Vr:function(){return u},Wb:function(){return x},aR:function(){return h},bi:function(){return d},en:function(){return y},i2:function(){return v},kT:function(){return g},l5:function(){return f},lE:function(){return w},lv:function(){return l},pG:function(){return r},rF:function(){return c},tV:function(){return b},tl:function(){return N},xP:function(){return _},yb:function(){return n}});let s={product:"Product",ux_design:"UX/Design",growth:"Growth",performance:"Performance",tech_debt:"Tech Debt",security:"Security",infrastructure:"Infrastructure",content:"Content",analytics:"Analytics",integration:"Integration"},r={product:"bg-blue-100 text-blue-800",ux_design:"bg-purple-100 text-purple-800",growth:"bg-green-100 text-green-800",performance:"bg-orange-100 text-orange-800",tech_debt:"bg-yellow-100 text-yellow-800",security:"bg-red-100 text-red-800",infrastructure:"bg-gray-100 text-gray-800",content:"bg-pink-100 text-pink-800",analytics:"bg-cyan-100 text-cyan-800",integration:"bg-indigo-100 text-indigo-800"},n={inbox:"Inbox",under_review:"Under Review",approved:"Approved",in_progress:"In Progress",testing:"Testing",shipped:"Shipped",deferred:"Deferred",rejected:"Rejected",rolled_back:"Rolled Back"},l={inbox:"bg-amber-500",under_review:"bg-blue-500",approved:"bg-emerald-500",in_progress:"bg-violet-500",testing:"bg-cyan-500",shipped:"bg-green-500",deferred:"bg-gray-500",rejected:"bg-red-500",rolled_back:"bg-orange-500"},i=["inbox","under_review","approved","in_progress","testing","shipped"],d={xs:"XS",s:"S",m:"M",l:"L",xl:"XL"},c={critical:"Critical",high:"High",medium:"Medium",low:"Low"},o={critical:"bg-red-100 text-red-800 border-red-300",high:"bg-orange-100 text-orange-800 border-orange-300",medium:"bg-yellow-100 text-yellow-800 border-yellow-300",low:"bg-gray-100 text-gray-800 border-gray-300"},u={codebase_analysis:"Codebase Analysis",metrics_review:"Metrics Review",market_research:"Market Research",seo_audit:"SEO Audit",growth_distribution:"Growth Distribution",manual:"Manual"},h={pending:"bg-slate-100 text-slate-700",validated:"bg-emerald-100 text-emerald-800",needs_investigation:"bg-amber-100 text-amber-800",inconclusive:"bg-slate-100 text-slate-600",invalidated:"bg-red-100 text-red-800"},x={pending:"Pending",validated:"Validated",needs_investigation:"Needs Investigation",inconclusive:"Inconclusive",invalidated:"Invalidated"},p={ship:"Ship",update:"Update",milestone:"Milestone",digest:"Digest",manual:"Manual",thread:"Thread",insight:"Insight"},m={ship:"bg-green-100 text-green-800",update:"bg-blue-100 text-blue-800",milestone:"bg-amber-100 text-amber-800",digest:"bg-purple-100 text-purple-800",manual:"bg-slate-100 text-slate-800",thread:"bg-indigo-100 text-indigo-800",insight:"bg-cyan-100 text-cyan-800"},g={acquisition:"Acquisition",activation:"Activation",retention:"Retention",revenue:"Revenue",referral:"Referral"},f={acquisition:"bg-blue-100 text-blue-800",activation:"bg-emerald-100 text-emerald-800",retention:"bg-purple-100 text-purple-800",revenue:"bg-amber-100 text-amber-800",referral:"bg-pink-100 text-pink-800"},b={on_track:"On Track",at_risk:"At Risk",behind:"Behind",achieved:"Achieved"},v={on_track:"bg-emerald-100 text-emerald-800 border-emerald-300",at_risk:"bg-amber-100 text-amber-800 border-amber-300",behind:"bg-red-100 text-red-800 border-red-300",achieved:"bg-blue-100 text-blue-800 border-blue-300"},y={manual:"Manual",rest_api:"REST API",posthog:"PostHog",firestore:"Firestore",stripe:"Stripe",whatsapp:"WhatsApp"},j={stated:"Stated",testing:"Testing",validated:"Validated",invalidated:"Invalidated",deferred:"Deferred"},w={stated:"bg-slate-100 text-slate-800 border-slate-300",testing:"bg-amber-100 text-amber-800 border-amber-300",validated:"bg-emerald-100 text-emerald-800 border-emerald-300",invalidated:"bg-red-100 text-red-800 border-red-300",deferred:"bg-slate-100 text-slate-500 border-slate-200"},k={acquisition:"Acquisition",engagement:"Engagement",conversion:"Conversion",monetization:"Monetization"},N={acquisition:"bg-blue-100 text-blue-800",engagement:"bg-purple-100 text-purple-800",conversion:"bg-amber-100 text-amber-800",monetization:"bg-emerald-100 text-emerald-800"},Z={planned:"Planned",active:"Active",completed:"Completed",paused:"Paused"},_={planned:"bg-slate-100 text-slate-700 border-slate-300",active:"bg-blue-100 text-blue-800 border-blue-300",completed:"bg-emerald-100 text-emerald-800 border-emerald-300",paused:"bg-amber-100 text-amber-800 border-amber-300"}},1994:function(e,t,a){"use strict";t.Z=function(){for(var e,t,a=0,s="",r=arguments.length;a<r;a++)(e=arguments[a])&&(t=function e(t){var a,s,r="";if("string"==typeof t||"number"==typeof t)r+=t;else if("object"==typeof t){if(Array.isArray(t)){var n=t.length;for(a=0;a<n;a++)t[a]&&(s=e(t[a]))&&(r&&(r+=" "),r+=s)}else for(s in t)t[s]&&(r&&(r+=" "),r+=s)}return r}(e))&&(s&&(s+=" "),s+=t);return s}}},function(e){e.O(0,[972,971,117,744],function(){return e(e.s=5794)}),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[309],{3358:function(e,t,s){Promise.resolve().then(s.t.bind(s,2972,23)),Promise.resolve().then(s.bind(s,5701)),Promise.resolve().then(s.bind(s,8013)),Promise.resolve().then(s.bind(s,1034)),Promise.resolve().then(s.bind(s,6682))},9205:function(e,t,s){"use strict";s.d(t,{Z:function(){return c}});var l=s(2265);let r=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),a=function(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return t.filter((e,t,s)=>!!e&&s.indexOf(e)===t).join(" ")};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,l.forwardRef)((e,t)=>{let{color:s="currentColor",size:r=24,strokeWidth:i=2,absoluteStrokeWidth:c,className:d="",children:o,iconNode:x,...m}=e;return(0,l.createElement)("svg",{ref:t,...n,width:r,height:r,stroke:s,strokeWidth:c?24*Number(i)/Number(r):i,className:a("lucide",d),...m},[...x.map(e=>{let[t,s]=e;return(0,l.createElement)(t,s)}),...Array.isArray(o)?o:[o]])}),c=(e,t)=>{let s=(0,l.forwardRef)((s,n)=>{let{className:c,...d}=s;return(0,l.createElement)(i,{ref:n,iconNode:t,className:a("lucide-".concat(r(e)),c),...d})});return s.displayName="".concat(e),s}},401:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},2934:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},519:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},1723:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},5846:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},8896:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]])},525:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]])},1239:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},5701:function(e,t,s){"use strict";s.d(t,{default:function(){return i}});var l=s(7437),r=s(8896),a=s(525),n=s(5846);function i(e){let{phase:t,showInvestorView:s=!1}=e,i=s&&t.investor_narrative?t.investor_narrative:t.narrative;return(0,l.jsx)("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-4",children:(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[(0,l.jsx)(r.Z,{className:"w-5 h-5 text-blue-600 mt-0.5 flex-shrink-0"}),(0,l.jsxs)("div",{className:"flex-1",children:[(0,l.jsx)("h3",{className:"font-bold text-blue-900 mb-2",children:t.title}),(0,l.jsx)("p",{className:"text-sm text-blue-800 leading-relaxed",children:i}),s&&t.competitive_angle&&(0,l.jsxs)("div",{className:"mt-3 flex items-start gap-2 text-xs text-blue-700",children:[(0,l.jsx)(a.Z,{className:"w-4 h-4 flex-shrink-0 mt-0.5"}),(0,l.jsxs)("p",{children:[(0,l.jsx)("strong",{children:"Competitive Advantage:"})," ",t.competitive_angle]})]}),s&&t.unlocks_next&&(0,l.jsxs)("div",{className:"mt-2 flex items-start gap-2 text-xs text-blue-600",children:[(0,l.jsx)(n.Z,{className:"w-4 h-4 flex-shrink-0 mt-0.5"}),(0,l.jsxs)("p",{children:[(0,l.jsx)("strong",{children:"Unlocks:"})," ",t.unlocks_next]})]})]})]})})}},8013:function(e,t,s){"use strict";s.d(t,{default:function(){return c}});var l=s(7437),r=s(1994),a=s(2934),n=s(519),i=s(1723);function c(e){let{phases:t}=e;return(0,l.jsxs)("div",{className:"relative py-8",children:[(0,l.jsxs)("div",{className:"hidden md:block",children:[(0,l.jsx)("div",{className:"absolute top-12 left-0 right-0 h-0.5 bg-slate-300"}),(0,l.jsx)("div",{className:"flex justify-between relative",children:t.map((e,t)=>(0,l.jsxs)("div",{className:"relative flex flex-col items-center",children:[(0,l.jsx)("div",{className:(0,r.Z)("w-4 h-4 rounded-full z-10 border-2","completed"===e.status?"bg-emerald-500 border-emerald-500":"active"===e.status?"bg-blue-500 border-blue-500":"bg-white border-slate-300"),children:"completed"===e.status&&(0,l.jsx)(a.Z,{className:"w-3 h-3 text-white"})}),(0,l.jsxs)("div",{className:"mt-4 text-center max-w-xs",children:[(0,l.jsx)("p",{className:"font-bold text-slate-900",children:e.title}),(0,l.jsx)("p",{className:"text-sm text-slate-600 mt-0.5",children:e.timeline}),(0,l.jsx)("p",{className:"text-xs text-slate-500 mt-1",children:e.success_metric}),e.confidence&&"completed"!==e.status&&(0,l.jsxs)("span",{className:(0,r.Z)("inline-block mt-2 text-xs px-2 py-1 rounded-full","high"===e.confidence?"bg-emerald-100 text-emerald-700":"medium"===e.confidence?"bg-amber-100 text-amber-700":"bg-slate-100 text-slate-600"),children:[e.confidence," confidence"]})]})]},e.id))})]}),(0,l.jsx)("div",{className:"md:hidden space-y-6",children:t.map((e,s)=>(0,l.jsxs)("div",{className:"flex gap-4",children:[(0,l.jsxs)("div",{className:"flex flex-col items-center",children:[(0,l.jsx)("div",{className:(0,r.Z)("w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0","completed"===e.status?"bg-emerald-500":"active"===e.status?"bg-blue-500":"bg-slate-300"),children:"completed"===e.status?(0,l.jsx)(a.Z,{className:"w-5 h-5 text-white"}):"active"===e.status?(0,l.jsx)(n.Z,{className:"w-5 h-5 text-white fill-current"}):(0,l.jsx)(i.Z,{className:"w-5 h-5 text-white"})}),s<t.length-1&&(0,l.jsx)("div",{className:"w-0.5 h-full bg-slate-300 flex-grow mt-2"})]}),(0,l.jsxs)("div",{className:"flex-1 pb-6",children:[(0,l.jsx)("p",{className:"font-bold text-slate-900",children:e.title}),(0,l.jsx)("p",{className:"text-sm text-slate-600 mt-0.5",children:e.timeline}),(0,l.jsx)("p",{className:"text-xs text-slate-500 mt-1",children:e.success_metric}),e.confidence&&"completed"!==e.status&&(0,l.jsxs)("span",{className:(0,r.Z)("inline-block mt-2 text-xs px-2 py-1 rounded-full","high"===e.confidence?"bg-emerald-100 text-emerald-700":"medium"===e.confidence?"bg-amber-100 text-amber-700":"bg-slate-100 text-slate-600"),children:[e.confidence," confidence"]})]})]},e.id))})]})}},1034:function(e,t,s){"use strict";s.d(t,{default:function(){return d}});var l=s(7437),r=s(1994),a=s(2934),n=s(8896),i=s(525),c=s(1239);function d(e){let{epic:t,showInvestorMetrics:s=!1}=e,d=Math.round(t.progress_pct/100*20),o="━".repeat(d)+"░".repeat(20-d);return(0,l.jsxs)("div",{className:"bg-white border border-slate-200 rounded-lg p-4 hover:border-blue-300 transition-colors",children:[(0,l.jsxs)("div",{className:"flex items-start justify-between gap-4 mb-3",children:[(0,l.jsx)("h4",{className:"font-semibold text-slate-900 flex-1",children:t.title}),(0,l.jsxs)("span",{className:(0,r.Z)("text-xs px-2 py-0.5 rounded-full border flex-shrink-0","completed"===t.status?"bg-emerald-50 text-emerald-700 border-emerald-200":"active"===t.status?"bg-blue-50 text-blue-700 border-blue-200":"bg-slate-50 text-slate-600 border-slate-200"),children:["completed"===t.status&&(0,l.jsx)(a.Z,{className:"w-3 h-3 inline mr-1"}),"completed"===t.status?"Completed":"active"===t.status?"Active":"Planned"]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,l.jsx)("span",{className:(0,r.Z)("font-mono text-xs tracking-tight","completed"===t.status?"text-emerald-500":"active"===t.status?"text-blue-500":"text-slate-400"),children:o}),(0,l.jsxs)("span",{className:"text-xs text-slate-500",children:[Math.round(t.progress_pct),"%"]})]}),(0,l.jsxs)("div",{className:"flex items-start gap-2 mb-2",children:[(0,l.jsx)(n.Z,{className:"w-4 h-4 text-slate-400 mt-0.5 flex-shrink-0"}),(0,l.jsx)("p",{className:"text-sm text-slate-700",children:t.user_benefit})]}),s&&t.business_impact&&(0,l.jsxs)("div",{className:"flex items-start gap-2 mb-2",children:[(0,l.jsx)(i.Z,{className:"w-4 h-4 text-blue-500 mt-0.5 flex-shrink-0"}),(0,l.jsxs)("p",{className:"text-xs text-blue-700",children:[(0,l.jsx)("strong",{children:"Impact:"})," ",t.business_impact]})]}),s&&t.kpi_target&&(0,l.jsxs)("div",{className:"flex items-start gap-2 mb-2",children:[(0,l.jsx)(n.Z,{className:"w-4 h-4 text-purple-500 mt-0.5 flex-shrink-0"}),(0,l.jsxs)("p",{className:"text-xs text-purple-700",children:[(0,l.jsx)("strong",{children:"Target:"})," ",t.kpi_target]})]}),s&&t.competitive_moat&&(0,l.jsxs)("div",{className:"flex items-start gap-2",children:[(0,l.jsx)(c.Z,{className:"w-4 h-4 text-amber-500 mt-0.5 flex-shrink-0"}),(0,l.jsxs)("p",{className:"text-xs text-amber-700",children:[(0,l.jsx)("strong",{children:"Moat:"})," ",t.competitive_moat]})]})]})}},6682:function(e,t,s){"use strict";s.d(t,{default:function(){return d}});var l=s(7437),r=s(9205);let a=(0,r.Z)("Twitter",[["path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z",key:"pff0z6"}]]);var n=s(401);let i=(0,r.Z)("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var c=s(2265);function d(e){let{url:t,text:s}=e,[r,d]=(0,c.useState)(!1),o=t||window.location.href,x=s||"Check out the VibeBusiness public roadmap",m=async()=>{try{await navigator.clipboard.writeText(o),d(!0),setTimeout(()=>d(!1),2e3)}catch(e){console.error("Failed to copy:",e)}};return(0,l.jsxs)("div",{className:"flex items-center gap-3",children:[(0,l.jsx)("span",{className:"text-sm font-medium text-slate-600",children:"Share:"}),(0,l.jsxs)("button",{onClick:()=>{let e="https://twitter.com/intent/tweet?text=".concat(encodeURIComponent(x),"&url=").concat(encodeURIComponent(o));window.open(e,"_blank","noopener,noreferrer")},className:"inline-flex items-center gap-2 px-4 py-2 bg-black text-white rounded-lg hover:bg-slate-800 transition-colors text-sm font-medium","aria-label":"Share on X/Twitter",children:[(0,l.jsx)(a,{className:"w-4 h-4"}),(0,l.jsx)("span",{children:"Share on X"})]}),(0,l.jsx)("button",{onClick:m,className:"inline-flex items-center gap-2 px-4 py-2 bg-slate-100 text-slate-700 rounded-lg hover:bg-slate-200 transition-colors text-sm font-medium","aria-label":"Copy link",children:r?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.Z,{className:"w-4 h-4 text-emerald-600"}),(0,l.jsx)("span",{className:"text-emerald-700",children:"Copied!"})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i,{className:"w-4 h-4"}),(0,l.jsx)("span",{children:"Copy Link"})]})})]})}},1994:function(e,t,s){"use strict";t.Z=function(){for(var e,t,s=0,l="",r=arguments.length;s<r;s++)(e=arguments[s])&&(t=function e(t){var s,l,r="";if("string"==typeof t||"number"==typeof t)r+=t;else if("object"==typeof t){if(Array.isArray(t)){var a=t.length;for(s=0;s<a;s++)t[s]&&(l=e(t[s]))&&(r&&(r+=" "),r+=l)}else for(l in t)t[l]&&(r&&(r+=" "),r+=l)}return r}(e))&&(l&&(l+=" "),l+=t);return l}}},function(e){e.O(0,[972,971,117,744],function(){return e(e.s=3358)}),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[309],{8070:function(e,t,s){Promise.resolve().then(s.t.bind(s,2972,23)),Promise.resolve().then(s.bind(s,5701)),Promise.resolve().then(s.bind(s,8013)),Promise.resolve().then(s.bind(s,1034)),Promise.resolve().then(s.bind(s,6682))},9205:function(e,t,s){"use strict";s.d(t,{Z:function(){return c}});var l=s(2265);let r=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),a=function(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return t.filter((e,t,s)=>!!e&&s.indexOf(e)===t).join(" ")};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,l.forwardRef)((e,t)=>{let{color:s="currentColor",size:r=24,strokeWidth:i=2,absoluteStrokeWidth:c,className:d="",children:o,iconNode:x,...m}=e;return(0,l.createElement)("svg",{ref:t,...n,width:r,height:r,stroke:s,strokeWidth:c?24*Number(i)/Number(r):i,className:a("lucide",d),...m},[...x.map(e=>{let[t,s]=e;return(0,l.createElement)(t,s)}),...Array.isArray(o)?o:[o]])}),c=(e,t)=>{let s=(0,l.forwardRef)((s,n)=>{let{className:c,...d}=s;return(0,l.createElement)(i,{ref:n,iconNode:t,className:a("lucide-".concat(r(e)),c),...d})});return s.displayName="".concat(e),s}},401:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},2934:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},519:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},1723:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},5846:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},8896:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]])},525:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]])},1239:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});let l=(0,s(9205).Z)("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},5701:function(e,t,s){"use strict";s.d(t,{default:function(){return i}});var l=s(7437),r=s(8896),a=s(525),n=s(5846);function i(e){let{phase:t,showInvestorView:s=!1}=e,i=s&&t.investor_narrative?t.investor_narrative:t.narrative;return(0,l.jsx)("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-4",children:(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[(0,l.jsx)(r.Z,{className:"w-5 h-5 text-blue-600 mt-0.5 flex-shrink-0"}),(0,l.jsxs)("div",{className:"flex-1",children:[(0,l.jsx)("h3",{className:"font-bold text-blue-900 mb-2",children:t.title}),(0,l.jsx)("p",{className:"text-sm text-blue-800 leading-relaxed",children:i}),s&&t.competitive_angle&&(0,l.jsxs)("div",{className:"mt-3 flex items-start gap-2 text-xs text-blue-700",children:[(0,l.jsx)(a.Z,{className:"w-4 h-4 flex-shrink-0 mt-0.5"}),(0,l.jsxs)("p",{children:[(0,l.jsx)("strong",{children:"Competitive Advantage:"})," ",t.competitive_angle]})]}),s&&t.unlocks_next&&(0,l.jsxs)("div",{className:"mt-2 flex items-start gap-2 text-xs text-blue-600",children:[(0,l.jsx)(n.Z,{className:"w-4 h-4 flex-shrink-0 mt-0.5"}),(0,l.jsxs)("p",{children:[(0,l.jsx)("strong",{children:"Unlocks:"})," ",t.unlocks_next]})]})]})]})})}},8013:function(e,t,s){"use strict";s.d(t,{default:function(){return c}});var l=s(7437),r=s(1994),a=s(2934),n=s(519),i=s(1723);function c(e){let{phases:t}=e;return(0,l.jsxs)("div",{className:"relative py-8",children:[(0,l.jsxs)("div",{className:"hidden md:block",children:[(0,l.jsx)("div",{className:"absolute top-12 left-0 right-0 h-0.5 bg-slate-300"}),(0,l.jsx)("div",{className:"flex justify-between relative",children:t.map((e,t)=>(0,l.jsxs)("div",{className:"relative flex flex-col items-center",children:[(0,l.jsx)("div",{className:(0,r.Z)("w-4 h-4 rounded-full z-10 border-2","completed"===e.status?"bg-emerald-500 border-emerald-500":"active"===e.status?"bg-blue-500 border-blue-500":"bg-white border-slate-300"),children:"completed"===e.status&&(0,l.jsx)(a.Z,{className:"w-3 h-3 text-white"})}),(0,l.jsxs)("div",{className:"mt-4 text-center max-w-xs",children:[(0,l.jsx)("p",{className:"font-bold text-slate-900",children:e.title}),(0,l.jsx)("p",{className:"text-sm text-slate-600 mt-0.5",children:e.timeline}),(0,l.jsx)("p",{className:"text-xs text-slate-500 mt-1",children:e.success_metric}),e.confidence&&"completed"!==e.status&&(0,l.jsxs)("span",{className:(0,r.Z)("inline-block mt-2 text-xs px-2 py-1 rounded-full","high"===e.confidence?"bg-emerald-100 text-emerald-700":"medium"===e.confidence?"bg-amber-100 text-amber-700":"bg-slate-100 text-slate-600"),children:[e.confidence," confidence"]})]})]},e.id))})]}),(0,l.jsx)("div",{className:"md:hidden space-y-6",children:t.map((e,s)=>(0,l.jsxs)("div",{className:"flex gap-4",children:[(0,l.jsxs)("div",{className:"flex flex-col items-center",children:[(0,l.jsx)("div",{className:(0,r.Z)("w-8 h-8 rounded-full flex items-center justify-center flex-shrink-0","completed"===e.status?"bg-emerald-500":"active"===e.status?"bg-blue-500":"bg-slate-300"),children:"completed"===e.status?(0,l.jsx)(a.Z,{className:"w-5 h-5 text-white"}):"active"===e.status?(0,l.jsx)(n.Z,{className:"w-5 h-5 text-white fill-current"}):(0,l.jsx)(i.Z,{className:"w-5 h-5 text-white"})}),s<t.length-1&&(0,l.jsx)("div",{className:"w-0.5 h-full bg-slate-300 flex-grow mt-2"})]}),(0,l.jsxs)("div",{className:"flex-1 pb-6",children:[(0,l.jsx)("p",{className:"font-bold text-slate-900",children:e.title}),(0,l.jsx)("p",{className:"text-sm text-slate-600 mt-0.5",children:e.timeline}),(0,l.jsx)("p",{className:"text-xs text-slate-500 mt-1",children:e.success_metric}),e.confidence&&"completed"!==e.status&&(0,l.jsxs)("span",{className:(0,r.Z)("inline-block mt-2 text-xs px-2 py-1 rounded-full","high"===e.confidence?"bg-emerald-100 text-emerald-700":"medium"===e.confidence?"bg-amber-100 text-amber-700":"bg-slate-100 text-slate-600"),children:[e.confidence," confidence"]})]})]},e.id))})]})}},1034:function(e,t,s){"use strict";s.d(t,{default:function(){return d}});var l=s(7437),r=s(1994),a=s(2934),n=s(8896),i=s(525),c=s(1239);function d(e){let{epic:t,showInvestorMetrics:s=!1}=e,d=Math.round(t.progress_pct/100*20),o="━".repeat(d)+"░".repeat(20-d);return(0,l.jsxs)("div",{className:"bg-white border border-slate-200 rounded-lg p-4 hover:border-blue-300 transition-colors",children:[(0,l.jsxs)("div",{className:"flex items-start justify-between gap-4 mb-3",children:[(0,l.jsx)("h4",{className:"font-semibold text-slate-900 flex-1",children:t.title}),(0,l.jsxs)("span",{className:(0,r.Z)("text-xs px-2 py-0.5 rounded-full border flex-shrink-0","completed"===t.status?"bg-emerald-50 text-emerald-700 border-emerald-200":"active"===t.status?"bg-blue-50 text-blue-700 border-blue-200":"bg-slate-50 text-slate-600 border-slate-200"),children:["completed"===t.status&&(0,l.jsx)(a.Z,{className:"w-3 h-3 inline mr-1"}),"completed"===t.status?"Completed":"active"===t.status?"Active":"Planned"]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,l.jsx)("span",{className:(0,r.Z)("font-mono text-xs tracking-tight","completed"===t.status?"text-emerald-500":"active"===t.status?"text-blue-500":"text-slate-400"),children:o}),(0,l.jsxs)("span",{className:"text-xs text-slate-500",children:[Math.round(t.progress_pct),"%"]})]}),(0,l.jsxs)("div",{className:"flex items-start gap-2 mb-2",children:[(0,l.jsx)(n.Z,{className:"w-4 h-4 text-slate-400 mt-0.5 flex-shrink-0"}),(0,l.jsx)("p",{className:"text-sm text-slate-700",children:t.user_benefit})]}),s&&t.business_impact&&(0,l.jsxs)("div",{className:"flex items-start gap-2 mb-2",children:[(0,l.jsx)(i.Z,{className:"w-4 h-4 text-blue-500 mt-0.5 flex-shrink-0"}),(0,l.jsxs)("p",{className:"text-xs text-blue-700",children:[(0,l.jsx)("strong",{children:"Impact:"})," ",t.business_impact]})]}),s&&t.kpi_target&&(0,l.jsxs)("div",{className:"flex items-start gap-2 mb-2",children:[(0,l.jsx)(n.Z,{className:"w-4 h-4 text-purple-500 mt-0.5 flex-shrink-0"}),(0,l.jsxs)("p",{className:"text-xs text-purple-700",children:[(0,l.jsx)("strong",{children:"Target:"})," ",t.kpi_target]})]}),s&&t.competitive_moat&&(0,l.jsxs)("div",{className:"flex items-start gap-2",children:[(0,l.jsx)(c.Z,{className:"w-4 h-4 text-amber-500 mt-0.5 flex-shrink-0"}),(0,l.jsxs)("p",{className:"text-xs text-amber-700",children:[(0,l.jsx)("strong",{children:"Moat:"})," ",t.competitive_moat]})]})]})}},6682:function(e,t,s){"use strict";s.d(t,{default:function(){return d}});var l=s(7437),r=s(9205);let a=(0,r.Z)("Twitter",[["path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z",key:"pff0z6"}]]);var n=s(401);let i=(0,r.Z)("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var c=s(2265);function d(e){let{url:t,text:s}=e,[r,d]=(0,c.useState)(!1),o=t||window.location.href,x=s||"Check out the VibeBusiness public roadmap",m=async()=>{try{await navigator.clipboard.writeText(o),d(!0),setTimeout(()=>d(!1),2e3)}catch(e){console.error("Failed to copy:",e)}};return(0,l.jsxs)("div",{className:"flex items-center gap-3",children:[(0,l.jsx)("span",{className:"text-sm font-medium text-slate-600",children:"Share:"}),(0,l.jsxs)("button",{onClick:()=>{let e="https://twitter.com/intent/tweet?text=".concat(encodeURIComponent(x),"&url=").concat(encodeURIComponent(o));window.open(e,"_blank","noopener,noreferrer")},className:"inline-flex items-center gap-2 px-4 py-2 bg-black text-white rounded-lg hover:bg-slate-800 transition-colors text-sm font-medium","aria-label":"Share on X/Twitter",children:[(0,l.jsx)(a,{className:"w-4 h-4"}),(0,l.jsx)("span",{children:"Share on X"})]}),(0,l.jsx)("button",{onClick:m,className:"inline-flex items-center gap-2 px-4 py-2 bg-slate-100 text-slate-700 rounded-lg hover:bg-slate-200 transition-colors text-sm font-medium","aria-label":"Copy link",children:r?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.Z,{className:"w-4 h-4 text-emerald-600"}),(0,l.jsx)("span",{className:"text-emerald-700",children:"Copied!"})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i,{className:"w-4 h-4"}),(0,l.jsx)("span",{children:"Copy Link"})]})})]})}},1994:function(e,t,s){"use strict";t.Z=function(){for(var e,t,s=0,l="",r=arguments.length;s<r;s++)(e=arguments[s])&&(t=function e(t){var s,l,r="";if("string"==typeof t||"number"==typeof t)r+=t;else if("object"==typeof t){if(Array.isArray(t)){var a=t.length;for(s=0;s<a;s++)t[s]&&(l=e(t[s]))&&(r&&(r+=" "),r+=l)}else for(l in t)t[l]&&(r&&(r+=" "),r+=l)}return r}(e))&&(l&&(l+=" "),l+=t);return l}}},function(e){e.O(0,[972,971,117,744],function(){return e(e.s=8070)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[943],{7197:function(e,t,a){Promise.resolve().then(a.bind(a,1259)),Promise.resolve().then(a.bind(a,3032))},9205:function(e,t,a){"use strict";a.d(t,{Z:function(){return d}});var r=a(2265);let s=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),n=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return t.filter((e,t,a)=>!!e&&a.indexOf(e)===t).join(" ")};var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,r.forwardRef)((e,t)=>{let{color:a="currentColor",size:s=24,strokeWidth:i=2,absoluteStrokeWidth:d,className:c="",children:o,iconNode:u,...x}=e;return(0,r.createElement)("svg",{ref:t,...l,width:s,height:s,stroke:a,strokeWidth:d?24*Number(i)/Number(s):i,className:n("lucide",c),...x},[...u.map(e=>{let[t,a]=e;return(0,r.createElement)(t,a)}),...Array.isArray(o)?o:[o]])}),d=(e,t)=>{let a=(0,r.forwardRef)((a,l)=>{let{className:d,...c}=a;return(0,r.createElement)(i,{ref:l,iconNode:t,className:n("lucide-".concat(s(e)),d),...c})});return a.displayName="".concat(e),a}},6221:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("BarChart3",[["path",{d:"M3 3v18h18",key:"1s2lah"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]])},2222:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},8220:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("FlaskConical",[["path",{d:"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2",key:"pzvekw"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M7 16h10",key:"wp8him"}]])},5621:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]])},5466:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]])},2048:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]])},2718:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]])},8728:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Settings",[["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"}]])},2023:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]])},5929:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},8896:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]])},7648:function(e,t,a){"use strict";a.d(t,{default:function(){return s.a}});var r=a(2972),s=a.n(r)},9376:function(e,t,a){"use strict";var r=a(5475);a.o(r,"usePathname")&&a.d(t,{usePathname:function(){return r.usePathname}}),a.o(r,"useRouter")&&a.d(t,{useRouter:function(){return r.useRouter}})},1259:function(e,t,a){"use strict";a.d(t,{default:function(){return f}});var r=a(7437),s=a(7648),n=a(9376),l=a(5929),i=a(5466),d=a(2048),c=a(8896),o=a(8220),u=a(2718),x=a(5621),h=a(8728),p=a(2222),m=a(2023),g=a(1994);let b=[{href:"/briefing",label:"Briefing",icon:(0,r.jsx)(l.Z,{size:18})},{href:"/kanban",label:"Dashboard",icon:(0,r.jsx)(i.Z,{className:"w-5 h-5"})},{href:"/roadmap",label:"Roadmap",icon:(0,r.jsx)(d.Z,{className:"w-5 h-5"})},{href:"/goals",label:"Goals",icon:(0,r.jsx)(c.Z,{className:"w-5 h-5"})},{href:"/hypotheses",label:"Hypotheses",icon:(0,r.jsx)(o.Z,{className:"w-5 h-5"})},{href:"/social",label:"Social",icon:(0,r.jsx)(u.Z,{className:"w-5 h-5"})},{href:"/sessions",label:"Sessions",icon:(0,r.jsx)(x.Z,{className:"w-5 h-5"})},{href:"/settings",label:"Settings",icon:(0,r.jsx)(h.Z,{className:"w-5 h-5"})}];function f(e){let{children:t}=e,a=(0,n.usePathname)();return(0,r.jsxs)("div",{className:"min-h-screen flex",children:[(0,r.jsxs)("aside",{className:"w-64 bg-slate-900 text-white flex flex-col",children:[(0,r.jsx)("div",{className:"p-4 border-b border-slate-700",children:(0,r.jsxs)(s.default,{href:"/",className:"flex items-center gap-2",children:[(0,r.jsx)("div",{className:"w-10 h-10 bg-emerald-500 rounded-lg flex items-center justify-center",children:(0,r.jsx)(p.Z,{className:"w-6 h-6 text-white"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"font-bold text-lg leading-tight",children:"Analyst"}),(0,r.jsx)("p",{className:"text-xs text-slate-400",children:"AI Product Manager"})]})]})}),(0,r.jsx)("nav",{className:"flex-1 p-4",children:(0,r.jsx)("ul",{className:"space-y-1",children:b.map(e=>{let t=a.startsWith(e.href);return(0,r.jsx)("li",{children:(0,r.jsxs)(s.default,{href:e.href,className:(0,g.Z)("flex items-center gap-3 px-3 py-2 rounded-lg transition-colors",t?"bg-slate-800 text-white":"text-slate-400 hover:text-white hover:bg-slate-800"),children:[e.icon,(0,r.jsx)("span",{children:e.label})]})},e.href)})})}),(0,r.jsx)("div",{className:"p-4 border-t border-slate-700",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs text-slate-500",children:[(0,r.jsx)(m.Z,{className:"w-4 h-4"}),(0,r.jsx)("span",{children:"Powered by Claude"})]})})]}),(0,r.jsx)("main",{className:"flex-1 overflow-auto",children:t})]})}},3032:function(e,t,a){"use strict";a.d(t,{default:function(){return f}});var r=a(7437),s=a(2265);let n=(0,a(9205).Z)("List",[["line",{x1:"8",x2:"21",y1:"6",y2:"6",key:"7ey8pc"}],["line",{x1:"8",x2:"21",y1:"12",y2:"12",key:"rjfblc"}],["line",{x1:"8",x2:"21",y1:"18",y2:"18",key:"c3b1m8"}],["line",{x1:"3",x2:"3.01",y1:"6",y2:"6",key:"1g7gq3"}],["line",{x1:"3",x2:"3.01",y1:"12",y2:"12",key:"1pjlvk"}],["line",{x1:"3",x2:"3.01",y1:"18",y2:"18",key:"28t2mc"}]]);var l=a(6221),i=a(1994),d=a(7648),c=a(6153);function o(e){let{progress:t,status:a}=e,s=Math.round(t.progress_pct/100*8),n="█".repeat(s)+"░".repeat(8-s);return(0,r.jsx)("span",{className:(0,i.Z)("font-mono text-xs tracking-tight","completed"===a?"text-emerald-500":"active"===a?"text-blue-500":"text-slate-400"),children:n})}function u(e){let{epic:t,index:a,progress:s}=e,n=t.tags.includes("needs-review");return(0,r.jsx)(d.default,{href:"/roadmap/".concat(t.id),children:(0,r.jsxs)("div",{className:(0,i.Z)("flex items-center gap-4 px-4 py-3 hover:bg-slate-50 transition-colors rounded-lg group",n&&"border border-dashed border-slate-300"),children:[(0,r.jsxs)("span",{className:"text-sm font-bold text-slate-400 w-8 text-right flex-shrink-0",children:["#",a]}),(0,r.jsxs)("span",{className:"text-sm font-medium text-slate-900 flex-1 min-w-0 truncate group-hover:text-blue-600",children:[t.title,n&&(0,r.jsx)("span",{className:"ml-2 text-xs text-slate-400 font-normal italic",children:"draft"})]}),(0,r.jsx)(o,{progress:s,status:t.status}),(0,r.jsxs)("span",{className:"text-xs text-slate-500 w-12 text-center flex-shrink-0",children:[s.shipped_count,"/",s.total_ideas]}),(0,r.jsx)("span",{className:(0,i.Z)("text-xs px-2 py-0.5 rounded-full border flex-shrink-0 w-20 text-center",c.xP[t.status]),children:c.GK[t.status]}),(0,r.jsx)("span",{className:(0,i.Z)("text-xs px-2 py-0.5 rounded-full flex-shrink-0 hidden sm:inline-block",c.pG[t.category]),children:c.Hs[t.category]})]})})}function x(e){let{goalGroups:t,progressMap:a}=e;if(0===t.length)return(0,r.jsx)("div",{className:"bg-white rounded-lg border border-slate-200 p-12 text-center",children:(0,r.jsx)("p",{className:"text-slate-500",children:"No epics to display."})});let s={total_ideas:0,by_stage:{},shipped_count:0,progress_pct:0,effort_total:0,effort_completed:0},n=0;return(0,r.jsx)("div",{className:"space-y-6",children:t.map(e=>{var t;return(0,r.jsxs)("div",{className:"bg-white rounded-lg border border-slate-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-slate-100",children:[(0,r.jsx)("h3",{className:"text-sm font-semibold text-slate-700",children:e.goalId?"Goal: ".concat(e.goalTitle):e.goalTitle}),(0,r.jsxs)("span",{className:"text-xs text-slate-400",children:[e.epics.length," epic",1!==e.epics.length?"s":""," \xb7 ",e.totalIdeas," idea",1!==e.totalIdeas?"s":""]})]}),(0,r.jsx)("div",{className:"divide-y divide-slate-50",children:e.epics.map(e=>(n++,(0,r.jsx)(u,{epic:e,index:n,progress:a[e.id]||s},e.id)))})]},null!==(t=e.goalId)&&void 0!==t?t:"orphan")})})}function h(e){return new Date(e+"T00:00:00")}function p(e,t){return Math.round((t.getTime()-e.getTime())/864e5)}let m={planned:{bg:"bg-slate-200",fill:"bg-slate-400"},active:{bg:"bg-blue-100",fill:"bg-blue-500"},completed:{bg:"bg-emerald-100",fill:"bg-emerald-500"},paused:{bg:"bg-amber-100",fill:"bg-amber-500"}};function g(e){let{epic:t,progress:a,dates:s,rangeStart:n,totalDays:l}=e,c=h(s.start),o=h(s.end),u=p(n,c),x=Math.max(1,p(c,o)),g=Math.max(0,u/l*100),b=m[t.status],f=null!==t.target_start||null!==t.target_end;return(0,r.jsx)(d.default,{href:"/roadmap/".concat(t.id),className:"group",children:(0,r.jsxs)("div",{className:"flex items-center h-10 relative",children:[(0,r.jsx)("div",{className:"w-48 flex-shrink-0 pr-3 text-right",children:(0,r.jsx)("span",{className:"text-xs font-medium text-slate-700 truncate block group-hover:text-blue-600",children:t.title})}),(0,r.jsx)("div",{className:"flex-1 relative h-7",children:(0,r.jsxs)("div",{className:(0,i.Z)("absolute top-0 h-full rounded transition-colors",b.bg,"group-hover:ring-2 group-hover:ring-blue-300"),style:{left:"".concat(g,"%"),width:"".concat(Math.max(Math.min(100-g,x/l*100),1),"%")},children:[a.progress_pct>0&&(0,r.jsx)("div",{className:(0,i.Z)("absolute left-0 top-0 h-full rounded",b.fill),style:{width:"".concat(a.progress_pct,"%")}}),(0,r.jsxs)("div",{className:"absolute inset-0 flex items-center justify-between px-2 text-[10px] leading-none z-10",children:[(0,r.jsxs)("span",{className:"font-medium text-slate-700 truncate",children:[a.shipped_count,"/",a.total_ideas]}),f&&(0,r.jsx)("span",{className:"text-slate-400",title:"Manual dates",children:"M"})]})]})})]})})}function b(e){let{goalGroups:t,progressMap:a,dateEstimates:s}=e,n=[];for(let e of Object.values(s))n.push(h(e.start)),n.push(h(e.end));if(0===n.length)return(0,r.jsx)("div",{className:"bg-white rounded-lg border border-slate-200 p-12 text-center",children:(0,r.jsx)("p",{className:"text-slate-500",children:"No date estimates available for Gantt view."})});let l=new Date(Math.min(...n.map(e=>e.getTime()))),i=new Date(Math.max(...n.map(e=>e.getTime()))),d=function(e){let t=new Date(e),a=t.getDay();return t.setDate(t.getDate()+(0===a?-6:1-a)),t}(new Date(l.getTime()-6048e5)),c=new Date(i.getTime()+6048e5),o=Math.max(1,p(d,c)),u=[],x=new Date(d);for(;x<=c;)u.push(new Date(x)),x.setDate(x.getDate()+7);let m=new Date;m.setHours(0,0,0,0);let b=p(d,m)/o*100,f=b>=0&&b<=100,v={total_ideas:0,by_stage:{},shipped_count:0,progress_pct:0,effort_total:0,effort_completed:0};return(0,r.jsx)("div",{className:"bg-white rounded-lg border border-slate-200 overflow-x-auto",children:(0,r.jsxs)("div",{className:"min-w-[700px]",children:[(0,r.jsxs)("div",{className:"flex items-center border-b border-slate-100 sticky top-0 bg-white z-20",children:[(0,r.jsx)("div",{className:"w-48 flex-shrink-0 px-4 py-2",children:(0,r.jsx)("span",{className:"text-xs font-medium text-slate-400 uppercase",children:"Epic"})}),(0,r.jsx)("div",{className:"flex-1 relative h-8 flex",children:u.map((e,t)=>{let a=p(d,e)/o*100;return(0,r.jsx)("div",{className:"absolute top-0 h-full border-l border-slate-100 px-1 flex items-center",style:{left:"".concat(a,"%")},children:(0,r.jsx)("span",{className:"text-[10px] text-slate-400 whitespace-nowrap",children:e.toLocaleDateString("en-US",{month:"short",day:"numeric"})})},t)})})]}),t.map(e=>{var t;return(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"flex items-center border-b border-slate-100 bg-slate-50",children:(0,r.jsx)("div",{className:"px-4 py-2",children:(0,r.jsx)("span",{className:"text-xs font-semibold text-slate-600",children:e.goalId?"Goal: ".concat(e.goalTitle):e.goalTitle})})}),(0,r.jsxs)("div",{className:"relative",children:[u.map((e,t)=>{let a=p(d,e)/o*100;return(0,r.jsx)("div",{className:"absolute top-0 bottom-0 border-l border-slate-50",style:{left:"calc(".concat(a,"% + 192px)")}},t)}),f&&(0,r.jsx)("div",{className:"absolute top-0 bottom-0 border-l-2 border-dashed border-red-400 z-10",style:{left:"calc(".concat(b,"% + 192px)")},title:"Today"}),e.epics.map(e=>{let t=s[e.id];return t?(0,r.jsx)(g,{epic:e,progress:a[e.id]||v,dates:t,rangeStart:d,totalDays:o},e.id):null})]})]},null!==(t=e.goalId)&&void 0!==t?t:"orphan")}),(0,r.jsxs)("div",{className:"flex items-center gap-4 px-4 py-3 border-t border-slate-100 text-[10px] text-slate-500",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("span",{className:"w-3 h-2 bg-slate-200 rounded inline-block"})," Planned"]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("span",{className:"w-3 h-2 bg-blue-100 rounded inline-block"})," Active"]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("span",{className:"w-3 h-2 bg-emerald-100 rounded inline-block"})," Completed"]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("span",{className:"w-3 h-2 bg-amber-100 rounded inline-block"})," Paused"]}),(0,r.jsxs)("span",{className:"flex items-center gap-1 ml-2",children:[(0,r.jsx)("span",{className:"border-l-2 border-dashed border-red-400 h-3 inline-block"})," Today"]}),(0,r.jsxs)("span",{className:"flex items-center gap-1 ml-2",children:[(0,r.jsx)("span",{className:"text-slate-400 font-medium",children:"M"})," = Manual dates"]})]})]})})}function f(e){let{goalGroups:t,progressMap:a,dateEstimates:d}=e,[c,o]=(0,s.useState)("list");return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-1 mb-4 bg-slate-100 rounded-lg p-1 w-fit",children:[(0,r.jsxs)("button",{onClick:()=>o("list"),className:(0,i.Z)("flex items-center gap-1.5 px-3 py-1.5 rounded-md text-sm font-medium transition-colors","list"===c?"bg-white text-slate-900 shadow-sm":"text-slate-500 hover:text-slate-700"),children:[(0,r.jsx)(n,{className:"w-4 h-4"}),"List"]}),(0,r.jsxs)("button",{onClick:()=>o("gantt"),className:(0,i.Z)("flex items-center gap-1.5 px-3 py-1.5 rounded-md text-sm font-medium transition-colors","gantt"===c?"bg-white text-slate-900 shadow-sm":"text-slate-500 hover:text-slate-700"),children:[(0,r.jsx)(l.Z,{className:"w-4 h-4"}),"Gantt"]})]}),"list"===c?(0,r.jsx)(x,{goalGroups:t,progressMap:a}):(0,r.jsx)(b,{goalGroups:t,progressMap:a,dateEstimates:d})]})}},6153:function(e,t,a){"use strict";a.d(t,{G:function(){return i},GK:function(){return M},Gs:function(){return o},Hs:function(){return r},PN:function(){return p},PW:function(){return w},Q_:function(){return m},R$:function(){return j},Vr:function(){return u},Wb:function(){return h},aR:function(){return x},bi:function(){return d},en:function(){return y},i2:function(){return v},kT:function(){return g},l5:function(){return b},lE:function(){return k},lv:function(){return l},pG:function(){return s},rF:function(){return c},tV:function(){return f},tl:function(){return N},xP:function(){return _},yb:function(){return n}});let r={product:"Product",ux_design:"UX/Design",growth:"Growth",performance:"Performance",tech_debt:"Tech Debt",security:"Security",infrastructure:"Infrastructure",content:"Content",analytics:"Analytics",integration:"Integration"},s={product:"bg-blue-100 text-blue-800",ux_design:"bg-purple-100 text-purple-800",growth:"bg-green-100 text-green-800",performance:"bg-orange-100 text-orange-800",tech_debt:"bg-yellow-100 text-yellow-800",security:"bg-red-100 text-red-800",infrastructure:"bg-gray-100 text-gray-800",content:"bg-pink-100 text-pink-800",analytics:"bg-cyan-100 text-cyan-800",integration:"bg-indigo-100 text-indigo-800"},n={inbox:"Inbox",under_review:"Under Review",approved:"Approved",in_progress:"In Progress",testing:"Testing",shipped:"Shipped",deferred:"Deferred",rejected:"Rejected",rolled_back:"Rolled Back"},l={inbox:"bg-amber-500",under_review:"bg-blue-500",approved:"bg-emerald-500",in_progress:"bg-violet-500",testing:"bg-cyan-500",shipped:"bg-green-500",deferred:"bg-gray-500",rejected:"bg-red-500",rolled_back:"bg-orange-500"},i=["inbox","under_review","approved","in_progress","testing","shipped"],d={xs:"XS",s:"S",m:"M",l:"L",xl:"XL"},c={critical:"Critical",high:"High",medium:"Medium",low:"Low"},o={critical:"bg-red-100 text-red-800 border-red-300",high:"bg-orange-100 text-orange-800 border-orange-300",medium:"bg-yellow-100 text-yellow-800 border-yellow-300",low:"bg-gray-100 text-gray-800 border-gray-300"},u={codebase_analysis:"Codebase Analysis",metrics_review:"Metrics Review",market_research:"Market Research",seo_audit:"SEO Audit",growth_distribution:"Growth Distribution",manual:"Manual"},x={pending:"bg-slate-100 text-slate-700",validated:"bg-emerald-100 text-emerald-800",needs_investigation:"bg-amber-100 text-amber-800",inconclusive:"bg-slate-100 text-slate-600",invalidated:"bg-red-100 text-red-800"},h={pending:"Pending",validated:"Validated",needs_investigation:"Needs Investigation",inconclusive:"Inconclusive",invalidated:"Invalidated"},p={ship:"Ship",update:"Update",milestone:"Milestone",digest:"Digest",manual:"Manual",thread:"Thread",insight:"Insight"},m={ship:"bg-green-100 text-green-800",update:"bg-blue-100 text-blue-800",milestone:"bg-amber-100 text-amber-800",digest:"bg-purple-100 text-purple-800",manual:"bg-slate-100 text-slate-800",thread:"bg-indigo-100 text-indigo-800",insight:"bg-cyan-100 text-cyan-800"},g={acquisition:"Acquisition",activation:"Activation",retention:"Retention",revenue:"Revenue",referral:"Referral"},b={acquisition:"bg-blue-100 text-blue-800",activation:"bg-emerald-100 text-emerald-800",retention:"bg-purple-100 text-purple-800",revenue:"bg-amber-100 text-amber-800",referral:"bg-pink-100 text-pink-800"},f={on_track:"On Track",at_risk:"At Risk",behind:"Behind",achieved:"Achieved"},v={on_track:"bg-emerald-100 text-emerald-800 border-emerald-300",at_risk:"bg-amber-100 text-amber-800 border-amber-300",behind:"bg-red-100 text-red-800 border-red-300",achieved:"bg-blue-100 text-blue-800 border-blue-300"},y={manual:"Manual",rest_api:"REST API",posthog:"PostHog",firestore:"Firestore",stripe:"Stripe",whatsapp:"WhatsApp"},j={stated:"Stated",testing:"Testing",validated:"Validated",invalidated:"Invalidated",deferred:"Deferred"},k={stated:"bg-slate-100 text-slate-800 border-slate-300",testing:"bg-amber-100 text-amber-800 border-amber-300",validated:"bg-emerald-100 text-emerald-800 border-emerald-300",invalidated:"bg-red-100 text-red-800 border-red-300",deferred:"bg-slate-100 text-slate-500 border-slate-200"},w={acquisition:"Acquisition",engagement:"Engagement",conversion:"Conversion",monetization:"Monetization"},N={acquisition:"bg-blue-100 text-blue-800",engagement:"bg-purple-100 text-purple-800",conversion:"bg-amber-100 text-amber-800",monetization:"bg-emerald-100 text-emerald-800"},M={planned:"Planned",active:"Active",completed:"Completed",paused:"Paused"},_={planned:"bg-slate-100 text-slate-700 border-slate-300",active:"bg-blue-100 text-blue-800 border-blue-300",completed:"bg-emerald-100 text-emerald-800 border-emerald-300",paused:"bg-amber-100 text-amber-800 border-amber-300"}},1994:function(e,t,a){"use strict";t.Z=function(){for(var e,t,a=0,r="",s=arguments.length;a<s;a++)(e=arguments[a])&&(t=function e(t){var a,r,s="";if("string"==typeof t||"number"==typeof t)s+=t;else if("object"==typeof t){if(Array.isArray(t)){var n=t.length;for(a=0;a<n;a++)t[a]&&(r=e(t[a]))&&(s&&(s+=" "),s+=r)}else for(r in t)t[r]&&(s&&(s+=" "),s+=r)}return s}(e))&&(r&&(r+=" "),r+=t);return r}}},function(e){e.O(0,[972,971,117,744],function(){return e(e.s=7197)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[826],{1073:function(e,t,a){Promise.resolve().then(a.bind(a,1259)),Promise.resolve().then(a.bind(a,6682))},9205:function(e,t,a){"use strict";a.d(t,{Z:function(){return c}});var r=a(2265);let n=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),s=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return t.filter((e,t,a)=>!!e&&a.indexOf(e)===t).join(" ")};var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,r.forwardRef)((e,t)=>{let{color:a="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:c,className:o="",children:h,iconNode:d,...u}=e;return(0,r.createElement)("svg",{ref:t,...l,width:n,height:n,stroke:a,strokeWidth:c?24*Number(i)/Number(n):i,className:s("lucide",o),...u},[...d.map(e=>{let[t,a]=e;return(0,r.createElement)(t,a)}),...Array.isArray(h)?h:[h]])}),c=(e,t)=>{let a=(0,r.forwardRef)((a,l)=>{let{className:c,...o}=a;return(0,r.createElement)(i,{ref:l,iconNode:t,className:s("lucide-".concat(n(e)),c),...o})});return a.displayName="".concat(e),a}},2222:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},401:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},8220:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("FlaskConical",[["path",{d:"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2",key:"pzvekw"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M7 16h10",key:"wp8him"}]])},5621:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]])},5466:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]])},2048:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]])},2718:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]])},8728:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Settings",[["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"}]])},2023:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]])},5929:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},8896:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]])},7648:function(e,t,a){"use strict";a.d(t,{default:function(){return n.a}});var r=a(2972),n=a.n(r)},9376:function(e,t,a){"use strict";var r=a(5475);a.o(r,"usePathname")&&a.d(t,{usePathname:function(){return r.usePathname}}),a.o(r,"useRouter")&&a.d(t,{useRouter:function(){return r.useRouter}})},1259:function(e,t,a){"use strict";a.d(t,{default:function(){return k}});var r=a(7437),n=a(7648),s=a(9376),l=a(5929),i=a(5466),c=a(2048),o=a(8896),h=a(8220),d=a(2718),u=a(5621),f=a(8728),x=a(2222),p=a(2023),m=a(1994);let y=[{href:"/briefing",label:"Briefing",icon:(0,r.jsx)(l.Z,{size:18})},{href:"/kanban",label:"Dashboard",icon:(0,r.jsx)(i.Z,{className:"w-5 h-5"})},{href:"/roadmap",label:"Roadmap",icon:(0,r.jsx)(c.Z,{className:"w-5 h-5"})},{href:"/goals",label:"Goals",icon:(0,r.jsx)(o.Z,{className:"w-5 h-5"})},{href:"/hypotheses",label:"Hypotheses",icon:(0,r.jsx)(h.Z,{className:"w-5 h-5"})},{href:"/social",label:"Social",icon:(0,r.jsx)(d.Z,{className:"w-5 h-5"})},{href:"/sessions",label:"Sessions",icon:(0,r.jsx)(u.Z,{className:"w-5 h-5"})},{href:"/settings",label:"Settings",icon:(0,r.jsx)(f.Z,{className:"w-5 h-5"})}];function k(e){let{children:t}=e,a=(0,s.usePathname)();return(0,r.jsxs)("div",{className:"min-h-screen flex",children:[(0,r.jsxs)("aside",{className:"w-64 bg-slate-900 text-white flex flex-col",children:[(0,r.jsx)("div",{className:"p-4 border-b border-slate-700",children:(0,r.jsxs)(n.default,{href:"/",className:"flex items-center gap-2",children:[(0,r.jsx)("div",{className:"w-10 h-10 bg-emerald-500 rounded-lg flex items-center justify-center",children:(0,r.jsx)(x.Z,{className:"w-6 h-6 text-white"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"font-bold text-lg leading-tight",children:"Analyst"}),(0,r.jsx)("p",{className:"text-xs text-slate-400",children:"AI Product Manager"})]})]})}),(0,r.jsx)("nav",{className:"flex-1 p-4",children:(0,r.jsx)("ul",{className:"space-y-1",children:y.map(e=>{let t=a.startsWith(e.href);return(0,r.jsx)("li",{children:(0,r.jsxs)(n.default,{href:e.href,className:(0,m.Z)("flex items-center gap-3 px-3 py-2 rounded-lg transition-colors",t?"bg-slate-800 text-white":"text-slate-400 hover:text-white hover:bg-slate-800"),children:[e.icon,(0,r.jsx)("span",{children:e.label})]})},e.href)})})}),(0,r.jsx)("div",{className:"p-4 border-t border-slate-700",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs text-slate-500",children:[(0,r.jsx)(p.Z,{className:"w-4 h-4"}),(0,r.jsx)("span",{children:"Powered by Claude"})]})})]}),(0,r.jsx)("main",{className:"flex-1 overflow-auto",children:t})]})}},6682:function(e,t,a){"use strict";a.d(t,{default:function(){return o}});var r=a(7437),n=a(9205);let s=(0,n.Z)("Twitter",[["path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z",key:"pff0z6"}]]);var l=a(401);let i=(0,n.Z)("Link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]);var c=a(2265);function o(e){let{url:t,text:a}=e,[n,o]=(0,c.useState)(!1),h=t||window.location.href,d=a||"Check out the VibeBusiness public roadmap",u=async()=>{try{await navigator.clipboard.writeText(h),o(!0),setTimeout(()=>o(!1),2e3)}catch(e){console.error("Failed to copy:",e)}};return(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-slate-600",children:"Share:"}),(0,r.jsxs)("button",{onClick:()=>{let e="https://twitter.com/intent/tweet?text=".concat(encodeURIComponent(d),"&url=").concat(encodeURIComponent(h));window.open(e,"_blank","noopener,noreferrer")},className:"inline-flex items-center gap-2 px-4 py-2 bg-black text-white rounded-lg hover:bg-slate-800 transition-colors text-sm font-medium","aria-label":"Share on X/Twitter",children:[(0,r.jsx)(s,{className:"w-4 h-4"}),(0,r.jsx)("span",{children:"Share on X"})]}),(0,r.jsx)("button",{onClick:u,className:"inline-flex items-center gap-2 px-4 py-2 bg-slate-100 text-slate-700 rounded-lg hover:bg-slate-200 transition-colors text-sm font-medium","aria-label":"Copy link",children:n?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.Z,{className:"w-4 h-4 text-emerald-600"}),(0,r.jsx)("span",{className:"text-emerald-700",children:"Copied!"})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i,{className:"w-4 h-4"}),(0,r.jsx)("span",{children:"Copy Link"})]})})]})}},1994:function(e,t,a){"use strict";t.Z=function(){for(var e,t,a=0,r="",n=arguments.length;a<n;a++)(e=arguments[a])&&(t=function e(t){var a,r,n="";if("string"==typeof t||"number"==typeof t)n+=t;else if("object"==typeof t){if(Array.isArray(t)){var s=t.length;for(a=0;a<s;a++)t[a]&&(r=e(t[a]))&&(n&&(n+=" "),n+=r)}else for(r in t)t[r]&&(n&&(n+=" "),n+=r)}return n}(e))&&(r&&(r+=" "),r+=t);return r}}},function(e){e.O(0,[972,971,117,744],function(){return e(e.s=1073)}),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[496],{3883:function(e,t,a){Promise.resolve().then(a.bind(a,1259))},9205:function(e,t,a){"use strict";a.d(t,{Z:function(){return c}});var r=a(2265);let s=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),n=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return t.filter((e,t,a)=>!!e&&a.indexOf(e)===t).join(" ")};var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,r.forwardRef)((e,t)=>{let{color:a="currentColor",size:s=24,strokeWidth:i=2,absoluteStrokeWidth:c,className:h="",children:o,iconNode:u,...d}=e;return(0,r.createElement)("svg",{ref:t,...l,width:s,height:s,stroke:a,strokeWidth:c?24*Number(i)/Number(s):i,className:n("lucide",h),...d},[...u.map(e=>{let[t,a]=e;return(0,r.createElement)(t,a)}),...Array.isArray(o)?o:[o]])}),c=(e,t)=>{let a=(0,r.forwardRef)((a,l)=>{let{className:c,...h}=a;return(0,r.createElement)(i,{ref:l,iconNode:t,className:n("lucide-".concat(s(e)),c),...h})});return a.displayName="".concat(e),a}},2222:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},8220:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("FlaskConical",[["path",{d:"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2",key:"pzvekw"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M7 16h10",key:"wp8him"}]])},5621:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]])},5466:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]])},2048:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]])},2718:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("MessageCircle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]])},8728:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Settings",[["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"}]])},2023:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]])},5929:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]])},8896:function(e,t,a){"use strict";a.d(t,{Z:function(){return r}});let r=(0,a(9205).Z)("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]])},7648:function(e,t,a){"use strict";a.d(t,{default:function(){return s.a}});var r=a(2972),s=a.n(r)},9376:function(e,t,a){"use strict";var r=a(5475);a.o(r,"usePathname")&&a.d(t,{usePathname:function(){return r.usePathname}}),a.o(r,"useRouter")&&a.d(t,{useRouter:function(){return r.useRouter}})},1259:function(e,t,a){"use strict";a.d(t,{default:function(){return k}});var r=a(7437),s=a(7648),n=a(9376),l=a(5929),i=a(5466),c=a(2048),h=a(8896),o=a(8220),u=a(2718),d=a(5621),f=a(8728),x=a(2222),y=a(2023),p=a(1994);let m=[{href:"/briefing",label:"Briefing",icon:(0,r.jsx)(l.Z,{size:18})},{href:"/kanban",label:"Dashboard",icon:(0,r.jsx)(i.Z,{className:"w-5 h-5"})},{href:"/roadmap",label:"Roadmap",icon:(0,r.jsx)(c.Z,{className:"w-5 h-5"})},{href:"/goals",label:"Goals",icon:(0,r.jsx)(h.Z,{className:"w-5 h-5"})},{href:"/hypotheses",label:"Hypotheses",icon:(0,r.jsx)(o.Z,{className:"w-5 h-5"})},{href:"/social",label:"Social",icon:(0,r.jsx)(u.Z,{className:"w-5 h-5"})},{href:"/sessions",label:"Sessions",icon:(0,r.jsx)(d.Z,{className:"w-5 h-5"})},{href:"/settings",label:"Settings",icon:(0,r.jsx)(f.Z,{className:"w-5 h-5"})}];function k(e){let{children:t}=e,a=(0,n.usePathname)();return(0,r.jsxs)("div",{className:"min-h-screen flex",children:[(0,r.jsxs)("aside",{className:"w-64 bg-slate-900 text-white flex flex-col",children:[(0,r.jsx)("div",{className:"p-4 border-b border-slate-700",children:(0,r.jsxs)(s.default,{href:"/",className:"flex items-center gap-2",children:[(0,r.jsx)("div",{className:"w-10 h-10 bg-emerald-500 rounded-lg flex items-center justify-center",children:(0,r.jsx)(x.Z,{className:"w-6 h-6 text-white"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"font-bold text-lg leading-tight",children:"Analyst"}),(0,r.jsx)("p",{className:"text-xs text-slate-400",children:"AI Product Manager"})]})]})}),(0,r.jsx)("nav",{className:"flex-1 p-4",children:(0,r.jsx)("ul",{className:"space-y-1",children:m.map(e=>{let t=a.startsWith(e.href);return(0,r.jsx)("li",{children:(0,r.jsxs)(s.default,{href:e.href,className:(0,p.Z)("flex items-center gap-3 px-3 py-2 rounded-lg transition-colors",t?"bg-slate-800 text-white":"text-slate-400 hover:text-white hover:bg-slate-800"),children:[e.icon,(0,r.jsx)("span",{children:e.label})]})},e.href)})})}),(0,r.jsx)("div",{className:"p-4 border-t border-slate-700",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 text-xs text-slate-500",children:[(0,r.jsx)(y.Z,{className:"w-4 h-4"}),(0,r.jsx)("span",{children:"Powered by Claude"})]})})]}),(0,r.jsx)("main",{className:"flex-1 overflow-auto",children:t})]})}},1994:function(e,t,a){"use strict";t.Z=function(){for(var e,t,a=0,r="",s=arguments.length;a<s;a++)(e=arguments[a])&&(t=function e(t){var a,r,s="";if("string"==typeof t||"number"==typeof t)s+=t;else if("object"==typeof t){if(Array.isArray(t)){var n=t.length;for(a=0;a<n;a++)t[a]&&(r=e(t[a]))&&(s&&(s+=" "),s+=r)}else for(r in t)t[r]&&(s&&(s+=" "),s+=r)}return s}(e))&&(r&&(r+=" "),r+=t);return r}}},function(e){e.O(0,[972,971,117,744],function(){return e(e.s=3883)}),_N_E=e.O()}]);
|
package/.next/static/chunks/app/settings/{page-3afa908a96ce4e51.js → page-caf6daf930e4f2c6.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[938],{8645:function(e,s,t){Promise.resolve().then(t.bind(t,8301))},8301:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return y}});var a=t(7437),l=t(2265),n=t(1817),i=t(7168),r=t(3229),c=t(6475),d=t(4822),o=t(401),m=t(2489),x=t(9397),h=t(8930),p=t(3247),u=t(1723),b=t(8226),j=t(6362),N=t(4001),f=t(1259),g=t(1994);function y(){let[e,s]=(0,l.useState)(null),[t,y]=(0,l.useState)(!0),[v,w]=(0,l.useState)(!1),[k,C]=(0,l.useState)(null),[S,Z]=(0,l.useState)(""),[_,I]=(0,l.useState)(!1),[A,P]=(0,l.useState)(null),[T,E]=(0,l.useState)(null),[L,R]=(0,l.useState)(null),[M,O]=(0,l.useState)(null),[D,F]=(0,l.useState)(null),[U,K]=(0,l.useState)(""),[B,z]=(0,l.useState)(!1),[H,J]=(0,l.useState)(null);(0,l.useEffect)(()=>{G(),W(),X()},[]);let G=async()=>{try{let e=await fetch("/api/config"),t=await e.json();t.success&&s(t.data)}catch(e){console.error("Failed to load config:",e)}finally{y(!1)}},W=async()=>{try{let e=await fetch("/api/license"),s=await e.json();s.success&&F(s.data)}catch(e){}},X=async()=>{try{let e=await fetch("/api/provider-status"),s=await e.json();s.success&&O(s.data)}catch(e){}},q=async()=>{if(U.trim()){z(!0),J(null);try{let e=await fetch("/api/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:U.trim()})}),s=await e.json();s.success?(J({type:"success",text:s.data.message}),F(s.data),K("")):J({type:"error",text:s.error||"Activation failed"})}catch(e){J({type:"error",text:"Failed to activate license"})}finally{z(!1),setTimeout(()=>J(null),5e3)}}},Q=async()=>{if(e){w(!0),C(null);try{(await fetch("/api/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).ok?C({type:"success",text:"Settings saved successfully"}):C({type:"error",text:"Failed to save settings"})}catch(e){C({type:"error",text:"Failed to save settings"})}finally{w(!1),setTimeout(()=>C(null),3e3)}}},V=(t,a,l)=>{if(!e)return;let n=[...e.repos];n[t]={...n[t],[a]:l},s({...e,repos:n})},Y=t=>{if(!e)return;let a=e.repos.filter((e,s)=>s!==t);s({...e,repos:a})},$=async()=>{if(S.trim()){I(!0),P(null),E(null),R(null);try{let e=await fetch("/api/config/detect-repos",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootDir:S.trim()})}),s=await e.json();if(!s.success){R(s.error||"Scan failed");return}P(s.data.repos),s.data.warning&&E(s.data.warning)}catch(e){R("Failed to scan directory")}finally{I(!1)}}},ee=t=>{if(!e)return;let a=new Set(e.repos.map(e=>e.path)),l=t.filter(e=>!a.has(e.path)).map(e=>({name:e.name,path:e.path,type:e.type,default_branch:"main"}));s({...e,repos:[...e.repos,...l]}),P(null),E(null)},es=t=>{e&&(s({...e,repos:t.map(e=>({name:e.name,path:e.path,type:e.type,default_branch:"main"}))}),P(null),E(null))},et=(t,a,l)=>{if(!e)return;let n={...e.schedules};"focus"===a?n[t]={...n[t],focus:l.split(",").map(e=>e.trim())}:"max_ideas"===a&&(n[t]={...n[t],max_ideas:l}),s({...e,schedules:n})};return t?(0,a.jsx)(f.default,{children:(0,a.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,a.jsx)(n.Z,{className:"w-8 h-8 text-slate-400 animate-spin"})})}):e?(0,a.jsx)(f.default,{children:(0,a.jsxs)("div",{className:"p-6 max-w-4xl",children:[(0,a.jsxs)("header",{className:"flex items-center justify-between mb-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-2xl font-bold text-slate-900",children:"Settings"}),(0,a.jsx)("p",{className:"text-slate-500 mt-1",children:"Configure analysis settings and repositories"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsxs)("button",{onClick:G,className:"btn btn-secondary gap-2",disabled:t,children:[(0,a.jsx)(i.Z,{className:(0,g.Z)("w-4 h-4",t&&"animate-spin")}),"Reload"]}),(0,a.jsxs)("button",{onClick:Q,className:"btn btn-primary gap-2",disabled:v,children:[v?(0,a.jsx)(n.Z,{className:"w-4 h-4 animate-spin"}):(0,a.jsx)(r.Z,{className:"w-4 h-4"}),"Save Changes"]})]})]}),k&&(0,a.jsx)("div",{className:(0,g.Z)("mb-6 p-4 rounded-lg border animate-slide-in","success"===k.type?"bg-emerald-50 border-emerald-200 text-emerald-700":"bg-red-50 border-red-200 text-red-700"),children:k.text}),(0,a.jsxs)("section",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6 mb-6",children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-lg font-semibold text-slate-900 mb-4",children:[(0,a.jsx)(c.Z,{className:"w-5 h-5"}),"Implementation Workspace"]}),(0,a.jsx)("p",{className:"text-sm text-slate-500 mb-4",children:"Directory where the analyst clones repositories for implementation work (separate from your working copies)."}),(0,a.jsx)("input",{type:"text",value:e.workspace_dir||"",onChange:t=>s({...e,workspace_dir:t.target.value}),className:"input font-mono text-sm",placeholder:"/Users/you/Code/analyst-workspaces"})]}),(0,a.jsxs)("section",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6 mb-6",children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-lg font-semibold text-slate-900 mb-4",children:[(0,a.jsx)(d.Z,{className:"w-5 h-5"}),"AI Provider"]}),M?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("div",{className:"p-4 bg-slate-50 rounded-lg",children:(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Provider"}),(0,a.jsx)("p",{className:"text-sm font-semibold text-slate-900",children:M.provider||"None"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Status"}),(0,a.jsx)("span",{className:(0,g.Z)("inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",M.provider?"bg-emerald-100 text-emerald-700":"bg-slate-100 text-slate-600"),children:M.provider?"Active":"Not configured"})]}),M.keyMasked&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"API Key"}),(0,a.jsx)("p",{className:"text-sm font-mono text-slate-700",children:M.keyMasked})]}),M.model&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Model"}),(0,a.jsx)("p",{className:"text-sm text-slate-700",children:M.model})]}),M.keySource&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Key Source"}),(0,a.jsx)("p",{className:"text-sm text-slate-700 capitalize",children:"credentials"===M.keySource?"~/.vibebusiness/credentials.json":"Environment variable"})]}),M.cli&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Claude CLI"}),(0,a.jsx)("p",{className:"text-sm text-slate-700",children:M.cli.version||"Installed"})]})]})}),(0,a.jsxs)("div",{className:"p-4 bg-slate-50 rounded-lg",children:[(0,a.jsx)("h3",{className:"text-sm font-semibold text-slate-700 mb-3",children:"Capabilities"}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-2",children:[{key:"heartbeat_reasoning",label:"Heartbeat reasoning",needs:"API key"},{key:"idea_evaluation",label:"Idea evaluation",needs:"API key"},{key:"idea_decomposition",label:"Idea decomposition",needs:"API key"},{key:"codebase_analysis",label:"Codebase analysis",needs:"Claude CLI"},{key:"implementation",label:"Implementation",needs:"Claude CLI"},{key:"interactive_chat",label:"Interactive chat",needs:"Claude CLI"}].map(e=>{let{key:s,label:t,needs:l}=e;return(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[M.capabilities[s]?(0,a.jsx)(o.Z,{className:"w-3.5 h-3.5 text-emerald-600 flex-shrink-0"}):(0,a.jsx)(m.Z,{className:"w-3.5 h-3.5 text-slate-400 flex-shrink-0"}),(0,a.jsx)("span",{className:M.capabilities[s]?"text-slate-700":"text-slate-400",children:t}),!M.capabilities[s]&&(0,a.jsxs)("span",{className:"text-xs text-slate-400",children:["(needs ",l,")"]})]},s)})})]}),(0,a.jsxs)("p",{className:"text-xs text-slate-500",children:["Manage via CLI: ",(0,a.jsx)("code",{className:"text-xs bg-slate-100 px-1.5 py-0.5 rounded",children:"vibebusiness provider setup"})]})]}):(0,a.jsxs)("p",{className:"text-sm text-slate-500",children:["No AI provider configured. Run ",(0,a.jsx)("code",{className:"text-xs bg-slate-100 px-1.5 py-0.5 rounded",children:"vibebusiness provider setup"})," to set up."]})]}),(0,a.jsxs)("section",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6 mb-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-lg font-semibold text-slate-900",children:[(0,a.jsx)(c.Z,{className:"w-5 h-5"}),"Repositories"]}),(0,a.jsxs)("button",{onClick:()=>{e&&s({...e,repos:[...e.repos,{name:"",path:"",type:"nodejs",default_branch:"main"}]})},className:"btn btn-secondary gap-2 text-sm",children:[(0,a.jsx)(x.Z,{className:"w-4 h-4"}),"Add Repository"]})]}),(0,a.jsxs)("div",{className:"space-y-4",children:[e.repos.map((e,s)=>(0,a.jsxs)("div",{className:"p-4 bg-slate-50 rounded-lg space-y-3 relative group",children:[(0,a.jsx)("button",{onClick:()=>Y(s),className:"absolute top-3 right-3 p-1.5 text-slate-400 hover:text-red-500 hover:bg-red-50 rounded transition-colors",title:"Remove repository",children:(0,a.jsx)(h.Z,{className:"w-4 h-4"})}),(0,a.jsxs)("div",{className:"grid grid-cols-3 gap-4 pr-10",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Name"}),(0,a.jsx)("input",{type:"text",value:e.name,onChange:e=>V(s,"name",e.target.value),className:"input",placeholder:"my-repo"})]}),(0,a.jsxs)("div",{className:"col-span-2",children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Local Path (for analysis)"}),(0,a.jsx)("input",{type:"text",value:e.path,onChange:e=>V(s,"path",e.target.value),className:"input font-mono text-sm",placeholder:"/Users/you/Code/my-repo"})]})]}),(0,a.jsxs)("div",{className:"grid grid-cols-4 gap-4 pr-10",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Type"}),(0,a.jsx)("input",{type:"text",value:e.type||"",onChange:e=>V(s,"type",e.target.value),className:"input text-sm",placeholder:"nextjs"})]}),(0,a.jsxs)("div",{className:"col-span-2",children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"GitHub URL (for cloning to workspace)"}),(0,a.jsx)("input",{type:"text",value:e.github_url||"",onChange:e=>V(s,"github_url",e.target.value),className:"input font-mono text-sm",placeholder:"git@github.com:user/repo.git"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Default Branch"}),(0,a.jsx)("input",{type:"text",value:e.default_branch||"main",onChange:e=>V(s,"default_branch",e.target.value),className:"input",placeholder:"main"})]})]})]},s)),0===e.repos.length&&(0,a.jsx)("div",{className:"text-center py-8 text-slate-400",children:"No repositories configured. Add one manually or scan a directory below."})]}),(0,a.jsxs)("div",{className:"mt-6 pt-6 border-t border-slate-200",children:[(0,a.jsx)("h3",{className:"text-sm font-semibold text-slate-700 mb-2",children:"Scan Directory"}),(0,a.jsx)("p",{className:"text-sm text-slate-500 mb-3",children:"Auto-detect repositories in a directory."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("input",{type:"text",value:S,onChange:e=>Z(e.target.value),className:"input font-mono text-sm flex-1",placeholder:"/Users/you/Code/my-project",onKeyDown:e=>"Enter"===e.key&&$()}),(0,a.jsxs)("button",{onClick:$,className:"btn btn-secondary gap-2 text-sm whitespace-nowrap",disabled:_||!S.trim(),children:[_?(0,a.jsx)(n.Z,{className:"w-4 h-4 animate-spin"}):(0,a.jsx)(p.Z,{className:"w-4 h-4"}),"Scan"]})]}),L&&(0,a.jsx)("div",{className:"mt-3 p-3 bg-red-50 border border-red-200 rounded-lg text-sm text-red-700",children:L}),T&&(0,a.jsx)("div",{className:"mt-3 p-3 bg-amber-50 border border-amber-200 rounded-lg text-sm text-amber-700",children:T}),A&&(0,a.jsx)("div",{className:"mt-3",children:0===A.length?(0,a.jsx)("div",{className:"p-3 bg-slate-50 rounded-lg text-sm text-slate-500",children:"No repositories detected in that directory."}):(0,a.jsxs)("div",{className:"p-4 bg-slate-50 rounded-lg space-y-3",children:[(0,a.jsxs)("div",{className:"text-sm font-medium text-slate-700",children:["Found ",A.length," repo",1!==A.length?"s":"",":"]}),(0,a.jsx)("div",{className:"space-y-1",children:A.map((e,s)=>(0,a.jsxs)("div",{className:"flex items-center gap-3 text-sm",children:[(0,a.jsx)("span",{className:(0,g.Z)("inline-block w-2 h-2 rounded-full","high"===e.confidence?"bg-emerald-500":"bg-amber-500")}),(0,a.jsx)("span",{className:"font-medium text-slate-900",children:e.name}),(0,a.jsxs)("span",{className:"text-slate-500",children:["(",e.type,")"]}),(0,a.jsx)("span",{className:"text-slate-400 font-mono text-xs truncate",children:e.path})]},s))}),(0,a.jsxs)("div",{className:"flex gap-2 pt-2",children:[(0,a.jsx)("button",{onClick:()=>ee(A),className:"btn btn-secondary text-sm",children:"Add to existing"}),(0,a.jsx)("button",{onClick:()=>es(A),className:"btn btn-secondary text-sm text-red-600 hover:text-red-700",children:"Replace all"}),(0,a.jsx)("button",{onClick:()=>{P(null),E(null)},className:"btn btn-secondary text-sm",children:"Dismiss"})]})]})})]})]}),(0,a.jsxs)("section",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-lg font-semibold text-slate-900 mb-4",children:[(0,a.jsx)(u.Z,{className:"w-5 h-5"}),"Analysis Schedules"]}),(0,a.jsx)("div",{className:"space-y-6",children:Object.keys(e.schedules).map(s=>(0,a.jsxs)("div",{className:"p-4 bg-slate-50 rounded-lg",children:[(0,a.jsxs)("h3",{className:"font-medium text-slate-900 mb-3 capitalize",children:[s," Analysis"]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Focus Areas (comma-separated)"}),(0,a.jsx)("input",{type:"text",value:e.schedules[s].focus.join(", "),onChange:e=>et(s,"focus",e.target.value),className:"input"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Max Ideas"}),(0,a.jsx)("input",{type:"number",value:e.schedules[s].max_ideas,onChange:e=>et(s,"max_ideas",parseInt(e.target.value,10)),className:"input",min:1,max:50})]})]})]},s))})]}),(0,a.jsxs)("section",{className:"mt-6 p-4 bg-slate-100 rounded-lg",children:[(0,a.jsx)("h3",{className:"font-medium text-slate-700 mb-2",children:"Cron Setup"}),(0,a.jsx)("p",{className:"text-sm text-slate-600 mb-2",children:"To enable automated analysis, run the setup script:"}),(0,a.jsx)("pre",{className:"bg-slate-800 text-slate-100 p-3 rounded text-sm font-mono overflow-x-auto",children:"./scripts/setup-cron.sh"})]}),(0,a.jsxs)("section",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6 mt-6",children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-lg font-semibold text-slate-900 mb-4",children:[(0,a.jsx)(b.Z,{className:"w-5 h-5"}),"Subscription & Billing"]}),D?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"p-4 bg-slate-50 rounded-lg",children:[(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Plan"}),(0,a.jsx)("p",{className:"text-sm font-semibold text-slate-900 capitalize",children:D.tier})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Status"}),(0,a.jsx)("span",{className:(0,g.Z)("inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium","valid"===D.status&&"bg-emerald-100 text-emerald-700","trial"===D.status&&"bg-blue-100 text-blue-700","expired"===D.status&&"bg-red-100 text-red-700",(!D.status||"unknown"===D.status)&&"bg-slate-100 text-slate-600"),children:D.status})]}),D.keyMasked&&"(trial)"!==D.keyMasked&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"License Key"}),(0,a.jsx)("p",{className:"text-sm font-mono text-slate-700",children:D.keyMasked})]}),D.email&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Email"}),(0,a.jsx)("p",{className:"text-sm text-slate-700",children:D.email})]})]}),(0,a.jsx)("p",{className:"text-xs text-slate-500 mt-3",children:D.message})]}),(0,a.jsxs)("a",{href:"https://vibebusiness.com/pricing",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-sm text-emerald-600 hover:text-emerald-700 font-medium",children:[(0,a.jsx)(j.Z,{className:"w-3.5 h-3.5"}),"Manage Subscription"]})]}):(0,a.jsxs)("p",{className:"text-sm text-slate-500",children:["License information unavailable. Run ",(0,a.jsx)("code",{className:"text-xs bg-slate-100 px-1.5 py-0.5 rounded",children:"vibebusiness init"})," to set up."]}),(0,a.jsxs)("div",{className:"mt-6 pt-6 border-t border-slate-200",children:[(0,a.jsxs)("h3",{className:"flex items-center gap-2 text-sm font-semibold text-slate-700 mb-2",children:[(0,a.jsx)(N.Z,{className:"w-4 h-4"}),"Enter License Key"]}),(0,a.jsx)("p",{className:"text-sm text-slate-500 mb-3",children:"Activate a license key purchased from vibebusiness.com."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("input",{type:"text",value:U,onChange:e=>K(e.target.value),className:"input font-mono text-sm flex-1",placeholder:"PRO-xxxxxxxxxxxx",onKeyDown:e=>"Enter"===e.key&&q()}),(0,a.jsxs)("button",{onClick:q,className:"btn btn-primary gap-2 text-sm whitespace-nowrap",disabled:B||!U.trim(),children:[B?(0,a.jsx)(n.Z,{className:"w-4 h-4 animate-spin"}):(0,a.jsx)(N.Z,{className:"w-4 h-4"}),"Activate"]})]}),H&&(0,a.jsx)("div",{className:(0,g.Z)("mt-3 p-3 rounded-lg text-sm","success"===H.type?"bg-emerald-50 border border-emerald-200 text-emerald-700":"bg-red-50 border border-red-200 text-red-700"),children:H.text})]})]})]})}):(0,a.jsx)(f.default,{children:(0,a.jsx)("div",{className:"p-6",children:(0,a.jsx)("div",{className:"bg-red-50 border border-red-200 rounded-lg p-4 text-red-700",children:"Failed to load configuration. Please check that data/config.json exists."})})})}},1259:function(e,s,t){"use strict";t.d(s,{default:function(){return N}});var a=t(7437),l=t(7648),n=t(9376),i=t(5466),r=t(2048),c=t(8896),d=t(8220),o=t(2718),m=t(5621),x=t(8728),h=t(2222),p=t(2023),u=t(1994),b=t(257);let j=[{href:"/",label:"Dashboard",icon:(0,a.jsx)(i.Z,{className:"w-5 h-5"})},{href:"/roadmap",label:"Roadmap",icon:(0,a.jsx)(r.Z,{className:"w-5 h-5"})},{href:"/goals",label:"Goals",icon:(0,a.jsx)(c.Z,{className:"w-5 h-5"})},{href:"/hypotheses",label:"Hypotheses",icon:(0,a.jsx)(d.Z,{className:"w-5 h-5"})},{href:"/social",label:"Social",icon:(0,a.jsx)(o.Z,{className:"w-5 h-5"})},{href:"/sessions",label:"Sessions",icon:(0,a.jsx)(m.Z,{className:"w-5 h-5"})},{href:"/settings",label:"Settings",icon:(0,a.jsx)(x.Z,{className:"w-5 h-5"})}];function N(e){let{children:s}=e,t=(0,n.usePathname)();return(0,a.jsxs)("div",{className:"min-h-screen flex",children:[(0,a.jsxs)("aside",{className:"w-64 bg-slate-900 text-white flex flex-col",children:[(0,a.jsx)("div",{className:"p-4 border-b border-slate-700",children:(0,a.jsxs)(l.default,{href:"/",className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"w-10 h-10 bg-emerald-500 rounded-lg flex items-center justify-center",children:(0,a.jsx)(h.Z,{className:"w-6 h-6 text-white"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"font-bold text-lg leading-tight",children:"Analyst"}),(0,a.jsx)("p",{className:"text-xs text-slate-400",children:b.env.NEXT_PUBLIC_PRODUCT_NAME||"Business"})]})]})}),(0,a.jsx)("nav",{className:"flex-1 p-4",children:(0,a.jsx)("ul",{className:"space-y-1",children:j.map(e=>{let s="/"===e.href?"/"===t:t.startsWith(e.href);return(0,a.jsx)("li",{children:(0,a.jsxs)(l.default,{href:e.href,className:(0,u.Z)("flex items-center gap-3 px-3 py-2 rounded-lg transition-colors",s?"bg-slate-800 text-white":"text-slate-400 hover:text-white hover:bg-slate-800"),children:[e.icon,(0,a.jsx)("span",{children:e.label})]})},e.href)})})}),(0,a.jsx)("div",{className:"p-4 border-t border-slate-700",children:(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-slate-500",children:[(0,a.jsx)(p.Z,{className:"w-4 h-4"}),(0,a.jsx)("span",{children:"Powered by Claude"})]})})]}),(0,a.jsx)("main",{className:"flex-1 overflow-auto",children:s})]})}}},function(e){e.O(0,[972,809,971,117,744],function(){return e(e.s=8645)}),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[938],{9523:function(e,s,t){Promise.resolve().then(t.bind(t,8301))},8301:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return y}});var a=t(7437),l=t(2265),n=t(1817),i=t(7168),r=t(3229),c=t(6475),d=t(4822),o=t(401),m=t(2489),x=t(9397),h=t(8930),p=t(3247),u=t(1723),b=t(8226),j=t(6362),N=t(4001),f=t(1259),g=t(1994);function y(){let[e,s]=(0,l.useState)(null),[t,y]=(0,l.useState)(!0),[v,w]=(0,l.useState)(!1),[k,C]=(0,l.useState)(null),[S,Z]=(0,l.useState)(""),[_,I]=(0,l.useState)(!1),[A,P]=(0,l.useState)(null),[L,M]=(0,l.useState)(null),[R,T]=(0,l.useState)(null),[E,O]=(0,l.useState)(null),[D,F]=(0,l.useState)(null),[K,U]=(0,l.useState)(""),[z,B]=(0,l.useState)(!1),[H,J]=(0,l.useState)(null);(0,l.useEffect)(()=>{G(),W(),q()},[]);let G=async()=>{try{let e=await fetch("/api/config"),t=await e.json();t.success&&s(t.data)}catch(e){console.error("Failed to load config:",e)}finally{y(!1)}},W=async()=>{try{let e=await fetch("/api/license"),s=await e.json();s.success&&F(s.data)}catch(e){}},q=async()=>{try{let e=await fetch("/api/provider-status"),s=await e.json();s.success&&O(s.data)}catch(e){}},Q=async()=>{if(K.trim()){B(!0),J(null);try{let e=await fetch("/api/license",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:K.trim()})}),s=await e.json();s.success?(J({type:"success",text:s.data.message}),F(s.data),U("")):J({type:"error",text:s.error||"Activation failed"})}catch(e){J({type:"error",text:"Failed to activate license"})}finally{B(!1),setTimeout(()=>J(null),5e3)}}},V=async()=>{if(e){w(!0),C(null);try{(await fetch("/api/config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).ok?C({type:"success",text:"Settings saved successfully"}):C({type:"error",text:"Failed to save settings"})}catch(e){C({type:"error",text:"Failed to save settings"})}finally{w(!1),setTimeout(()=>C(null),3e3)}}},X=(t,a,l)=>{if(!e)return;let n=[...e.repos];n[t]={...n[t],[a]:l},s({...e,repos:n})},Y=t=>{if(!e)return;let a=e.repos.filter((e,s)=>s!==t);s({...e,repos:a})},$=async()=>{if(S.trim()){I(!0),P(null),M(null),T(null);try{let e=await fetch("/api/config/detect-repos",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootDir:S.trim()})}),s=await e.json();if(!s.success){T(s.error||"Scan failed");return}P(s.data.repos),s.data.warning&&M(s.data.warning)}catch(e){T("Failed to scan directory")}finally{I(!1)}}},ee=t=>{if(!e)return;let a=new Set(e.repos.map(e=>e.path)),l=t.filter(e=>!a.has(e.path)).map(e=>({name:e.name,path:e.path,type:e.type,default_branch:"main"}));s({...e,repos:[...e.repos,...l]}),P(null),M(null)},es=t=>{e&&(s({...e,repos:t.map(e=>({name:e.name,path:e.path,type:e.type,default_branch:"main"}))}),P(null),M(null))},et=(t,a,l)=>{if(!e)return;let n={...e.schedules};"focus"===a?n[t]={...n[t],focus:l.split(",").map(e=>e.trim())}:"max_ideas"===a&&(n[t]={...n[t],max_ideas:l}),s({...e,schedules:n})};return t?(0,a.jsx)(f.default,{children:(0,a.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,a.jsx)(n.Z,{className:"w-8 h-8 text-slate-400 animate-spin"})})}):e?(0,a.jsx)(f.default,{children:(0,a.jsxs)("div",{className:"p-6 max-w-4xl",children:[(0,a.jsxs)("header",{className:"flex items-center justify-between mb-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-2xl font-bold text-slate-900",children:"Settings"}),(0,a.jsx)("p",{className:"text-slate-500 mt-1",children:"Configure analysis settings and repositories"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsxs)("button",{onClick:G,className:"btn btn-secondary gap-2",disabled:t,children:[(0,a.jsx)(i.Z,{className:(0,g.Z)("w-4 h-4",t&&"animate-spin")}),"Reload"]}),(0,a.jsxs)("button",{onClick:V,className:"btn btn-primary gap-2",disabled:v,children:[v?(0,a.jsx)(n.Z,{className:"w-4 h-4 animate-spin"}):(0,a.jsx)(r.Z,{className:"w-4 h-4"}),"Save Changes"]})]})]}),k&&(0,a.jsx)("div",{className:(0,g.Z)("mb-6 p-4 rounded-lg border animate-slide-in","success"===k.type?"bg-emerald-50 border-emerald-200 text-emerald-700":"bg-red-50 border-red-200 text-red-700"),children:k.text}),(0,a.jsxs)("section",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6 mb-6",children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-lg font-semibold text-slate-900 mb-4",children:[(0,a.jsx)(c.Z,{className:"w-5 h-5"}),"Implementation Workspace"]}),(0,a.jsx)("p",{className:"text-sm text-slate-500 mb-4",children:"Directory where the analyst clones repositories for implementation work (separate from your working copies)."}),(0,a.jsx)("input",{type:"text",value:e.workspace_dir||"",onChange:t=>s({...e,workspace_dir:t.target.value}),className:"input font-mono text-sm",placeholder:"/Users/you/Code/analyst-workspaces"})]}),(0,a.jsxs)("section",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6 mb-6",children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-lg font-semibold text-slate-900 mb-4",children:[(0,a.jsx)(d.Z,{className:"w-5 h-5"}),"AI Provider"]}),E?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("div",{className:"p-4 bg-slate-50 rounded-lg",children:(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Provider"}),(0,a.jsx)("p",{className:"text-sm font-semibold text-slate-900",children:E.provider||"None"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Status"}),(0,a.jsx)("span",{className:(0,g.Z)("inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",E.provider?"bg-emerald-100 text-emerald-700":"bg-slate-100 text-slate-600"),children:E.provider?"Active":"Not configured"})]}),E.keyMasked&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"API Key"}),(0,a.jsx)("p",{className:"text-sm font-mono text-slate-700",children:E.keyMasked})]}),E.model&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Model"}),(0,a.jsx)("p",{className:"text-sm text-slate-700",children:E.model})]}),E.keySource&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Key Source"}),(0,a.jsx)("p",{className:"text-sm text-slate-700 capitalize",children:"credentials"===E.keySource?"~/.vibebusiness/credentials.json":"Environment variable"})]}),E.cli&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Claude CLI"}),(0,a.jsx)("p",{className:"text-sm text-slate-700",children:E.cli.version||"Installed"})]})]})}),(0,a.jsxs)("div",{className:"p-4 bg-slate-50 rounded-lg",children:[(0,a.jsx)("h3",{className:"text-sm font-semibold text-slate-700 mb-3",children:"Capabilities"}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-2",children:[{key:"heartbeat_reasoning",label:"Heartbeat reasoning",needs:"API key"},{key:"idea_evaluation",label:"Idea evaluation",needs:"API key"},{key:"idea_decomposition",label:"Idea decomposition",needs:"API key"},{key:"codebase_analysis",label:"Codebase analysis",needs:"Claude CLI"},{key:"implementation",label:"Implementation",needs:"Claude CLI"},{key:"interactive_chat",label:"Interactive chat",needs:"Claude CLI"}].map(e=>{let{key:s,label:t,needs:l}=e;return(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[E.capabilities[s]?(0,a.jsx)(o.Z,{className:"w-3.5 h-3.5 text-emerald-600 flex-shrink-0"}):(0,a.jsx)(m.Z,{className:"w-3.5 h-3.5 text-slate-400 flex-shrink-0"}),(0,a.jsx)("span",{className:E.capabilities[s]?"text-slate-700":"text-slate-400",children:t}),!E.capabilities[s]&&(0,a.jsxs)("span",{className:"text-xs text-slate-400",children:["(needs ",l,")"]})]},s)})})]}),(0,a.jsxs)("p",{className:"text-xs text-slate-500",children:["Manage via CLI: ",(0,a.jsx)("code",{className:"text-xs bg-slate-100 px-1.5 py-0.5 rounded",children:"vibebusiness provider setup"})]})]}):(0,a.jsxs)("p",{className:"text-sm text-slate-500",children:["No AI provider configured. Run ",(0,a.jsx)("code",{className:"text-xs bg-slate-100 px-1.5 py-0.5 rounded",children:"vibebusiness provider setup"})," to set up."]})]}),(0,a.jsxs)("section",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6 mb-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-lg font-semibold text-slate-900",children:[(0,a.jsx)(c.Z,{className:"w-5 h-5"}),"Repositories"]}),(0,a.jsxs)("button",{onClick:()=>{e&&s({...e,repos:[...e.repos,{name:"",path:"",type:"nodejs",default_branch:"main"}]})},className:"btn btn-secondary gap-2 text-sm",children:[(0,a.jsx)(x.Z,{className:"w-4 h-4"}),"Add Repository"]})]}),(0,a.jsxs)("div",{className:"space-y-4",children:[e.repos.map((e,s)=>(0,a.jsxs)("div",{className:"p-4 bg-slate-50 rounded-lg space-y-3 relative group",children:[(0,a.jsx)("button",{onClick:()=>Y(s),className:"absolute top-3 right-3 p-1.5 text-slate-400 hover:text-red-500 hover:bg-red-50 rounded transition-colors",title:"Remove repository",children:(0,a.jsx)(h.Z,{className:"w-4 h-4"})}),(0,a.jsxs)("div",{className:"grid grid-cols-3 gap-4 pr-10",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Name"}),(0,a.jsx)("input",{type:"text",value:e.name,onChange:e=>X(s,"name",e.target.value),className:"input",placeholder:"my-repo"})]}),(0,a.jsxs)("div",{className:"col-span-2",children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Local Path (for analysis)"}),(0,a.jsx)("input",{type:"text",value:e.path,onChange:e=>X(s,"path",e.target.value),className:"input font-mono text-sm",placeholder:"/Users/you/Code/my-repo"})]})]}),(0,a.jsxs)("div",{className:"grid grid-cols-4 gap-4 pr-10",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Type"}),(0,a.jsx)("input",{type:"text",value:e.type||"",onChange:e=>X(s,"type",e.target.value),className:"input text-sm",placeholder:"nextjs"})]}),(0,a.jsxs)("div",{className:"col-span-2",children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"GitHub URL (for cloning to workspace)"}),(0,a.jsx)("input",{type:"text",value:e.github_url||"",onChange:e=>X(s,"github_url",e.target.value),className:"input font-mono text-sm",placeholder:"git@github.com:user/repo.git"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Default Branch"}),(0,a.jsx)("input",{type:"text",value:e.default_branch||"main",onChange:e=>X(s,"default_branch",e.target.value),className:"input",placeholder:"main"})]})]})]},s)),0===e.repos.length&&(0,a.jsx)("div",{className:"text-center py-8 text-slate-400",children:"No repositories configured. Add one manually or scan a directory below."})]}),(0,a.jsxs)("div",{className:"mt-6 pt-6 border-t border-slate-200",children:[(0,a.jsx)("h3",{className:"text-sm font-semibold text-slate-700 mb-2",children:"Scan Directory"}),(0,a.jsx)("p",{className:"text-sm text-slate-500 mb-3",children:"Auto-detect repositories in a directory."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("input",{type:"text",value:S,onChange:e=>Z(e.target.value),className:"input font-mono text-sm flex-1",placeholder:"/Users/you/Code/my-project",onKeyDown:e=>"Enter"===e.key&&$()}),(0,a.jsxs)("button",{onClick:$,className:"btn btn-secondary gap-2 text-sm whitespace-nowrap",disabled:_||!S.trim(),children:[_?(0,a.jsx)(n.Z,{className:"w-4 h-4 animate-spin"}):(0,a.jsx)(p.Z,{className:"w-4 h-4"}),"Scan"]})]}),R&&(0,a.jsx)("div",{className:"mt-3 p-3 bg-red-50 border border-red-200 rounded-lg text-sm text-red-700",children:R}),L&&(0,a.jsx)("div",{className:"mt-3 p-3 bg-amber-50 border border-amber-200 rounded-lg text-sm text-amber-700",children:L}),A&&(0,a.jsx)("div",{className:"mt-3",children:0===A.length?(0,a.jsx)("div",{className:"p-3 bg-slate-50 rounded-lg text-sm text-slate-500",children:"No repositories detected in that directory."}):(0,a.jsxs)("div",{className:"p-4 bg-slate-50 rounded-lg space-y-3",children:[(0,a.jsxs)("div",{className:"text-sm font-medium text-slate-700",children:["Found ",A.length," repo",1!==A.length?"s":"",":"]}),(0,a.jsx)("div",{className:"space-y-1",children:A.map((e,s)=>(0,a.jsxs)("div",{className:"flex items-center gap-3 text-sm",children:[(0,a.jsx)("span",{className:(0,g.Z)("inline-block w-2 h-2 rounded-full","high"===e.confidence?"bg-emerald-500":"bg-amber-500")}),(0,a.jsx)("span",{className:"font-medium text-slate-900",children:e.name}),(0,a.jsxs)("span",{className:"text-slate-500",children:["(",e.type,")"]}),(0,a.jsx)("span",{className:"text-slate-400 font-mono text-xs truncate",children:e.path})]},s))}),(0,a.jsxs)("div",{className:"flex gap-2 pt-2",children:[(0,a.jsx)("button",{onClick:()=>ee(A),className:"btn btn-secondary text-sm",children:"Add to existing"}),(0,a.jsx)("button",{onClick:()=>es(A),className:"btn btn-secondary text-sm text-red-600 hover:text-red-700",children:"Replace all"}),(0,a.jsx)("button",{onClick:()=>{P(null),M(null)},className:"btn btn-secondary text-sm",children:"Dismiss"})]})]})})]})]}),(0,a.jsxs)("section",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6",children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-lg font-semibold text-slate-900 mb-4",children:[(0,a.jsx)(u.Z,{className:"w-5 h-5"}),"Analysis Schedules"]}),(0,a.jsx)("div",{className:"space-y-6",children:Object.keys(e.schedules).map(s=>(0,a.jsxs)("div",{className:"p-4 bg-slate-50 rounded-lg",children:[(0,a.jsxs)("h3",{className:"font-medium text-slate-900 mb-3 capitalize",children:[s," Analysis"]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Focus Areas (comma-separated)"}),(0,a.jsx)("input",{type:"text",value:e.schedules[s].focus.join(", "),onChange:e=>et(s,"focus",e.target.value),className:"input"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-700 mb-1",children:"Max Ideas"}),(0,a.jsx)("input",{type:"number",value:e.schedules[s].max_ideas,onChange:e=>et(s,"max_ideas",parseInt(e.target.value,10)),className:"input",min:1,max:50})]})]})]},s))})]}),(0,a.jsxs)("section",{className:"mt-6 p-4 bg-slate-100 rounded-lg",children:[(0,a.jsx)("h3",{className:"font-medium text-slate-700 mb-2",children:"Cron Setup"}),(0,a.jsx)("p",{className:"text-sm text-slate-600 mb-2",children:"To enable automated analysis, run the setup script:"}),(0,a.jsx)("pre",{className:"bg-slate-800 text-slate-100 p-3 rounded text-sm font-mono overflow-x-auto",children:"./scripts/setup-cron.sh"})]}),(0,a.jsxs)("section",{className:"bg-white rounded-lg shadow-sm border border-slate-200 p-6 mt-6",children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 text-lg font-semibold text-slate-900 mb-4",children:[(0,a.jsx)(b.Z,{className:"w-5 h-5"}),"Subscription & Billing"]}),D?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"p-4 bg-slate-50 rounded-lg",children:[(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Plan"}),(0,a.jsx)("p",{className:"text-sm font-semibold text-slate-900 capitalize",children:D.tier})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Status"}),(0,a.jsx)("span",{className:(0,g.Z)("inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium","valid"===D.status&&"bg-emerald-100 text-emerald-700","trial"===D.status&&"bg-blue-100 text-blue-700","expired"===D.status&&"bg-red-100 text-red-700",(!D.status||"unknown"===D.status)&&"bg-slate-100 text-slate-600"),children:D.status})]}),D.keyMasked&&"(trial)"!==D.keyMasked&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"License Key"}),(0,a.jsx)("p",{className:"text-sm font-mono text-slate-700",children:D.keyMasked})]}),D.email&&(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"block text-sm font-medium text-slate-500 mb-1",children:"Email"}),(0,a.jsx)("p",{className:"text-sm text-slate-700",children:D.email})]})]}),(0,a.jsx)("p",{className:"text-xs text-slate-500 mt-3",children:D.message})]}),(0,a.jsxs)("a",{href:"https://vibebusiness.com/pricing",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-sm text-emerald-600 hover:text-emerald-700 font-medium",children:[(0,a.jsx)(j.Z,{className:"w-3.5 h-3.5"}),"Manage Subscription"]})]}):(0,a.jsxs)("p",{className:"text-sm text-slate-500",children:["License information unavailable. Run ",(0,a.jsx)("code",{className:"text-xs bg-slate-100 px-1.5 py-0.5 rounded",children:"vibebusiness init"})," to set up."]}),(0,a.jsxs)("div",{className:"mt-6 pt-6 border-t border-slate-200",children:[(0,a.jsxs)("h3",{className:"flex items-center gap-2 text-sm font-semibold text-slate-700 mb-2",children:[(0,a.jsx)(N.Z,{className:"w-4 h-4"}),"Enter License Key"]}),(0,a.jsx)("p",{className:"text-sm text-slate-500 mb-3",children:"Activate a license key purchased from vibebusiness.com."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("input",{type:"text",value:K,onChange:e=>U(e.target.value),className:"input font-mono text-sm flex-1",placeholder:"PRO-xxxxxxxxxxxx",onKeyDown:e=>"Enter"===e.key&&Q()}),(0,a.jsxs)("button",{onClick:Q,className:"btn btn-primary gap-2 text-sm whitespace-nowrap",disabled:z||!K.trim(),children:[z?(0,a.jsx)(n.Z,{className:"w-4 h-4 animate-spin"}):(0,a.jsx)(N.Z,{className:"w-4 h-4"}),"Activate"]})]}),H&&(0,a.jsx)("div",{className:(0,g.Z)("mt-3 p-3 rounded-lg text-sm","success"===H.type?"bg-emerald-50 border border-emerald-200 text-emerald-700":"bg-red-50 border border-red-200 text-red-700"),children:H.text})]})]})]})}):(0,a.jsx)(f.default,{children:(0,a.jsx)("div",{className:"p-6",children:(0,a.jsx)("div",{className:"bg-red-50 border border-red-200 rounded-lg p-4 text-red-700",children:"Failed to load configuration. Please check that data/config.json exists."})})})}},1259:function(e,s,t){"use strict";t.d(s,{default:function(){return N}});var a=t(7437),l=t(7648),n=t(9376),i=t(5929),r=t(5466),c=t(2048),d=t(8896),o=t(8220),m=t(2718),x=t(5621),h=t(8728),p=t(2222),u=t(2023),b=t(1994);let j=[{href:"/briefing",label:"Briefing",icon:(0,a.jsx)(i.Z,{size:18})},{href:"/kanban",label:"Dashboard",icon:(0,a.jsx)(r.Z,{className:"w-5 h-5"})},{href:"/roadmap",label:"Roadmap",icon:(0,a.jsx)(c.Z,{className:"w-5 h-5"})},{href:"/goals",label:"Goals",icon:(0,a.jsx)(d.Z,{className:"w-5 h-5"})},{href:"/hypotheses",label:"Hypotheses",icon:(0,a.jsx)(o.Z,{className:"w-5 h-5"})},{href:"/social",label:"Social",icon:(0,a.jsx)(m.Z,{className:"w-5 h-5"})},{href:"/sessions",label:"Sessions",icon:(0,a.jsx)(x.Z,{className:"w-5 h-5"})},{href:"/settings",label:"Settings",icon:(0,a.jsx)(h.Z,{className:"w-5 h-5"})}];function N(e){let{children:s}=e,t=(0,n.usePathname)();return(0,a.jsxs)("div",{className:"min-h-screen flex",children:[(0,a.jsxs)("aside",{className:"w-64 bg-slate-900 text-white flex flex-col",children:[(0,a.jsx)("div",{className:"p-4 border-b border-slate-700",children:(0,a.jsxs)(l.default,{href:"/",className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"w-10 h-10 bg-emerald-500 rounded-lg flex items-center justify-center",children:(0,a.jsx)(p.Z,{className:"w-6 h-6 text-white"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"font-bold text-lg leading-tight",children:"Analyst"}),(0,a.jsx)("p",{className:"text-xs text-slate-400",children:"AI Product Manager"})]})]})}),(0,a.jsx)("nav",{className:"flex-1 p-4",children:(0,a.jsx)("ul",{className:"space-y-1",children:j.map(e=>{let s=t.startsWith(e.href);return(0,a.jsx)("li",{children:(0,a.jsxs)(l.default,{href:e.href,className:(0,b.Z)("flex items-center gap-3 px-3 py-2 rounded-lg transition-colors",s?"bg-slate-800 text-white":"text-slate-400 hover:text-white hover:bg-slate-800"),children:[e.icon,(0,a.jsx)("span",{children:e.label})]})},e.href)})})}),(0,a.jsx)("div",{className:"p-4 border-t border-slate-700",children:(0,a.jsxs)("div",{className:"flex items-center gap-2 text-xs text-slate-500",children:[(0,a.jsx)(u.Z,{className:"w-4 h-4"}),(0,a.jsx)("span",{children:"Powered by Claude"})]})})]}),(0,a.jsx)("main",{className:"flex-1 overflow-auto",children:s})]})}}},function(e){e.O(0,[972,930,971,117,744],function(){return e(e.s=9523)}),_N_E=e.O()}]);
|