super-time-tracker-ui 0.1.30 → 0.1.32

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 (136) hide show
  1. package/dist/standalone/next-output/BUILD_ID +1 -1
  2. package/dist/standalone/next-output/app-path-routes-manifest.json +1 -0
  3. package/dist/standalone/next-output/build-manifest.json +3 -3
  4. package/dist/standalone/next-output/routes-manifest.json +6 -0
  5. package/dist/standalone/next-output/server/app/_global-error.html +1 -1
  6. package/dist/standalone/next-output/server/app/_global-error.rsc +1 -1
  7. package/dist/standalone/next-output/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/dist/standalone/next-output/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/dist/standalone/next-output/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/dist/standalone/next-output/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/dist/standalone/next-output/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/dist/standalone/next-output/server/app/_not-found/page.js.nft.json +1 -1
  13. package/dist/standalone/next-output/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/dist/standalone/next-output/server/app/login/page.js.nft.json +1 -1
  15. package/dist/standalone/next-output/server/app/login/page_client-reference-manifest.js +1 -1
  16. package/dist/standalone/next-output/server/app/offline/page.js.nft.json +1 -1
  17. package/dist/standalone/next-output/server/app/offline/page_client-reference-manifest.js +1 -1
  18. package/dist/standalone/next-output/server/app/page.js.nft.json +1 -1
  19. package/dist/standalone/next-output/server/app/page_client-reference-manifest.js +1 -1
  20. package/dist/standalone/next-output/server/app/pomodoro/page.js.nft.json +1 -1
  21. package/dist/standalone/next-output/server/app/pomodoro/page_client-reference-manifest.js +1 -1
  22. package/dist/standalone/next-output/server/app/register/page.js.nft.json +1 -1
  23. package/dist/standalone/next-output/server/app/register/page_client-reference-manifest.js +1 -1
  24. package/dist/standalone/next-output/server/app/reporting/page.js.nft.json +1 -1
  25. package/dist/standalone/next-output/server/app/reporting/page_client-reference-manifest.js +1 -1
  26. package/dist/standalone/next-output/server/app/settings/ai-suggestions/page.js.nft.json +1 -1
  27. package/dist/standalone/next-output/server/app/settings/ai-suggestions/page_client-reference-manifest.js +1 -1
  28. package/dist/standalone/next-output/server/app/settings/cloud-sync/page.js.nft.json +1 -1
  29. package/dist/standalone/next-output/server/app/settings/cloud-sync/page_client-reference-manifest.js +1 -1
  30. package/dist/standalone/next-output/server/app/settings/data/page.js.nft.json +1 -1
  31. package/dist/standalone/next-output/server/app/settings/data/page_client-reference-manifest.js +1 -1
  32. package/dist/standalone/next-output/server/app/settings/display/page.js.nft.json +1 -1
  33. package/dist/standalone/next-output/server/app/settings/display/page_client-reference-manifest.js +1 -1
  34. package/dist/standalone/next-output/server/app/settings/goals/page.js.nft.json +1 -1
  35. package/dist/standalone/next-output/server/app/settings/goals/page_client-reference-manifest.js +1 -1
  36. package/dist/standalone/next-output/server/app/settings/notifications/page.js.nft.json +1 -1
  37. package/dist/standalone/next-output/server/app/settings/notifications/page_client-reference-manifest.js +1 -1
  38. package/dist/standalone/next-output/server/app/settings/page.js.nft.json +1 -1
  39. package/dist/standalone/next-output/server/app/settings/page_client-reference-manifest.js +1 -1
  40. package/dist/standalone/next-output/server/app/settings/pomodoro/page.js.nft.json +1 -1
  41. package/dist/standalone/next-output/server/app/settings/pomodoro/page_client-reference-manifest.js +1 -1
  42. package/dist/standalone/next-output/server/app/settings/quick-actions/page/app-paths-manifest.json +3 -0
  43. package/dist/standalone/next-output/server/app/settings/quick-actions/page/build-manifest.json +17 -0
  44. package/dist/standalone/next-output/server/app/settings/quick-actions/page/next-font-manifest.json +11 -0
  45. package/dist/standalone/next-output/server/app/settings/quick-actions/page/react-loadable-manifest.json +1 -0
  46. package/dist/standalone/next-output/server/app/settings/quick-actions/page/server-reference-manifest.json +4 -0
  47. package/dist/standalone/next-output/server/app/settings/quick-actions/page.js +16 -0
  48. package/dist/standalone/next-output/server/app/settings/quick-actions/page.js.nft.json +1 -0
  49. package/dist/standalone/next-output/server/app/settings/quick-actions/page_client-reference-manifest.js +3 -0
  50. package/dist/standalone/next-output/server/app/settings/tags/page.js.nft.json +1 -1
  51. package/dist/standalone/next-output/server/app/settings/tags/page_client-reference-manifest.js +1 -1
  52. package/dist/standalone/next-output/server/app/sheets/page.js.nft.json +1 -1
  53. package/dist/standalone/next-output/server/app/sheets/page_client-reference-manifest.js +1 -1
  54. package/dist/standalone/next-output/server/app/today/page.js.nft.json +1 -1
  55. package/dist/standalone/next-output/server/app/today/page_client-reference-manifest.js +1 -1
  56. package/dist/standalone/next-output/server/app-paths-manifest.json +1 -0
  57. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0.ztg_g._.js +1 -1
  58. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0a7wn1j._.js +1 -1
  59. package/dist/standalone/next-output/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_0r4hd.l.js +4 -0
  60. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0bowsf1._.js +1 -1
  61. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0k~hq1g._.js +1 -1
  62. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0oqgod_._.js +3 -0
  63. package/dist/standalone/next-output/server/chunks/ssr/_002dssm._.js +1 -1
  64. package/dist/standalone/next-output/server/chunks/ssr/_00ic3j9._.js +3 -0
  65. package/dist/standalone/next-output/server/chunks/ssr/_00x~ete._.js +1 -1
  66. package/dist/standalone/next-output/server/chunks/ssr/_07p~0bg._.js +3 -0
  67. package/dist/standalone/next-output/server/chunks/ssr/{_10n~~xo._.js → _088~qfj._.js} +3 -3
  68. package/dist/standalone/next-output/server/chunks/ssr/_08qe8j9._.js +3 -0
  69. package/dist/standalone/next-output/server/chunks/ssr/_0agxxbf._.js +1 -1
  70. package/dist/standalone/next-output/server/chunks/ssr/_0c0txs~._.js +1 -1
  71. package/dist/standalone/next-output/server/chunks/ssr/_0cxg26n._.js +3 -0
  72. package/dist/standalone/next-output/server/chunks/ssr/_0l6-7m4._.js +1 -1
  73. package/dist/standalone/next-output/server/chunks/ssr/_0m.iebm._.js +3 -0
  74. package/dist/standalone/next-output/server/chunks/ssr/_0nnp~ae._.js +3 -0
  75. package/dist/standalone/next-output/server/chunks/ssr/_0q~8_bm._.js +3 -0
  76. package/dist/standalone/next-output/server/chunks/ssr/_0v9kigy._.js +3 -0
  77. package/dist/standalone/next-output/server/chunks/ssr/_0y3ypyx._.js +1 -1
  78. package/dist/standalone/next-output/server/chunks/ssr/_13crob-._.js +1 -1
  79. package/dist/standalone/next-output/server/chunks/ssr/_13y76jr._.js +1 -1
  80. package/dist/standalone/next-output/server/chunks/ssr/_next-internal_server_app_settings_quick-actions_page_actions_031bu28.js +3 -0
  81. package/dist/standalone/next-output/server/chunks/ssr/components_tracker-app_tsx_0qs9.7y._.js +1 -1
  82. package/dist/standalone/next-output/server/middleware-build-manifest.js +3 -3
  83. package/dist/standalone/next-output/server/middleware-manifest.json +1 -1
  84. package/dist/standalone/next-output/server/next-font-manifest.js +1 -1
  85. package/dist/standalone/next-output/server/next-font-manifest.json +4 -0
  86. package/dist/standalone/next-output/server/pages/500.html +1 -1
  87. package/dist/standalone/next-output/static/chunks/0.4obx1-sv46-.js +1 -0
  88. package/dist/standalone/next-output/static/chunks/029pvmqxn_t4z.js +1 -0
  89. package/dist/standalone/next-output/static/chunks/04~.lbegcwd41.js +1 -0
  90. package/dist/standalone/next-output/static/chunks/05tg.ske01w0a.js +1 -0
  91. package/dist/standalone/next-output/static/chunks/06xf_oh5oqbs2.js +1 -0
  92. package/dist/standalone/next-output/static/chunks/09acxdggb87~w.js +1 -0
  93. package/dist/standalone/next-output/static/chunks/09tjbwcc~3p_e.js +1 -0
  94. package/dist/standalone/next-output/static/chunks/0crn_fc6.6569.js +1 -0
  95. package/dist/standalone/next-output/static/chunks/0fkr5kz7p1r5l.js +1 -0
  96. package/dist/standalone/next-output/static/chunks/0lhj2p9.4g20~.js +1 -0
  97. package/dist/standalone/next-output/static/chunks/0o4zvrm3q.9k3.js +1 -0
  98. package/dist/standalone/next-output/static/chunks/0pqilbd~jphqs.css +3 -0
  99. package/dist/standalone/next-output/static/chunks/0q05k1wfzh4_a.js +1 -0
  100. package/dist/standalone/next-output/static/chunks/0vov8ngx9~8m2.js +1 -0
  101. package/dist/standalone/next-output/static/chunks/0watkjb-fw0vn.js +1 -0
  102. package/dist/standalone/next-output/static/chunks/{0znvz4n7decra.js → 0x9s1xcq69ppx.js} +5 -5
  103. package/dist/standalone/next-output/static/chunks/0xj4dodycy1oc.js +1 -0
  104. package/dist/standalone/next-output/static/chunks/12eaief5vtso9.js +1 -0
  105. package/dist/standalone/next-output/static/chunks/13-nw2q_c_9mk.js +1 -0
  106. package/dist/standalone/next-output/static/chunks/14jtaz5s.4ih1.js +1 -0
  107. package/dist/standalone/package.json +1 -1
  108. package/package.json +1 -1
  109. package/dist/standalone/next-output/server/chunks/ssr/_0-hc~ba._.js +0 -3
  110. package/dist/standalone/next-output/server/chunks/ssr/_00_8gfw._.js +0 -3
  111. package/dist/standalone/next-output/server/chunks/ssr/_059wg4v._.js +0 -3
  112. package/dist/standalone/next-output/server/chunks/ssr/_08dnxqq._.js +0 -3
  113. package/dist/standalone/next-output/server/chunks/ssr/_0hs4c5u._.js +0 -3
  114. package/dist/standalone/next-output/server/chunks/ssr/_0nz4ym1._.js +0 -3
  115. package/dist/standalone/next-output/server/chunks/ssr/_0wg9~zr._.js +0 -3
  116. package/dist/standalone/next-output/static/chunks/00rjs5ywh4_np.css +0 -3
  117. package/dist/standalone/next-output/static/chunks/03d24rbiv.lx7.js +0 -1
  118. package/dist/standalone/next-output/static/chunks/03flgrd7bw9r5.js +0 -1
  119. package/dist/standalone/next-output/static/chunks/041fttxys-zjw.js +0 -1
  120. package/dist/standalone/next-output/static/chunks/055~9w5b9lao5.js +0 -1
  121. package/dist/standalone/next-output/static/chunks/09mbpw08eiqwx.js +0 -1
  122. package/dist/standalone/next-output/static/chunks/0bw3uow4-~3fr.js +0 -1
  123. package/dist/standalone/next-output/static/chunks/0d2d-s..s8cfz.js +0 -1
  124. package/dist/standalone/next-output/static/chunks/0h72~3~6gq3fn.js +0 -1
  125. package/dist/standalone/next-output/static/chunks/0hhu330gm_fnl.js +0 -1
  126. package/dist/standalone/next-output/static/chunks/0ls_5qyf15z5_.js +0 -1
  127. package/dist/standalone/next-output/static/chunks/0n0.21h11yrv2.js +0 -1
  128. package/dist/standalone/next-output/static/chunks/0n2~cs.u7bygu.js +0 -1
  129. package/dist/standalone/next-output/static/chunks/0sywv5h95uodq.js +0 -1
  130. package/dist/standalone/next-output/static/chunks/0xccil3r~k_7n.js +0 -1
  131. package/dist/standalone/next-output/static/chunks/0~z41.7~3tpw3.js +0 -1
  132. package/dist/standalone/next-output/static/chunks/14oa3e0hktvxi.js +0 -1
  133. package/dist/standalone/next-output/static/chunks/15ixzo9s2kj_o.js +0 -1
  134. /package/dist/standalone/next-output/static/{Ohbr2ePvonj7GxdJPkXBY → gS32e4Tv_70ot1IWBJddE}/_buildManifest.js +0 -0
  135. /package/dist/standalone/next-output/static/{Ohbr2ePvonj7GxdJPkXBY → gS32e4Tv_70ot1IWBJddE}/_clientMiddlewareManifest.js +0 -0
  136. /package/dist/standalone/next-output/static/{Ohbr2ePvonj7GxdJPkXBY → gS32e4Tv_70ot1IWBJddE}/_ssgManifest.js +0 -0
@@ -0,0 +1,4 @@
1
+ module.exports=[32518,a=>{"use strict";var b=a.i(62800),c=a.i(94890),d=a.i(59239),e=a.i(72966),f=a.i(27074),g=a.i(74445),h=a.i(27785),i=a.i(51258),j=a.i(29386),k=a.i(26787),l=a.i(47276),m=a.i(83774),n=a.i(276),o=a.i(74833),p=a.i(38099),q=a.i(72152),r=a.i(97589),s=a.i(30668),t=a.i(32055);a.i(89185);var u=a.i(31618),v=a.i(29986),w=a.i(60732),x=a.i(86227),y=a.i(30012),z=a.i(84030),A=a.i(81243),B=a.i(93695),C=a.i(96935),D=a.i(16488),E=a.i(77657);a.i(59382);var F=a.i(15929),G=a.i(13848),H=a.i(16752),I=a.i(32702),J=a.i(56303),K=a.i(23998);let L=["",{children:["settings",{children:["quick-actions",{children:["__PAGE__",{},{metadata:{},page:[()=>a.r(47266),"[project]/app/settings/quick-actions/page.tsx"]},[]]},{metadata:{}},[]]},{metadata:{}},[]]},{metadata:{icon:[async c=>{let d=(0,i.interopDefault)(await a.r(38872));return[{url:(0,b.fillMetadataSegment)("//",await c.params,"favicon.ico",!0)+`?${d.src.split("/").splice(-1)[0]}`,sizes:`${d.width}x${d.height}`,type:"image/x-icon"}]}]},layout:[()=>a.r(70864),"[project]/app/layout.tsx"],"not-found":[()=>a.r(71614),"[project]/node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/builtin/not-found.js"],forbidden:[()=>a.r(98224),"[project]/node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>a.r(20088),"[project]/node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/builtin/unauthorized.js"],"global-error":[()=>a.r(18781),"[project]/node_modules/.pnpm/next@16.2.6_@babel+core@7.29.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/client/components/builtin/global-error.js"]},[]],M={require:a.r.bind(a),loadChunk:a.l.bind(a)},N=new c.AppPageRouteModule({definition:{kind:d.RouteKind.APP_PAGE,page:"/settings/quick-actions/page",pathname:"/settings/quick-actions",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:L},distDir:"next-output",relativeProjectDir:""});async function O(b,c,P){var Q,R,S,T,U;P.requestMeta&&(0,g.setRequestMeta)(b,P.requestMeta),N.isDev&&(0,g.addRequestMeta)(b,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,g.getRequestMeta)(b,"minimalMode"),W="/settings/quick-actions/page";W=W.replace(/\/index$/,"")||"/";let X=await N.prepare(b,c,{srcPage:W,multiZoneDraftMode:!1});if(!X)return c.statusCode=400,c.end("Bad Request"),null==P.waitUntil||P.waitUntil.call(P,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,q.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,J.isInterceptionRouteAppPath)(ai)?null:N.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=b.headers["user-agent"]||"",aw=(0,t.getBotType)(av),ax=(0,p.isHtmlBotRequest)(b),ay=(0,g.getRequestMeta)(b,"isPrefetchRSCRequest")??"1"===b.headers[s.NEXT_ROUTER_PREFETCH_HEADER],az=(0,g.getRequestMeta)(b,"isRSCRequest")??(0,m.isRSCRequestHeader)(b.headers[s.RSC_HEADER]),aA=(0,r.getIsPossibleServerAction)(b),aB=(0,l.checkIsAppPPREnabled)(al.experimental.ppr),aC=b.headers[x.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,g.getRequestMeta)(b,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let d=parseInt(aC,10),{maxPostponedStateSize:e,maxPostponedStateSizeBytes:f}=(0,D.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(d)&&d>0){if(d>f)return c.statusCode=413,c.end((0,D.getPostponedStateExceededErrorMessage)(e)),null==P.waitUntil||P.waitUntil.call(P,Promise.resolve()),null;let h="1 MB",i=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??h,j=d+(i!==h?a.r(95258).parse(i):1048576),k=await (0,D.readBodyWithSizeLimit)(b,j);if(null===k)return c.statusCode=413,c.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==P.waitUntil||P.waitUntil.call(P,Promise.resolve()),null;if(k.length>=d){let a=k.subarray(0,d).toString("utf8");(0,g.addRequestMeta)(b,"postponed",a);let c=k.subarray(d);(0,g.addRequestMeta)(b,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${d} bytes of postponed state but only received ${k.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,g.getRequestMeta)(b,"postponed")&&aB&&"1"===b.headers[x.NEXT_RESUME_HEADER]&&"POST"===b.method){let{maxPostponedStateSize:a,maxPostponedStateSizeBytes:d}=(0,D.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),e=await (0,D.readBodyWithSizeLimit)(b,d);if(null===e)return c.statusCode=413,c.end((0,D.getPostponedStateExceededErrorMessage)(a)),null==P.waitUntil||P.waitUntil.call(P,Promise.resolve()),null;let f=e.toString("utf8");(0,g.addRequestMeta)(b,"postponed",f)}let aD=!0===N.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===b.headers[s.NEXT_INSTANT_PREFETCH_HEADER]||!(0,m.isRSCRequestHeader)(b.headers[s.RSC_HEADER])&&"string"==typeof b.headers.cookie&&b.headers.cookie.includes(s.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(Q=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:Q.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===N.isDev,aI=!1,aJ=aF?(0,g.getRequestMeta)(b,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,g.getRequestMeta)(b,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,p.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===N.isDev||!aO||"string"==typeof aJ||(aP&&(0,g.getRequestMeta)(b,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,K.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,n.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(N.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),N.isDev||ah||!aO||!az||aL||(0,j.stripFlightHeaders)(b.headers);let aW={...F,tree:L,handler:O,routeModule:N,__next_app__:M};ad&&ae&&(0,o.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=b.method||"GET",aY=(0,f.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(b,c,am,!1):c.end("This page could not be found"),null);try{let a,j=N.getVaryHeader(ai,an);c.setHeader("Vary",j);let l=async(d,e)=>{let f=new k.NodeNextRequest(b),g=new k.NodeNextResponse(c);return N.render(f,g,e).finally(()=>{if(!d)return;d.setAttributes({"http.status_code":c.statusCode,"next.rsc":!1});let b=aY.getRootSpanAttributes();if(!b)return;if(b.get("next.span_type")!==h.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${b.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=b.get("next.route");if(e){let b=`${aX} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),d.updateName(b),a&&a!==d&&(a.setAttribute("http.route",e),a.updateName(b))}else d.updateName(`${aX} ${W}`)})},m=(0,g.getRequestMeta)(b,"incrementalCache")||await N.getIncrementalCache(b,al,ag,V);null==m||m.resetRequestCache(),globalThis.__incrementalCache=m;let o=async({span:a,postponed:d,fallbackRouteParams:e,forceStaticRender:f})=>{let h={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,g.getRequestMeta)(b,"serverComponentsHmrCache"),fallbackRouteParams:e,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,i.interopDefault)(aW),params:$,routeModule:N,page:W,postponed:d,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof d||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:require("path").join(process.cwd(),N.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:m,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,C.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:P.waitUntil,onClose:a=>{c.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(a,c,d,e)=>N.onRequestError(b,a,d,e,ak),err:(0,g.getRequestMeta)(b,"invokeError")}};f&&(h.renderOpts.supportsDynamicResponse=!1);let j=await l(a,h),{metadata:k}=j,{cacheControl:n,headers:o={},fetchTags:p,fetchMetrics:q}=k;if(p&&(o[x.NEXT_CACHE_TAGS_HEADER]=p),b.fetchMetrics=q,aO&&(null==n?void 0:n.revalidate)===0&&!N.isDev&&!aF){let a=k.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:u.CachedRouteKind.APP_PAGE,html:j,headers:o,rscData:k.flightData,postponed:k.postponed,status:k.statusCode,segmentData:k.segmentData},cacheControl:n}},p=async({hasResolved:a,previousCacheEntry:f,isRevalidating:h,span:i,forceStaticRender:j=!1})=>{let k=!1===N.isDev,l=a||c.writableEnded;try{var q;let e;if(ar&&aj&&!f&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(b,c):(c.statusCode=404,c.end("This page could not be found")),null;if(at&&(e=(0,v.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(e=v.FallbackMode.PRERENDER),e===v.FallbackMode.PRERENDER&&(0,t.isBot)(av)&&(!aF||ax)&&(e=v.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ar=!0),ar&&(e!==v.FallbackMode.NOT_FOUND||f)&&(e=v.FallbackMode.BLOCKING_STATIC_RENDER),!V&&e!==v.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!l&&!ah&&_&&(k||!au)){if((k||at)&&e===v.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new B.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let c=k&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,e=(k||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,n.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,n.getFallbackRouteParams)(aq,N):null;aG&&e&&(0,g.addRequestMeta)(b,"fallbackParams",e);let f=await N.handleResponse({cacheKey:c,req:b,nextConfig:al,routeKind:d.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>o({span:i,postponed:void 0,fallbackRouteParams:e,forceStaticRender:!0}),waitUntil:P.waitUntil,isMinimalMode:V});if(null===f)return null;if(f)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!m||ar||aI||aD||aE||ay||(0,I.scheduleOnNextTick)(async()=>{let c=N.getResponseCache(b);try{await c.revalidate(aU,m,aF,!1,a=>o({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,n.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,a,P.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete f.cacheControl,f}}let r=ar||h||!aJ?void 0:aJ;if(aP&&!V&&m&&(aL||aA)&&!j){let c=await m.get(ai,{kind:u.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});c&&c.value&&c.value.kind===u.CachedRouteKind.APP_PAGE&&(r=c.value.postponed,c&&(-1===c.isStale||!0===c.isStale)&&(0,I.scheduleOnNextTick)(async()=>{let c=N.getResponseCache(b);try{await c.revalidate(ai,m,aF,!1,a=>p({...a,forceStaticRender:!0}),null,a,P.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==r)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:u.CachedRouteKind.PAGES,html:w.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let s=!N.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,n.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,x=s&&s.length>0?s:null==at?void 0:at.fallbackRouteParams,y=null!=s&&s.length>0,z=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let a=(0,g.getRequestMeta)(b,"resolvedRouteParamKeys");a&&a.size>0&&(z=at.fallbackRouteParams.filter(b=>!a.has(b.paramName)))}let A=(k&&(0,g.getRequestMeta)(b,"renderFallbackShell")||y||aG&&!au)&&x?(0,n.createOpaqueFallbackRouteParams)(x):z&&z.length>0&&z.length<((null==at||null==(q=at.fallbackRouteParams)?void 0:q.length)??0)?(0,n.createOpaqueFallbackRouteParams)(z):aI?(0,n.getFallbackRouteParams)(aq,N):null;if((k||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let a=(0,n.createOpaqueFallbackRouteParams)(x??at.fallbackRouteParams);a&&(0,g.addRequestMeta)(b,"fallbackParams",a)}return o({span:i,postponed:r,fallbackRouteParams:A,forceStaticRender:j})}catch(a){throw(null==f?void 0:f.isStale)&&await N.onRequestError(b,a,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,e.getRevalidateReason)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),a}},q=async a=>{var e,f,h,i,j,k;let l,m=await N.handleResponse({cacheKey:aU,responseGenerator:b=>p({span:a,...b}),routeKind:d.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:b,nextConfig:al,prerenderManifest:ag,waitUntil:P.waitUntil,isMinimalMode:V});if(ah&&c.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),N.isDev&&c.setHeader("Cache-Control","no-cache, must-revalidate"),!m){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(e=m.value)?void 0:e.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(h=m.value)?void 0:h.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let n="string"==typeof m.value.postponed;az&&!aA&&ao&&c.setHeader(x.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!n||ay)&&(V||c.setHeader("x-nextjs-cache",ar?"REVALIDATED":m.isMiss?"MISS":m.isStale?"STALE":"HIT"),c.setHeader(s.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=m;if(aJ)l={revalidate:0,expire:void 0};else if(aL)l={revalidate:0,expire:void 0};else if(!N.isDev)if(ah)l={revalidate:0,expire:void 0};else if(aO){if(m.cacheControl)if("number"==typeof m.cacheControl.revalidate){if(m.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${m.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:m.cacheControl.revalidate,expire:(null==(i=m.cacheControl)?void 0:i.expire)??al.expireTime}}else l={revalidate:x.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else c.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(m.cacheControl=l,"string"==typeof aM&&(null==q?void 0:q.kind)===u.CachedRouteKind.APP_PAGE&&q.segmentData){c.setHeader(s.NEXT_DID_POSTPONE_HEADER,"2");let a=null==(j=q.headers)?void 0:j[x.NEXT_CACHE_TAGS_HEADER];V&&aO&&a&&"string"==typeof a&&c.setHeader(x.NEXT_CACHE_TAGS_HEADER,a);let d=q.segmentData.get(aM);return void 0!==d?(0,A.sendRenderResult)({req:b,res:c,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w.default.fromStatic(d,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl}):(c.statusCode=204,(0,A.sendRenderResult)({req:b,res:c,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl}))}let r=aP?(0,g.getRequestMeta)(b,"onCacheEntryV2")??(0,g.getRequestMeta)(b,"onCacheEntry"):(0,g.getRequestMeta)(b,"onCacheEntry");if(r){let a=(0,g.getRequestMeta)(b,"initURL")??b.url,c=a?(null==(k=(0,E.parseUrl)(a))?void 0:k.pathname)??a:void 0;if(await r(m,{url:c}))return null}if(q.headers){let a={...q.headers};for(let[b,d]of(V&&aO||delete a[x.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)c.appendHeader(b,a);else"number"==typeof d&&(d=d.toString()),c.appendHeader(b,d)}let t=null==(f=q.headers)?void 0:f[x.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&t&&"string"==typeof t&&c.setHeader(x.NEXT_CACHE_TAGS_HEADER,t),!q.status||az&&aF||(c.statusCode=q.status),!V&&q.status&&G.RedirectStatusCode[q.status]&&az&&(c.statusCode=200),n&&!aL&&c.setHeader(s.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===q.rscData){if(q.html.contentType!==s.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return c.statusCode=404,(0,A.sendRenderResult)({req:b,res:c,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl});else throw Object.defineProperty(new H.InvariantError(`Expected RSC response, got ${q.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:b,res:c,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:q.html,cacheControl:m.cacheControl})}return(0,A.sendRenderResult)({req:b,res:c,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w.default.fromStatic(q.rscData,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl})}let v=q.html;if(aE&&aG){let a=!0===N.isDev?crypto.randomUUID():null;return v.pipeThrough(await (0,z.createInstantTestScriptInsertionTransformStream)(a)),(0,A.sendRenderResult)({req:b,res:c,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})}if(!n||V||az)return(0,A.sendRenderResult)({req:b,res:c,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:v,cacheControl:m.cacheControl});if(aG||aH)return v.push(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:b,res:c,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}});let B=new TransformStream;return v.push(B.readable),o({span:a,postponed:q.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(B.writable)}).catch(a=>{B.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:b,res:c,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return a=aY.getActiveScopeSpan(),await aY.withPropagatedContext(b.headers,()=>aY.trace(h.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:f.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":b.url}},q),void 0,!a$);await q(aZ)}catch(a){throw a instanceof B.NoFallbackError||await N.onRequestError(b,a,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,e.getRevalidateReason)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),a}}a.s(["__next_app__",0,M,"handler",0,O,"routeModule",0,N],17945),a.i(17945),a.s(["ClientPageRoot",()=>F.ClientPageRoot,"ClientSegmentRoot",()=>F.ClientSegmentRoot,"Fragment",()=>F.Fragment,"HTTPAccessFallbackBoundary",()=>F.HTTPAccessFallbackBoundary,"InstantValidation",()=>F.InstantValidation,"LayoutRouter",()=>F.LayoutRouter,"LoadingBoundaryProvider",()=>F.LoadingBoundaryProvider,"Postpone",()=>F.Postpone,"RenderFromTemplateContext",()=>F.RenderFromTemplateContext,"RootLayoutBoundary",()=>F.RootLayoutBoundary,"SegmentViewNode",()=>F.SegmentViewNode,"SegmentViewStateNode",()=>F.SegmentViewStateNode,"__next_app__",0,M,"actionAsyncStorage",()=>F.actionAsyncStorage,"captureOwnerStack",()=>F.captureOwnerStack,"collectPrefetchHints",()=>F.collectPrefetchHints,"collectSegmentData",()=>F.collectSegmentData,"createElement",()=>F.createElement,"createMetadataComponents",()=>F.createMetadataComponents,"createPrerenderParamsForClientSegment",()=>F.createPrerenderParamsForClientSegment,"createPrerenderSearchParamsForClientPage",()=>F.createPrerenderSearchParamsForClientPage,"createServerParamsForServerSegment",()=>F.createServerParamsForServerSegment,"createServerSearchParamsForServerPage",()=>F.createServerSearchParamsForServerPage,"createTemporaryReferenceSet",()=>F.createTemporaryReferenceSet,"decodeAction",()=>F.decodeAction,"decodeFormState",()=>F.decodeFormState,"decodeReply",()=>F.decodeReply,"handler",0,O,"patchFetch",()=>F.patchFetch,"preconnect",()=>F.preconnect,"preloadFont",()=>F.preloadFont,"preloadStyle",()=>F.preloadStyle,"prerender",()=>F.prerender,"renderToReadableStream",()=>F.renderToReadableStream,"routeModule",0,N,"serverHooks",()=>F.serverHooks,"taintObjectReference",()=>F.taintObjectReference,"workAsyncStorage",()=>F.workAsyncStorage,"workUnitAsyncStorage",()=>F.workUnitAsyncStorage],32518)}];
3
+
4
+ //# sourceMappingURL=0z~i_next_dist_esm_build_templates_app-page_0r4hd.l.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[55120,a=>{a.v({className:"geist_f53a3a98-module__E6rLHq__className",variable:"geist_f53a3a98-module__E6rLHq__variable"})},91129,a=>{a.v({className:"geist_mono_a0a08e0-module__UZhpWW__className",variable:"geist_mono_a0a08e0-module__UZhpWW__variable"})},1798,a=>{"use strict";a.s(["AppKeyboardShortcuts",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call AppKeyboardShortcuts() from the server but AppKeyboardShortcuts is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/app-keyboard-shortcuts.tsx <module evaluation>","AppKeyboardShortcuts")},69726,a=>{"use strict";a.s(["AppKeyboardShortcuts",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call AppKeyboardShortcuts() from the server but AppKeyboardShortcuts is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/app-keyboard-shortcuts.tsx","AppKeyboardShortcuts")},67636,a=>{"use strict";a.i(1798);var b=a.i(69726);a.n(b)},74035,a=>{"use strict";a.s(["CloudSyncProvider",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call CloudSyncProvider() from the server but CloudSyncProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/cloud-sync-provider.tsx <module evaluation>","CloudSyncProvider")},21912,a=>{"use strict";a.s(["CloudSyncProvider",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call CloudSyncProvider() from the server but CloudSyncProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/cloud-sync-provider.tsx","CloudSyncProvider")},69669,a=>{"use strict";a.i(74035);var b=a.i(21912);a.n(b)},22990,a=>{"use strict";a.s(["ToastNotifications",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ToastNotifications() from the server but ToastNotifications is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/toast-notifications.tsx <module evaluation>","ToastNotifications")},10467,a=>{"use strict";a.s(["ToastNotifications",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ToastNotifications() from the server but ToastNotifications is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/toast-notifications.tsx","ToastNotifications")},88936,a=>{"use strict";a.i(22990);var b=a.i(10467);a.n(b)},95670,a=>{"use strict";a.s(["ConfirmDialogProvider",()=>c,"use_confirm_dialog",()=>d]);var b=a.i(41445);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ConfirmDialogProvider() from the server but ConfirmDialogProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-dialog-provider.tsx <module evaluation>","ConfirmDialogProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call use_confirm_dialog() from the server but use_confirm_dialog is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-dialog-provider.tsx <module evaluation>","use_confirm_dialog")},37424,a=>{"use strict";a.s(["ConfirmDialogProvider",()=>c,"use_confirm_dialog",()=>d]);var b=a.i(41445);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ConfirmDialogProvider() from the server but ConfirmDialogProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-dialog-provider.tsx","ConfirmDialogProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call use_confirm_dialog() from the server but use_confirm_dialog is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-dialog-provider.tsx","use_confirm_dialog")},64762,a=>{"use strict";a.i(95670);var b=a.i(37424);a.n(b)},4684,a=>{"use strict";a.s(["DocumentPreferencesInit",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call DocumentPreferencesInit() from the server but DocumentPreferencesInit is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/document-preferences-init.tsx <module evaluation>","DocumentPreferencesInit")},8602,a=>{"use strict";a.s(["DocumentPreferencesInit",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call DocumentPreferencesInit() from the server but DocumentPreferencesInit is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/document-preferences-init.tsx","DocumentPreferencesInit")},41505,a=>{"use strict";a.i(4684);var b=a.i(8602);a.n(b)},17830,a=>{"use strict";a.s(["NotificationRulesRunner",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call NotificationRulesRunner() from the server but NotificationRulesRunner is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/notification-rules-runner.tsx <module evaluation>","NotificationRulesRunner")},3899,a=>{"use strict";a.s(["NotificationRulesRunner",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call NotificationRulesRunner() from the server but NotificationRulesRunner is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/notification-rules-runner.tsx","NotificationRulesRunner")},31788,a=>{"use strict";a.i(17830);var b=a.i(3899);a.n(b)},85048,a=>{"use strict";a.s(["PwaInstallNotice",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call PwaInstallNotice() from the server but PwaInstallNotice is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/pwa-install-notice.tsx <module evaluation>","PwaInstallNotice")},2370,a=>{"use strict";a.s(["PwaInstallNotice",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call PwaInstallNotice() from the server but PwaInstallNotice is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/pwa-install-notice.tsx","PwaInstallNotice")},16364,a=>{"use strict";a.i(85048);var b=a.i(2370);a.n(b)},93359,a=>{"use strict";a.s(["PwaRegister",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call PwaRegister() from the server but PwaRegister is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/pwa-register.tsx <module evaluation>","PwaRegister")},33610,a=>{"use strict";a.s(["PwaRegister",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call PwaRegister() from the server but PwaRegister is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/pwa-register.tsx","PwaRegister")},22650,a=>{"use strict";a.i(93359);var b=a.i(33610);a.n(b)},80351,a=>{"use strict";a.s(["ThemeModeSystemListener",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ThemeModeSystemListener() from the server but ThemeModeSystemListener is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/theme-mode-system-listener.tsx <module evaluation>","ThemeModeSystemListener")},68139,a=>{"use strict";a.s(["ThemeModeSystemListener",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ThemeModeSystemListener() from the server but ThemeModeSystemListener is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/theme-mode-system-listener.tsx","ThemeModeSystemListener")},3905,a=>{"use strict";a.i(80351);var b=a.i(68139);a.n(b)},18073,a=>{"use strict";a.s(["UiPreferencesDocumentSync",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call UiPreferencesDocumentSync() from the server but UiPreferencesDocumentSync is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/ui-preferences-document-sync.tsx <module evaluation>","UiPreferencesDocumentSync")},45471,a=>{"use strict";a.s(["UiPreferencesDocumentSync",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call UiPreferencesDocumentSync() from the server but UiPreferencesDocumentSync is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/ui-preferences-document-sync.tsx","UiPreferencesDocumentSync")},90689,a=>{"use strict";a.i(18073);var b=a.i(45471);a.n(b)},33290,a=>{"use strict";var b=a.i(46193),c=a.i(55120);let d={className:c.default.className,style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"}};null!=c.default.variable&&(d.variable=c.default.variable);var e=a.i(91129);let f={className:e.default.className,style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"}};null!=e.default.variable&&(f.variable=e.default.variable);var g=a.i(67636),h=a.i(69669),i=a.i(88936),j=a.i(64762),k=a.i(41505),l=a.i(31788),m=a.i(16364),n=a.i(22650),o=a.i(3905),p=a.i(90689),q=a.i(40035);let r="default",s=["default","midnight","warm","ocean","forest","contrast","sunset","lavender","rose","slate","nord","dracula"],t={teal:"default",blue:"ocean",violet:"midnight",rose:"warm",amber:"warm",emerald:"forest"};a.i(35394);let u=function(a){let{default_value:b,is_valid:c,storage_key:d}=a,e=new Set,f=()=>b;return{storage_key:d,default_value:b,is_valid:c,read:f,write:a=>{try{window.localStorage.setItem(d,a)}catch{}},subscribe:a=>(e.add(a),()=>{e.delete(a)}),notify:()=>{e.forEach(a=>{a()})},get_snapshot:f,get_server_snapshot:()=>b}}({storage_key:"super-time-tracker-theme-mode",default_value:"system",is_valid:a=>"light"===a||"dark"===a||"system"===a});async function v(){var a;let b=await (0,q.cookies)(),c="light"===(await (0,q.headers)()).get("sec-ch-prefers-color-scheme"),d=b.get("stt-palette")?.value,e=function(a,b){if(void 0!==a&&s.includes(a))return a;if(void 0!==b){let a=t[b];if(void 0!==a)return a}return r}(d,void 0),f=b.get("stt-compact-lists")?.value==="true",g=void 0===(a=b.get("stt-theme-mode")?.value)?null:u.is_valid(a)?a:null;if(null!==g)return{theme:function(a,b){return"system"===a?b?"light":"dark":"light"===a||"dark"===a?a:"dark"}(g,c),palette:e,compact_lists:f};let h=b.get("stt-theme")?.value;return"light"===h||"dark"===h?{theme:h,palette:e,compact_lists:f}:{theme:c?"light":"dark",palette:void 0===d?r:e,compact_lists:f}}async function w({children:a}){let{theme:c,palette:e,compact_lists:q}=await v();return(0,b.jsx)("html",{lang:"en",className:`${d.variable} ${f.variable} h-full antialiased`,"data-theme":c,"data-palette":e,"data-compact-lists":q?"true":"false",suppressHydrationWarning:!0,children:(0,b.jsxs)("body",{className:"min-h-full font-sans transition-[background-color,color] duration-200",children:[(0,b.jsx)(k.DocumentPreferencesInit,{}),(0,b.jsx)(n.PwaRegister,{}),(0,b.jsx)(o.ThemeModeSystemListener,{}),(0,b.jsx)(p.UiPreferencesDocumentSync,{}),(0,b.jsx)(j.ConfirmDialogProvider,{children:(0,b.jsxs)(h.CloudSyncProvider,{children:[(0,b.jsx)(g.AppKeyboardShortcuts,{}),(0,b.jsx)(l.NotificationRulesRunner,{}),a,(0,b.jsx)(i.ToastNotifications,{}),(0,b.jsx)(m.PwaInstallNotice,{})]})})]})})}a.s(["default",0,w,"metadata",0,{title:"super-time-tracker",description:"Web UI for the super-time-tracker CLI time sheets",manifest:"/manifest.webmanifest",themeColor:"#14b8a6",icons:{icon:[{url:"/icons/favicon.ico",type:"image/x-icon"},{url:"/icons/favicon-16x16.png",type:"image/png",sizes:"16x16"},{url:"/icons/favicon-32x32.png",type:"image/png",sizes:"32x32"},{url:"/icons/android-chrome-192x192.png",type:"image/png",sizes:"192x192"},{url:"/icons/android-chrome-512x512.png",type:"image/png",sizes:"512x512"}],apple:[{url:"/icons/apple-touch-icon.png",type:"image/png",sizes:"180x180"}]},appleWebApp:{capable:!0,title:"super-time-tracker",statusBarStyle:"default"}}],33290)},70864,a=>{a.n(a.i(33290))}];
1
+ module.exports=[55120,a=>{a.v({className:"geist_f53a3a98-module__E6rLHq__className",variable:"geist_f53a3a98-module__E6rLHq__variable"})},91129,a=>{a.v({className:"geist_mono_a0a08e0-module__UZhpWW__className",variable:"geist_mono_a0a08e0-module__UZhpWW__variable"})},1798,a=>{"use strict";a.s(["AppKeyboardShortcuts",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call AppKeyboardShortcuts() from the server but AppKeyboardShortcuts is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/app-keyboard-shortcuts.tsx <module evaluation>","AppKeyboardShortcuts")},69726,a=>{"use strict";a.s(["AppKeyboardShortcuts",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call AppKeyboardShortcuts() from the server but AppKeyboardShortcuts is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/app-keyboard-shortcuts.tsx","AppKeyboardShortcuts")},67636,a=>{"use strict";a.i(1798);var b=a.i(69726);a.n(b)},74035,a=>{"use strict";a.s(["CloudSyncProvider",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call CloudSyncProvider() from the server but CloudSyncProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/cloud-sync-provider.tsx <module evaluation>","CloudSyncProvider")},21912,a=>{"use strict";a.s(["CloudSyncProvider",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call CloudSyncProvider() from the server but CloudSyncProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/cloud-sync-provider.tsx","CloudSyncProvider")},69669,a=>{"use strict";a.i(74035);var b=a.i(21912);a.n(b)},22990,a=>{"use strict";a.s(["ToastNotifications",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ToastNotifications() from the server but ToastNotifications is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/toast-notifications.tsx <module evaluation>","ToastNotifications")},10467,a=>{"use strict";a.s(["ToastNotifications",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ToastNotifications() from the server but ToastNotifications is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/toast-notifications.tsx","ToastNotifications")},88936,a=>{"use strict";a.i(22990);var b=a.i(10467);a.n(b)},95670,a=>{"use strict";a.s(["ConfirmDialogProvider",()=>c,"use_confirm_dialog",()=>d]);var b=a.i(41445);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ConfirmDialogProvider() from the server but ConfirmDialogProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-dialog-provider.tsx <module evaluation>","ConfirmDialogProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call use_confirm_dialog() from the server but use_confirm_dialog is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-dialog-provider.tsx <module evaluation>","use_confirm_dialog")},37424,a=>{"use strict";a.s(["ConfirmDialogProvider",()=>c,"use_confirm_dialog",()=>d]);var b=a.i(41445);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call ConfirmDialogProvider() from the server but ConfirmDialogProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-dialog-provider.tsx","ConfirmDialogProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call use_confirm_dialog() from the server but use_confirm_dialog is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-dialog-provider.tsx","use_confirm_dialog")},64762,a=>{"use strict";a.i(95670);var b=a.i(37424);a.n(b)},4684,a=>{"use strict";a.s(["DocumentPreferencesInit",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call DocumentPreferencesInit() from the server but DocumentPreferencesInit is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/document-preferences-init.tsx <module evaluation>","DocumentPreferencesInit")},8602,a=>{"use strict";a.s(["DocumentPreferencesInit",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call DocumentPreferencesInit() from the server but DocumentPreferencesInit is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/document-preferences-init.tsx","DocumentPreferencesInit")},41505,a=>{"use strict";a.i(4684);var b=a.i(8602);a.n(b)},17830,a=>{"use strict";a.s(["NotificationRulesRunner",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call NotificationRulesRunner() from the server but NotificationRulesRunner is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/notification-rules-runner.tsx <module evaluation>","NotificationRulesRunner")},3899,a=>{"use strict";a.s(["NotificationRulesRunner",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call NotificationRulesRunner() from the server but NotificationRulesRunner is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/notification-rules-runner.tsx","NotificationRulesRunner")},31788,a=>{"use strict";a.i(17830);var b=a.i(3899);a.n(b)},85048,a=>{"use strict";a.s(["PwaInstallNotice",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call PwaInstallNotice() from the server but PwaInstallNotice is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/pwa-install-notice.tsx <module evaluation>","PwaInstallNotice")},2370,a=>{"use strict";a.s(["PwaInstallNotice",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call PwaInstallNotice() from the server but PwaInstallNotice is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/pwa-install-notice.tsx","PwaInstallNotice")},16364,a=>{"use strict";a.i(85048);var b=a.i(2370);a.n(b)},93359,a=>{"use strict";a.s(["PwaRegister",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call PwaRegister() from the server but PwaRegister is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/pwa-register.tsx <module evaluation>","PwaRegister")},33610,a=>{"use strict";a.s(["PwaRegister",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call PwaRegister() from the server but PwaRegister is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/pwa-register.tsx","PwaRegister")},22650,a=>{"use strict";a.i(93359);var b=a.i(33610);a.n(b)},80351,a=>{"use strict";a.s(["ThemeModeSystemListener",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ThemeModeSystemListener() from the server but ThemeModeSystemListener is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/theme-mode-system-listener.tsx <module evaluation>","ThemeModeSystemListener")},68139,a=>{"use strict";a.s(["ThemeModeSystemListener",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ThemeModeSystemListener() from the server but ThemeModeSystemListener is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/theme-mode-system-listener.tsx","ThemeModeSystemListener")},3905,a=>{"use strict";a.i(80351);var b=a.i(68139);a.n(b)},18073,a=>{"use strict";a.s(["UiPreferencesDocumentSync",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call UiPreferencesDocumentSync() from the server but UiPreferencesDocumentSync is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/ui-preferences-document-sync.tsx <module evaluation>","UiPreferencesDocumentSync")},45471,a=>{"use strict";a.s(["UiPreferencesDocumentSync",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call UiPreferencesDocumentSync() from the server but UiPreferencesDocumentSync is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/ui-preferences-document-sync.tsx","UiPreferencesDocumentSync")},90689,a=>{"use strict";a.i(18073);var b=a.i(45471);a.n(b)},33290,a=>{"use strict";var b=a.i(46193),c=a.i(55120);let d={className:c.default.className,style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"}};null!=c.default.variable&&(d.variable=c.default.variable);var e=a.i(91129);let f={className:e.default.className,style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"}};null!=e.default.variable&&(f.variable=e.default.variable);var g=a.i(67636),h=a.i(69669),i=a.i(88936),j=a.i(64762),k=a.i(41505),l=a.i(31788),m=a.i(16364),n=a.i(22650),o=a.i(3905),p=a.i(90689),q=a.i(40035);let r="default",s=["default","midnight","warm","ocean","forest","contrast","sunset","lavender","rose","slate","nord","dracula"],t={teal:"default",blue:"ocean",violet:"midnight",rose:"warm",amber:"warm",emerald:"forest"};a.i(35394);let u=function(a){let{default_value:b,is_valid:c,storage_key:d}=a,e=new Set,f=()=>b;return{storage_key:d,default_value:b,is_valid:c,read:f,write:a=>{try{window.localStorage.setItem(d,a)}catch{}},subscribe:a=>(e.add(a),()=>{e.delete(a)}),notify:()=>{e.forEach(a=>{a()})},get_snapshot:f,get_server_snapshot:()=>b}}({storage_key:"super-time-tracker-theme-mode",default_value:"system",is_valid:a=>"light"===a||"dark"===a||"system"===a});async function v(){var a;let b=await (0,q.cookies)(),c="light"===(await (0,q.headers)()).get("sec-ch-prefers-color-scheme"),d=b.get("stt-palette")?.value,e=function(a,b){if(void 0!==a&&s.includes(a))return a;if(void 0!==b){let a=t[b];if(void 0!==a)return a}return r}(d,void 0),f=b.get("stt-compact-lists")?.value==="true",g=void 0===(a=b.get("stt-theme-mode")?.value)?null:u.is_valid(a)?a:null;if(null!==g)return{theme:function(a,b){return"system"===a?b?"light":"dark":"light"===a||"dark"===a?a:"dark"}(g,c),palette:e,compact_lists:f};let h=b.get("stt-theme")?.value;return"light"===h||"dark"===h?{theme:h,palette:e,compact_lists:f}:{theme:c?"light":"dark",palette:void 0===d?r:e,compact_lists:f}}async function w({children:a}){let{theme:c,palette:e,compact_lists:q}=await v();return(0,b.jsx)("html",{lang:"en",className:`${d.variable} ${f.variable} h-full antialiased`,"data-theme":c,"data-palette":e,"data-compact-lists":q?"true":"false",suppressHydrationWarning:!0,children:(0,b.jsxs)("body",{className:"min-h-full font-sans transition-[background-color,color] duration-200",children:[(0,b.jsx)(k.DocumentPreferencesInit,{}),(0,b.jsx)(n.PwaRegister,{}),(0,b.jsx)(o.ThemeModeSystemListener,{}),(0,b.jsx)(p.UiPreferencesDocumentSync,{}),(0,b.jsx)(j.ConfirmDialogProvider,{children:(0,b.jsxs)(h.CloudSyncProvider,{children:[(0,b.jsx)(g.AppKeyboardShortcuts,{}),(0,b.jsx)(l.NotificationRulesRunner,{}),a,(0,b.jsx)(i.ToastNotifications,{}),(0,b.jsx)(m.PwaInstallNotice,{})]})})]})})}a.s(["default",0,w,"metadata",0,{title:"super-time-tracker",description:"Web UI for the super-time-tracker CLI time sheets",manifest:"/manifest.webmanifest",icons:{icon:[{url:"/icons/favicon.ico",type:"image/x-icon"},{url:"/icons/favicon-16x16.png",type:"image/png",sizes:"16x16"},{url:"/icons/favicon-32x32.png",type:"image/png",sizes:"32x32"},{url:"/icons/android-chrome-192x192.png",type:"image/png",sizes:"192x192"},{url:"/icons/android-chrome-512x512.png",type:"image/png",sizes:"512x512"}],apple:[{url:"/icons/apple-touch-icon.png",type:"image/png",sizes:"180x180"}]},appleWebApp:{capable:!0,title:"super-time-tracker",statusBarStyle:"default"}},"viewport",0,{themeColor:"#14b8a6"}],33290)},70864,a=>{a.n(a.i(33290))}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0bowsf1._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},94877,(a,b,c)=>{"use strict";b.exports=a.r(85058).vendored.contexts.HooksClientContext},12273,(a,b,c)=>{"use strict";b.exports=a.r(85058).vendored.contexts.ServerInsertedHtml},85058,(a,b,c)=>{"use strict";b.exports=a.r(18622)},39752,(a,b,c)=>{"use strict";b.exports=a.r(85058).vendored["react-ssr"].ReactJsxRuntime},34542,(a,b,c)=>{"use strict";b.exports=a.r(85058).vendored["react-ssr"].React},72034,(a,b,c)=>{"use strict";b.exports=a.r(85058).vendored.contexts.AppRouterContext},71535,(a,b,c)=>{"use strict";b.exports=a.r(85058).vendored["react-ssr"].ReactServerDOMTurbopackClient},3988,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},38371,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},21154,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},40959,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},89969,a=>{"use strict";a.s(["get_button_class_name",0,function(a="ghost",b="default"){return`cursor-pointer appearance-none rounded-[0.65rem] border border-transparent font-inherit font-semibold disabled:cursor-not-allowed disabled:opacity-55 ${({default:"px-3.5 py-2.5",small:"px-2.5 py-1.5 text-xs"})[b]} ${({primary:"border-accent-border bg-[var(--accent)] text-[var(--accent-text-on)]",ghost:"border-panel-border bg-ghost-bg text-inherit",danger:"border-danger-border bg-danger-soft text-danger","danger-solid":"border-danger-border bg-[var(--danger-solid)] text-[var(--danger-text-on)]"})[a]}`}])},53030,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(89969);function e({options:a,on_confirm:f,on_cancel:g}){let h=(0,c.useId)(),i=(0,c.useRef)(null),{cancelLabel:j="Cancel",confirmLabel:k="Confirm",message:l,title:m,variant:n="default"}=a;return(0,c.useEffect)(()=>{i.current?.focus();let a=a=>{"Escape"===a.key&&g()};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[g]),(0,b.jsxs)("div",{className:"fixed inset-0 z-100 flex items-center justify-center p-5",role:"presentation",children:[(0,b.jsx)("button",{type:"button",className:"absolute inset-0 cursor-default border-0 bg-overlay p-0","aria-label":"Dismiss dialog",onClick:g}),(0,b.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":h,className:"relative z-1 w-full max-w-md rounded-lg border border-panel-border bg-panel p-5 shadow-md",children:[(0,b.jsx)("h2",{id:h,className:"m-0 text-[1.1rem] font-[650] tracking-tight",children:m}),(0,b.jsx)("p",{className:"m-0 mt-2 text-[0.9rem] leading-relaxed text-muted",children:l}),(0,b.jsxs)("div",{className:"mt-5 flex flex-wrap justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:(0,d.get_button_class_name)("ghost"),onClick:g,children:j}),(0,b.jsx)("button",{ref:i,type:"button",className:(0,d.get_button_class_name)("danger"===n?"danger":"primary"),onClick:f,children:k})]})]})]})}let f=(0,c.createContext)(null);a.s(["ConfirmDialogProvider",0,function({children:a}){let[d,g]=(0,c.useState)(null),h=(0,c.useCallback)(a=>new Promise(b=>{g({options:a,resolve:b})}),[]),i=a=>{d?.resolve(a),g(null)};return(0,b.jsxs)(f.Provider,{value:{confirm:h},children:[a,null!==d?(0,b.jsx)(e,{options:d.options,on_confirm:()=>i(!0),on_cancel:()=>i(!1)}):null]})},"use_confirm_dialog",0,function(){let a=(0,c.useContext)(f);if(null===a)throw Error("use_confirm_dialog must be used within ConfirmDialogProvider");return a}],53030)},87281,a=>{"use strict";var b=a.i(49170);a.s(["is_greedy_cloud_sync_enabled",0,function(){return"true"===b.greedy_cloud_sync_preference.read()}])},97917,a=>{"use strict";let b=new Set;a.s(["notify_in_app",0,function(a){},"subscribe_in_app_notifications",0,function(a){return b.add(a),()=>{b.delete(a)}}])},72327,40395,76121,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_NUDGES_ENABLED_STORAGE_KEY,default_value:c.FOCUS_NUDGES_ENABLED_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["focus_nudges_enabled_preference",0,d],72327);let e=(0,b.create_ui_preference_store)({storage_key:c.NO_LOG_REMINDER_MINUTES_STORAGE_KEY,default_value:c.NO_LOG_REMINDER_MINUTES_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=5&&b<=240}});a.s(["no_log_reminder_minutes_preference",0,e],40395);let f=(0,b.create_ui_preference_store)({storage_key:c.OVERWORK_ALERT_HOURS_STORAGE_KEY,default_value:c.OVERWORK_ALERT_HOURS_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=1&&b<=16}});a.s(["overwork_alert_hours_preference",0,f],76121)},22496,43329,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=/^([01]\d|2[0-3]):[0-5]\d$/,e=(0,b.create_ui_preference_store)({storage_key:c.WORK_HOURS_END_STORAGE_KEY,default_value:c.WORK_HOURS_END_DEFAULT,is_valid:a=>d.test(a)});a.s(["work_hours_end_preference",0,e],22496);let f=/^([01]\d|2[0-3]):[0-5]\d$/,g=(0,b.create_ui_preference_store)({storage_key:c.WORK_HOURS_START_STORAGE_KEY,default_value:c.WORK_HOURS_START_DEFAULT,is_valid:a=>f.test(a)});a.s(["work_hours_start_preference",0,g],43329)},7386,89711,89184,a=>{"use strict";var b=a.i(39752),c=a.i(34542);function d({label:a,description:c,compact:e}){return(0,b.jsxs)("div",{className:"contents",children:[(0,b.jsx)("dt",{className:"m-0",children:(0,b.jsx)("kbd",{className:`inline-block min-w-7 rounded border border-panel-border bg-surface text-center font-mono font-semibold text-foreground ${e?"px-1 py-0.5 text-[0.7rem]":"px-1.5 py-0.5 text-[0.78rem]"}`,children:a})}),(0,b.jsx)("dd",{className:`m-0 self-center leading-snug text-muted ${e?"text-[0.8rem]":"text-[0.9rem]"}`,children:c})]})}function e({sections:a,compact:c=!1}){return(0,b.jsx)("div",{className:`flex flex-col ${c?"gap-2.5":"gap-4"}`,children:a.map(a=>(0,b.jsxs)("section",{children:[(0,b.jsx)("h3",{className:`m-0 font-semibold uppercase tracking-[0.04em] text-muted ${c?"text-[0.65rem]":"text-[0.72rem]"}`,children:a.title}),(0,b.jsx)("dl",{className:`m-0 grid grid-cols-[auto_minmax(0,1fr)] ${c?"mt-1.5 gap-x-3 gap-y-1.5":"mt-2 gap-x-4 gap-y-2"}`,children:a.entries.map(e=>(0,b.jsx)(d,{label:e.label,description:e.description,compact:c},`${a.title}-${e.label}-${e.description}`))})]},a.title))})}var f=a.i(89969);a.s(["KeyboardShortcutsDialog",0,function({sections:a,on_close:d}){let g=(0,c.useId)(),h=(0,c.useRef)(null);return(0,c.useEffect)(()=>{h.current?.focus();let a=a=>{"Escape"===a.key&&d()};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[d]),(0,b.jsxs)("div",{className:"fixed inset-0 z-100 flex items-center justify-center p-5",role:"presentation",children:[(0,b.jsx)("button",{type:"button",className:"absolute inset-0 cursor-default border-0 bg-overlay p-0","aria-label":"Dismiss dialog",onClick:d}),(0,b.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":g,className:"relative z-1 w-full max-w-lg rounded-lg border border-panel-border bg-panel p-5 shadow-md",children:[(0,b.jsx)("h2",{id:g,className:"m-0 text-[1.1rem] font-[650] tracking-tight",children:"Keyboard shortcuts"}),(0,b.jsx)("div",{className:"mt-4 max-h-[min(28rem,70vh)] overflow-y-auto pr-1",children:(0,b.jsx)(e,{sections:a})}),(0,b.jsx)("div",{className:"mt-5 flex justify-end",children:(0,b.jsx)("button",{ref:h,type:"button",className:(0,f.get_button_class_name)("primary"),onClick:d,children:"Close"})})]})]})}],7386),a.s(["get_app_keyboard_shortcut_sections",0,function(){return[{title:"General",entries:[{label:"?",description:"Show keyboard shortcuts"}]}]}],89711);var g=a.i(46299);a.s(["use_document_keyboard_shortcuts",0,function(a){let b=(0,c.useRef)(a);b.current=a,(0,c.useEffect)(()=>{let a=a=>{if(!function(a){let b=a.target;if(!(b instanceof HTMLElement))return!1;if(b.isContentEditable)return!0;let c=b.tagName;return"INPUT"===c||"TEXTAREA"===c||"SELECT"===c}(a)&&!(0,g.is_modal_dialog_open)()){for(let c of b.current)if(c.is_available?.()!==!1&&function(a,b){let c=b.modifiers??[],d=c.includes("alt"),e=c.includes("ctrl"),f=c.includes("meta"),g=c.includes("shift");return a.altKey===d&&a.ctrlKey===e&&a.metaKey===f&&a.shiftKey===g&&(1===a.key.length?a.key.toLowerCase():a.key)===(1===b.key.length?b.key.toLowerCase():b.key)}(a,c)){a.preventDefault(),c.action();return}}};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[])}],89184)},17037,a=>{"use strict";var b=a.i(39752),c=a.i(82508),d=a.i(34542),e=a.i(7386),f=a.i(89711),g=a.i(89184);a.s(["AppKeyboardShortcuts",0,function(){let a=(0,c.usePathname)(),[h,i]=(0,d.useState)(!1),j="/"===a,k=(0,d.useMemo)(()=>j?[]:[{id:"help",label:"?",description:"Show keyboard shortcuts",key:"?",modifiers:["shift"],action:()=>{i(a=>!a)}}],[j]);return((0,g.use_document_keyboard_shortcuts)(k),!h||j)?null:(0,b.jsx)(e.KeyboardShortcutsDialog,{sections:(0,f.get_app_keyboard_shortcut_sections)(),on_close:()=>i(!1)})}])},24480,a=>{"use strict";var b=a.i(39752),c=a.i(82508),d=a.i(34542),e=a.i(9301),f=a.i(19519),g=a.i(64169),h=a.i(17465);async function i(){await (0,h.with_ui_preferences_merge_guard)(async()=>{let a=(0,g.collect_ui_preferences_from_window)(),b=await fetch("/api/ui-preferences/merge-on-load",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({preferences:a})});if(!b.ok)throw Error((await b.json()).error??"UI preferences merge on load failed");let c=await b.json();(0,f.apply_ui_preferences_from_record)(c.preferences??{})})}var j=a.i(80097),k=a.i(51652),l=a.i(63577),m=a.i(74365),n=a.i(87281);function o(){return(0,n.is_greedy_cloud_sync_enabled)()}a.s(["CloudSyncProvider",0,function({children:a}){let f=(0,c.useRouter)(),g=(0,c.usePathname)(),h=(0,d.useRef)(null),n=(0,d.useRef)(!0);return(0,d.useEffect)(()=>{if(!(0,l.is_supabase_configured)()||!(0,k.is_cloud_sync_enabled)())return;let a=(0,e.create_browser_supabase_client)(),b=a=>{!o()&&(0,j.has_tracker_db_merged_this_browser_session)()?i().catch(()=>{}):(0,m.run_tracker_db_cloud_sync)({merge_on_load:!0,on_complete:a?()=>{f.refresh()}:void 0}).catch(()=>{})};a.auth.getSession().then(({data:{session:a}})=>{null!==a&&b(!1)});let{data:{subscription:c}}=a.auth.onAuthStateChange(a=>{if("SIGNED_IN"===a){(0,j.clear_tracker_db_merged_this_browser_session)(),h.current=null,n.current=!0,b(!0);return}"SIGNED_OUT"===a&&((0,j.clear_tracker_db_merged_this_browser_session)(),h.current=null,n.current=!0,f.refresh())});return()=>{c.unsubscribe()}},[f]),(0,d.useEffect)(()=>{if((0,l.is_supabase_configured)()&&(0,k.is_cloud_sync_enabled)()&&o()){if(n.current){n.current=!1,h.current=g;return}h.current!==g&&(h.current=g,(0,m.run_tracker_db_cloud_sync)({merge_on_load:!0}).catch(()=>{}))}},[g]),(0,b.jsx)(b.Fragment,{children:a})}],24480)},48889,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(14676);function e(){let[a,e]=(0,c.useState)(null);if((0,c.useEffect)(()=>{let a=null,b=(0,d.subscribe_cloud_db_sync)(b=>{e(b),null!==a&&(clearTimeout(a),a=null),(b?.phase==="success"||b?.phase==="error")&&(a=setTimeout(()=>{e(null),a=null},2800))});return()=>{b(),null!==a&&clearTimeout(a)}},[]),null===a)return null;let f="syncing"===a.phase,g="error"===a.phase,h="success"===a.phase?100:"error"===a.phase?0:null;return(0,b.jsxs)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"w-full rounded-md border border-accent-border bg-panel px-4 py-3 text-[0.88rem] font-medium text-foreground shadow-md",children:[(0,b.jsx)("p",{className:"m-0 mb-2.5 leading-snug",children:a.message}),(0,b.jsx)("div",{className:"h-1 overflow-hidden rounded-full bg-[color-mix(in_srgb,var(--accent)_22%,var(--panel-border))]","aria-hidden":"true",children:f?(0,b.jsx)("div",{className:"cloud-db-sync-progress-indeterminate h-full w-1/3 rounded-full bg-accent"}):(0,b.jsx)("div",{className:`h-full rounded-full transition-[width] duration-300 ease-out ${g?"bg-danger":"bg-accent"}`,style:{width:`${h??0}%`}})})]})}var f=a.i(97917);function g(){let[a,d]=(0,c.useState)(null);return((0,c.useEffect)(()=>{let a=null,b=(0,f.subscribe_in_app_notifications)(b=>{d(b),null!==a&&clearTimeout(a),a=setTimeout(()=>{d(null),a=null},3200)});return()=>{b(),null!==a&&clearTimeout(a)}},[]),null===a)?null:(0,b.jsxs)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"w-full rounded-md border border-accent-border bg-panel px-4 py-2.5 text-foreground shadow-md",children:[(0,b.jsx)("p",{className:"m-0 text-[0.84rem] font-semibold",children:a.title}),(0,b.jsx)("p",{className:"m-0 mt-0.5 text-[0.8rem] leading-snug text-muted",children:a.body})]})}var h=a.i(7048);function i(){let[a,d]=(0,c.useState)(null);return((0,c.useEffect)(()=>{let a=null,b=(0,h.subscribe_settings_saved)(b=>{d(b),null!==a&&clearTimeout(a),a=setTimeout(()=>{d(null),a=null},2800)});return()=>{b(),null!==a&&clearTimeout(a)}},[]),null===a)?null:(0,b.jsx)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"w-full rounded-md border border-accent-border bg-panel px-4 py-2.5 text-[0.88rem] font-medium text-foreground shadow-md transition-[opacity,transform] duration-200",children:a||h.SETTINGS_SAVED_DEFAULT_MESSAGE})}a.s(["ToastNotifications",0,function(){return(0,b.jsxs)("div",{className:"pointer-events-none fixed z-50 flex w-[min(22rem,calc(100vw-2rem))] flex-col items-end gap-2 right-[max(1rem,env(safe-area-inset-right,0px))] bottom-[max(1rem,env(safe-area-inset-bottom,0px))]",children:[(0,b.jsx)(g,{}),(0,b.jsx)(e,{}),(0,b.jsx)(i,{})]})}],48889)},70648,a=>{"use strict";var b=a.i(34542),c=a.i(37183);a.s(["DocumentPreferencesInit",0,function(){return(0,b.useLayoutEffect)(()=>{(0,c.apply_ui_preferences_dom_from_window)()},[]),null}])},34174,a=>{"use strict";var b=a.i(34542),c=a.i(72327),d=a.i(40395),e=a.i(76121),f=a.i(22496),g=a.i(43329);a.s(["NotificationRulesRunner",0,function(){let a=(0,b.useSyncExternalStore)(c.focus_nudges_enabled_preference.subscribe,c.focus_nudges_enabled_preference.get_snapshot,c.focus_nudges_enabled_preference.get_server_snapshot),h=(0,b.useSyncExternalStore)(d.no_log_reminder_minutes_preference.subscribe,d.no_log_reminder_minutes_preference.get_snapshot,d.no_log_reminder_minutes_preference.get_server_snapshot),i=(0,b.useSyncExternalStore)(e.overwork_alert_hours_preference.subscribe,e.overwork_alert_hours_preference.get_snapshot,e.overwork_alert_hours_preference.get_server_snapshot),j=(0,b.useSyncExternalStore)(g.work_hours_start_preference.subscribe,g.work_hours_start_preference.get_snapshot,g.work_hours_start_preference.get_server_snapshot),k=(0,b.useSyncExternalStore)(f.work_hours_end_preference.subscribe,f.work_hours_end_preference.get_snapshot,f.work_hours_end_preference.get_server_snapshot);return(0,b.useRef)(0),(0,b.useRef)(null),(0,b.useEffect)(()=>{},[a]),(0,b.useEffect)(()=>{},[a,h,i,k,j]),null}])},19494,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(89969);let e="super-time-tracker-pwa-install-notice-dismissed";a.s(["PwaInstallNotice",0,function(){let[a,f]=(0,c.useState)(null),[g,h]=(0,c.useState)(!0),[i,j]=(0,c.useState)(!1);return((0,c.useEffect)(()=>{},[]),g)?null:(0,b.jsxs)("aside",{className:"fixed right-4 bottom-4 z-50 w-[min(22rem,calc(100vw-2rem))] rounded-md border border-accent-border bg-panel p-3.5 shadow-md",children:[(0,b.jsx)("p",{className:"m-0 text-[0.9rem] font-semibold",children:"Install app"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.82rem] leading-snug text-muted",children:null!==a?"Install Super Time Tracker for offline use and a faster startup.":"Install from your browser menu to enable app-style launch and offline support."}),(0,b.jsxs)("div",{className:"mt-3 flex gap-2",children:[null!==a?(0,b.jsx)("button",{type:"button",className:(0,d.get_button_class_name)("primary","small"),disabled:i,onClick:()=>{j(!0),a.prompt().then(async()=>{"accepted"===(await a.userChoice).outcome&&(window.localStorage.setItem(e,"true"),h(!0))}).finally(()=>{j(!1),f(null)})},children:i?"Opening…":"Install"}):null,(0,b.jsx)("button",{type:"button",className:(0,d.get_button_class_name)("ghost","small"),onClick:()=>{window.localStorage.setItem(e,"true"),h(!0)},children:"Dismiss"})]})]})}])},82429,a=>{"use strict";var b=a.i(34542);a.s(["PwaRegister",0,function(){return(0,b.useEffect)(()=>{},[]),null}])},97658,a=>{"use strict";var b=a.i(34542);a.i(29698),a.s(["ThemeModeSystemListener",0,function(){return(0,b.useEffect)(()=>{},[]),null}])},16081,a=>{"use strict";var b=a.i(34542),c=a.i(37183),d=a.i(17310);a.s(["UiPreferencesDocumentSync",0,function(){return(0,b.useEffect)(()=>{let a=()=>{(0,c.apply_ui_preferences_dom_from_window)()};return window.addEventListener(d.UI_PREFERENCES_APPLIED_EVENT,a),()=>{window.removeEventListener(d.UI_PREFERENCES_APPLIED_EVENT,a)}},[]),null}])}];
1
+ module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},94877,(a,b,c)=>{"use strict";b.exports=a.r(85058).vendored.contexts.HooksClientContext},12273,(a,b,c)=>{"use strict";b.exports=a.r(85058).vendored.contexts.ServerInsertedHtml},85058,(a,b,c)=>{"use strict";b.exports=a.r(18622)},39752,(a,b,c)=>{"use strict";b.exports=a.r(85058).vendored["react-ssr"].ReactJsxRuntime},34542,(a,b,c)=>{"use strict";b.exports=a.r(85058).vendored["react-ssr"].React},72034,(a,b,c)=>{"use strict";b.exports=a.r(85058).vendored.contexts.AppRouterContext},71535,(a,b,c)=>{"use strict";b.exports=a.r(85058).vendored["react-ssr"].ReactServerDOMTurbopackClient},3988,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},38371,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},21154,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},40959,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},89969,a=>{"use strict";a.s(["get_button_class_name",0,function(a="ghost",b="default"){return`cursor-pointer appearance-none rounded-[0.65rem] border border-transparent font-inherit font-semibold disabled:cursor-not-allowed disabled:opacity-55 ${({default:"px-3.5 py-2.5",small:"px-2.5 py-1.5 text-xs"})[b]} ${({primary:"border-accent-border bg-[var(--accent)] text-[var(--accent-text-on)]",ghost:"border-panel-border bg-ghost-bg text-inherit",danger:"border-danger-border bg-danger-soft text-danger","danger-solid":"border-danger-border bg-[var(--danger-solid)] text-[var(--danger-text-on)]"})[a]}`}])},53030,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(89969);function e({options:a,on_confirm:f,on_cancel:g}){let h=(0,c.useId)(),i=(0,c.useRef)(null),{cancelLabel:j="Cancel",confirmLabel:k="Confirm",message:l,title:m,variant:n="default"}=a;return(0,c.useEffect)(()=>{i.current?.focus();let a=a=>{"Escape"===a.key&&g()};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[g]),(0,b.jsxs)("div",{className:"fixed inset-0 z-100 flex items-center justify-center p-5",role:"presentation",children:[(0,b.jsx)("button",{type:"button",className:"absolute inset-0 cursor-default border-0 bg-overlay p-0","aria-label":"Dismiss dialog",onClick:g}),(0,b.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":h,className:"relative z-1 w-full max-w-md rounded-lg border border-panel-border bg-panel p-5 shadow-md",children:[(0,b.jsx)("h2",{id:h,className:"m-0 text-[1.1rem] font-[650] tracking-tight",children:m}),(0,b.jsx)("p",{className:"m-0 mt-2 text-[0.9rem] leading-relaxed text-muted",children:l}),(0,b.jsxs)("div",{className:"mt-5 flex flex-wrap justify-end gap-2",children:[(0,b.jsx)("button",{type:"button",className:(0,d.get_button_class_name)("ghost"),onClick:g,children:j}),(0,b.jsx)("button",{ref:i,type:"button",className:(0,d.get_button_class_name)("danger"===n?"danger":"primary"),onClick:f,children:k})]})]})]})}let f=(0,c.createContext)(null);a.s(["ConfirmDialogProvider",0,function({children:a}){let[d,g]=(0,c.useState)(null),h=(0,c.useCallback)(a=>new Promise(b=>{g({options:a,resolve:b})}),[]),i=a=>{d?.resolve(a),g(null)};return(0,b.jsxs)(f.Provider,{value:{confirm:h},children:[a,null!==d?(0,b.jsx)(e,{options:d.options,on_confirm:()=>i(!0),on_cancel:()=>i(!1)}):null]})},"use_confirm_dialog",0,function(){let a=(0,c.useContext)(f);if(null===a)throw Error("use_confirm_dialog must be used within ConfirmDialogProvider");return a}],53030)},87281,a=>{"use strict";var b=a.i(49170);a.s(["is_greedy_cloud_sync_enabled",0,function(){return"true"===b.greedy_cloud_sync_preference.read()}])},97917,a=>{"use strict";let b=new Set;a.s(["notify_in_app",0,function(a){},"subscribe_in_app_notifications",0,function(a){return b.add(a),()=>{b.delete(a)}}])},72327,40395,76121,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_NUDGES_ENABLED_STORAGE_KEY,default_value:c.FOCUS_NUDGES_ENABLED_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["focus_nudges_enabled_preference",0,d],72327);let e=(0,b.create_ui_preference_store)({storage_key:c.NO_LOG_REMINDER_MINUTES_STORAGE_KEY,default_value:c.NO_LOG_REMINDER_MINUTES_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=5&&b<=240}});a.s(["no_log_reminder_minutes_preference",0,e],40395);let f=(0,b.create_ui_preference_store)({storage_key:c.OVERWORK_ALERT_HOURS_STORAGE_KEY,default_value:c.OVERWORK_ALERT_HOURS_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=1&&b<=16}});a.s(["overwork_alert_hours_preference",0,f],76121)},22496,43329,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=/^([01]\d|2[0-3]):[0-5]\d$/,e=(0,b.create_ui_preference_store)({storage_key:c.WORK_HOURS_END_STORAGE_KEY,default_value:c.WORK_HOURS_END_DEFAULT,is_valid:a=>d.test(a)});a.s(["work_hours_end_preference",0,e],22496);let f=/^([01]\d|2[0-3]):[0-5]\d$/,g=(0,b.create_ui_preference_store)({storage_key:c.WORK_HOURS_START_STORAGE_KEY,default_value:c.WORK_HOURS_START_DEFAULT,is_valid:a=>f.test(a)});a.s(["work_hours_start_preference",0,g],43329)},7386,85928,89184,a=>{"use strict";var b=a.i(39752),c=a.i(34542);function d({label:a,description:c,compact:e}){return(0,b.jsxs)("div",{className:"contents",children:[(0,b.jsx)("dt",{className:"m-0",children:(0,b.jsx)("kbd",{className:`inline-block min-w-7 rounded border border-panel-border bg-surface text-center font-mono font-semibold text-foreground ${e?"px-1 py-0.5 text-[0.7rem]":"px-1.5 py-0.5 text-[0.78rem]"}`,children:a})}),(0,b.jsx)("dd",{className:`m-0 self-center leading-snug text-muted ${e?"text-[0.8rem]":"text-[0.9rem]"}`,children:c})]})}function e({sections:a,compact:c=!1}){return(0,b.jsx)("div",{className:`flex flex-col ${c?"gap-2.5":"gap-4"}`,children:a.map(a=>(0,b.jsxs)("section",{children:[(0,b.jsx)("h3",{className:`m-0 font-semibold uppercase tracking-[0.04em] text-muted ${c?"text-[0.65rem]":"text-[0.72rem]"}`,children:a.title}),(0,b.jsx)("dl",{className:`m-0 grid grid-cols-[auto_minmax(0,1fr)] ${c?"mt-1.5 gap-x-3 gap-y-1.5":"mt-2 gap-x-4 gap-y-2"}`,children:a.entries.map(e=>(0,b.jsx)(d,{label:e.label,description:e.description,compact:c},`${a.title}-${e.label}-${e.description}`))})]},a.title))})}var f=a.i(89969);a.s(["KeyboardShortcutsDialog",0,function({sections:a,on_close:d}){let g=(0,c.useId)(),h=(0,c.useRef)(null);return(0,c.useEffect)(()=>{h.current?.focus();let a=a=>{"Escape"===a.key&&d()};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[d]),(0,b.jsxs)("div",{className:"fixed inset-0 z-100 flex items-center justify-center p-5",role:"presentation",children:[(0,b.jsx)("button",{type:"button",className:"absolute inset-0 cursor-default border-0 bg-overlay p-0","aria-label":"Dismiss dialog",onClick:d}),(0,b.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":g,className:"relative z-1 w-full max-w-lg rounded-lg border border-panel-border bg-panel p-5 shadow-md",children:[(0,b.jsx)("h2",{id:g,className:"m-0 text-[1.1rem] font-[650] tracking-tight",children:"Keyboard shortcuts"}),(0,b.jsx)("div",{className:"mt-4 max-h-[min(28rem,70vh)] overflow-y-auto pr-1",children:(0,b.jsx)(e,{sections:a})}),(0,b.jsx)("div",{className:"mt-5 flex justify-end",children:(0,b.jsx)("button",{ref:h,type:"button",className:(0,f.get_button_class_name)("primary"),onClick:d,children:"Close"})})]})]})}],7386);var g=a.i(75049);a.s(["get_tracker_keyboard_shortcut_sections",0,function(a=g.tracker_shortcut_defaults){return[...function(a="?"){return[{title:"General",entries:[{label:a,description:"Show keyboard shortcuts"}]}]}("?"===a.help?"?":a.help.toUpperCase()),{title:"Tracker",entries:[{label:a["check-in"].toUpperCase(),description:"Check in (focus description)"},{label:a["check-out"].toUpperCase(),description:"Check out"},{label:a["edit-entry"].toUpperCase(),description:"Edit active entry description"},{label:a["add-note"].toUpperCase(),description:"Add note to active entry"},{label:a.pomodoro.toUpperCase(),description:"Open Pomodoro"},{label:a["previous-sheet"],description:"Previous sheet"},{label:a["next-sheet"],description:"Next sheet"}]}]}],85928);var h=a.i(46299);a.s(["use_document_keyboard_shortcuts",0,function(a){let b=(0,c.useRef)(a);b.current=a,(0,c.useEffect)(()=>{let a=a=>{if(!function(a){let b=a.target;if(!(b instanceof HTMLElement))return!1;if(b.isContentEditable)return!0;let c=b.tagName;return"INPUT"===c||"TEXTAREA"===c||"SELECT"===c}(a)&&!(0,h.is_modal_dialog_open)()){for(let c of b.current)if(c.is_available?.()!==!1&&function(a,b){let c=b.modifiers??[],d=c.includes("alt"),e=c.includes("ctrl"),f=c.includes("meta"),g=c.includes("shift");return a.altKey===d&&a.ctrlKey===e&&a.metaKey===f&&a.shiftKey===g&&(1===a.key.length?a.key.toLowerCase():a.key)===(1===b.key.length?b.key.toLowerCase():b.key)}(a,c)){a.preventDefault(),c.action();return}}};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[])}],89184)},17037,a=>{"use strict";var b=a.i(39752),c=a.i(82508),d=a.i(34542),e=a.i(7386),f=a.i(85928),g=a.i(11937),h=a.i(54212),i=a.i(89184);a.s(["AppKeyboardShortcuts",0,function(){let a=(0,c.usePathname)(),[j,k]=(0,d.useState)(!1),l="/"===a,m=(0,d.useSyncExternalStore)(h.tracker_shortcut_map_preference.subscribe,h.tracker_shortcut_map_preference.get_snapshot,h.tracker_shortcut_map_preference.get_server_snapshot),n=(0,d.useMemo)(()=>(0,g.parse_tracker_shortcut_map)(m),[m]),o=n.help,p="?"===o?["shift"]:[],q=(0,d.useMemo)(()=>l?[]:[{id:"help",label:"?"===o?"?":o.toUpperCase(),description:"Show keyboard shortcuts",key:o,modifiers:p,action:()=>{k(a=>!a)}}],[o,p,l]);return((0,i.use_document_keyboard_shortcuts)(q),!j||l)?null:(0,b.jsx)(e.KeyboardShortcutsDialog,{sections:(0,f.get_tracker_keyboard_shortcut_sections)(n),on_close:()=>k(!1)})}])},24480,a=>{"use strict";var b=a.i(39752),c=a.i(82508),d=a.i(34542),e=a.i(9301),f=a.i(19519),g=a.i(64169),h=a.i(17465);async function i(){await (0,h.with_ui_preferences_merge_guard)(async()=>{let a=(0,g.collect_ui_preferences_from_window)(),b=await fetch("/api/ui-preferences/merge-on-load",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({preferences:a})});if(!b.ok)throw Error((await b.json()).error??"UI preferences merge on load failed");let c=await b.json();(0,f.apply_ui_preferences_from_record)(c.preferences??{})})}var j=a.i(80097),k=a.i(51652),l=a.i(63577),m=a.i(74365),n=a.i(87281);function o(){return(0,n.is_greedy_cloud_sync_enabled)()}a.s(["CloudSyncProvider",0,function({children:a}){let f=(0,c.useRouter)(),g=(0,c.usePathname)(),h=(0,d.useRef)(null),n=(0,d.useRef)(!0);return(0,d.useEffect)(()=>{if(!(0,l.is_supabase_configured)()||!(0,k.is_cloud_sync_enabled)())return;let a=(0,e.create_browser_supabase_client)(),b=a=>{!o()&&(0,j.has_tracker_db_merged_this_browser_session)()?i().catch(()=>{}):(0,m.run_tracker_db_cloud_sync)({merge_on_load:!0,on_complete:a?()=>{f.refresh()}:void 0}).catch(()=>{})};a.auth.getSession().then(({data:{session:a}})=>{null!==a&&b(!1)});let{data:{subscription:c}}=a.auth.onAuthStateChange(a=>{if("SIGNED_IN"===a){(0,j.clear_tracker_db_merged_this_browser_session)(),h.current=null,n.current=!0,b(!0);return}"SIGNED_OUT"===a&&((0,j.clear_tracker_db_merged_this_browser_session)(),h.current=null,n.current=!0,f.refresh())});return()=>{c.unsubscribe()}},[f]),(0,d.useEffect)(()=>{if((0,l.is_supabase_configured)()&&(0,k.is_cloud_sync_enabled)()&&o()){if(n.current){n.current=!1,h.current=g;return}h.current!==g&&(h.current=g,(0,m.run_tracker_db_cloud_sync)({merge_on_load:!0}).catch(()=>{}))}},[g]),(0,b.jsx)(b.Fragment,{children:a})}],24480)},48889,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(14676);function e(){let[a,e]=(0,c.useState)(null);if((0,c.useEffect)(()=>{let a=null,b=(0,d.subscribe_cloud_db_sync)(b=>{e(b),null!==a&&(clearTimeout(a),a=null),(b?.phase==="success"||b?.phase==="error")&&(a=setTimeout(()=>{e(null),a=null},2800))});return()=>{b(),null!==a&&clearTimeout(a)}},[]),null===a)return null;let f="syncing"===a.phase,g="error"===a.phase,h="success"===a.phase?100:"error"===a.phase?0:null;return(0,b.jsxs)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"w-full rounded-md border border-accent-border bg-panel px-4 py-3 text-[0.88rem] font-medium text-foreground shadow-md",children:[(0,b.jsx)("p",{className:"m-0 mb-2.5 leading-snug",children:a.message}),(0,b.jsx)("div",{className:"h-1 overflow-hidden rounded-full bg-[color-mix(in_srgb,var(--accent)_22%,var(--panel-border))]","aria-hidden":"true",children:f?(0,b.jsx)("div",{className:"cloud-db-sync-progress-indeterminate h-full w-1/3 rounded-full bg-accent"}):(0,b.jsx)("div",{className:`h-full rounded-full transition-[width] duration-300 ease-out ${g?"bg-danger":"bg-accent"}`,style:{width:`${h??0}%`}})})]})}var f=a.i(97917);function g(){let[a,d]=(0,c.useState)(null);return((0,c.useEffect)(()=>{let a=null,b=(0,f.subscribe_in_app_notifications)(b=>{d(b),null!==a&&clearTimeout(a),a=setTimeout(()=>{d(null),a=null},3200)});return()=>{b(),null!==a&&clearTimeout(a)}},[]),null===a)?null:(0,b.jsxs)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"w-full rounded-md border border-accent-border bg-panel px-4 py-2.5 text-foreground shadow-md",children:[(0,b.jsx)("p",{className:"m-0 text-[0.84rem] font-semibold",children:a.title}),(0,b.jsx)("p",{className:"m-0 mt-0.5 text-[0.8rem] leading-snug text-muted",children:a.body})]})}var h=a.i(7048);function i(){let[a,d]=(0,c.useState)(null);return((0,c.useEffect)(()=>{let a=null,b=(0,h.subscribe_settings_saved)(b=>{d(b),null!==a&&clearTimeout(a),a=setTimeout(()=>{d(null),a=null},2800)});return()=>{b(),null!==a&&clearTimeout(a)}},[]),null===a)?null:(0,b.jsx)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"w-full rounded-md border border-accent-border bg-panel px-4 py-2.5 text-[0.88rem] font-medium text-foreground shadow-md transition-[opacity,transform] duration-200",children:a||h.SETTINGS_SAVED_DEFAULT_MESSAGE})}a.s(["ToastNotifications",0,function(){return(0,b.jsxs)("div",{className:"pointer-events-none fixed z-50 flex w-[min(22rem,calc(100vw-2rem))] flex-col items-end gap-2 right-[max(1rem,env(safe-area-inset-right,0px))] bottom-[max(1rem,env(safe-area-inset-bottom,0px))]",children:[(0,b.jsx)(g,{}),(0,b.jsx)(e,{}),(0,b.jsx)(i,{})]})}],48889)},70648,a=>{"use strict";var b=a.i(34542),c=a.i(37183);a.s(["DocumentPreferencesInit",0,function(){return(0,b.useLayoutEffect)(()=>{(0,c.apply_ui_preferences_dom_from_window)()},[]),null}])},34174,a=>{"use strict";var b=a.i(34542),c=a.i(72327),d=a.i(40395),e=a.i(76121),f=a.i(22496),g=a.i(43329);a.s(["NotificationRulesRunner",0,function(){let a=(0,b.useSyncExternalStore)(c.focus_nudges_enabled_preference.subscribe,c.focus_nudges_enabled_preference.get_snapshot,c.focus_nudges_enabled_preference.get_server_snapshot),h=(0,b.useSyncExternalStore)(d.no_log_reminder_minutes_preference.subscribe,d.no_log_reminder_minutes_preference.get_snapshot,d.no_log_reminder_minutes_preference.get_server_snapshot),i=(0,b.useSyncExternalStore)(e.overwork_alert_hours_preference.subscribe,e.overwork_alert_hours_preference.get_snapshot,e.overwork_alert_hours_preference.get_server_snapshot),j=(0,b.useSyncExternalStore)(g.work_hours_start_preference.subscribe,g.work_hours_start_preference.get_snapshot,g.work_hours_start_preference.get_server_snapshot),k=(0,b.useSyncExternalStore)(f.work_hours_end_preference.subscribe,f.work_hours_end_preference.get_snapshot,f.work_hours_end_preference.get_server_snapshot);return(0,b.useRef)(0),(0,b.useRef)(null),(0,b.useEffect)(()=>{},[a]),(0,b.useEffect)(()=>{},[a,h,i,k,j]),null}])},19494,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(89969);let e="super-time-tracker-pwa-install-notice-dismissed";a.s(["PwaInstallNotice",0,function(){let[a,f]=(0,c.useState)(null),[g,h]=(0,c.useState)(!0),[i,j]=(0,c.useState)(!1);return((0,c.useEffect)(()=>{},[]),g)?null:(0,b.jsxs)("aside",{className:"fixed right-4 bottom-4 z-50 w-[min(22rem,calc(100vw-2rem))] rounded-md border border-accent-border bg-panel p-3.5 shadow-md",children:[(0,b.jsx)("p",{className:"m-0 text-[0.9rem] font-semibold",children:"Install app"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.82rem] leading-snug text-muted",children:null!==a?"Install Super Time Tracker for offline use and a faster startup.":"Install from your browser menu to enable app-style launch and offline support."}),(0,b.jsxs)("div",{className:"mt-3 flex gap-2",children:[null!==a?(0,b.jsx)("button",{type:"button",className:(0,d.get_button_class_name)("primary","small"),disabled:i,onClick:()=>{j(!0),a.prompt().then(async()=>{"accepted"===(await a.userChoice).outcome&&(window.localStorage.setItem(e,"true"),h(!0))}).finally(()=>{j(!1),f(null)})},children:i?"Opening…":"Install"}):null,(0,b.jsx)("button",{type:"button",className:(0,d.get_button_class_name)("ghost","small"),onClick:()=>{window.localStorage.setItem(e,"true"),h(!0)},children:"Dismiss"})]})]})}])},82429,a=>{"use strict";var b=a.i(34542);a.s(["PwaRegister",0,function(){return(0,b.useEffect)(()=>{},[]),null}])},97658,a=>{"use strict";var b=a.i(34542);a.i(29698),a.s(["ThemeModeSystemListener",0,function(){return(0,b.useEffect)(()=>{},[]),null}])},16081,a=>{"use strict";var b=a.i(34542),c=a.i(37183),d=a.i(17310);a.s(["UiPreferencesDocumentSync",0,function(){return(0,b.useEffect)(()=>{let a=()=>{(0,c.apply_ui_preferences_dom_from_window)()};return window.addEventListener(d.UI_PREFERENCES_APPLIED_EVENT,a),()=>{window.removeEventListener(d.UI_PREFERENCES_APPLIED_EVENT,a)}},[]),null}])}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__0k~hq1g._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},54508,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},26758,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},38872,a=>{"use strict";let b={src:a.i(26758).default,width:256,height:256};a.s(["default",0,b])},15413,a=>{"use strict";a.s(["QuickActionsSettingsView",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call QuickActionsSettingsView() from the server but QuickActionsSettingsView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/quick-actions-settings-view.tsx <module evaluation>","QuickActionsSettingsView")},34767,a=>{"use strict";a.s(["QuickActionsSettingsView",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call QuickActionsSettingsView() from the server but QuickActionsSettingsView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/quick-actions-settings-view.tsx","QuickActionsSettingsView")},84285,a=>{"use strict";a.i(15413);var b=a.i(34767);a.n(b)},81161,a=>{"use strict";var b=a.i(46193),c=a.i(84285);a.s(["default",0,function(){return(0,b.jsx)(c.QuickActionsSettingsView,{})}])},47266,a=>{a.n(a.i(81161))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0oqgod_._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},57077,a=>{"use strict";var b=a.i(7048);a.s(["persist_ui_preference",0,function(a,c){a.read()!==c&&(a.write(c),a.notify(),(0,b.notify_settings_saved)())}])},39744,62082,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DAILY_FOCUS_TARGET_MINUTES_STORAGE_KEY,default_value:c.DAILY_FOCUS_TARGET_MINUTES_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=30&&b<=720}});a.s(["daily_focus_target_minutes_preference",0,d],39744);let e=(0,b.create_ui_preference_store)({storage_key:c.WEEKLY_FOCUS_TARGET_MINUTES_STORAGE_KEY,default_value:c.WEEKLY_FOCUS_TARGET_MINUTES_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=60&&b<=4200}});a.s(["weekly_focus_target_minutes_preference",0,e],62082)},50762,13870,16777,18558,80805,9818,a=>{"use strict";a.s(["parse_focus_goals_by_name",0,function(a){if(0===a.length)return{};try{let b=JSON.parse(a);if(null===b||"object"!=typeof b||Array.isArray(b))return{};let c={};for(let[a,d]of Object.entries(b)){if(null===d||"object"!=typeof d)continue;let b={};"string"==typeof d.daily&&d.daily.length>0&&(b.daily=d.daily),"string"==typeof d.weekly&&d.weekly.length>0&&(b.weekly=d.weekly),(void 0!==b.daily||void 0!==b.weekly)&&(c[a]=b)}return c}catch{return{}}}],50762);var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOAL_SCOPE_STORAGE_KEY,default_value:c.FOCUS_GOAL_SCOPE_DEFAULT,is_valid:a=>"global"===a||"sheet"===a||"tag"===a});a.s(["focus_goal_scope_preference",0,d],13870);let e=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOAL_SHEET_NAME_STORAGE_KEY,default_value:c.FOCUS_GOAL_SHEET_NAME_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["focus_goal_sheet_name_preference",0,e],16777);let f=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOAL_TAG_NAME_STORAGE_KEY,default_value:c.FOCUS_GOAL_TAG_NAME_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["focus_goal_tag_name_preference",0,f],18558);let g=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOALS_PER_SHEET_STORAGE_KEY,default_value:c.FOCUS_GOALS_PER_SHEET_DEFAULT,is_valid:a=>{if(0===a.length)return!1;try{let b=JSON.parse(a);return null!==b&&"object"==typeof b&&!Array.isArray(b)}catch{return!1}}});a.s(["focus_goals_per_sheet_preference",0,g],80805);let h=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOALS_PER_TAG_STORAGE_KEY,default_value:c.FOCUS_GOALS_PER_TAG_DEFAULT,is_valid:a=>{if(0===a.length)return!1;try{let b=JSON.parse(a);return null!==b&&"object"==typeof b&&!Array.isArray(b)}catch{return!1}}});a.s(["focus_goals_per_tag_preference",0,h],9818)},38296,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(50762);function e(a,b,c,e){if(0===b.length)return a;let f=(0,d.parse_focus_goals_by_name)(a),g=f[b]??{};if(0===e.length){let a={...g};delete a[c],void 0===a.daily&&void 0===a.weekly?delete f[b]:f[b]=a}else f[b]={...g,[c]:e};return JSON.stringify(f)}var f=a.i(39744),g=a.i(13870),h=a.i(16777),i=a.i(18558),j=a.i(80805),k=a.i(9818),l=a.i(72327),m=a.i(40395),n=a.i(76121),o=a.i(22496),p=a.i(43329),q=a.i(62082),r=a.i(57077);let s=[120,180,240,300,360,420,480],t=[600,900,1200,1500,1800,2100,2400],u=[15,30,45,60,90,120],v=[6,8,10,12,14],w=[{value:"global",label:"Global"},{value:"sheet",label:"Per-sheet"},{value:"tag",label:"Per-tag"}];function x({disabled:a,daily_target_minutes:c,weekly_target_minutes:d}){return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Global targets"}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 md:grid-cols-2",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Daily target"}),(0,b.jsx)("select",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:c,disabled:a,onChange:a=>(0,r.persist_ui_preference)(f.daily_focus_target_minutes_preference,a.target.value),children:s.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Weekly target"}),(0,b.jsx)("select",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:d,disabled:a,onChange:a=>(0,r.persist_ui_preference)(q.weekly_focus_target_minutes_preference,a.target.value),children:t.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))})]})]})]})}function y({kind:a,names:c,disabled:d,active_name:f,map:g,json:l}){let m="sheet"===a?"Per-sheet targets":"Per-tag targets";if(0===c.length)return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:m}),(0,b.jsx)("p",{className:"m-0 text-[0.85rem] text-muted",children:"sheet"===a?"Create a sheet to configure per-sheet goals.":"Add a tag to a time entry to configure per-tag goals."})]});let n=`focus-goal-active-${a}`;return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:m}),(0,b.jsxs)("span",{className:"text-[0.75rem] text-muted",children:["Pick the ",a," shown in the focus banner."]})]}),(0,b.jsx)("ul",{className:"m-0 flex list-none flex-col gap-1.5 p-0",children:c.map(c=>{let m=g[c]??{},o=m.daily??"",p=m.weekly??"",q=f===c;return(0,b.jsxs)("li",{className:`grid items-center gap-2 rounded-md border bg-panel px-3 py-2.5 transition-colors md:grid-cols-[auto_minmax(0,1fr)_minmax(0,11rem)_minmax(0,11rem)] grid-cols-[auto_minmax(0,1fr)] ${q?"border-accent-border bg-accent-soft":"border-panel-border"}`,children:[(0,b.jsx)("label",{className:"flex shrink-0 cursor-pointer items-center justify-center",children:(0,b.jsx)("input",{type:"radio",name:n,className:"cursor-pointer",checked:q,disabled:d,"aria-label":`Show ${c} in focus banner`,onChange:()=>(0,r.persist_ui_preference)("sheet"===a?h.focus_goal_sheet_name_preference:i.focus_goal_tag_name_preference,c)})}),(0,b.jsx)("span",{className:"truncate text-[0.9rem] font-medium",title:c,children:"tag"!==a||c.startsWith("@")?c:`@${c}`}),(0,b.jsxs)("label",{className:"flex items-center gap-2 md:col-start-3",children:[(0,b.jsx)("span",{className:"text-[0.75rem] text-muted",children:"Daily"}),(0,b.jsxs)("select",{className:"flex-1 rounded-md border border-panel-border bg-panel px-2 py-1.5 text-[0.85rem]",value:o,disabled:d,onChange:b=>(0,r.persist_ui_preference)("sheet"===a?j.focus_goals_per_sheet_preference:k.focus_goals_per_tag_preference,e(l,c,"daily",b.target.value)),children:[(0,b.jsx)("option",{value:"",children:"Not set"}),s.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))]})]}),(0,b.jsxs)("label",{className:"flex items-center gap-2 md:col-start-4",children:[(0,b.jsx)("span",{className:"text-[0.75rem] text-muted",children:"Weekly"}),(0,b.jsxs)("select",{className:"flex-1 rounded-md border border-panel-border bg-panel px-2 py-1.5 text-[0.85rem]",value:p,disabled:d,onChange:b=>(0,r.persist_ui_preference)("sheet"===a?j.focus_goals_per_sheet_preference:k.focus_goals_per_tag_preference,e(l,c,"weekly",b.target.value)),children:[(0,b.jsx)("option",{value:"",children:"Not set"}),t.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))]})]})]},c)})})]})}a.s(["FocusGoalsNudgesSetting",0,function({sheet_names:a,tag_names:e}){let s=(0,c.useSyncExternalStore)(l.focus_nudges_enabled_preference.subscribe,l.focus_nudges_enabled_preference.get_snapshot,l.focus_nudges_enabled_preference.get_server_snapshot),t=(0,c.useSyncExternalStore)(f.daily_focus_target_minutes_preference.subscribe,f.daily_focus_target_minutes_preference.get_snapshot,f.daily_focus_target_minutes_preference.get_server_snapshot),z=(0,c.useSyncExternalStore)(q.weekly_focus_target_minutes_preference.subscribe,q.weekly_focus_target_minutes_preference.get_snapshot,q.weekly_focus_target_minutes_preference.get_server_snapshot),A=(0,c.useSyncExternalStore)(m.no_log_reminder_minutes_preference.subscribe,m.no_log_reminder_minutes_preference.get_snapshot,m.no_log_reminder_minutes_preference.get_server_snapshot),B=(0,c.useSyncExternalStore)(n.overwork_alert_hours_preference.subscribe,n.overwork_alert_hours_preference.get_snapshot,n.overwork_alert_hours_preference.get_server_snapshot),C=(0,c.useSyncExternalStore)(p.work_hours_start_preference.subscribe,p.work_hours_start_preference.get_snapshot,p.work_hours_start_preference.get_server_snapshot),D=(0,c.useSyncExternalStore)(o.work_hours_end_preference.subscribe,o.work_hours_end_preference.get_snapshot,o.work_hours_end_preference.get_server_snapshot),E=(0,c.useSyncExternalStore)(g.focus_goal_scope_preference.subscribe,g.focus_goal_scope_preference.get_snapshot,g.focus_goal_scope_preference.get_server_snapshot),F=(0,c.useSyncExternalStore)(h.focus_goal_sheet_name_preference.subscribe,h.focus_goal_sheet_name_preference.get_snapshot,h.focus_goal_sheet_name_preference.get_server_snapshot),G=(0,c.useSyncExternalStore)(i.focus_goal_tag_name_preference.subscribe,i.focus_goal_tag_name_preference.get_snapshot,i.focus_goal_tag_name_preference.get_server_snapshot),H=(0,c.useSyncExternalStore)(j.focus_goals_per_sheet_preference.subscribe,j.focus_goals_per_sheet_preference.get_snapshot,j.focus_goals_per_sheet_preference.get_server_snapshot),I=(0,c.useSyncExternalStore)(k.focus_goals_per_tag_preference.subscribe,k.focus_goals_per_tag_preference.get_snapshot,k.focus_goals_per_tag_preference.get_server_snapshot),J=(0,d.parse_focus_goals_by_name)(H),K=(0,d.parse_focus_goals_by_name)(I);(0,c.useEffect)(()=>{"sheet"===E&&0===F.length&&a.length>0&&(0,r.persist_ui_preference)(h.focus_goal_sheet_name_preference,a[0])},[E,F,a]),(0,c.useEffect)(()=>{"tag"===E&&0===G.length&&e.length>0&&(0,r.persist_ui_preference)(i.focus_goal_tag_name_preference,e[0])},[E,G,e]);let L="true"!==s;return(0,b.jsxs)("div",{id:"focus-goals-nudges",className:"flex w-full flex-col gap-4",children:[(0,b.jsxs)("label",{className:"flex w-full cursor-pointer items-center gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:"true"===s,onChange:a=>(0,r.persist_ui_preference)(l.focus_nudges_enabled_preference,a.target.checked?"true":"false")}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Goals + nudges"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"Track daily/weekly focus goals, overwork alerts, and no-log reminders."})]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Focus goal scope"}),(0,b.jsx)("div",{role:"radiogroup","aria-label":"Focus goal scope",className:"inline-flex w-full flex-wrap gap-1 rounded-md border border-panel-border bg-panel p-0.5",children:w.map(a=>{let c=E===a.value;return(0,b.jsx)("button",{type:"button",role:"radio","aria-checked":c,disabled:L,className:`flex-1 min-w-24 cursor-pointer rounded px-3 py-1.5 text-[0.85rem] font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-55 ${c?"bg-accent-soft text-foreground":"bg-transparent text-muted hover:bg-surface-hover hover:text-foreground"}`,onClick:()=>(0,r.persist_ui_preference)(g.focus_goal_scope_preference,a.value),children:a.label},a.value)})})]}),"global"===E?(0,b.jsx)(x,{disabled:L,daily_target_minutes:t,weekly_target_minutes:z}):null,"sheet"===E?(0,b.jsx)(y,{kind:"sheet",names:a,disabled:L,active_name:F,map:J,json:H}):null,"tag"===E?(0,b.jsx)(y,{kind:"tag",names:e,disabled:L,active_name:G,map:K,json:I}):null,(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Behavior nudges"}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 md:grid-cols-2",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Work hours start"}),(0,b.jsx)("input",{type:"time",className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:C,disabled:L,onChange:a=>(0,r.persist_ui_preference)(p.work_hours_start_preference,a.target.value)})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Work hours end"}),(0,b.jsx)("input",{type:"time",className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:D,disabled:L,onChange:a=>(0,r.persist_ui_preference)(o.work_hours_end_preference,a.target.value)})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 md:grid-cols-2",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"No-log reminder"}),(0,b.jsx)("select",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:A,disabled:L,onChange:a=>(0,r.persist_ui_preference)(m.no_log_reminder_minutes_preference,a.target.value),children:u.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Overwork alert"}),(0,b.jsx)("select",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:B,disabled:L,onChange:a=>(0,r.persist_ui_preference)(n.overwork_alert_hours_preference,a.target.value),children:v.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," hours"]},a))})]})]}),(0,b.jsx)("p",{className:"m-0 text-[0.78rem] leading-snug text-muted",children:"Rule reminders: notify when no active timer during work hours, and alert when an active timer runs longer than the overwork threshold."})]})]})}],38296)}];
1
+ module.exports=[85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/quick-actions",label:"Quick actions",match:a=>a.startsWith("/settings/quick-actions")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},57077,a=>{"use strict";var b=a.i(7048);a.s(["persist_ui_preference",0,function(a,c){a.read()!==c&&(a.write(c),a.notify(),(0,b.notify_settings_saved)())}])},39744,62082,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DAILY_FOCUS_TARGET_MINUTES_STORAGE_KEY,default_value:c.DAILY_FOCUS_TARGET_MINUTES_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=30&&b<=720}});a.s(["daily_focus_target_minutes_preference",0,d],39744);let e=(0,b.create_ui_preference_store)({storage_key:c.WEEKLY_FOCUS_TARGET_MINUTES_STORAGE_KEY,default_value:c.WEEKLY_FOCUS_TARGET_MINUTES_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=60&&b<=4200}});a.s(["weekly_focus_target_minutes_preference",0,e],62082)},50762,13870,16777,18558,80805,9818,a=>{"use strict";a.s(["parse_focus_goals_by_name",0,function(a){if(0===a.length)return{};try{let b=JSON.parse(a);if(null===b||"object"!=typeof b||Array.isArray(b))return{};let c={};for(let[a,d]of Object.entries(b)){if(null===d||"object"!=typeof d)continue;let b={};"string"==typeof d.daily&&d.daily.length>0&&(b.daily=d.daily),"string"==typeof d.weekly&&d.weekly.length>0&&(b.weekly=d.weekly),(void 0!==b.daily||void 0!==b.weekly)&&(c[a]=b)}return c}catch{return{}}}],50762);var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOAL_SCOPE_STORAGE_KEY,default_value:c.FOCUS_GOAL_SCOPE_DEFAULT,is_valid:a=>"global"===a||"sheet"===a||"tag"===a});a.s(["focus_goal_scope_preference",0,d],13870);let e=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOAL_SHEET_NAME_STORAGE_KEY,default_value:c.FOCUS_GOAL_SHEET_NAME_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["focus_goal_sheet_name_preference",0,e],16777);let f=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOAL_TAG_NAME_STORAGE_KEY,default_value:c.FOCUS_GOAL_TAG_NAME_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["focus_goal_tag_name_preference",0,f],18558);let g=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOALS_PER_SHEET_STORAGE_KEY,default_value:c.FOCUS_GOALS_PER_SHEET_DEFAULT,is_valid:a=>{if(0===a.length)return!1;try{let b=JSON.parse(a);return null!==b&&"object"==typeof b&&!Array.isArray(b)}catch{return!1}}});a.s(["focus_goals_per_sheet_preference",0,g],80805);let h=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOALS_PER_TAG_STORAGE_KEY,default_value:c.FOCUS_GOALS_PER_TAG_DEFAULT,is_valid:a=>{if(0===a.length)return!1;try{let b=JSON.parse(a);return null!==b&&"object"==typeof b&&!Array.isArray(b)}catch{return!1}}});a.s(["focus_goals_per_tag_preference",0,h],9818)},38296,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(50762);function e(a,b,c,e){if(0===b.length)return a;let f=(0,d.parse_focus_goals_by_name)(a),g=f[b]??{};if(0===e.length){let a={...g};delete a[c],void 0===a.daily&&void 0===a.weekly?delete f[b]:f[b]=a}else f[b]={...g,[c]:e};return JSON.stringify(f)}var f=a.i(39744),g=a.i(13870),h=a.i(16777),i=a.i(18558),j=a.i(80805),k=a.i(9818),l=a.i(72327),m=a.i(40395),n=a.i(76121),o=a.i(22496),p=a.i(43329),q=a.i(62082),r=a.i(57077);let s=[120,180,240,300,360,420,480],t=[600,900,1200,1500,1800,2100,2400],u=[15,30,45,60,90,120],v=[6,8,10,12,14],w=[{value:"global",label:"Global"},{value:"sheet",label:"Per-sheet"},{value:"tag",label:"Per-tag"}];function x({disabled:a,daily_target_minutes:c,weekly_target_minutes:d}){return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Global targets"}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 md:grid-cols-2",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Daily target"}),(0,b.jsx)("select",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:c,disabled:a,onChange:a=>(0,r.persist_ui_preference)(f.daily_focus_target_minutes_preference,a.target.value),children:s.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Weekly target"}),(0,b.jsx)("select",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:d,disabled:a,onChange:a=>(0,r.persist_ui_preference)(q.weekly_focus_target_minutes_preference,a.target.value),children:t.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))})]})]})]})}function y({kind:a,names:c,disabled:d,active_name:f,map:g,json:l}){let m="sheet"===a?"Per-sheet targets":"Per-tag targets";if(0===c.length)return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:m}),(0,b.jsx)("p",{className:"m-0 text-[0.85rem] text-muted",children:"sheet"===a?"Create a sheet to configure per-sheet goals.":"Add a tag to a time entry to configure per-tag goals."})]});let n=`focus-goal-active-${a}`;return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:m}),(0,b.jsxs)("span",{className:"text-[0.75rem] text-muted",children:["Pick the ",a," shown in the focus banner."]})]}),(0,b.jsx)("ul",{className:"m-0 flex list-none flex-col gap-1.5 p-0",children:c.map(c=>{let m=g[c]??{},o=m.daily??"",p=m.weekly??"",q=f===c;return(0,b.jsxs)("li",{className:`grid items-center gap-2 rounded-md border bg-panel px-3 py-2.5 transition-colors md:grid-cols-[auto_minmax(0,1fr)_minmax(0,11rem)_minmax(0,11rem)] grid-cols-[auto_minmax(0,1fr)] ${q?"border-accent-border bg-accent-soft":"border-panel-border"}`,children:[(0,b.jsx)("label",{className:"flex shrink-0 cursor-pointer items-center justify-center",children:(0,b.jsx)("input",{type:"radio",name:n,className:"cursor-pointer",checked:q,disabled:d,"aria-label":`Show ${c} in focus banner`,onChange:()=>(0,r.persist_ui_preference)("sheet"===a?h.focus_goal_sheet_name_preference:i.focus_goal_tag_name_preference,c)})}),(0,b.jsx)("span",{className:"truncate text-[0.9rem] font-medium",title:c,children:"tag"!==a||c.startsWith("@")?c:`@${c}`}),(0,b.jsxs)("label",{className:"flex items-center gap-2 md:col-start-3",children:[(0,b.jsx)("span",{className:"text-[0.75rem] text-muted",children:"Daily"}),(0,b.jsxs)("select",{className:"flex-1 rounded-md border border-panel-border bg-panel px-2 py-1.5 text-[0.85rem]",value:o,disabled:d,onChange:b=>(0,r.persist_ui_preference)("sheet"===a?j.focus_goals_per_sheet_preference:k.focus_goals_per_tag_preference,e(l,c,"daily",b.target.value)),children:[(0,b.jsx)("option",{value:"",children:"Not set"}),s.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))]})]}),(0,b.jsxs)("label",{className:"flex items-center gap-2 md:col-start-4",children:[(0,b.jsx)("span",{className:"text-[0.75rem] text-muted",children:"Weekly"}),(0,b.jsxs)("select",{className:"flex-1 rounded-md border border-panel-border bg-panel px-2 py-1.5 text-[0.85rem]",value:p,disabled:d,onChange:b=>(0,r.persist_ui_preference)("sheet"===a?j.focus_goals_per_sheet_preference:k.focus_goals_per_tag_preference,e(l,c,"weekly",b.target.value)),children:[(0,b.jsx)("option",{value:"",children:"Not set"}),t.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))]})]})]},c)})})]})}a.s(["FocusGoalsNudgesSetting",0,function({sheet_names:a,tag_names:e}){let s=(0,c.useSyncExternalStore)(l.focus_nudges_enabled_preference.subscribe,l.focus_nudges_enabled_preference.get_snapshot,l.focus_nudges_enabled_preference.get_server_snapshot),t=(0,c.useSyncExternalStore)(f.daily_focus_target_minutes_preference.subscribe,f.daily_focus_target_minutes_preference.get_snapshot,f.daily_focus_target_minutes_preference.get_server_snapshot),z=(0,c.useSyncExternalStore)(q.weekly_focus_target_minutes_preference.subscribe,q.weekly_focus_target_minutes_preference.get_snapshot,q.weekly_focus_target_minutes_preference.get_server_snapshot),A=(0,c.useSyncExternalStore)(m.no_log_reminder_minutes_preference.subscribe,m.no_log_reminder_minutes_preference.get_snapshot,m.no_log_reminder_minutes_preference.get_server_snapshot),B=(0,c.useSyncExternalStore)(n.overwork_alert_hours_preference.subscribe,n.overwork_alert_hours_preference.get_snapshot,n.overwork_alert_hours_preference.get_server_snapshot),C=(0,c.useSyncExternalStore)(p.work_hours_start_preference.subscribe,p.work_hours_start_preference.get_snapshot,p.work_hours_start_preference.get_server_snapshot),D=(0,c.useSyncExternalStore)(o.work_hours_end_preference.subscribe,o.work_hours_end_preference.get_snapshot,o.work_hours_end_preference.get_server_snapshot),E=(0,c.useSyncExternalStore)(g.focus_goal_scope_preference.subscribe,g.focus_goal_scope_preference.get_snapshot,g.focus_goal_scope_preference.get_server_snapshot),F=(0,c.useSyncExternalStore)(h.focus_goal_sheet_name_preference.subscribe,h.focus_goal_sheet_name_preference.get_snapshot,h.focus_goal_sheet_name_preference.get_server_snapshot),G=(0,c.useSyncExternalStore)(i.focus_goal_tag_name_preference.subscribe,i.focus_goal_tag_name_preference.get_snapshot,i.focus_goal_tag_name_preference.get_server_snapshot),H=(0,c.useSyncExternalStore)(j.focus_goals_per_sheet_preference.subscribe,j.focus_goals_per_sheet_preference.get_snapshot,j.focus_goals_per_sheet_preference.get_server_snapshot),I=(0,c.useSyncExternalStore)(k.focus_goals_per_tag_preference.subscribe,k.focus_goals_per_tag_preference.get_snapshot,k.focus_goals_per_tag_preference.get_server_snapshot),J=(0,d.parse_focus_goals_by_name)(H),K=(0,d.parse_focus_goals_by_name)(I);(0,c.useEffect)(()=>{"sheet"===E&&0===F.length&&a.length>0&&(0,r.persist_ui_preference)(h.focus_goal_sheet_name_preference,a[0])},[E,F,a]),(0,c.useEffect)(()=>{"tag"===E&&0===G.length&&e.length>0&&(0,r.persist_ui_preference)(i.focus_goal_tag_name_preference,e[0])},[E,G,e]);let L="true"!==s;return(0,b.jsxs)("div",{id:"focus-goals-nudges",className:"flex w-full flex-col gap-4",children:[(0,b.jsxs)("label",{className:"flex w-full cursor-pointer items-center gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:"true"===s,onChange:a=>(0,r.persist_ui_preference)(l.focus_nudges_enabled_preference,a.target.checked?"true":"false")}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Goals + nudges"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"Track daily/weekly focus goals, overwork alerts, and no-log reminders."})]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Focus goal scope"}),(0,b.jsx)("div",{role:"radiogroup","aria-label":"Focus goal scope",className:"inline-flex w-full flex-wrap gap-1 rounded-md border border-panel-border bg-panel p-0.5",children:w.map(a=>{let c=E===a.value;return(0,b.jsx)("button",{type:"button",role:"radio","aria-checked":c,disabled:L,className:`flex-1 min-w-24 cursor-pointer rounded px-3 py-1.5 text-[0.85rem] font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-55 ${c?"bg-accent-soft text-foreground":"bg-transparent text-muted hover:bg-surface-hover hover:text-foreground"}`,onClick:()=>(0,r.persist_ui_preference)(g.focus_goal_scope_preference,a.value),children:a.label},a.value)})})]}),"global"===E?(0,b.jsx)(x,{disabled:L,daily_target_minutes:t,weekly_target_minutes:z}):null,"sheet"===E?(0,b.jsx)(y,{kind:"sheet",names:a,disabled:L,active_name:F,map:J,json:H}):null,"tag"===E?(0,b.jsx)(y,{kind:"tag",names:e,disabled:L,active_name:G,map:K,json:I}):null,(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Behavior nudges"}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 md:grid-cols-2",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Work hours start"}),(0,b.jsx)("input",{type:"time",className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:C,disabled:L,onChange:a=>(0,r.persist_ui_preference)(p.work_hours_start_preference,a.target.value)})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Work hours end"}),(0,b.jsx)("input",{type:"time",className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:D,disabled:L,onChange:a=>(0,r.persist_ui_preference)(o.work_hours_end_preference,a.target.value)})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 md:grid-cols-2",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"No-log reminder"}),(0,b.jsx)("select",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:A,disabled:L,onChange:a=>(0,r.persist_ui_preference)(m.no_log_reminder_minutes_preference,a.target.value),children:u.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Overwork alert"}),(0,b.jsx)("select",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:B,disabled:L,onChange:a=>(0,r.persist_ui_preference)(n.overwork_alert_hours_preference,a.target.value),children:v.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," hours"]},a))})]})]}),(0,b.jsx)("p",{className:"m-0 text-[0.78rem] leading-snug text-muted",children:"Rule reminders: notify when no active timer during work hours, and alert when an active timer runs longer than the overwork threshold."})]})]})}],38296)}];
2
2
 
3
3
  //# sourceMappingURL=_002dssm._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[69749,a=>{"use strict";a.s(["get_input_class_name",0,function(a="default"){let b="box-border max-w-full min-w-0 w-full rounded-[0.65rem] border border-panel-border bg-input-bg px-3 py-2.5 font-inherit text-inherit transition-[background-color,border-color] duration-200 focus:border-input-focus-border focus:outline-none";return"compact"===a?`${b} px-2.5 py-2`:b}])},85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/quick-actions",label:"Quick actions",match:a=>a.startsWith("/settings/quick-actions")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},85930,a=>{"use strict";var b=a.i(39752),c=a.i(85393),d=a.i(98790);a.s(["SettingsPageLayout",0,function({breadcrumb:a,title:e,description:f,children:g}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.TrackerTopbar,{breadcrumb:a}),(0,b.jsxs)("main",{className:"mx-auto grid w-full max-w-[1120px] grid-cols-[minmax(12rem,16rem)_minmax(0,1fr)] gap-4 px-4 pb-10 pt-5 sm:gap-6 sm:px-5 sm:pt-6 max-[860px]:grid-cols-1",children:[(0,b.jsxs)("aside",{className:"flex flex-col gap-2",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Settings"}),(0,b.jsx)(c.SettingsNav,{})]}),(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-4",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h1",{className:"m-0 text-[1.35rem] font-[650] tracking-tight",children:e}),void 0!==f?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:f}):null]}),g]})]})]})}])},64723,a=>{"use strict";var b=a.i(39752),c=a.i(34542);let d="inline-flex shrink-0 cursor-pointer items-center gap-1.5";a.s(["Checkbox",0,function({checked:a,disabled:e=!1,indeterminate:f=!1,nested:g=!1,on_change:h,label:i,aria_label:j,className:k}){let l=(0,c.useRef)(null);(0,c.useEffect)(()=>{null!==l.current&&(l.current.indeterminate=f)},[f]);let m=void 0===k?d:`${d} ${k}`,n=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("input",{ref:l,type:"checkbox",className:"peer absolute m-0 h-px w-px overflow-hidden opacity-0",checked:a,disabled:e,"aria-label":g&&void 0===i?j:void 0,onChange:h}),(0,b.jsx)("span",{className:'relative block h-[0.85rem] w-[0.85rem] shrink-0 rounded-[0.2rem] border border-panel-border bg-input-bg box-border transition-[background-color,border-color] duration-150 peer-checked:border-accent peer-checked:bg-accent peer-indeterminate:border-accent peer-indeterminate:bg-accent peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-input-focus-border peer-focus-visible:outline-offset-1 peer-disabled:cursor-not-allowed peer-disabled:opacity-55 after:absolute after:left-1/2 after:top-[44%] after:hidden after:h-[0.28rem] after:w-[0.45rem] after:-translate-x-1/2 after:-translate-y-[60%] after:rotate-[-45deg] after:border-b-[1.5px] after:border-l-[1.5px] after:border-accent-text-on after:content-[""] peer-checked:after:block peer-indeterminate:after:top-1/2 peer-indeterminate:after:block peer-indeterminate:after:h-[1.5px] peer-indeterminate:after:w-[0.45rem] peer-indeterminate:after:-translate-x-1/2 peer-indeterminate:after:-translate-y-1/2 peer-indeterminate:after:rotate-0 peer-indeterminate:after:border-0 peer-indeterminate:after:bg-accent-text-on',"aria-hidden":"true"})]});return g?(0,b.jsx)("span",{className:m,children:n}):(0,b.jsxs)("label",{className:m,children:[n,void 0!==i?(0,b.jsx)("span",{className:"select-none text-[0.8rem] leading-tight text-muted",children:i}):null]})}])},6e3,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(64723),e=a.i(85930),f=a.i(69749),g=a.i(7048),h=a.i(44404),i=a.i(11937),j=a.i(26749),k=a.i(54212),l=a.i(75049);let m={help:"Show keyboard shortcuts","check-in":"Check in","check-out":"Check out","edit-entry":"Edit active entry","add-note":"Add note",pomodoro:"Open Pomodoro","previous-sheet":"Previous sheet","next-sheet":"Next sheet"},n={today:"Today",sheets:"Sheets",reporting:"Reporting",pomodoro:"Pomodoro","manage-tags":"Tag management","sync-settings":"Sync settings"};a.s(["QuickActionsSettingsView",0,function(){let[a,o]=(0,c.useState)(!1),p=(0,c.useSyncExternalStore)(k.tracker_shortcut_map_preference.subscribe,k.tracker_shortcut_map_preference.get_snapshot,k.tracker_shortcut_map_preference.get_server_snapshot),q=(0,c.useSyncExternalStore)(j.topbar_quick_actions_preference.subscribe,j.topbar_quick_actions_preference.get_snapshot,j.topbar_quick_actions_preference.get_server_snapshot),r=(0,c.useMemo)(()=>(0,i.parse_tracker_shortcut_map)(p),[p]),s=(0,c.useMemo)(()=>(0,h.parse_topbar_quick_actions)(q),[q]),[t,u]=(0,c.useState)(r);(0,c.useEffect)(()=>{o(!0)},[]),(0,c.useEffect)(()=>{u(r)},[r]);let v=(0,c.useMemo)(()=>{let a=new Map;for(let b of l.tracker_shortcut_action_ids){let c=r[b];a.set(c,(a.get(c)??0)+1)}return new Set(Array.from(a.entries()).filter(([,a])=>a>1).map(([a])=>a))},[r]);return a?(0,b.jsx)(e.SettingsPageLayout,{breadcrumb:{current:"Quick actions",parent:{label:"Settings",href:"/settings"}},title:"Quick actions config",description:"Customize keyboard shortcuts and topbar shortcuts.",children:(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("section",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Keyboard shortcuts"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.8rem] leading-snug text-muted",children:"Choose one key per action. If a key is reused, only the first matching action will trigger."}),(0,b.jsx)("div",{className:"mt-3 grid grid-cols-1 gap-2 md:grid-cols-2",children:l.tracker_shortcut_action_ids.map(a=>{let c=r[a],d=t[a]??c,e=v.has(c),h=d!==c;return(0,b.jsxs)("div",{className:"grid min-h-20 content-center grid-cols-[minmax(0,1fr)_3.5rem] items-center gap-2 rounded-md border border-panel-border px-2.5 py-2",children:[(0,b.jsx)("span",{className:"text-[0.86rem]",children:m[a]}),(0,b.jsx)("input",{type:"text",className:`${(0,f.get_input_class_name)("compact")} h-8 w-14 justify-self-end px-2 text-center`,value:"?"===d?"?":d.toUpperCase(),readOnly:!0,onKeyDown:b=>((a,b)=>{if("Enter"===b.key){let c;b.preventDefault();let d=t[a];1===d.length&&(c={...r,[a]:d},k.tracker_shortcut_map_preference.write(JSON.stringify(c)),k.tracker_shortcut_map_preference.notify(),(0,g.notify_settings_saved)("Quick actions updated"));return}if("Escape"===b.key){b.preventDefault(),u(b=>({...b,[a]:r[a]}));return}if(1!==b.key.length)return;let c=b.key.toLowerCase();/^[a-z\[\]\?]$/.test(c)&&(b.preventDefault(),u(b=>({...b,[a]:c})))})(a,b),onFocus:a=>a.currentTarget.select(),"aria-label":`${m[a]} shortcut`}),(0,b.jsx)("span",{className:`col-span-2 text-[0.72rem] ${e?"text-danger":h?"text-muted":"text-transparent"}`,children:e?"Duplicate":h?"Press Enter to save":"Ready"})]},a)})})]}),(0,b.jsxs)("section",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Topbar shortcuts"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.8rem] leading-snug text-muted",children:"Show quick links in the topbar on larger screens."}),(0,b.jsx)("div",{className:"mt-3 flex flex-wrap gap-3",children:l.topbar_quick_action_ids.map(a=>(0,b.jsx)(d.Checkbox,{checked:s.includes(a),on_change:()=>{let b;return b=s.includes(a)?s.filter(b=>b!==a):[...s,a],void(j.topbar_quick_actions_preference.write(JSON.stringify(b)),j.topbar_quick_actions_preference.notify(),(0,g.notify_settings_saved)("Topbar shortcuts updated"))},label:n[a]},a))})]})]})}):(0,b.jsx)(e.SettingsPageLayout,{breadcrumb:{current:"Quick actions",parent:{label:"Settings",href:"/settings"}},title:"Quick actions config",description:"Customize keyboard shortcuts and topbar shortcuts.",children:(0,b.jsx)("p",{className:"m-0 text-[0.85rem] text-muted",children:"Loading quick action settings…"})})}])}];
2
+
3
+ //# sourceMappingURL=_00ic3j9._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},57077,a=>{"use strict";var b=a.i(7048);a.s(["persist_ui_preference",0,function(a,c){a.read()!==c&&(a.write(c),a.notify(),(0,b.notify_settings_saved)())}])},99301,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508),e=a.i(41615),f=a.i(89969),g=a.i(26846);a.s(["CloudAccountSetting",0,function(){let a=(0,d.usePathname)()??"/settings/cloud-sync",{email:h,is_configured:i,is_pending:j,sign_out:k}=(0,g.use_supabase_auth_session)();if(!i)return null;let l=(0,e.build_auth_page_href)("sign_in",a);return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Account"}),(0,b.jsx)("p",{className:"m-0 text-[0.8rem] leading-snug text-muted",children:"When signed in, tracker data and settings sync to your Supabase project instead of the local db.json file."})]}),null===h?(0,b.jsx)(c.default,{href:l,className:`${(0,f.get_button_class_name)("primary","small")} self-start no-underline`,children:"Sign in to enable cloud sync"}):(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("p",{className:"m-0 text-[0.85rem]",children:["Signed in as ",(0,b.jsx)("span",{className:"font-semibold",children:h})]}),(0,b.jsx)("button",{type:"button",className:`${(0,f.get_button_class_name)("ghost","small")} self-start`,disabled:j,onClick:()=>void k(),children:j?"Signing out…":"Sign out"})]})]})}])},23086,a=>{"use strict";var b=a.i(39752),c=a.i(82508),d=a.i(34542),e=a.i(53030),f=a.i(89969),g=a.i(74365),h=a.i(26846);a.s(["CloudSyncActions",0,function(){let a=(0,c.useRouter)(),{confirm:i}=(0,e.use_confirm_dialog)(),{email:j,is_configured:k}=(0,h.use_supabase_auth_session)(),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(!0),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)(null),[t,u]=(0,d.useState)(null),v=async()=>{try{let a=await fetch("/api/sync/status");if(!a.ok)throw Error("Failed to load sync status");let b=await a.json();m(b)}catch(a){u(a instanceof Error?a.message:String(a))}finally{o(!1)}};if((0,d.useEffect)(()=>{k?v():o(!1)},[k,j]),!k||null===j)return null;let w=async b=>{if(await i("push"===b?{title:"Push local to cloud?",message:"Merge your local db.json into the cloud database. Entries with the same id are combined; local data wins when they conflict.",confirmLabel:"Push to cloud",variant:"danger"}:{title:"Pull cloud to local?",message:"Merge the cloud database into your local db.json. Entries with the same id are combined; cloud data wins when they conflict.",confirmLabel:"Pull from cloud",variant:"danger"})){q(b),s(null),u(null);try{await (0,g.run_tracker_db_cloud_sync)({action:b,on_complete:()=>{a.refresh()}}),s("push"===b?"Cloud database merged with local file.":"Local db.json merged with cloud database."),await v()}catch(a){u(a instanceof Error?a.message:String(a))}finally{q(null)}}},x=l?.local_imported_at!==null&&l?.local_imported_at!==void 0?new Date(l.local_imported_at).toLocaleString():"never";return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Manual sync"}),(0,b.jsx)("p",{className:"m-0 text-[0.8rem] leading-snug text-muted",children:"Merge local db.json with your cloud database. Conflicting entries keep the most recent timer; push favors local, pull favors cloud."})]}),n?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-muted",children:"Loading sync status…"}):(0,b.jsxs)("dl",{className:"m-0 grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1 text-[0.82rem]",children:[(0,b.jsx)("dt",{className:"text-muted",children:"Cloud sheets"}),(0,b.jsx)("dd",{className:"m-0 font-mono",children:l?.cloud_sheet_count??0}),(0,b.jsx)("dt",{className:"text-muted",children:"Last local import"}),(0,b.jsx)("dd",{className:"m-0 font-mono",children:x})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)("button",{type:"button",className:(0,f.get_button_class_name)("ghost","small"),disabled:null!==p,onClick:()=>void w("push"),children:"push"===p?"Pushing…":"Push local → cloud"}),(0,b.jsx)("button",{type:"button",className:(0,f.get_button_class_name)("ghost","small"),disabled:null!==p,onClick:()=>void w("pull"),children:"pull"===p?"Pulling…":"Pull cloud → local"})]}),null!==r?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-accent",children:r}):null,null!==t?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-danger",children:t}):null]})}])},91553,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(49170),e=a.i(57077);a.s(["GreedyCloudSyncSetting",0,function(){let a=(0,c.useSyncExternalStore)(d.greedy_cloud_sync_preference.subscribe,d.greedy_cloud_sync_preference.get_snapshot,d.greedy_cloud_sync_preference.get_server_snapshot);return(0,b.jsxs)("label",{className:"flex w-full cursor-pointer items-center gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:"true"===a,onChange:a=>{var b;return b=a.target.checked,void(0,e.persist_ui_preference)(d.greedy_cloud_sync_preference,b?"true":"false")}}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Greedy cloud sync"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"When on, merge with the cloud when you move between pages and after each change. When off, merge once per session and push only when entries, notes, or sheets change—not when switching sheets."})]})]})}])}];
1
+ module.exports=[85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/quick-actions",label:"Quick actions",match:a=>a.startsWith("/settings/quick-actions")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},57077,a=>{"use strict";var b=a.i(7048);a.s(["persist_ui_preference",0,function(a,c){a.read()!==c&&(a.write(c),a.notify(),(0,b.notify_settings_saved)())}])},99301,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508),e=a.i(41615),f=a.i(89969),g=a.i(26846);a.s(["CloudAccountSetting",0,function(){let a=(0,d.usePathname)()??"/settings/cloud-sync",{email:h,is_configured:i,is_pending:j,sign_out:k}=(0,g.use_supabase_auth_session)();if(!i)return null;let l=(0,e.build_auth_page_href)("sign_in",a);return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Account"}),(0,b.jsx)("p",{className:"m-0 text-[0.8rem] leading-snug text-muted",children:"When signed in, tracker data and settings sync to your Supabase project instead of the local db.json file."})]}),null===h?(0,b.jsx)(c.default,{href:l,className:`${(0,f.get_button_class_name)("primary","small")} self-start no-underline`,children:"Sign in to enable cloud sync"}):(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("p",{className:"m-0 text-[0.85rem]",children:["Signed in as ",(0,b.jsx)("span",{className:"font-semibold",children:h})]}),(0,b.jsx)("button",{type:"button",className:`${(0,f.get_button_class_name)("ghost","small")} self-start`,disabled:j,onClick:()=>void k(),children:j?"Signing out…":"Sign out"})]})]})}])},23086,a=>{"use strict";var b=a.i(39752),c=a.i(82508),d=a.i(34542),e=a.i(53030),f=a.i(89969),g=a.i(74365),h=a.i(26846);a.s(["CloudSyncActions",0,function(){let a=(0,c.useRouter)(),{confirm:i}=(0,e.use_confirm_dialog)(),{email:j,is_configured:k}=(0,h.use_supabase_auth_session)(),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(!0),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)(null),[t,u]=(0,d.useState)(null),v=async()=>{try{let a=await fetch("/api/sync/status");if(!a.ok)throw Error("Failed to load sync status");let b=await a.json();m(b)}catch(a){u(a instanceof Error?a.message:String(a))}finally{o(!1)}};if((0,d.useEffect)(()=>{k?v():o(!1)},[k,j]),!k||null===j)return null;let w=async b=>{if(await i("push"===b?{title:"Push local to cloud?",message:"Merge your local db.json into the cloud database. Entries with the same id are combined; local data wins when they conflict.",confirmLabel:"Push to cloud",variant:"danger"}:{title:"Pull cloud to local?",message:"Merge the cloud database into your local db.json. Entries with the same id are combined; cloud data wins when they conflict.",confirmLabel:"Pull from cloud",variant:"danger"})){q(b),s(null),u(null);try{await (0,g.run_tracker_db_cloud_sync)({action:b,on_complete:()=>{a.refresh()}}),s("push"===b?"Cloud database merged with local file.":"Local db.json merged with cloud database."),await v()}catch(a){u(a instanceof Error?a.message:String(a))}finally{q(null)}}},x=l?.local_imported_at!==null&&l?.local_imported_at!==void 0?new Date(l.local_imported_at).toLocaleString():"never";return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Manual sync"}),(0,b.jsx)("p",{className:"m-0 text-[0.8rem] leading-snug text-muted",children:"Merge local db.json with your cloud database. Conflicting entries keep the most recent timer; push favors local, pull favors cloud."})]}),n?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-muted",children:"Loading sync status…"}):(0,b.jsxs)("dl",{className:"m-0 grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1 text-[0.82rem]",children:[(0,b.jsx)("dt",{className:"text-muted",children:"Cloud sheets"}),(0,b.jsx)("dd",{className:"m-0 font-mono",children:l?.cloud_sheet_count??0}),(0,b.jsx)("dt",{className:"text-muted",children:"Last local import"}),(0,b.jsx)("dd",{className:"m-0 font-mono",children:x})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)("button",{type:"button",className:(0,f.get_button_class_name)("ghost","small"),disabled:null!==p,onClick:()=>void w("push"),children:"push"===p?"Pushing…":"Push local → cloud"}),(0,b.jsx)("button",{type:"button",className:(0,f.get_button_class_name)("ghost","small"),disabled:null!==p,onClick:()=>void w("pull"),children:"pull"===p?"Pulling…":"Pull cloud → local"})]}),null!==r?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-accent",children:r}):null,null!==t?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-danger",children:t}):null]})}])},91553,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(49170),e=a.i(57077);a.s(["GreedyCloudSyncSetting",0,function(){let a=(0,c.useSyncExternalStore)(d.greedy_cloud_sync_preference.subscribe,d.greedy_cloud_sync_preference.get_snapshot,d.greedy_cloud_sync_preference.get_server_snapshot);return(0,b.jsxs)("label",{className:"flex w-full cursor-pointer items-center gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:"true"===a,onChange:a=>{var b;return b=a.target.checked,void(0,e.persist_ui_preference)(d.greedy_cloud_sync_preference,b?"true":"false")}}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Greedy cloud sync"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"When on, merge with the cloud when you move between pages and after each change. When off, merge once per session and push only when entries, notes, or sheets change—not when switching sheets."})]})]})}])}];
2
2
 
3
3
  //# sourceMappingURL=_00x~ete._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[75654,a=>{"use strict";var b=a.i(39752);a.s(["SettingsIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),(0,b.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}])},26846,a=>{"use strict";var b=a.i(82508),c=a.i(34542),d=a.i(9301),e=a.i(63577),f=a.i(7048);a.s(["use_supabase_auth_session",0,function(){let a=(0,b.useRouter)(),[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(!1),k=(0,e.is_supabase_configured)();return(0,c.useEffect)(()=>{if(!k)return;let a=(0,d.create_browser_supabase_client)();a.auth.getSession().then(({data:{session:a}})=>{h(a?.user.email??null)}).catch(()=>{h(null)});let{data:{subscription:b}}=a.auth.onAuthStateChange((a,b)=>{h(b?.user.email??null)});return()=>{b.unsubscribe()}},[k]),{is_configured:k,email:g,is_pending:i,sign_out:(0,c.useCallback)(async()=>{j(!0);try{await fetch("/api/auth/signout",{method:"POST"});let b=(0,d.create_browser_supabase_client)();await b.auth.signOut().catch(()=>{}),(0,f.notify_settings_saved)("Signed out"),a.refresh()}finally{j(!1)}},[a])}}])},61995,41194,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/",label:"Tracker",match:a=>"/"===a}];function f(){return(0,b.jsx)("svg",{className:"block h-4 w-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,b.jsx)("path",{d:"M17.5 19a4.5 4.5 0 0 0 0-9 6.5 6.5 0 0 0-12.6 1.5A4 4 0 0 0 6 19h11.5z"})})}a.s(["TrackerNavLinks",0,function(){let a=(0,d.usePathname)()??"/";return(0,b.jsx)("div",{className:"scrollbar-none flex min-w-0 flex-1 items-center gap-1 overflow-x-auto whitespace-nowrap py-0.5 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden min-[980px]:overflow-visible",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)(c.default,{className:`rounded-full px-3 py-1.5 text-[0.85rem] font-semibold no-underline transition-colors duration-150 shrink-0 ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,href:d.href,"aria-current":e?"page":void 0,children:d.label},d.href)})})}],61995);var g=a.i(26846);a.s(["TopbarCloudStatus",0,function(){let{email:a,is_configured:c}=(0,g.use_supabase_auth_session)();return c&&null!==a?(0,b.jsxs)("div",{className:"group relative flex items-center",children:[(0,b.jsx)("span",{className:"inline-flex h-8 w-8 items-center justify-center rounded-full border border-panel-border bg-ghost-bg text-accent","aria-label":`Cloud sync active for ${a}`,role:"img",children:(0,b.jsx)(f,{})}),(0,b.jsx)("div",{role:"tooltip",className:"pointer-events-none absolute right-0 top-full z-50 mt-1.5 w-max max-w-[min(18rem,calc(100vw-2.5rem))] opacity-0 transition-opacity duration-150 group-hover:opacity-100 group-focus-within:opacity-100",children:(0,b.jsxs)("div",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-1.5 shadow-md",children:[(0,b.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.04em] text-muted",children:"Signed in as"}),(0,b.jsx)("p",{className:"m-0 max-w-[16rem] truncate text-[0.82rem] font-medium",title:a,children:a})]})})]}):null}],41194)},34435,a=>{"use strict";var b=a.i(39752);a.s(["HamburgerIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4 text-muted",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M4 7h16"}),(0,b.jsx)("path",{d:"M4 12h16"}),(0,b.jsx)("path",{d:"M4 17h16"})]})}])},41615,a=>{"use strict";a.s(["build_auth_page_href",0,function(a,b){let c="sign_in"===a?"/login":"/register",d=b.trim();return 0===d.length||"/"===d?c:`${c}?next=${encodeURIComponent(d)}`}])},28958,a=>{"use strict";a.s(["write_document_preference_cookies",0,function(a){if("u"<typeof document)return;let b="path=/; max-age=31536000; SameSite=Lax";void 0!==a.theme_mode&&(document.cookie=`stt-theme-mode=${a.theme_mode}; ${b}`),void 0!==a.theme&&(document.cookie=`stt-theme=${a.theme}; ${b}`),void 0!==a.palette&&(document.cookie=`stt-palette=${a.palette}; ${b}`),void 0!==a.compact_lists&&(document.cookie=`stt-compact-lists=${a.compact_lists?"true":"false"}; ${b}`)}],28958)},81764,34569,a=>{"use strict";a.s(["apply_theme",0,function(a){document.documentElement.setAttribute("data-theme",a)}],81764);var b=a.i(72958);a.s(["write_stored_theme",0,function(a){try{window.localStorage.setItem("super-time-tracker-theme",a),(0,b.schedule_ui_preferences_cloud_sync)()}catch{}}],34569)},44404,65020,84089,22592,a=>{"use strict";let b=new Set(a.i(75049).topbar_quick_action_ids),c=["today","reporting","pomodoro"];a.s(["parse_topbar_quick_actions",0,function(a){try{let d=JSON.parse(a);if(!Array.isArray(d))return c;let e=d.filter(a=>"string"==typeof a&&b.has(a));return Array.from(new Set(e))}catch{return c}}],44404);var d=a.i(52345),e=a.i(70827);let f=(0,d.create_ui_preference_store)({storage_key:e.CLOUD_SYNC_ENABLED_STORAGE_KEY,default_value:e.CLOUD_SYNC_ENABLED_DEFAULT,is_valid:a=>"true"===a||"false"===a});function g(){return"u"<typeof document?"dark":"light"===document.documentElement.getAttribute("data-theme")?"light":"dark"}a.s(["cloud_sync_enabled_preference",0,f],65020),a.s(["get_theme_server_snapshot",0,function(){return"dark"},"get_theme_snapshot",0,function(){return g()}],84089);var h=a.i(81764),i=a.i(7048),j=a.i(29698),k=a.i(44103),l=a.i(28958),m=a.i(34569);a.s(["toggle_theme",0,function(){let a="dark"===g()?"light":"dark";(0,h.apply_theme)(a),(0,m.write_stored_theme)(a),j.theme_mode_preference.write(a),(0,l.write_document_preference_cookies)({theme_mode:a,theme:a}),j.theme_mode_preference.notify(),(0,k.notify_theme_subscribers)(),(0,i.notify_settings_saved)()}],22592)},96359,a=>{"use strict";var b=a.i(34542),c=a.i(46299);a.s(["use_escape_to_cancel",0,function(a,d=!0){let e=(0,b.useRef)(a);e.current=a,(0,b.useEffect)(()=>{if(!d)return;let a=a=>{"Escape"!==a.key||(0,c.is_modal_dialog_open)()||(a.preventDefault(),e.current())};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[d])}])},79334,73948,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508),e=a.i(34542),f=a.i(34435),g=a.i(41615),h=a.i(7048),i=a.i(44404),j=a.i(11937),k=a.i(65020),l=a.i(26749),m=a.i(54212),n=a.i(74365),o=a.i(84089),p=a.i(44103),q=a.i(22592),r=a.i(75049),s=a.i(96359),t=a.i(26846);let u="block w-full cursor-pointer rounded-[0.45rem] border-0 bg-transparent px-2.5 py-1.5 text-left font-inherit text-[0.85rem] text-inherit no-underline hover:bg-surface-hover disabled:cursor-not-allowed disabled:opacity-55",v={today:{href:"/today",label:"Today"},sheets:{href:"/sheets",label:"Sheets"},reporting:{href:"/reporting",label:"Reporting"},pomodoro:{href:"/pomodoro",label:"Pomodoro"},"manage-tags":{href:"/settings/tags",label:"Manage tags"},"sync-settings":{href:"/settings/cloud-sync",label:"Sync settings"}},w=new Set(["manage-tags","pomodoro","sync-settings"]);a.s(["TopbarOverflowMenu",0,function(){let a=(0,d.useRouter)(),x=(0,d.usePathname)()??"/",y=(0,e.useSyncExternalStore)(p.subscribe_theme,o.get_theme_snapshot,o.get_theme_server_snapshot),z=(0,e.useSyncExternalStore)(k.cloud_sync_enabled_preference.subscribe,k.cloud_sync_enabled_preference.get_snapshot,k.cloud_sync_enabled_preference.get_server_snapshot),A=(0,e.useSyncExternalStore)(m.tracker_shortcut_map_preference.subscribe,m.tracker_shortcut_map_preference.get_snapshot,m.tracker_shortcut_map_preference.get_server_snapshot),B=(0,e.useSyncExternalStore)(l.topbar_quick_actions_preference.subscribe,l.topbar_quick_actions_preference.get_snapshot,l.topbar_quick_actions_preference.get_server_snapshot),C=(0,j.parse_tracker_shortcut_map)(A),D=new Set((0,i.parse_topbar_quick_actions)(B)),E=r.topbar_quick_action_ids.filter(a=>!D.has(a)),F=Array.from(new Set([...Array.from(w),...E])),{email:G,is_configured:H,is_pending:I,sign_out:J}=(0,t.use_supabase_auth_session)(),[K,L]=(0,e.useState)(!1),M=(0,e.useRef)(null);(0,e.useEffect)(()=>{if(!K)return;let a=a=>{null===M.current||M.current.contains(a.target)||L(!1)};return document.addEventListener("pointerdown",a),()=>{document.removeEventListener("pointerdown",a)}},[K]);let N=()=>{L(!1)};return(0,s.use_escape_to_cancel)(N,K),(0,b.jsxs)("div",{className:"relative shrink-0",ref:M,children:[(0,b.jsx)("button",{type:"button",className:"inline-flex h-8 w-8 cursor-pointer items-center justify-center rounded-full border border-panel-border bg-ghost-bg text-muted hover:bg-surface-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent","aria-label":"Open menu","aria-expanded":K,"aria-haspopup":"menu",onClick:()=>L(a=>!a),children:(0,b.jsx)(f.HamburgerIcon,{})}),K?(0,b.jsxs)("ul",{className:"absolute right-0 top-full z-50 mt-1.5 min-w-56 list-none rounded-md border border-panel-border bg-panel p-1.5 shadow-md",role:"menu",children:[H&&null!==G?(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("p",{className:"m-0 truncate px-2.5 py-1 text-[0.72rem] uppercase tracking-[0.04em] text-muted",title:G,children:G})}):null,F.map(a=>{let d=v[a];return(0,b.jsx)("li",{role:"none",children:(0,b.jsx)(c.default,{href:d.href,className:u,role:"menuitem",onClick:N,children:d.label})},a)}),H?(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:u,role:"menuitemcheckbox","aria-checked":"true"===z,onClick:()=>{let a="true"===z?"false":"true";k.cloud_sync_enabled_preference.write(a),k.cloud_sync_enabled_preference.notify(),(0,h.notify_settings_saved)("true"===a?"Cloud sync enabled":"Cloud sync disabled"),"true"===a&&null!==G&&(0,n.run_tracker_db_cloud_sync)({merge_on_load:!0}).catch(()=>{})},children:(0,b.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,b.jsx)("span",{children:"true"===z?"Pause cloud sync":"Resume cloud sync"}),(0,b.jsx)("span",{className:"text-muted","aria-hidden":"true",children:"true"===z?"On":"Off"})]})})}):null,(0,b.jsx)("li",{className:"my-1 border-t border-panel-border",role:"separator","aria-hidden":"true"}),(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:u,role:"menuitem",onClick:()=>{N(),(0,q.toggle_theme)()},suppressHydrationWarning:!0,children:(0,b.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,b.jsxs)("span",{children:["dark"===y?"Dark":"Light"," theme"]}),(0,b.jsx)("span",{"aria-hidden":"true",children:"dark"===y?"☾":"☀"})]})})}),(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:u,role:"menuitem",onClick:()=>{let a;N(),a=C.help,document.dispatchEvent(new KeyboardEvent("keydown",{key:a,shiftKey:"?"===a,bubbles:!0}))},children:(0,b.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,b.jsx)("span",{children:"Keyboard shortcuts"}),(0,b.jsx)("span",{className:"text-muted","aria-hidden":"true",children:"(?)"})]})})}),H?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("li",{className:"my-1 border-t border-panel-border",role:"separator","aria-hidden":"true"}),null===G?(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:u,role:"menuitem",onClick:()=>{N(),a.push((0,g.build_auth_page_href)("sign_in",x))},children:"Sign in"})}):(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:`${u} text-danger`,role:"menuitem",disabled:I,onClick:()=>{N(),J()},children:I?"Signing out…":"Sign out"})})]}):null]}):null]})}],79334);let x=[{id:"today",href:"/today",label:"Today"},{id:"sheets",href:"/sheets",label:"Sheets"},{id:"reporting",href:"/reporting",label:"Reporting"},{id:"pomodoro",href:"/pomodoro",label:"Pomodoro"},{id:"manage-tags",href:"/settings/tags",label:"Tags"},{id:"sync-settings",href:"/settings/cloud-sync",label:"Sync"}];a.s(["TopbarQuickActions",0,function(){let a=(0,d.usePathname)()??"/",f=(0,e.useSyncExternalStore)(l.topbar_quick_actions_preference.subscribe,l.topbar_quick_actions_preference.get_snapshot,l.topbar_quick_actions_preference.get_server_snapshot),g=(0,e.useMemo)(()=>(0,i.parse_topbar_quick_actions)(f),[f]);if(0===g.length)return null;let h=x.filter(a=>g.includes(a.id));return 0===h.length?null:(0,b.jsx)("div",{className:"hidden items-center gap-1 min-[980px]:flex",children:h.map(d=>{let e=a.startsWith(d.href);return(0,b.jsx)(c.default,{href:d.href,className:`rounded-full px-2.5 py-1 text-[0.78rem] font-semibold no-underline transition-colors duration-150 ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,"aria-current":e?"page":void 0,children:d.label},d.id)})})}],73948)},98790,a=>{"use strict";var b=a.i(39752),c=a.i(61995),d=a.i(41194),e=a.i(79334),f=a.i(73948),g=a.i(62988),h=a.i(82508),i=a.i(75654);function j(){let a=((0,h.usePathname)()??"/").startsWith("/settings");return(0,b.jsx)(g.default,{href:"/settings",className:`inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-panel-border bg-ghost-bg text-muted no-underline hover:bg-surface-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent${a?" border-accent-border text-foreground":""}`,"aria-label":"Settings","aria-current":a?"page":void 0,children:(0,b.jsx)(i.SettingsIcon,{})})}function k({current:a,parent:c}){return(0,b.jsx)("nav",{"aria-label":"Breadcrumb",className:"min-w-0 text-left",children:(0,b.jsxs)("ol",{className:"m-0 flex min-w-0 list-none flex-wrap items-center gap-1.5 p-0 text-[0.85rem]",children:[(0,b.jsx)("li",{children:(0,b.jsx)(g.default,{className:"text-muted no-underline hover:text-foreground",href:"/",children:"Tracker"})}),void 0!==c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("li",{className:"text-muted","aria-hidden":"true",children:"/"}),(0,b.jsx)("li",{children:void 0!==c.href?(0,b.jsx)(g.default,{className:"max-w-44 truncate text-muted no-underline hover:text-foreground sm:max-w-none",href:c.href,children:c.label}):(0,b.jsx)("span",{className:"max-w-44 truncate text-muted sm:max-w-none",children:c.label})})]}):null,(0,b.jsx)("li",{className:"text-muted","aria-hidden":"true",children:"/"}),(0,b.jsx)("li",{className:"max-w-44 truncate font-medium text-foreground sm:max-w-none","aria-current":"page",children:a})]})})}a.s(["TrackerTopbar",0,function({breadcrumb:a}={}){return(0,b.jsx)("header",{className:"relative z-1 border-b border-panel-border bg-[color-mix(in_srgb,var(--panel)_92%,var(--background))] shadow-sm backdrop-blur-[10px]",children:(0,b.jsxs)("div",{className:"mx-auto flex max-w-[1120px] min-h-13 flex-wrap items-center gap-x-4 gap-y-2 px-4 py-2 sm:px-5",children:[(0,b.jsx)("span",{className:"inline-flex min-w-0 shrink items-center font-mono text-[0.72rem] font-semibold uppercase leading-tight tracking-[0.08em] text-accent whitespace-nowrap",children:"super-time-tracker"}),void 0!==a?(0,b.jsx)("div",{className:"min-w-0 flex-1",children:(0,b.jsx)(k,{current:a.current,parent:a.parent})}):null,(0,b.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 min-[980px]:ml-auto min-[980px]:w-auto min-[980px]:justify-end",children:[(0,b.jsx)(c.TrackerNavLinks,{}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center justify-end gap-2",children:[(0,b.jsx)(f.TopbarQuickActions,{}),(0,b.jsx)(d.TopbarCloudStatus,{}),(0,b.jsx)(j,{}),(0,b.jsx)(e.TopbarOverflowMenu,{})]})]})]})})}],98790)}];
2
+
3
+ //# sourceMappingURL=_07p~0bg._.js.map