idea-manager 1.3.11 → 1.3.12

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.
Files changed (59) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +9 -9
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  5. package/.next/server/app/_global-error.html +2 -2
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/_not-found.html +2 -2
  15. package/.next/server/app/_not-found.rsc +2 -2
  16. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  17. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  19. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/.next/server/app/api/archive/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/filesystem/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/filesystem/tree/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/global-memo/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/projects/[id]/apply-distribute/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/projects/[id]/auto-distribute/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/projects/[id]/brainstorm/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/projects/[id]/git-sync/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/projects/[id]/sub-projects/[subId]/tasks/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/projects/[id]/sub-projects/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/index.html +2 -2
  41. package/.next/server/app/index.rsc +3 -3
  42. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  43. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  44. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  45. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  46. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  47. package/.next/server/app/page.js +1 -1
  48. package/.next/server/app/page_client-reference-manifest.js +1 -1
  49. package/.next/server/app/projects/[id]/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app-paths-manifest.json +9 -9
  51. package/.next/server/pages/404.html +2 -2
  52. package/.next/server/pages/500.html +2 -2
  53. package/.next/static/chunks/app/{page-c4e9f7315e29d2bf.js → page-dbd5efde8a02cc44.js} +4 -4
  54. package/.next/static/css/e8914d1d6cee7978.css +3 -0
  55. package/package.json +1 -1
  56. package/src/components/dashboard/DashboardPanel.tsx +54 -0
  57. package/.next/static/css/72cbafb256c832a4.css +0 -3
  58. /package/.next/static/{bHm1rK3n_9LrAqsmsKf91 → 2bki7P0JwJTNFjPE9b7m6}/_buildManifest.js +0 -0
  59. /package/.next/static/{bHm1rK3n_9LrAqsmsKf91 → 2bki7P0JwJTNFjPE9b7m6}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- (()=>{var a={};a.id=974,a.ids=[974],a.modules={84:a=>{a.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"__className_9a8899",variable:"__variable_9a8899"}},210:a=>{a.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_188709",variable:"__variable_188709"}},261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},1135:()=>{},1742:()=>{},2160:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,5547,23)),Promise.resolve().then(c.t.bind(c,5098,23)),Promise.resolve().then(c.t.bind(c,7644,23)),Promise.resolve().then(c.t.bind(c,3859,23)),Promise.resolve().then(c.t.bind(c,8099,23)),Promise.resolve().then(c.t.bind(c,6237,23)),Promise.resolve().then(c.t.bind(c,8562,23)),Promise.resolve().then(c.t.bind(c,6675,23))},2506:function(a,b,c){"use strict";var d=(this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}})(c(2954)),e=c(3174);function f(a,b){var c={};return a&&"string"==typeof a&&(0,d.default)(a,function(a,d){a&&d&&(c[(0,e.camelCase)(a,b)]=d)}),c}f.default=f,a.exports=f},2954:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a,b){let c=null;if(!a||"string"!=typeof a)return c;let d=(0,e.default)(a),f="function"==typeof b;return d.forEach(a=>{if("declaration"!==a.type)return;let{property:d,value:e}=a;f?b(d,e,a):e&&((c=c||{})[d]=e)}),c};let e=d(c(6510))},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3174:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.camelCase=void 0;var c=/^--[a-zA-Z0-9_-]+$/,d=/-([a-z])/g,e=/^[^-]+$/,f=/^-(webkit|moz|ms|o|khtml)-/,g=/^-(ms)-/,h=function(a,b){return b.toUpperCase()},i=function(a,b){return"".concat(b,"-")};b.camelCase=function(a,b){var j;return(void 0===b&&(b={}),!(j=a)||e.test(j)||c.test(j))?a:(a=a.toLowerCase(),(a=b.reactCompat?a.replace(g,i):a.replace(f,i)).replace(d,h))}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3494:()=>{},3873:a=>{"use strict";a.exports=require("path")},3954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},4188:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,5547,23))},4268:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,1921,23))},4328:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>gB});var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w={};c.r(w),c.d(w,{boolean:()=>b9,booleanish:()=>ca,commaOrSpaceSeparated:()=>cf,commaSeparated:()=>ce,number:()=>cc,overloadedBoolean:()=>cb,spaceSeparated:()=>cd});var x={};c.r(x),c.d(x,{attentionMarkers:()=>ed,contentInitial:()=>d7,disable:()=>ee,document:()=>d6,flow:()=>d9,flowInitial:()=>d8,insideSpan:()=>ec,string:()=>ea,text:()=>eb});var y=c(8249),z=c(7484),A=c.n(z);let B={id:"dashboard",type:"dashboard"};function C(a){return a.some(a=>"dashboard"===a.id)?a:[B,...a]}function D(a,b){switch(b.type){case"OPEN_PROJECT":{let c=a.tabs.find(a=>a.projectId===b.projectId);if(c)return{tabs:a.tabs.map(a=>a.id===c.id?{...a,initialSubId:b.initialSubId,initialTaskId:b.initialTaskId}:a),activeTabId:c.id};let d={id:b.projectId,type:"project",projectId:b.projectId,projectName:b.projectName,initialSubId:b.initialSubId,initialTaskId:b.initialTaskId};return{tabs:[...a.tabs,d],activeTabId:d.id}}case"CLOSE_TAB":{if("dashboard"===b.tabId)return a;let c=a.tabs.findIndex(a=>a.id===b.tabId),d=a.tabs.filter(a=>a.id!==b.tabId),e=a.activeTabId;return a.activeTabId===b.tabId&&(e=d[Math.max(0,c-1)]?.id||"dashboard"),{tabs:C(d),activeTabId:e}}case"SET_ACTIVE":return{...a,activeTabId:b.tabId};case"UPDATE_TAB_NAME":return{...a,tabs:a.tabs.map(a=>a.id===b.tabId?{...a,projectName:b.name}:a)};case"CONSUME_INITIAL":return{...a,tabs:a.tabs.map(a=>a.id===b.tabId?{...a,initialSubId:void 0,initialTaskId:void 0}:a)};case"HYDRATE":return{tabs:C(b.state.tabs),activeTabId:b.state.activeTabId};default:return a}}let E={tabs:[B],activeTabId:"dashboard"};function F(){return E}let G=(0,z.createContext)(null);function H(){let a=(0,z.useContext)(G);if(!a)throw Error("useTabContext must be used within TabProvider");return a}function I({children:a}){let[b,c]=(0,z.useReducer)(D,void 0,F),d=(0,z.useCallback)((a,b,d,e)=>{c({type:"OPEN_PROJECT",projectId:a,projectName:b,initialSubId:d,initialTaskId:e})},[]),e=(0,z.useCallback)(a=>{c({type:"CLOSE_TAB",tabId:a})},[]),f=(0,z.useCallback)(a=>{c({type:"SET_ACTIVE",tabId:a})},[]),g=(0,z.useCallback)((a,b)=>{c({type:"UPDATE_TAB_NAME",tabId:a,name:b})},[]),h=(0,z.useCallback)(a=>{c({type:"CONSUME_INITIAL",tabId:a})},[]),i=(0,z.useCallback)(()=>{let a=b.tabs.findIndex(a=>a.id===b.activeTabId),d=b.tabs[(a+1)%b.tabs.length];d&&c({type:"SET_ACTIVE",tabId:d.id})},[b.tabs,b.activeTabId]),j=(0,z.useCallback)(()=>{let a=b.tabs.findIndex(a=>a.id===b.activeTabId),d=b.tabs[(a-1+b.tabs.length)%b.tabs.length];d&&c({type:"SET_ACTIVE",tabId:d.id})},[b.tabs,b.activeTabId]);return(0,y.jsx)(G.Provider,{value:{state:b,openProject:d,closeTab:e,setActiveTab:f,updateTabName:g,consumeInitial:h,nextTab:i,prevTab:j},children:a})}function J(){let{state:a,setActiveTab:b,closeTab:c}=H();return(0,y.jsx)("div",{className:"tab-bar",children:a.tabs.map(d=>{let e=a.activeTabId===d.id,f="dashboard"===d.type;return(0,y.jsxs)("div",{onClick:()=>b(d.id),onMouseDown:a=>{1!==a.button||f||(a.preventDefault(),c(d.id))},className:`tab-item ${e?"tab-item-active":""}`,children:[(0,y.jsx)("span",{className:"truncate",children:f?"Dashboard":d.projectName||"Project"}),!f&&(0,y.jsx)("button",{onClick:a=>{a.stopPropagation(),c(d.id)},className:"tab-close",children:"\xd7"})]},d.id)})})}function K({onSelect:a,onCancel:b,initialPath:c}){let[d,e]=(0,z.useState)(null),[f,g]=(0,z.useState)(!0),[h,i]=(0,z.useState)(null),[j,k]=(0,z.useState)(!1),l=(0,z.useCallback)(async a=>{g(!0),i(null),k(!1);try{let b=a?`?path=${encodeURIComponent(a)}`:"",c=await fetch(`/api/filesystem${b}`);if(c.ok)e(await c.json());else{let a=await c.json();i(a.error||"불러오기 실패"),a.permissionError&&k(!0)}}catch{i("불러오기 실패")}finally{g(!1)}},[]);return(0,y.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:b,children:(0,y.jsxs)("div",{className:"bg-card border border-border rounded-lg shadow-xl w-[520px] max-h-[70vh] flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,y.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border",children:[(0,y.jsx)("h3",{className:"text-sm font-semibold",children:"프로젝트 폴더 선택"}),(0,y.jsx)("button",{onClick:b,className:"text-muted-foreground hover:text-foreground text-lg leading-none",children:"\xd7"})]}),(0,y.jsx)("div",{className:"px-4 py-2 border-b border-border bg-muted",children:(0,y.jsxs)("div",{className:"flex items-center gap-2",children:[(0,y.jsx)("span",{className:"text-xs text-muted-foreground shrink-0",children:"경로:"}),(0,y.jsx)("span",{className:"text-xs font-mono truncate flex-1",title:d?.current,children:d?.current||"..."}),d?.isProject&&(0,y.jsx)("span",{className:"text-xs text-success shrink-0 font-medium",children:"프로젝트 감지"})]})}),(0,y.jsx)("div",{className:"flex-1 overflow-y-auto min-h-0",children:f?(0,y.jsx)("div",{className:"p-8 text-center text-muted-foreground text-sm",children:"불러오는 중..."}):h?(0,y.jsxs)("div",{className:"p-6 text-center",children:[(0,y.jsx)("div",{className:"text-destructive text-sm mb-2",children:h}),j&&(0,y.jsxs)("div",{className:"text-xs text-muted-foreground leading-relaxed mt-3 text-left bg-muted rounded-md p-3",children:[(0,y.jsx)("p",{className:"font-semibold mb-1",children:"macOS 권한 설정이 필요합니다"}),(0,y.jsx)("p",{children:"시스템 설정 → 개인정보 보호 및 보안 → 전체 디스크 접근 권한에서 터미널 앱을 추가해주세요."}),(0,y.jsx)("p",{className:"mt-1 text-muted-foreground",children:"Documents, Desktop 등 보호된 폴더는 별도 권한이 필요합니다."})]})]}):(0,y.jsxs)("div",{className:"py-1",children:[d?.parent&&(0,y.jsxs)("button",{onClick:()=>l(d.parent),className:"w-full text-left px-4 py-2 text-sm hover:bg-muted transition-colors flex items-center gap-2 text-muted-foreground",children:[(0,y.jsx)("span",{children:"↑"}),(0,y.jsx)("span",{children:".."})]}),d?.dirs.length===0&&(0,y.jsx)("div",{className:"px-4 py-6 text-center text-muted-foreground text-xs",children:"하위 폴더가 없습니다"}),d?.dirs.map(a=>(0,y.jsxs)("button",{onClick:()=>l(a.path),className:"w-full text-left px-4 py-2 text-sm hover:bg-muted transition-colors flex items-center gap-2",children:[(0,y.jsx)("span",{className:"text-muted-foreground",children:"\uD83D\uDCC1"}),(0,y.jsx)("span",{children:a.name})]},a.path))]})}),(0,y.jsxs)("div",{className:"flex items-center justify-end gap-2 px-4 py-3 border-t border-border",children:[(0,y.jsx)("button",{onClick:b,className:"px-3 py-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors",children:"취소"}),(0,y.jsx)("button",{onClick:()=>d&&a(d.current),disabled:!d,className:"px-4 py-1.5 text-xs bg-primary hover:bg-primary-hover text-white rounded-md transition-colors disabled:opacity-50",children:"이 폴더 선택"})]})]})})}function L({open:a,title:b,description:c,confirmLabel:d="Confirm",cancelLabel:e="Cancel",variant:f="default",onConfirm:g,onCancel:h}){let i=(0,z.useRef)(null),j=(0,z.useRef)(null);return((0,z.useCallback)(b=>{a&&("Escape"===b.key&&h(),"Enter"===b.key&&g())},[a,h,g]),a)?(0,y.jsx)("div",{ref:j,onClick:a=>{a.target===j.current&&h()},className:"fixed inset-0 z-50 flex items-center justify-center",style:{background:"rgba(0,0,0,0.5)",backdropFilter:"blur(2px)"},children:(0,y.jsxs)("div",{className:"bg-card border border-border rounded-xl shadow-2xl shadow-black/40 w-full max-w-sm mx-4 animate-dialog-in",children:[(0,y.jsxs)("div",{className:"p-5",children:[(0,y.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:b}),c&&(0,y.jsx)("p",{className:"text-xs text-muted-foreground mt-1.5 leading-relaxed",children:c})]}),(0,y.jsxs)("div",{className:"flex justify-end gap-2 px-5 pb-4",children:[(0,y.jsx)("button",{onClick:h,className:"px-3 py-1.5 text-xs text-muted-foreground hover:text-foreground bg-muted hover:bg-card-hover border border-border rounded-md transition-colors",children:e}),(0,y.jsx)("button",{ref:i,onClick:g,className:`px-3 py-1.5 text-xs text-white rounded-md transition-colors ${"danger"===f?"bg-destructive hover:bg-destructive/80":"bg-primary hover:bg-primary-hover"}`,children:d})]})]})}):null}let M=[{key:"active",label:"Active"},{key:"all",label:"All"},{key:"today",label:"Today"},{key:"archive",label:"Archive"}];function N({value:a,onChange:b}){let[c,d]=(0,z.useState)(!1);return c?(0,y.jsx)("div",{className:"flex gap-1 bg-muted rounded-lg p-1",children:M.map(c=>(0,y.jsx)("button",{onClick:()=>b(c.key),className:`px-4 py-1.5 text-sm rounded-md transition-all ${a===c.key?"bg-card text-foreground shadow-sm font-medium":"text-muted-foreground hover:text-foreground"}`,children:c.label},c.key))}):null}let O={idea:"\uD83D\uDCA1",writing:"✏️",submitted:"\uD83D\uDE80",testing:"\uD83E\uDDEA",done:"✅",problem:"\uD83D\uDD34"};function P({subProject:a,projectName:b,onClick:c}){let{active_count:d,pending_count:e,done_count:f,problem_count:g,task_count:h,preview_tasks:i,last_activity:j}=a;return(0,y.jsxs)("div",{onClick:c,className:"p-4 bg-card hover:bg-card-hover border border-border rounded-xl cursor-pointer transition-all group hover:border-muted-foreground/30 hover:shadow-md hover:shadow-black/20",children:[(0,y.jsxs)("div",{className:"flex items-start justify-between mb-2",children:[(0,y.jsx)("h3",{className:"text-sm font-semibold group-hover:text-primary transition-colors truncate flex-1",children:a.name}),(0,y.jsx)("span",{className:"text-xs text-muted-foreground ml-2 flex-shrink-0",children:b})]}),i.length>0&&(0,y.jsx)("div",{className:"space-y-1 mb-3",children:i.map((a,b)=>(0,y.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,y.jsx)("span",{className:"flex-shrink-0",children:O[a.status]}),(0,y.jsx)("span",{className:`truncate ${"done"===a.status?"text-muted-foreground line-through":"text-foreground"}`,children:a.title})]},b))}),(0,y.jsxs)("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[(0,y.jsxs)("div",{className:"flex items-center gap-3",children:[d>0&&(0,y.jsxs)("span",{className:"text-primary",children:["active ",d]}),e>0&&(0,y.jsxs)("span",{children:["pending ",e]}),f>0&&(0,y.jsxs)("span",{className:"text-success",children:["done ",f]}),g>0&&(0,y.jsxs)("span",{className:"text-destructive",children:["problem ",g]}),0===h&&(0,y.jsx)("span",{children:"no tasks"})]}),j&&(0,y.jsx)("span",{children:function(a){if(!a)return"";let b=Math.floor((Date.now()-new Date(a).getTime())/6e4);if(b<1)return"just now";if(b<60)return`${b}m ago`;let c=Math.floor(b/60);if(c<24)return`${c}h ago`;let d=Math.floor(c/24);return`${d}d ago`}(j)})]})]})}function Q(){let a,{state:b,openProject:c,closeTab:d}=H();b.activeTabId;let[e,f]=(0,z.useState)([]),[g,h]=(0,z.useState)([]),[i,j]=(0,z.useState)(!1),[k,l]=(0,z.useState)(""),[m,n]=(0,z.useState)(""),[o,p]=(0,z.useState)(""),[q,r]=(0,z.useState)(!0),[s,t]=(0,z.useState)(!1),[u,v]=(0,z.useState)(null),[w,x]=(0,z.useState)([]),[A,B]=(0,z.useState)(""),[C,D]=(0,z.useState)(!1),[E,F]=(0,z.useState)(null),[G,I]=(0,z.useState)(!1),[J,M]=(0,z.useState)(""),[O,Q]=(0,z.useState)(""),[R,S]=(0,z.useState)(()=>!1),T=(0,z.useRef)(null),[U,V]=(0,z.useState)(()=>"active"),W=(0,z.useCallback)(async()=>{let a=await fetch("/api/projects"),b=await a.json(),c=await Promise.all(b.map(async a=>{let b=await fetch(`/api/projects/${a.id}/sub-projects`),c=await b.json();return{...a,subProjects:c}}));f(c);let d=[];for(let a of c)for(let b of a.subProjects)if(b.task_count>0){let c=await fetch(`/api/projects/${a.id}/sub-projects/${b.id}/tasks`);for(let e of(await c.json()))e.is_today&&d.push({...e,projectName:a.name,subProjectName:b.name})}h(d),r(!1)},[]),X=(0,z.useCallback)(async()=>{let a=await fetch("/api/archive");x((await a.json()).map(a=>{let b=e.find(b=>b.id===a.project_id),c=b?.subProjects.find(b=>b.id===a.sub_project_id);return{...a,projectName:b?.name,subProjectName:c?.name}}))},[e]),Y=async()=>{D(!0),M("");let a=await fetch("/api/sync");F(await a.json())},Z=async a=>{I(!0),M("");try{let b=await fetch("/api/sync",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:a,repoUrl:O})}),c=await b.json();if(b.ok){if(M(c.message||"Success"),"init"===a){let a=await fetch("/api/sync").then(a=>a.json());F(a)}"pull"===a&&W()}else M(`Error: ${c.error}`)}catch{M("Error: request failed")}I(!1)},$=async a=>{if(a.preventDefault(),!k.trim())return;let b=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:k.trim(),description:m.trim(),project_path:o.trim()||void 0})});if(b.ok){let a=await b.json();l(""),n(""),p(""),j(!1),c(a.id,a.name)}},_=async()=>{u&&(await fetch(`/api/projects/${u}`,{method:"DELETE"}),d(u),v(null),W())},aa={idea:"\uD83D\uDCA1",writing:"✏️",submitted:"\uD83D\uDE80",testing:"\uD83E\uDDEA",done:"✅",problem:"\uD83D\uDD34"};return(0,y.jsxs)("div",{className:"h-full overflow-y-auto p-8 w-full max-w-5xl mx-auto",children:[(0,y.jsxs)("header",{className:"flex items-center justify-between mb-6",children:[(0,y.jsx)("div",{children:(0,y.jsxs)("h1",{className:"text-2xl font-bold tracking-tight",children:["IM ",(0,y.jsx)("span",{className:"text-muted-foreground font-normal text-sm ml-2",children:"Idea Manager v2"})]})}),(0,y.jsxs)("div",{className:"flex items-center gap-3",children:[(0,y.jsx)(N,{value:U,onChange:a=>{V(a),localStorage.setItem("im-dashboard-tab",a),"archive"===a&&X()}}),(0,y.jsx)("button",{onClick:Y,className:"px-3 py-2 text-sm border rounded-lg transition-colors bg-muted hover:bg-card-hover text-muted-foreground border-border",title:"DB Sync via Git",children:"Sync"}),(0,y.jsx)("button",{onClick:()=>{let a=!R;S(a),localStorage.setItem("im-memo-open",String(a))},className:`px-3 py-2 text-sm border rounded-lg transition-colors ${R?"bg-accent/15 text-accent border-accent/30 hover:bg-accent/25":"bg-muted hover:bg-card-hover text-muted-foreground border-border"}`,title:"Quick memo",children:"Memo"}),(0,y.jsx)("button",{onClick:()=>j(!i),className:"px-4 py-2 bg-primary hover:bg-primary-hover text-white rounded-lg transition-colors font-medium text-sm",children:"+ Project"})]})]}),R&&(0,y.jsxs)("div",{className:"mb-6 bg-card rounded-lg border border-border overflow-hidden",children:[(0,y.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border",children:[(0,y.jsx)("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:"Quick Memo"}),(0,y.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"auto-saved"})]}),(0,y.jsx)("textarea",{value:A,onChange:a=>{var b;B(b=a.target.value),T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{fetch("/api/global-memo",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:b})})},500)},placeholder:"자유롭게 메모하세요...",className:"w-full bg-transparent px-4 py-3 text-sm text-foreground resize-none focus:outline-none leading-relaxed font-mono min-h-[150px] max-h-[400px]",style:{height:Math.max(150,Math.min(400,(A.split("\n").length+1)*22))}})]}),i&&(0,y.jsxs)("form",{onSubmit:$,className:"mb-6 p-5 bg-card rounded-lg border border-border",children:[(0,y.jsx)("input",{type:"text",placeholder:"Project name",value:k,onChange:a=>l(a.target.value),className:"w-full bg-input border border-border rounded-lg px-4 py-2.5 mb-3 focus:border-primary focus:outline-none text-foreground",autoFocus:!0}),(0,y.jsx)("input",{type:"text",placeholder:"Description (optional)",value:m,onChange:a=>n(a.target.value),className:"w-full bg-input border border-border rounded-lg px-4 py-2.5 mb-3 focus:border-primary focus:outline-none text-foreground"}),(0,y.jsx)("div",{className:"mb-4",children:(0,y.jsx)("button",{type:"button",onClick:()=>t(!0),className:"w-full bg-input border border-border rounded-lg px-4 py-2.5 text-left text-sm hover:border-primary transition-colors",children:o?(0,y.jsx)("span",{className:"font-mono text-foreground",children:o}):(0,y.jsx)("span",{className:"text-muted-foreground",children:"Project folder (optional)"})})}),(0,y.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,y.jsx)("button",{type:"button",onClick:()=>j(!1),className:"px-4 py-2 text-muted-foreground hover:text-foreground transition-colors text-sm",children:"Cancel"}),(0,y.jsx)("button",{type:"submit",className:"px-4 py-2 bg-primary hover:bg-primary-hover text-white rounded-lg transition-colors text-sm",children:"Create"})]})]}),q?(0,y.jsx)("div",{className:"text-center text-muted-foreground py-20",children:"Loading..."}):"archive"===U?0===w.length?(0,y.jsxs)("div",{className:"text-center py-20 text-muted-foreground",children:[(0,y.jsx)("p",{className:"text-lg mb-2",children:"No archived tasks"}),(0,y.jsx)("p",{className:"text-sm",children:"Archived tasks will appear here"})]}):(0,y.jsx)("div",{className:"space-y-2",children:w.map(a=>(0,y.jsxs)("div",{className:"flex items-center gap-3 p-3 bg-card border border-border rounded-lg transition-colors group",children:[(0,y.jsx)("span",{className:"text-sm",children:aa[a.status]}),(0,y.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,y.jsx)("span",{className:"text-sm font-medium",children:a.title}),(0,y.jsxs)("span",{className:"text-xs text-muted-foreground ml-2",children:[a.projectName,a.subProjectName?` / ${a.subProjectName}`:""]}),a.description&&(0,y.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 truncate",children:a.description})]}),(0,y.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,y.jsx)("button",{onClick:async()=>{await fetch("/api/archive",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:a.id,action:"restore"})}),X(),W()},className:"px-2 py-1 text-xs text-primary hover:bg-primary/10 rounded transition-colors",children:"Restore"}),(0,y.jsx)("button",{onClick:async()=>{await fetch("/api/archive",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:a.id,action:"delete"})}),X()},className:"px-2 py-1 text-xs text-destructive hover:bg-destructive/10 rounded transition-colors",children:"Delete"})]})]},a.id))}):"today"===U?0===g.length?(0,y.jsxs)("div",{className:"text-center py-20 text-muted-foreground",children:[(0,y.jsx)("p",{className:"text-lg mb-2",children:"No tasks marked for today"}),(0,y.jsx)("p",{className:"text-sm",children:"Mark tasks with the Today button in task detail"})]}):(0,y.jsx)("div",{className:"space-y-2",children:g.map(a=>(0,y.jsxs)("div",{onClick:()=>c(a.project_id,a.projectName,a.sub_project_id,a.id),className:"flex items-center gap-3 p-3 bg-card hover:bg-card-hover border border-border rounded-lg cursor-pointer transition-colors",children:[(0,y.jsx)("span",{className:"text-sm",children:aa[a.status]}),(0,y.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,y.jsx)("span",{className:"text-sm font-medium",children:a.title}),(0,y.jsxs)("span",{className:"text-xs text-muted-foreground ml-2",children:[a.projectName," / ",a.subProjectName]})]})]},a.id))}):(0,y.jsx)(y.Fragment,{children:"all"===U?0===e.length?(0,y.jsxs)("div",{className:"text-center py-20",children:[(0,y.jsx)("p",{className:"text-muted-foreground text-lg mb-2",children:"No projects yet"}),(0,y.jsx)("p",{className:"text-muted-foreground text-sm",children:"Click + Project to get started"})]}):(0,y.jsx)("div",{className:"space-y-6",children:e.map(a=>(0,y.jsxs)("div",{children:[(0,y.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,y.jsxs)("div",{className:"flex items-center gap-2 cursor-pointer hover:text-primary transition-colors",onClick:()=>c(a.id,a.name),children:[(0,y.jsx)("h2",{className:"text-sm font-semibold",children:a.name}),a.project_path&&(0,y.jsx)("span",{className:"text-xs text-muted-foreground font-mono truncate max-w-48",children:a.project_path})]}),(0,y.jsx)("button",{onClick:b=>{var c;return c=a.id,void(b.stopPropagation(),v(c))},className:"text-xs text-muted-foreground hover:text-destructive transition-colors",children:"Delete"})]}),0===a.subProjects.length?(0,y.jsxs)("div",{className:"text-xs text-muted-foreground py-4 text-center border border-dashed border-border rounded-lg",children:["No sub-projects."," ",(0,y.jsx)("span",{className:"text-primary cursor-pointer hover:underline",onClick:()=>c(a.id,a.name),children:"Open project"})," ","to add one."]}):(0,y.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:a.subProjects.map(b=>(0,y.jsx)(P,{subProject:b,projectName:a.name,onClick:()=>c(a.id,a.name,b.id)},b.id))})]},a.id))}):0===(a=(()=>{let a=[];for(let b of e)for(let c of b.subProjects)"active"===U?(c.active_count>0||c.problem_count>0)&&a.push({sp:c,projectName:b.name,projectId:b.id}):"all"===U&&a.push({sp:c,projectName:b.name,projectId:b.id});return a.sort((a,b)=>b.sp.active_count+b.sp.problem_count-(a.sp.active_count+a.sp.problem_count)),a})()).length?(0,y.jsxs)("div",{className:"text-center py-20 text-muted-foreground",children:[(0,y.jsx)("p",{className:"text-lg mb-2",children:"No active tasks"}),(0,y.jsx)("p",{className:"text-sm",children:"Submit tasks to see them here"})]}):(0,y.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:a.map(({sp:a,projectName:b,projectId:d})=>(0,y.jsx)(P,{subProject:a,projectName:b,onClick:()=>{let f=e.find(a=>a.id===d);c(d,f?.name||b,a.id)}},a.id))})}),s&&(0,y.jsx)(K,{onSelect:a=>{p(a),t(!1)},onCancel:()=>t(!1)}),C&&(0,y.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,y.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:()=>D(!1)}),(0,y.jsxs)("div",{className:"relative bg-card border border-border rounded-xl shadow-2xl w-[480px] animate-dialog-in",children:[(0,y.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-border",children:[(0,y.jsx)("h3",{className:"text-sm font-semibold",children:"DB Sync"}),(0,y.jsx)("button",{onClick:()=>D(!1),className:"text-muted-foreground hover:text-foreground text-lg px-1",children:"x"})]}),(0,y.jsxs)("div",{className:"p-5 space-y-4",children:[null===E?(0,y.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."}):E.initialized?(0,y.jsxs)("div",{className:"space-y-3",children:[(0,y.jsxs)("div",{className:"text-xs space-y-1",children:[(0,y.jsxs)("p",{children:[(0,y.jsx)("span",{className:"text-muted-foreground",children:"Remote:"})," ",(0,y.jsx)("span",{className:"font-mono",children:E.remoteUrl||"none"})]}),(0,y.jsxs)("p",{children:[(0,y.jsx)("span",{className:"text-muted-foreground",children:"Last sync:"})," ",E.lastCommit||"never"]})]}),(0,y.jsxs)("div",{className:"flex gap-2",children:[(0,y.jsx)("button",{onClick:()=>Z("push"),disabled:G,className:"flex-1 px-4 py-2 text-sm bg-primary text-white rounded-lg hover:bg-primary-hover transition-colors disabled:opacity-50",children:G?"...":"Push"}),(0,y.jsx)("button",{onClick:()=>Z("pull"),disabled:G,className:"flex-1 px-4 py-2 text-sm bg-muted text-foreground border border-border rounded-lg hover:bg-card-hover transition-colors disabled:opacity-50",children:G?"...":"Pull"})]})]}):(0,y.jsxs)("div",{className:"space-y-3",children:[(0,y.jsx)("p",{className:"text-sm text-muted-foreground",children:"Git 저장소 URL을 입력하세요."}),(0,y.jsx)("input",{value:O,onChange:a=>Q(a.target.value),placeholder:"https://github.com/user/repo.git",className:"w-full bg-input border border-border rounded-lg px-3 py-2 text-sm focus:border-primary focus:outline-none text-foreground"}),(0,y.jsx)("button",{onClick:()=>Z("init"),disabled:G||!O.trim(),className:"w-full px-4 py-2 text-sm bg-primary text-white rounded-lg hover:bg-primary-hover transition-colors disabled:opacity-50",children:G?"Initializing...":"Initialize"})]}),J&&(0,y.jsx)("p",{className:`text-xs ${J.startsWith("Error")?"text-destructive":"text-success"}`,children:J})]})]})]}),(0,y.jsx)(L,{open:!!u,title:"Delete project?",description:"This will permanently delete the project and all its data.",confirmLabel:"Delete",variant:"danger",onConfirm:_,onCancel:()=>v(null)})]})}function R({projectId:a,onCollapse:b}){let[c,d]=(0,z.useState)(""),[e,f]=(0,z.useState)(!1),[g,h]=(0,z.useState)(!1),i=(0,z.useRef)(null),j=(0,z.useRef)(null),k=(0,z.useCallback)(async b=>{f(!0),await fetch(`/api/projects/${a}/brainstorm`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:b})}),f(!1)},[a]);return g?(0,y.jsxs)("div",{className:"flex flex-col h-full",children:[(0,y.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border",children:[(0,y.jsx)("h2",{className:"text-sm font-medium text-muted-foreground",children:"BRAINSTORMING"}),(0,y.jsxs)("div",{className:"flex items-center gap-2",children:[(0,y.jsx)("span",{className:"text-xs text-muted-foreground",children:e?"저장 중...":c?"저장됨":""}),b&&(0,y.jsx)("button",{onClick:b,className:"text-muted-foreground hover:text-foreground transition-colors text-xs px-1",title:"접기 (B)",children:"\xab"})]})]}),(0,y.jsx)("div",{className:"editor-container",children:(0,y.jsx)("textarea",{ref:j,value:c,onChange:a=>{let b=a.target.value;d(b),i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{k(b)},1e3)},placeholder:`자유롭게 아이디어를 적어보세요...
1
+ (()=>{var a={};a.id=974,a.ids=[974],a.modules={84:a=>{a.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"__className_9a8899",variable:"__variable_9a8899"}},210:a=>{a.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_188709",variable:"__variable_188709"}},261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},1135:()=>{},1742:()=>{},2160:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,5547,23)),Promise.resolve().then(c.t.bind(c,5098,23)),Promise.resolve().then(c.t.bind(c,7644,23)),Promise.resolve().then(c.t.bind(c,3859,23)),Promise.resolve().then(c.t.bind(c,8099,23)),Promise.resolve().then(c.t.bind(c,6237,23)),Promise.resolve().then(c.t.bind(c,8562,23)),Promise.resolve().then(c.t.bind(c,6675,23))},2506:function(a,b,c){"use strict";var d=(this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}})(c(2954)),e=c(3174);function f(a,b){var c={};return a&&"string"==typeof a&&(0,d.default)(a,function(a,d){a&&d&&(c[(0,e.camelCase)(a,b)]=d)}),c}f.default=f,a.exports=f},2954:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a,b){let c=null;if(!a||"string"!=typeof a)return c;let d=(0,e.default)(a),f="function"==typeof b;return d.forEach(a=>{if("declaration"!==a.type)return;let{property:d,value:e}=a;f?b(d,e,a):e&&((c=c||{})[d]=e)}),c};let e=d(c(6510))},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3174:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b.camelCase=void 0;var c=/^--[a-zA-Z0-9_-]+$/,d=/-([a-z])/g,e=/^[^-]+$/,f=/^-(webkit|moz|ms|o|khtml)-/,g=/^-(ms)-/,h=function(a,b){return b.toUpperCase()},i=function(a,b){return"".concat(b,"-")};b.camelCase=function(a,b){var j;return(void 0===b&&(b={}),!(j=a)||e.test(j)||c.test(j))?a:(a=a.toLowerCase(),(a=b.reactCompat?a.replace(g,i):a.replace(f,i)).replace(d,h))}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3494:()=>{},3873:a=>{"use strict";a.exports=require("path")},3954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},4188:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,5547,23))},4268:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,1921,23))},4328:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>gB});var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w={};c.r(w),c.d(w,{boolean:()=>b9,booleanish:()=>ca,commaOrSpaceSeparated:()=>cf,commaSeparated:()=>ce,number:()=>cc,overloadedBoolean:()=>cb,spaceSeparated:()=>cd});var x={};c.r(x),c.d(x,{attentionMarkers:()=>ed,contentInitial:()=>d7,disable:()=>ee,document:()=>d6,flow:()=>d9,flowInitial:()=>d8,insideSpan:()=>ec,string:()=>ea,text:()=>eb});var y=c(8249),z=c(7484),A=c.n(z);let B={id:"dashboard",type:"dashboard"};function C(a){return a.some(a=>"dashboard"===a.id)?a:[B,...a]}function D(a,b){switch(b.type){case"OPEN_PROJECT":{let c=a.tabs.find(a=>a.projectId===b.projectId);if(c)return{tabs:a.tabs.map(a=>a.id===c.id?{...a,initialSubId:b.initialSubId,initialTaskId:b.initialTaskId}:a),activeTabId:c.id};let d={id:b.projectId,type:"project",projectId:b.projectId,projectName:b.projectName,initialSubId:b.initialSubId,initialTaskId:b.initialTaskId};return{tabs:[...a.tabs,d],activeTabId:d.id}}case"CLOSE_TAB":{if("dashboard"===b.tabId)return a;let c=a.tabs.findIndex(a=>a.id===b.tabId),d=a.tabs.filter(a=>a.id!==b.tabId),e=a.activeTabId;return a.activeTabId===b.tabId&&(e=d[Math.max(0,c-1)]?.id||"dashboard"),{tabs:C(d),activeTabId:e}}case"SET_ACTIVE":return{...a,activeTabId:b.tabId};case"UPDATE_TAB_NAME":return{...a,tabs:a.tabs.map(a=>a.id===b.tabId?{...a,projectName:b.name}:a)};case"CONSUME_INITIAL":return{...a,tabs:a.tabs.map(a=>a.id===b.tabId?{...a,initialSubId:void 0,initialTaskId:void 0}:a)};case"HYDRATE":return{tabs:C(b.state.tabs),activeTabId:b.state.activeTabId};default:return a}}let E={tabs:[B],activeTabId:"dashboard"};function F(){return E}let G=(0,z.createContext)(null);function H(){let a=(0,z.useContext)(G);if(!a)throw Error("useTabContext must be used within TabProvider");return a}function I({children:a}){let[b,c]=(0,z.useReducer)(D,void 0,F),d=(0,z.useCallback)((a,b,d,e)=>{c({type:"OPEN_PROJECT",projectId:a,projectName:b,initialSubId:d,initialTaskId:e})},[]),e=(0,z.useCallback)(a=>{c({type:"CLOSE_TAB",tabId:a})},[]),f=(0,z.useCallback)(a=>{c({type:"SET_ACTIVE",tabId:a})},[]),g=(0,z.useCallback)((a,b)=>{c({type:"UPDATE_TAB_NAME",tabId:a,name:b})},[]),h=(0,z.useCallback)(a=>{c({type:"CONSUME_INITIAL",tabId:a})},[]),i=(0,z.useCallback)(()=>{let a=b.tabs.findIndex(a=>a.id===b.activeTabId),d=b.tabs[(a+1)%b.tabs.length];d&&c({type:"SET_ACTIVE",tabId:d.id})},[b.tabs,b.activeTabId]),j=(0,z.useCallback)(()=>{let a=b.tabs.findIndex(a=>a.id===b.activeTabId),d=b.tabs[(a-1+b.tabs.length)%b.tabs.length];d&&c({type:"SET_ACTIVE",tabId:d.id})},[b.tabs,b.activeTabId]);return(0,y.jsx)(G.Provider,{value:{state:b,openProject:d,closeTab:e,setActiveTab:f,updateTabName:g,consumeInitial:h,nextTab:i,prevTab:j},children:a})}function J(){let{state:a,setActiveTab:b,closeTab:c}=H();return(0,y.jsx)("div",{className:"tab-bar",children:a.tabs.map(d=>{let e=a.activeTabId===d.id,f="dashboard"===d.type;return(0,y.jsxs)("div",{onClick:()=>b(d.id),onMouseDown:a=>{1!==a.button||f||(a.preventDefault(),c(d.id))},className:`tab-item ${e?"tab-item-active":""}`,children:[(0,y.jsx)("span",{className:"truncate",children:f?"Dashboard":d.projectName||"Project"}),!f&&(0,y.jsx)("button",{onClick:a=>{a.stopPropagation(),c(d.id)},className:"tab-close",children:"\xd7"})]},d.id)})})}function K({onSelect:a,onCancel:b,initialPath:c}){let[d,e]=(0,z.useState)(null),[f,g]=(0,z.useState)(!0),[h,i]=(0,z.useState)(null),[j,k]=(0,z.useState)(!1),l=(0,z.useCallback)(async a=>{g(!0),i(null),k(!1);try{let b=a?`?path=${encodeURIComponent(a)}`:"",c=await fetch(`/api/filesystem${b}`);if(c.ok)e(await c.json());else{let a=await c.json();i(a.error||"불러오기 실패"),a.permissionError&&k(!0)}}catch{i("불러오기 실패")}finally{g(!1)}},[]);return(0,y.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:b,children:(0,y.jsxs)("div",{className:"bg-card border border-border rounded-lg shadow-xl w-[520px] max-h-[70vh] flex flex-col",onClick:a=>a.stopPropagation(),children:[(0,y.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border",children:[(0,y.jsx)("h3",{className:"text-sm font-semibold",children:"프로젝트 폴더 선택"}),(0,y.jsx)("button",{onClick:b,className:"text-muted-foreground hover:text-foreground text-lg leading-none",children:"\xd7"})]}),(0,y.jsx)("div",{className:"px-4 py-2 border-b border-border bg-muted",children:(0,y.jsxs)("div",{className:"flex items-center gap-2",children:[(0,y.jsx)("span",{className:"text-xs text-muted-foreground shrink-0",children:"경로:"}),(0,y.jsx)("span",{className:"text-xs font-mono truncate flex-1",title:d?.current,children:d?.current||"..."}),d?.isProject&&(0,y.jsx)("span",{className:"text-xs text-success shrink-0 font-medium",children:"프로젝트 감지"})]})}),(0,y.jsx)("div",{className:"flex-1 overflow-y-auto min-h-0",children:f?(0,y.jsx)("div",{className:"p-8 text-center text-muted-foreground text-sm",children:"불러오는 중..."}):h?(0,y.jsxs)("div",{className:"p-6 text-center",children:[(0,y.jsx)("div",{className:"text-destructive text-sm mb-2",children:h}),j&&(0,y.jsxs)("div",{className:"text-xs text-muted-foreground leading-relaxed mt-3 text-left bg-muted rounded-md p-3",children:[(0,y.jsx)("p",{className:"font-semibold mb-1",children:"macOS 권한 설정이 필요합니다"}),(0,y.jsx)("p",{children:"시스템 설정 → 개인정보 보호 및 보안 → 전체 디스크 접근 권한에서 터미널 앱을 추가해주세요."}),(0,y.jsx)("p",{className:"mt-1 text-muted-foreground",children:"Documents, Desktop 등 보호된 폴더는 별도 권한이 필요합니다."})]})]}):(0,y.jsxs)("div",{className:"py-1",children:[d?.parent&&(0,y.jsxs)("button",{onClick:()=>l(d.parent),className:"w-full text-left px-4 py-2 text-sm hover:bg-muted transition-colors flex items-center gap-2 text-muted-foreground",children:[(0,y.jsx)("span",{children:"↑"}),(0,y.jsx)("span",{children:".."})]}),d?.dirs.length===0&&(0,y.jsx)("div",{className:"px-4 py-6 text-center text-muted-foreground text-xs",children:"하위 폴더가 없습니다"}),d?.dirs.map(a=>(0,y.jsxs)("button",{onClick:()=>l(a.path),className:"w-full text-left px-4 py-2 text-sm hover:bg-muted transition-colors flex items-center gap-2",children:[(0,y.jsx)("span",{className:"text-muted-foreground",children:"\uD83D\uDCC1"}),(0,y.jsx)("span",{children:a.name})]},a.path))]})}),(0,y.jsxs)("div",{className:"flex items-center justify-end gap-2 px-4 py-3 border-t border-border",children:[(0,y.jsx)("button",{onClick:b,className:"px-3 py-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors",children:"취소"}),(0,y.jsx)("button",{onClick:()=>d&&a(d.current),disabled:!d,className:"px-4 py-1.5 text-xs bg-primary hover:bg-primary-hover text-white rounded-md transition-colors disabled:opacity-50",children:"이 폴더 선택"})]})]})})}function L({open:a,title:b,description:c,confirmLabel:d="Confirm",cancelLabel:e="Cancel",variant:f="default",onConfirm:g,onCancel:h}){let i=(0,z.useRef)(null),j=(0,z.useRef)(null);return((0,z.useCallback)(b=>{a&&("Escape"===b.key&&h(),"Enter"===b.key&&g())},[a,h,g]),a)?(0,y.jsx)("div",{ref:j,onClick:a=>{a.target===j.current&&h()},className:"fixed inset-0 z-50 flex items-center justify-center",style:{background:"rgba(0,0,0,0.5)",backdropFilter:"blur(2px)"},children:(0,y.jsxs)("div",{className:"bg-card border border-border rounded-xl shadow-2xl shadow-black/40 w-full max-w-sm mx-4 animate-dialog-in",children:[(0,y.jsxs)("div",{className:"p-5",children:[(0,y.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:b}),c&&(0,y.jsx)("p",{className:"text-xs text-muted-foreground mt-1.5 leading-relaxed",children:c})]}),(0,y.jsxs)("div",{className:"flex justify-end gap-2 px-5 pb-4",children:[(0,y.jsx)("button",{onClick:h,className:"px-3 py-1.5 text-xs text-muted-foreground hover:text-foreground bg-muted hover:bg-card-hover border border-border rounded-md transition-colors",children:e}),(0,y.jsx)("button",{ref:i,onClick:g,className:`px-3 py-1.5 text-xs text-white rounded-md transition-colors ${"danger"===f?"bg-destructive hover:bg-destructive/80":"bg-primary hover:bg-primary-hover"}`,children:d})]})]})}):null}let M=[{key:"active",label:"Active"},{key:"all",label:"All"},{key:"today",label:"Today"},{key:"archive",label:"Archive"}];function N({value:a,onChange:b}){let[c,d]=(0,z.useState)(!1);return c?(0,y.jsx)("div",{className:"flex gap-1 bg-muted rounded-lg p-1",children:M.map(c=>(0,y.jsx)("button",{onClick:()=>b(c.key),className:`px-4 py-1.5 text-sm rounded-md transition-all ${a===c.key?"bg-card text-foreground shadow-sm font-medium":"text-muted-foreground hover:text-foreground"}`,children:c.label},c.key))}):null}let O={idea:"\uD83D\uDCA1",writing:"✏️",submitted:"\uD83D\uDE80",testing:"\uD83E\uDDEA",done:"✅",problem:"\uD83D\uDD34"};function P({subProject:a,projectName:b,onClick:c}){let{active_count:d,pending_count:e,done_count:f,problem_count:g,task_count:h,preview_tasks:i,last_activity:j}=a;return(0,y.jsxs)("div",{onClick:c,className:"p-4 bg-card hover:bg-card-hover border border-border rounded-xl cursor-pointer transition-all group hover:border-muted-foreground/30 hover:shadow-md hover:shadow-black/20",children:[(0,y.jsxs)("div",{className:"flex items-start justify-between mb-2",children:[(0,y.jsx)("h3",{className:"text-sm font-semibold group-hover:text-primary transition-colors truncate flex-1",children:a.name}),(0,y.jsx)("span",{className:"text-xs text-muted-foreground ml-2 flex-shrink-0",children:b})]}),i.length>0&&(0,y.jsx)("div",{className:"space-y-1 mb-3",children:i.map((a,b)=>(0,y.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,y.jsx)("span",{className:"flex-shrink-0",children:O[a.status]}),(0,y.jsx)("span",{className:`truncate ${"done"===a.status?"text-muted-foreground line-through":"text-foreground"}`,children:a.title})]},b))}),(0,y.jsxs)("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[(0,y.jsxs)("div",{className:"flex items-center gap-3",children:[d>0&&(0,y.jsxs)("span",{className:"text-primary",children:["active ",d]}),e>0&&(0,y.jsxs)("span",{children:["pending ",e]}),f>0&&(0,y.jsxs)("span",{className:"text-success",children:["done ",f]}),g>0&&(0,y.jsxs)("span",{className:"text-destructive",children:["problem ",g]}),0===h&&(0,y.jsx)("span",{children:"no tasks"})]}),j&&(0,y.jsx)("span",{children:function(a){if(!a)return"";let b=Math.floor((Date.now()-new Date(a).getTime())/6e4);if(b<1)return"just now";if(b<60)return`${b}m ago`;let c=Math.floor(b/60);if(c<24)return`${c}h ago`;let d=Math.floor(c/24);return`${d}d ago`}(j)})]})]})}function Q(){let a,{state:b,openProject:c,closeTab:d}=H();b.activeTabId;let[e,f]=(0,z.useState)([]),[g,h]=(0,z.useState)([]),[i,j]=(0,z.useState)(!1),[k,l]=(0,z.useState)(""),[m,n]=(0,z.useState)(""),[o,p]=(0,z.useState)(""),[q,r]=(0,z.useState)(!0),[s,t]=(0,z.useState)(!1),[u,v]=(0,z.useState)(null),[w,x]=(0,z.useState)([]),[A,B]=(0,z.useState)(""),[C,D]=(0,z.useState)(!1),[E,F]=(0,z.useState)(null),[G,I]=(0,z.useState)(!1),[J,M]=(0,z.useState)(""),[O,Q]=(0,z.useState)(""),[R,S]=(0,z.useState)(()=>!1),T=(0,z.useRef)(null),[U,V]=(0,z.useState)(()=>"active"),W=(0,z.useCallback)(async()=>{let a=await fetch("/api/projects"),b=await a.json(),c=await Promise.all(b.map(async a=>{let b=await fetch(`/api/projects/${a.id}/sub-projects`),c=await b.json();return{...a,subProjects:c}}));f(c);let d=[];for(let a of c)for(let b of a.subProjects)if(b.task_count>0){let c=await fetch(`/api/projects/${a.id}/sub-projects/${b.id}/tasks`);for(let e of(await c.json()))e.is_today&&d.push({...e,projectName:a.name,subProjectName:b.name})}h(d),r(!1)},[]),X=(0,z.useCallback)(async()=>{let a=await fetch("/api/archive");x((await a.json()).map(a=>{let b=e.find(b=>b.id===a.project_id),c=b?.subProjects.find(b=>b.id===a.sub_project_id);return{...a,projectName:b?.name,subProjectName:c?.name}}))},[e]),Y=async()=>{D(!0),M("");let a=await fetch("/api/sync");F(await a.json())},Z=async a=>{I(!0),M("");try{let b=await fetch("/api/sync",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:a,repoUrl:O})}),c=await b.json();if(b.ok){if(M(c.message||"Success"),"init"===a){let a=await fetch("/api/sync").then(a=>a.json());F(a)}"pull"===a&&W()}else M(`Error: ${c.error}`)}catch{M("Error: request failed")}I(!1)},$=a=>{V(a),localStorage.setItem("im-dashboard-tab",a),"archive"===a&&X()},_=async a=>{if(a.preventDefault(),!k.trim())return;let b=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:k.trim(),description:m.trim(),project_path:o.trim()||void 0})});if(b.ok){let a=await b.json();l(""),n(""),p(""),j(!1),c(a.id,a.name)}},aa=async()=>{u&&(await fetch(`/api/projects/${u}`,{method:"DELETE"}),d(u),v(null),W())},ab={idea:"\uD83D\uDCA1",writing:"✏️",submitted:"\uD83D\uDE80",testing:"\uD83E\uDDEA",done:"✅",problem:"\uD83D\uDD34"},ac=(()=>{let a=0,b=0,c=0,d=0,f=0;for(let g of e)for(let e of g.subProjects)a+=e.task_count,b+=e.active_count,c+=e.pending_count,d+=e.done_count,f+=e.problem_count;return{total:a,active:b,pending:c,done:d,problem:f,today:g.length}})(),ad=[{label:"Total",value:ac.total,color:"text-foreground",bg:"bg-foreground/5"},{label:"Active",value:ac.active,color:"text-cyan-400",bg:"bg-cyan-400/10"},{label:"Pending",value:ac.pending,color:"text-indigo-400",bg:"bg-indigo-400/10"},{label:"Done",value:ac.done,color:"text-emerald-400",bg:"bg-emerald-400/10"},{label:"Problem",value:ac.problem,color:"text-red-400",bg:"bg-red-400/10"},{label:"Today",value:ac.today,color:"text-amber-400",bg:"bg-amber-400/10"}];return(0,y.jsxs)("div",{className:"h-full overflow-y-auto p-8 w-full max-w-5xl mx-auto",children:[(0,y.jsxs)("header",{className:"flex items-center justify-between mb-6",children:[(0,y.jsx)("div",{children:(0,y.jsxs)("h1",{className:"text-2xl font-bold tracking-tight",children:["IM ",(0,y.jsx)("span",{className:"text-muted-foreground font-normal text-sm ml-2",children:"Idea Manager v2"})]})}),(0,y.jsxs)("div",{className:"flex items-center gap-3",children:[(0,y.jsx)(N,{value:U,onChange:$}),(0,y.jsx)("button",{onClick:Y,className:"px-3 py-2 text-sm border rounded-lg transition-colors bg-muted hover:bg-card-hover text-muted-foreground border-border",title:"DB Sync via Git",children:"Sync"}),(0,y.jsx)("button",{onClick:()=>{let a=!R;S(a),localStorage.setItem("im-memo-open",String(a))},className:`px-3 py-2 text-sm border rounded-lg transition-colors ${R?"bg-accent/15 text-accent border-accent/30 hover:bg-accent/25":"bg-muted hover:bg-card-hover text-muted-foreground border-border"}`,title:"Quick memo",children:"Memo"}),(0,y.jsx)("button",{onClick:()=>j(!i),className:"px-4 py-2 bg-primary hover:bg-primary-hover text-white rounded-lg transition-colors font-medium text-sm",children:"+ Project"})]})]}),!q&&ac.total>0&&(0,y.jsxs)("div",{className:"mb-6",children:[(0,y.jsx)("div",{className:"grid grid-cols-6 gap-2",children:ad.map(({label:a,value:b,color:c,bg:d})=>(0,y.jsxs)("button",{onClick:()=>{"Today"===a?$("today"):"Active"===a?$("active"):$("all")},className:`${d} rounded-lg p-3 text-center transition-all hover:scale-[1.02] hover:brightness-110 cursor-pointer`,children:[(0,y.jsx)("div",{className:`text-xl font-bold ${c}`,children:b}),(0,y.jsx)("div",{className:"text-[10px] text-muted-foreground uppercase tracking-wider mt-0.5",children:a})]},a))}),ac.total>0&&(0,y.jsxs)("div",{className:"mt-2 h-1.5 rounded-full bg-muted overflow-hidden flex",children:[ac.done>0&&(0,y.jsx)("div",{className:"bg-emerald-400 transition-all",style:{width:`${ac.done/ac.total*100}%`}}),ac.active>0&&(0,y.jsx)("div",{className:"bg-cyan-400 transition-all",style:{width:`${ac.active/ac.total*100}%`}}),ac.pending>0&&(0,y.jsx)("div",{className:"bg-indigo-400 transition-all",style:{width:`${ac.pending/ac.total*100}%`}}),ac.problem>0&&(0,y.jsx)("div",{className:"bg-red-400 transition-all",style:{width:`${ac.problem/ac.total*100}%`}})]})]}),R&&(0,y.jsxs)("div",{className:"mb-6 bg-card rounded-lg border border-border overflow-hidden",children:[(0,y.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border",children:[(0,y.jsx)("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:"Quick Memo"}),(0,y.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"auto-saved"})]}),(0,y.jsx)("textarea",{value:A,onChange:a=>{var b;B(b=a.target.value),T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{fetch("/api/global-memo",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:b})})},500)},placeholder:"자유롭게 메모하세요...",className:"w-full bg-transparent px-4 py-3 text-sm text-foreground resize-none focus:outline-none leading-relaxed font-mono min-h-[150px] max-h-[400px]",style:{height:Math.max(150,Math.min(400,(A.split("\n").length+1)*22))}})]}),i&&(0,y.jsxs)("form",{onSubmit:_,className:"mb-6 p-5 bg-card rounded-lg border border-border",children:[(0,y.jsx)("input",{type:"text",placeholder:"Project name",value:k,onChange:a=>l(a.target.value),className:"w-full bg-input border border-border rounded-lg px-4 py-2.5 mb-3 focus:border-primary focus:outline-none text-foreground",autoFocus:!0}),(0,y.jsx)("input",{type:"text",placeholder:"Description (optional)",value:m,onChange:a=>n(a.target.value),className:"w-full bg-input border border-border rounded-lg px-4 py-2.5 mb-3 focus:border-primary focus:outline-none text-foreground"}),(0,y.jsx)("div",{className:"mb-4",children:(0,y.jsx)("button",{type:"button",onClick:()=>t(!0),className:"w-full bg-input border border-border rounded-lg px-4 py-2.5 text-left text-sm hover:border-primary transition-colors",children:o?(0,y.jsx)("span",{className:"font-mono text-foreground",children:o}):(0,y.jsx)("span",{className:"text-muted-foreground",children:"Project folder (optional)"})})}),(0,y.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,y.jsx)("button",{type:"button",onClick:()=>j(!1),className:"px-4 py-2 text-muted-foreground hover:text-foreground transition-colors text-sm",children:"Cancel"}),(0,y.jsx)("button",{type:"submit",className:"px-4 py-2 bg-primary hover:bg-primary-hover text-white rounded-lg transition-colors text-sm",children:"Create"})]})]}),q?(0,y.jsx)("div",{className:"text-center text-muted-foreground py-20",children:"Loading..."}):"archive"===U?0===w.length?(0,y.jsxs)("div",{className:"text-center py-20 text-muted-foreground",children:[(0,y.jsx)("p",{className:"text-lg mb-2",children:"No archived tasks"}),(0,y.jsx)("p",{className:"text-sm",children:"Archived tasks will appear here"})]}):(0,y.jsx)("div",{className:"space-y-2",children:w.map(a=>(0,y.jsxs)("div",{className:"flex items-center gap-3 p-3 bg-card border border-border rounded-lg transition-colors group",children:[(0,y.jsx)("span",{className:"text-sm",children:ab[a.status]}),(0,y.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,y.jsx)("span",{className:"text-sm font-medium",children:a.title}),(0,y.jsxs)("span",{className:"text-xs text-muted-foreground ml-2",children:[a.projectName,a.subProjectName?` / ${a.subProjectName}`:""]}),a.description&&(0,y.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 truncate",children:a.description})]}),(0,y.jsxs)("div",{className:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,y.jsx)("button",{onClick:async()=>{await fetch("/api/archive",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:a.id,action:"restore"})}),X(),W()},className:"px-2 py-1 text-xs text-primary hover:bg-primary/10 rounded transition-colors",children:"Restore"}),(0,y.jsx)("button",{onClick:async()=>{await fetch("/api/archive",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:a.id,action:"delete"})}),X()},className:"px-2 py-1 text-xs text-destructive hover:bg-destructive/10 rounded transition-colors",children:"Delete"})]})]},a.id))}):"today"===U?0===g.length?(0,y.jsxs)("div",{className:"text-center py-20 text-muted-foreground",children:[(0,y.jsx)("p",{className:"text-lg mb-2",children:"No tasks marked for today"}),(0,y.jsx)("p",{className:"text-sm",children:"Mark tasks with the Today button in task detail"})]}):(0,y.jsx)("div",{className:"space-y-2",children:g.map(a=>(0,y.jsxs)("div",{onClick:()=>c(a.project_id,a.projectName,a.sub_project_id,a.id),className:"flex items-center gap-3 p-3 bg-card hover:bg-card-hover border border-border rounded-lg cursor-pointer transition-colors",children:[(0,y.jsx)("span",{className:"text-sm",children:ab[a.status]}),(0,y.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,y.jsx)("span",{className:"text-sm font-medium",children:a.title}),(0,y.jsxs)("span",{className:"text-xs text-muted-foreground ml-2",children:[a.projectName," / ",a.subProjectName]})]})]},a.id))}):(0,y.jsx)(y.Fragment,{children:"all"===U?0===e.length?(0,y.jsxs)("div",{className:"text-center py-20",children:[(0,y.jsx)("p",{className:"text-muted-foreground text-lg mb-2",children:"No projects yet"}),(0,y.jsx)("p",{className:"text-muted-foreground text-sm",children:"Click + Project to get started"})]}):(0,y.jsx)("div",{className:"space-y-6",children:e.map(a=>(0,y.jsxs)("div",{children:[(0,y.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,y.jsxs)("div",{className:"flex items-center gap-2 cursor-pointer hover:text-primary transition-colors",onClick:()=>c(a.id,a.name),children:[(0,y.jsx)("h2",{className:"text-sm font-semibold",children:a.name}),a.project_path&&(0,y.jsx)("span",{className:"text-xs text-muted-foreground font-mono truncate max-w-48",children:a.project_path})]}),(0,y.jsx)("button",{onClick:b=>{var c;return c=a.id,void(b.stopPropagation(),v(c))},className:"text-xs text-muted-foreground hover:text-destructive transition-colors",children:"Delete"})]}),0===a.subProjects.length?(0,y.jsxs)("div",{className:"text-xs text-muted-foreground py-4 text-center border border-dashed border-border rounded-lg",children:["No sub-projects."," ",(0,y.jsx)("span",{className:"text-primary cursor-pointer hover:underline",onClick:()=>c(a.id,a.name),children:"Open project"})," ","to add one."]}):(0,y.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:a.subProjects.map(b=>(0,y.jsx)(P,{subProject:b,projectName:a.name,onClick:()=>c(a.id,a.name,b.id)},b.id))})]},a.id))}):0===(a=(()=>{let a=[];for(let b of e)for(let c of b.subProjects)"active"===U?(c.active_count>0||c.problem_count>0)&&a.push({sp:c,projectName:b.name,projectId:b.id}):"all"===U&&a.push({sp:c,projectName:b.name,projectId:b.id});return a.sort((a,b)=>b.sp.active_count+b.sp.problem_count-(a.sp.active_count+a.sp.problem_count)),a})()).length?(0,y.jsxs)("div",{className:"text-center py-20 text-muted-foreground",children:[(0,y.jsx)("p",{className:"text-lg mb-2",children:"No active tasks"}),(0,y.jsx)("p",{className:"text-sm",children:"Submit tasks to see them here"})]}):(0,y.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:a.map(({sp:a,projectName:b,projectId:d})=>(0,y.jsx)(P,{subProject:a,projectName:b,onClick:()=>{let f=e.find(a=>a.id===d);c(d,f?.name||b,a.id)}},a.id))})}),s&&(0,y.jsx)(K,{onSelect:a=>{p(a),t(!1)},onCancel:()=>t(!1)}),C&&(0,y.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,y.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:()=>D(!1)}),(0,y.jsxs)("div",{className:"relative bg-card border border-border rounded-xl shadow-2xl w-[480px] animate-dialog-in",children:[(0,y.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-border",children:[(0,y.jsx)("h3",{className:"text-sm font-semibold",children:"DB Sync"}),(0,y.jsx)("button",{onClick:()=>D(!1),className:"text-muted-foreground hover:text-foreground text-lg px-1",children:"x"})]}),(0,y.jsxs)("div",{className:"p-5 space-y-4",children:[null===E?(0,y.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading..."}):E.initialized?(0,y.jsxs)("div",{className:"space-y-3",children:[(0,y.jsxs)("div",{className:"text-xs space-y-1",children:[(0,y.jsxs)("p",{children:[(0,y.jsx)("span",{className:"text-muted-foreground",children:"Remote:"})," ",(0,y.jsx)("span",{className:"font-mono",children:E.remoteUrl||"none"})]}),(0,y.jsxs)("p",{children:[(0,y.jsx)("span",{className:"text-muted-foreground",children:"Last sync:"})," ",E.lastCommit||"never"]})]}),(0,y.jsxs)("div",{className:"flex gap-2",children:[(0,y.jsx)("button",{onClick:()=>Z("push"),disabled:G,className:"flex-1 px-4 py-2 text-sm bg-primary text-white rounded-lg hover:bg-primary-hover transition-colors disabled:opacity-50",children:G?"...":"Push"}),(0,y.jsx)("button",{onClick:()=>Z("pull"),disabled:G,className:"flex-1 px-4 py-2 text-sm bg-muted text-foreground border border-border rounded-lg hover:bg-card-hover transition-colors disabled:opacity-50",children:G?"...":"Pull"})]})]}):(0,y.jsxs)("div",{className:"space-y-3",children:[(0,y.jsx)("p",{className:"text-sm text-muted-foreground",children:"Git 저장소 URL을 입력하세요."}),(0,y.jsx)("input",{value:O,onChange:a=>Q(a.target.value),placeholder:"https://github.com/user/repo.git",className:"w-full bg-input border border-border rounded-lg px-3 py-2 text-sm focus:border-primary focus:outline-none text-foreground"}),(0,y.jsx)("button",{onClick:()=>Z("init"),disabled:G||!O.trim(),className:"w-full px-4 py-2 text-sm bg-primary text-white rounded-lg hover:bg-primary-hover transition-colors disabled:opacity-50",children:G?"Initializing...":"Initialize"})]}),J&&(0,y.jsx)("p",{className:`text-xs ${J.startsWith("Error")?"text-destructive":"text-success"}`,children:J})]})]})]}),(0,y.jsx)(L,{open:!!u,title:"Delete project?",description:"This will permanently delete the project and all its data.",confirmLabel:"Delete",variant:"danger",onConfirm:aa,onCancel:()=>v(null)})]})}function R({projectId:a,onCollapse:b}){let[c,d]=(0,z.useState)(""),[e,f]=(0,z.useState)(!1),[g,h]=(0,z.useState)(!1),i=(0,z.useRef)(null),j=(0,z.useRef)(null),k=(0,z.useCallback)(async b=>{f(!0),await fetch(`/api/projects/${a}/brainstorm`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:b})}),f(!1)},[a]);return g?(0,y.jsxs)("div",{className:"flex flex-col h-full",children:[(0,y.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border",children:[(0,y.jsx)("h2",{className:"text-sm font-medium text-muted-foreground",children:"BRAINSTORMING"}),(0,y.jsxs)("div",{className:"flex items-center gap-2",children:[(0,y.jsx)("span",{className:"text-xs text-muted-foreground",children:e?"저장 중...":c?"저장됨":""}),b&&(0,y.jsx)("button",{onClick:b,className:"text-muted-foreground hover:text-foreground transition-colors text-xs px-1",title:"접기 (B)",children:"\xab"})]})]}),(0,y.jsx)("div",{className:"editor-container",children:(0,y.jsx)("textarea",{ref:j,value:c,onChange:a=>{let b=a.target.value;d(b),i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{k(b)},1e3)},placeholder:`자유롭게 아이디어를 적어보세요...
2
2
 
3
3
  예시:
4
4
  - 소셜 로그인을 활용한 사용자 인증
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8935","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"440","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"1335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"2265","name":"*","chunks":[],"async":false}},"5918":{"*":{"id":"4328","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"4661","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"5421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"1921","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"4342","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":421,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":9695,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/globals.css":{"id":1743,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/page.tsx":{"id":5918,"name":"*","chunks":["151","static/chunks/151-332d463cd8bd4db6.js","974","static/chunks/app/page-c4e9f7315e29d2bf.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/projects/[id]/page.tsx":{"id":1048,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/young/Toy/idea-manager/src/":[],"/Users/young/Toy/idea-manager/src/app/layout":[{"inlined":false,"path":"static/css/72cbafb256c832a4.css"}],"/Users/young/Toy/idea-manager/src/app/page":[]},"rscModuleMapping":{"484":{"*":{"id":"8562","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8965","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"5098","name":"*","chunks":[],"async":false}},"1743":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"6237","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"3859","name":"*","chunks":[],"async":false}},"5918":{"*":{"id":"4494","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"6675","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"8099","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"5547","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"7644","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8935","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"440","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"1335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"2265","name":"*","chunks":[],"async":false}},"5918":{"*":{"id":"4328","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"4661","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"5421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"1921","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"4342","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":421,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":9695,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/globals.css":{"id":1743,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/page.tsx":{"id":5918,"name":"*","chunks":["151","static/chunks/151-332d463cd8bd4db6.js","974","static/chunks/app/page-dbd5efde8a02cc44.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/projects/[id]/page.tsx":{"id":1048,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/young/Toy/idea-manager/src/":[],"/Users/young/Toy/idea-manager/src/app/layout":[{"inlined":false,"path":"static/css/e8914d1d6cee7978.css"}],"/Users/young/Toy/idea-manager/src/app/page":[]},"rscModuleMapping":{"484":{"*":{"id":"8562","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8965","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"5098","name":"*","chunks":[],"async":false}},"1743":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"6237","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"3859","name":"*","chunks":[],"async":false}},"5918":{"*":{"id":"4494","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"6675","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"8099","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"5547","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"7644","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/projects/[id]/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8935","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"440","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"1335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"2265","name":"*","chunks":[],"async":false}},"5918":{"*":{"id":"4328","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"4661","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"5421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"1921","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"4342","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":421,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":9695,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/globals.css":{"id":1743,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/page.tsx":{"id":5918,"name":"*","chunks":["151","static/chunks/151-332d463cd8bd4db6.js","974","static/chunks/app/page-c4e9f7315e29d2bf.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/projects/[id]/page.tsx":{"id":1048,"name":"*","chunks":["801","static/chunks/app/projects/%5Bid%5D/page-822db6c758e612c4.js"],"async":false}},"entryCSSFiles":{"/Users/young/Toy/idea-manager/src/":[],"/Users/young/Toy/idea-manager/src/app/layout":[{"inlined":false,"path":"static/css/72cbafb256c832a4.css"}],"/Users/young/Toy/idea-manager/src/app/page":[],"/Users/young/Toy/idea-manager/src/app/projects/[id]/page":[]},"rscModuleMapping":{"484":{"*":{"id":"8562","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8965","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"5098","name":"*","chunks":[],"async":false}},"1743":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"6237","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"3859","name":"*","chunks":[],"async":false}},"5918":{"*":{"id":"4494","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"6675","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"8099","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"5547","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"7644","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/projects/[id]/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"664","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8935","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"440","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"1335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"2265","name":"*","chunks":[],"async":false}},"5918":{"*":{"id":"4328","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"4661","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"5421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"1921","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"4342","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-geist-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":421,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/node_modules/next/font/google/target.css?{\"path\":\"src/app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":9695,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/globals.css":{"id":1743,"name":"*","chunks":["558","static/chunks/app/layout-52917f6c941a9818.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/page.tsx":{"id":5918,"name":"*","chunks":["151","static/chunks/151-332d463cd8bd4db6.js","974","static/chunks/app/page-dbd5efde8a02cc44.js"],"async":false},"/Users/young/Toy/idea-manager/src/app/projects/[id]/page.tsx":{"id":1048,"name":"*","chunks":["801","static/chunks/app/projects/%5Bid%5D/page-822db6c758e612c4.js"],"async":false}},"entryCSSFiles":{"/Users/young/Toy/idea-manager/src/":[],"/Users/young/Toy/idea-manager/src/app/layout":[{"inlined":false,"path":"static/css/e8914d1d6cee7978.css"}],"/Users/young/Toy/idea-manager/src/app/page":[],"/Users/young/Toy/idea-manager/src/app/projects/[id]/page":[]},"rscModuleMapping":{"484":{"*":{"id":"8562","name":"*","chunks":[],"async":false}},"1048":{"*":{"id":"8965","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"5098","name":"*","chunks":[],"async":false}},"1743":{"*":{"id":"1135","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"6237","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"3859","name":"*","chunks":[],"async":false}},"5918":{"*":{"id":"4494","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"6675","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"8099","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"5547","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"7644","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
@@ -1,22 +1,22 @@
1
1
  {
2
+ "/_not-found/page": "app/_not-found/page.js",
3
+ "/_global-error/page": "app/_global-error/page.js",
4
+ "/api/archive/route": "app/api/archive/route.js",
2
5
  "/api/filesystem/route": "app/api/filesystem/route.js",
3
6
  "/api/filesystem/tree/route": "app/api/filesystem/tree/route.js",
4
- "/_not-found/page": "app/_not-found/page.js",
5
7
  "/api/global-memo/route": "app/api/global-memo/route.js",
6
- "/api/archive/route": "app/api/archive/route.js",
7
- "/_global-error/page": "app/_global-error/page.js",
8
+ "/api/projects/[id]/auto-distribute/route": "app/api/projects/[id]/auto-distribute/route.js",
9
+ "/api/projects/[id]/apply-distribute/route": "app/api/projects/[id]/apply-distribute/route.js",
8
10
  "/api/health/route": "app/api/health/route.js",
9
- "/api/projects/[id]/git-sync/route": "app/api/projects/[id]/git-sync/route.js",
10
11
  "/api/projects/[id]/brainstorm/route": "app/api/projects/[id]/brainstorm/route.js",
11
- "/api/projects/[id]/auto-distribute/route": "app/api/projects/[id]/auto-distribute/route.js",
12
- "/api/projects/[id]/sub-projects/[subId]/route": "app/api/projects/[id]/sub-projects/[subId]/route.js",
12
+ "/api/projects/[id]/git-sync/route": "app/api/projects/[id]/git-sync/route.js",
13
13
  "/api/projects/[id]/route": "app/api/projects/[id]/route.js",
14
- "/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route": "app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route.js",
15
14
  "/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route": "app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/chat/route.js",
16
- "/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route": "app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route.js",
15
+ "/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route": "app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/prompt/route.js",
17
16
  "/api/projects/[id]/sub-projects/[subId]/tasks/route": "app/api/projects/[id]/sub-projects/[subId]/tasks/route.js",
18
- "/api/projects/[id]/apply-distribute/route": "app/api/projects/[id]/apply-distribute/route.js",
17
+ "/api/projects/[id]/sub-projects/[subId]/route": "app/api/projects/[id]/sub-projects/[subId]/route.js",
19
18
  "/api/projects/[id]/sub-projects/route": "app/api/projects/[id]/sub-projects/route.js",
19
+ "/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route": "app/api/projects/[id]/sub-projects/[subId]/tasks/[taskId]/route.js",
20
20
  "/api/projects/route": "app/api/projects/route.js",
21
21
  "/api/sync/route": "app/api/sync/route.js",
22
22
  "/page": "app/page.js",
@@ -1,5 +1,5 @@
1
- <!DOCTYPE html><!--bHm1rK3n_9LrAqsmsKf91--><html lang="ko"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/4cf2300e9c8272f7-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/93f479601ee12b01-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/72cbafb256c832a4.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-046a553649a22885.js"/><script src="/_next/static/chunks/4bd1b696-096d35a2bd1da3af.js" async=""></script><script src="/_next/static/chunks/794-37dad9bbc14b04b8.js" async=""></script><script src="/_next/static/chunks/main-app-35159df8e1c56fc3.js" async=""></script><link rel="preload" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css" as="style" crossorigin="anonymous"/><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>IM - 아이디어 매니저</title><meta name="description" content="아이디어에서 실행 가능한 프롬프트까지, 멀티 프로젝트 워크플로우 매니저"/><link rel="manifest" href="/manifest.json"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="IM"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/favicon.svg"/><link rel="apple-touch-icon" href="/icon-192.png"/><link rel="stylesheet" as="style" crossorigin="anonymous" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_188709 __variable_9a8899 antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script>
1
+ <!DOCTYPE html><!--2bki7P0JwJTNFjPE9b7m6--><html lang="ko"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/4cf2300e9c8272f7-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/93f479601ee12b01-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/e8914d1d6cee7978.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-046a553649a22885.js"/><script src="/_next/static/chunks/4bd1b696-096d35a2bd1da3af.js" async=""></script><script src="/_next/static/chunks/794-37dad9bbc14b04b8.js" async=""></script><script src="/_next/static/chunks/main-app-35159df8e1c56fc3.js" async=""></script><link rel="preload" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css" as="style" crossorigin="anonymous"/><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>IM - 아이디어 매니저</title><meta name="description" content="아이디어에서 실행 가능한 프롬프트까지, 멀티 프로젝트 워크플로우 매니저"/><link rel="manifest" href="/manifest.json"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="IM"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/favicon.svg"/><link rel="apple-touch-icon" href="/icon-192.png"/><link rel="stylesheet" as="style" crossorigin="anonymous" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_188709 __variable_9a8899 antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script>
2
2
  if ('serviceWorker' in navigator) {
3
3
  navigator.serviceWorker.register('/sw.js');
4
4
  }
5
- </script><script src="/_next/static/chunks/webpack-046a553649a22885.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[7121,[],\"\"]\n3:I[4581,[],\"\"]\n4:I[484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[484,[],\"ViewportBoundary\"]\n9:I[484,[],\"MetadataBoundary\"]\nb:I[7123,[],\"\"]\n:HL[\"/_next/static/media/4cf2300e9c8272f7-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/93f479601ee12b01-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/72cbafb256c832a4.css\",\"style\"]\n:HL[\"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css\",\"style\",{\"crossOrigin\":\"anonymous\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"bHm1rK3n_9LrAqsmsKf91\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/72cbafb256c832a4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"link\",null,{\"rel\":\"stylesheet\",\"as\":\"style\",\"crossOrigin\":\"anonymous\",\"href\":\"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css\"}]}],[\"$\",\"body\",null,{\"className\":\"__variable_188709 __variable_9a8899 antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n if ('serviceWorker' in navigator) {\\n navigator.serviceWorker.register('/sw.js');\\n }\\n \"}}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"c:I[6869,[],\"IconMark\"]\n6:null\na:[[\"$\",\"title\",\"0\",{\"children\":\"IM - 아이디어 매니저\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"아이디어에서 실행 가능한 프롬프트까지, 멀티 프로젝트 워크플로우 매니저\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"IM\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"link\",\"7\",{\"rel\":\"apple-touch-icon\",\"href\":\"/icon-192.png\"}],[\"$\",\"$Lc\",\"8\",{}]]\n"])</script></body></html>
5
+ </script><script src="/_next/static/chunks/webpack-046a553649a22885.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[7121,[],\"\"]\n3:I[4581,[],\"\"]\n4:I[484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[484,[],\"ViewportBoundary\"]\n9:I[484,[],\"MetadataBoundary\"]\nb:I[7123,[],\"\"]\n:HL[\"/_next/static/media/4cf2300e9c8272f7-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/93f479601ee12b01-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/e8914d1d6cee7978.css\",\"style\"]\n:HL[\"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css\",\"style\",{\"crossOrigin\":\"anonymous\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"2bki7P0JwJTNFjPE9b7m6\",\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/e8914d1d6cee7978.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"link\",null,{\"rel\":\"stylesheet\",\"as\":\"style\",\"crossOrigin\":\"anonymous\",\"href\":\"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css\"}]}],[\"$\",\"body\",null,{\"className\":\"__variable_188709 __variable_9a8899 antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n if ('serviceWorker' in navigator) {\\n navigator.serviceWorker.register('/sw.js');\\n }\\n \"}}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"c:I[6869,[],\"IconMark\"]\n6:null\na:[[\"$\",\"title\",\"0\",{\"children\":\"IM - 아이디어 매니저\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"아이디어에서 실행 가능한 프롬프트까지, 멀티 프로젝트 워크플로우 매니저\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"3\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"IM\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"link\",\"7\",{\"rel\":\"apple-touch-icon\",\"href\":\"/icon-192.png\"}],[\"$\",\"$Lc\",\"8\",{}]]\n"])</script></body></html>
@@ -1,2 +1,2 @@
1
- <!DOCTYPE html><!--bHm1rK3n_9LrAqsmsKf91--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-046a553649a22885.js"/><script src="/_next/static/chunks/4bd1b696-096d35a2bd1da3af.js" async=""></script><script src="/_next/static/chunks/794-37dad9bbc14b04b8.js" async=""></script><script src="/_next/static/chunks/main-app-35159df8e1c56fc3.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
- @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-046a553649a22885.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[7121,[],\"\"]\n3:I[4581,[],\"\"]\n4:I[484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[484,[],\"ViewportBoundary\"]\n9:I[484,[],\"MetadataBoundary\"]\nb:I[7123,[],\"\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"bHm1rK3n_9LrAqsmsKf91\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><!--2bki7P0JwJTNFjPE9b7m6--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-046a553649a22885.js"/><script src="/_next/static/chunks/4bd1b696-096d35a2bd1da3af.js" async=""></script><script src="/_next/static/chunks/794-37dad9bbc14b04b8.js" async=""></script><script src="/_next/static/chunks/main-app-35159df8e1c56fc3.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
+ @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-046a553649a22885.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[7121,[],\"\"]\n3:I[4581,[],\"\"]\n4:I[484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[484,[],\"ViewportBoundary\"]\n9:I[484,[],\"MetadataBoundary\"]\nb:I[7123,[],\"\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"2bki7P0JwJTNFjPE9b7m6\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>