super-time-tracker-ui 0.1.42 → 0.1.44

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 (98) hide show
  1. package/dist/standalone/next-output/BUILD_ID +1 -1
  2. package/dist/standalone/next-output/build-manifest.json +3 -3
  3. package/dist/standalone/next-output/server/app/_global-error.html +1 -1
  4. package/dist/standalone/next-output/server/app/_global-error.rsc +1 -1
  5. package/dist/standalone/next-output/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  6. package/dist/standalone/next-output/server/app/_global-error.segments/_full.segment.rsc +1 -1
  7. package/dist/standalone/next-output/server/app/_global-error.segments/_head.segment.rsc +1 -1
  8. package/dist/standalone/next-output/server/app/_global-error.segments/_index.segment.rsc +1 -1
  9. package/dist/standalone/next-output/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/dist/standalone/next-output/server/app/_not-found/page/react-loadable-manifest.json +1 -1
  11. package/dist/standalone/next-output/server/app/_not-found/page.js.nft.json +1 -1
  12. package/dist/standalone/next-output/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. package/dist/standalone/next-output/server/app/login/page/react-loadable-manifest.json +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/react-loadable-manifest.json +1 -1
  17. package/dist/standalone/next-output/server/app/offline/page.js.nft.json +1 -1
  18. package/dist/standalone/next-output/server/app/offline/page_client-reference-manifest.js +1 -1
  19. package/dist/standalone/next-output/server/app/page/react-loadable-manifest.json +1 -1
  20. package/dist/standalone/next-output/server/app/page.js.nft.json +1 -1
  21. package/dist/standalone/next-output/server/app/page_client-reference-manifest.js +1 -1
  22. package/dist/standalone/next-output/server/app/pomodoro/page/react-loadable-manifest.json +1 -1
  23. package/dist/standalone/next-output/server/app/pomodoro/page.js.nft.json +1 -1
  24. package/dist/standalone/next-output/server/app/pomodoro/page_client-reference-manifest.js +1 -1
  25. package/dist/standalone/next-output/server/app/register/page/react-loadable-manifest.json +1 -1
  26. package/dist/standalone/next-output/server/app/register/page.js.nft.json +1 -1
  27. package/dist/standalone/next-output/server/app/register/page_client-reference-manifest.js +1 -1
  28. package/dist/standalone/next-output/server/app/reporting/page/react-loadable-manifest.json +1 -1
  29. package/dist/standalone/next-output/server/app/reporting/page.js.nft.json +1 -1
  30. package/dist/standalone/next-output/server/app/reporting/page_client-reference-manifest.js +1 -1
  31. package/dist/standalone/next-output/server/app/review/page/react-loadable-manifest.json +1 -1
  32. package/dist/standalone/next-output/server/app/review/page.js.nft.json +1 -1
  33. package/dist/standalone/next-output/server/app/review/page_client-reference-manifest.js +1 -1
  34. package/dist/standalone/next-output/server/app/search/page/react-loadable-manifest.json +1 -1
  35. package/dist/standalone/next-output/server/app/search/page.js.nft.json +1 -1
  36. package/dist/standalone/next-output/server/app/search/page_client-reference-manifest.js +1 -1
  37. package/dist/standalone/next-output/server/app/settings/ai-suggestions/page/react-loadable-manifest.json +1 -1
  38. package/dist/standalone/next-output/server/app/settings/ai-suggestions/page.js.nft.json +1 -1
  39. package/dist/standalone/next-output/server/app/settings/ai-suggestions/page_client-reference-manifest.js +1 -1
  40. package/dist/standalone/next-output/server/app/settings/cloud-sync/page/react-loadable-manifest.json +1 -1
  41. package/dist/standalone/next-output/server/app/settings/cloud-sync/page.js.nft.json +1 -1
  42. package/dist/standalone/next-output/server/app/settings/cloud-sync/page_client-reference-manifest.js +1 -1
  43. package/dist/standalone/next-output/server/app/settings/data/page/react-loadable-manifest.json +1 -1
  44. package/dist/standalone/next-output/server/app/settings/data/page.js.nft.json +1 -1
  45. package/dist/standalone/next-output/server/app/settings/data/page_client-reference-manifest.js +1 -1
  46. package/dist/standalone/next-output/server/app/settings/display/page/react-loadable-manifest.json +1 -1
  47. package/dist/standalone/next-output/server/app/settings/display/page.js.nft.json +1 -1
  48. package/dist/standalone/next-output/server/app/settings/display/page_client-reference-manifest.js +1 -1
  49. package/dist/standalone/next-output/server/app/settings/goals/page/react-loadable-manifest.json +1 -1
  50. package/dist/standalone/next-output/server/app/settings/goals/page.js.nft.json +1 -1
  51. package/dist/standalone/next-output/server/app/settings/goals/page_client-reference-manifest.js +1 -1
  52. package/dist/standalone/next-output/server/app/settings/notifications/page/react-loadable-manifest.json +1 -1
  53. package/dist/standalone/next-output/server/app/settings/notifications/page.js.nft.json +1 -1
  54. package/dist/standalone/next-output/server/app/settings/notifications/page_client-reference-manifest.js +1 -1
  55. package/dist/standalone/next-output/server/app/settings/page/react-loadable-manifest.json +1 -1
  56. package/dist/standalone/next-output/server/app/settings/page.js.nft.json +1 -1
  57. package/dist/standalone/next-output/server/app/settings/page_client-reference-manifest.js +1 -1
  58. package/dist/standalone/next-output/server/app/settings/pomodoro/page/react-loadable-manifest.json +1 -1
  59. package/dist/standalone/next-output/server/app/settings/pomodoro/page.js.nft.json +1 -1
  60. package/dist/standalone/next-output/server/app/settings/pomodoro/page_client-reference-manifest.js +1 -1
  61. package/dist/standalone/next-output/server/app/settings/quick-actions/page/react-loadable-manifest.json +1 -1
  62. package/dist/standalone/next-output/server/app/settings/quick-actions/page.js.nft.json +1 -1
  63. package/dist/standalone/next-output/server/app/settings/quick-actions/page_client-reference-manifest.js +1 -1
  64. package/dist/standalone/next-output/server/app/settings/tags/page/react-loadable-manifest.json +1 -1
  65. package/dist/standalone/next-output/server/app/settings/tags/page.js.nft.json +1 -1
  66. package/dist/standalone/next-output/server/app/settings/tags/page_client-reference-manifest.js +1 -1
  67. package/dist/standalone/next-output/server/app/sheets/page/react-loadable-manifest.json +1 -1
  68. package/dist/standalone/next-output/server/app/sheets/page.js.nft.json +1 -1
  69. package/dist/standalone/next-output/server/app/sheets/page_client-reference-manifest.js +1 -1
  70. package/dist/standalone/next-output/server/app/templates/page/react-loadable-manifest.json +1 -1
  71. package/dist/standalone/next-output/server/app/templates/page.js.nft.json +1 -1
  72. package/dist/standalone/next-output/server/app/templates/page_client-reference-manifest.js +1 -1
  73. package/dist/standalone/next-output/server/app/today/page/react-loadable-manifest.json +1 -1
  74. package/dist/standalone/next-output/server/app/today/page.js.nft.json +1 -1
  75. package/dist/standalone/next-output/server/app/today/page_client-reference-manifest.js +1 -1
  76. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0sx0ra6._.js +1 -1
  77. package/dist/standalone/next-output/server/chunks/ssr/{_05ydjrh._.js → _0d1s~8c._.js} +2 -2
  78. package/dist/standalone/next-output/server/chunks/ssr/_0ja6w18._.js +3 -0
  79. package/dist/standalone/next-output/server/chunks/ssr/{_10utgt7._.js → _0rhx88g._.js} +2 -2
  80. package/dist/standalone/next-output/server/chunks/ssr/_0sic8ed._.js +1 -1
  81. package/dist/standalone/next-output/server/chunks/ssr/components_end-of-day-review-view_tsx_0t6snsb._.js +1 -1
  82. package/dist/standalone/next-output/server/chunks/ssr/components_reporting-view_tsx_0-0ofcv._.js +1 -1
  83. package/dist/standalone/next-output/server/middleware-build-manifest.js +3 -3
  84. package/dist/standalone/next-output/server/pages/500.html +1 -1
  85. package/dist/standalone/next-output/static/chunks/0-niex.k_xqnu.js +1 -0
  86. package/dist/standalone/next-output/static/chunks/{141j1htu_qj-p.js → 0feo1c5hcq~fw.js} +1 -1
  87. package/dist/standalone/next-output/static/chunks/0kv6q0hk3m5ja.css +3 -0
  88. package/dist/standalone/next-output/static/chunks/{0io.jffavun5t.js → 0lbfeprw3roep.js} +1 -1
  89. package/dist/standalone/next-output/static/chunks/{0t3hajznk~j44.js → 0q_cw2e3uj20q.js} +1 -1
  90. package/dist/standalone/next-output/static/chunks/{09lddf9c4kn~5.js → 0ya1a.o~xsixd.js} +1 -1
  91. package/dist/standalone/package.json +1 -1
  92. package/package.json +1 -1
  93. package/dist/standalone/next-output/server/chunks/ssr/_02l2ykc._.js +0 -3
  94. package/dist/standalone/next-output/static/chunks/01op4gs840x6z.js +0 -1
  95. package/dist/standalone/next-output/static/chunks/05m~ilvrxjj14.css +0 -3
  96. /package/dist/standalone/next-output/static/{l_mfwvHxStSDpzw8cKLu3 → 3mGyuXIk1hccaSXSOwPrh}/_buildManifest.js +0 -0
  97. /package/dist/standalone/next-output/static/{l_mfwvHxStSDpzw8cKLu3 → 3mGyuXIk1hccaSXSOwPrh}/_clientMiddlewareManifest.js +0 -0
  98. /package/dist/standalone/next-output/static/{l_mfwvHxStSDpzw8cKLu3 → 3mGyuXIk1hccaSXSOwPrh}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99997,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return o},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(44066)._(e.r(33434)),i=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",o=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(s.urlQueryToSearchParams(l)));let u=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),o&&"#"!==o[0]&&(o="#"+o),u&&"?"!==u[0]&&(u="?"+u),a=a.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${c}${a}${u}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return o(e)}},70782,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(51268);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=s(e,n)),t&&(a.current=s(t,n))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},88334,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return s}});let n=e.r(69600),a=e.r(76636);function s(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},20612,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},70096,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return _}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(44066),i=e.r(8063),o=s._(e.r(51268)),l=e.r(99997),c=e.r(4411),u=e.r(70782),d=e.r(69600),p=e.r(31508);e.r(91946);let h=e.r(35302),f=e.r(92024),m=e.r(88334),b=e.r(44017);function g(t){var r,n;let a,s,g,[_,y]=(0,o.useOptimistic)(f.IDLE_LINK_STATUS),v=(0,o.useRef)(null),{href:j,as:k,children:w,prefetch:N=null,passHref:S,replace:C,shallow:E,scroll:T,onClick:P,onMouseEnter:O,onTouchStart:L,legacyBehavior:R=!1,onNavigate:A,transitionTypes:M,ref:$,unstable_dynamicOnHover:q,...D}=t;a=w,R&&("string"==typeof a||"number"==typeof a)&&(a=(0,i.jsx)("a",{children:a}));let U=o.default.useContext(c.AppRouterContext),I=!1!==N,W=!1!==N?null===(n=N)||"auto"===n?b.FetchStrategy.PPR:b.FetchStrategy.Full:b.FetchStrategy.PPR,K="string"==typeof(r=k||j)?r:(0,l.formatUrl)(r);if(R){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});s=o.default.Children.only(a)}let B=R?s&&"object"==typeof s&&s.ref:$,z=o.default.useCallback(e=>(null!==U&&(v.current=(0,f.mountLinkInstance)(e,K,U,W,I,y)),()=>{v.current&&((0,f.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,f.unmountPrefetchableInstance)(e)}),[I,K,U,W,y]),F={ref:(0,u.useMergedRef)(z,B),onClick(t){R||"function"!=typeof P||P(t),R&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!U||t.defaultPrevented||function(t,r,n,a,s,i,l){if("u">typeof window){let c,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(12178);o.default.startTransition(()=>{d(r,a?"replace":"push",!1===s?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,n.current,l)})}}(t,K,v,C,T,A,M)},onMouseEnter(e){R||"function"!=typeof O||O(e),R&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),U&&I&&(0,f.onNavigationIntent)(e.currentTarget,!0===q)},onTouchStart:function(e){R||"function"!=typeof L||L(e),R&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),U&&I&&(0,f.onNavigationIntent)(e.currentTarget,!0===q)}};return(0,d.isAbsoluteUrl)(K)?F.href=K:R&&!S&&("a"!==s.type||"href"in s.props)||(F.href=(0,p.addBasePath)(K)),g=R?o.default.cloneElement(s,F):(0,i.jsx)("a",{...D,...F,children:a}),(0,i.jsx)(x.Provider,{value:_,children:g})}e.r(20612);let x=(0,o.createContext)(f.IDLE_LINK_STATUS),_=()=>(0,o.useContext)(x);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},29539,e=>{"use strict";var t=e.i(8063);e.s(["SettingsIcon",0,function(){return(0,t.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,t.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,t.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}])},37399,e=>{"use strict";var t=e.i(8063);e.s(["HamburgerIcon",0,function(){return(0,t.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,t.jsx)("path",{d:"M4 7h16"}),(0,t.jsx)("path",{d:"M4 12h16"}),(0,t.jsx)("path",{d:"M4 17h16"})]})}])},25204,e=>{"use strict";var t=e.i(51268),r=e.i(72074);e.s(["use_escape_to_cancel",0,function(e,n=!0){let a=(0,t.useRef)(e);a.current=e,(0,t.useEffect)(()=>{if(!n)return;let e=e=>{"Escape"!==e.key||(0,r.is_modal_dialog_open)()||(e.preventDefault(),a.current())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[n])}])},77882,e=>{"use strict";var t=e.i(48042),r=e.i(51268),n=e.i(83105),a=e.i(32417),s=e.i(46549);e.s(["use_supabase_auth_session",0,function(){let e=(0,t.useRouter)(),[i,o]=(0,r.useState)(null),[l,c]=(0,r.useState)(!1),u=(0,a.is_supabase_configured)();return(0,r.useEffect)(()=>{if(!u)return;let e=(0,n.create_browser_supabase_client)();e.auth.getSession().then(({data:{session:e}})=>{o(e?.user.email??null)}).catch(()=>{o(null)});let{data:{subscription:t}}=e.auth.onAuthStateChange((e,t)=>{o(t?.user.email??null)});return()=>{t.unsubscribe()}},[u]),{is_configured:u,email:i,is_pending:l,sign_out:(0,r.useCallback)(async()=>{c(!0);try{await fetch("/api/auth/signout",{method:"POST"});let t=(0,n.create_browser_supabase_client)();await t.auth.signOut().catch(()=>{}),(0,s.notify_settings_saved)("Signed out"),e.refresh()}finally{c(!1)}},[e])}}])},90463,e=>{"use strict";e.s(["build_auth_page_href",0,function(e,t){let r="sign_in"===e?"/login":"/register",n=t.trim();return 0===n.length||"/"===n?r:`${r}?next=${encodeURIComponent(n)}`}])},75404,73205,e=>{"use strict";var t=e.i(8063),r=e.i(70096),n=e.i(48042);let a=[{href:"/",label:"Tracker",match:e=>"/"===e}];function s(){let e=(0,n.usePathname)()??"/";return(0,t.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:a.map(n=>{let a=n.match(e);return(0,t.jsx)(r.default,{className:`rounded-full px-3 py-1.5 text-[0.85rem] font-semibold no-underline transition-colors duration-150 shrink-0 ${a?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,href:n.href,"aria-current":a?"page":void 0,children:n.label},n.href)})})}function i(){return(0,t.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,t.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"})})}var o=e.i(77882);function l(){let{email:e,is_configured:r}=(0,o.use_supabase_auth_session)();return r&&null!==e?(0,t.jsxs)("div",{className:"group relative flex items-center",children:[(0,t.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 ${e}`,role:"img",children:(0,t.jsx)(i,{})}),(0,t.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,t.jsxs)("div",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-1.5 shadow-md",children:[(0,t.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.04em] text-muted",children:"Signed in as"}),(0,t.jsx)("p",{className:"m-0 max-w-[16rem] truncate text-[0.82rem] font-medium",title:e,children:e})]})})]}):null}var c=e.i(51268),u=e.i(37399),d=e.i(90463),p=e.i(46549),h=e.i(22373);let f=new Set(h.topbar_quick_action_ids),m=["today","review","templates","search","reporting","pomodoro"];function b(e){try{let t=JSON.parse(e);if(!Array.isArray(t))return m;let r=t.filter(e=>"string"==typeof e&&f.has(e));return Array.from(new Set(r))}catch{return m}}e.s(["parse_topbar_quick_actions",0,b],73205);var g=e.i(66295),x=e.i(34869),_=e.i(92629);let y=(0,x.create_ui_preference_store)({storage_key:_.CLOUD_SYNC_ENABLED_STORAGE_KEY,default_value:_.CLOUD_SYNC_ENABLED_DEFAULT,is_valid:e=>"true"===e||"false"===e});var v=e.i(32792),j=e.i(90299),k=e.i(28274);function w(){return"u"<typeof document?"dark":"light"===document.documentElement.getAttribute("data-theme")?"light":"dark"}function N(){return w()}function S(){return"dark"}var C=e.i(35434),E=e.i(17798),T=e.i(10464),P=e.i(61834),O=e.i(81553),L=e.i(25204);let R="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",A={today:{href:"/today",label:"Today"},review:{href:"/review",label:"Review"},templates:{href:"/templates",label:"Templates"},search:{href:"/search",label:"Search"},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"}},M=new Set(["manage-tags","pomodoro","templates","sync-settings"]);function $(){let e=(0,n.useRouter)(),a=(0,n.usePathname)()??"/",s=(0,c.useSyncExternalStore)(C.subscribe_theme,N,S),i=(0,c.useSyncExternalStore)(y.subscribe,y.get_snapshot,y.get_server_snapshot),l=(0,c.useSyncExternalStore)(j.tracker_shortcut_map_preference.subscribe,j.tracker_shortcut_map_preference.get_snapshot,j.tracker_shortcut_map_preference.get_server_snapshot),f=(0,c.useSyncExternalStore)(v.topbar_quick_actions_preference.subscribe,v.topbar_quick_actions_preference.get_snapshot,v.topbar_quick_actions_preference.get_server_snapshot),m=(0,g.parse_tracker_shortcut_map)(l),x=new Set(b(f)),_=h.topbar_quick_action_ids.filter(e=>!x.has(e)),$=Array.from(new Set([...Array.from(M),..._])),{email:q,is_configured:D,is_pending:U,sign_out:I}=(0,o.use_supabase_auth_session)(),[W,K]=(0,c.useState)(!1),B=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!W)return;let e=e=>{null===B.current||B.current.contains(e.target)||K(!1)};return document.addEventListener("pointerdown",e),()=>{document.removeEventListener("pointerdown",e)}},[W]);let z=()=>{K(!1)};return(0,L.use_escape_to_cancel)(z,W),(0,t.jsxs)("div",{className:"relative shrink-0",ref:B,children:[(0,t.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":W,"aria-haspopup":"menu",onClick:()=>K(e=>!e),children:(0,t.jsx)(u.HamburgerIcon,{})}),W?(0,t.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:[D&&null!==q?(0,t.jsx)("li",{role:"none",children:(0,t.jsx)("p",{className:"m-0 truncate px-2.5 py-1 text-[0.72rem] uppercase tracking-[0.04em] text-muted",title:q,children:q})}):null,$.map(e=>{let n=A[e];return(0,t.jsx)("li",{role:"none",children:(0,t.jsx)(r.default,{href:n.href,className:R,role:"menuitem",onClick:z,children:n.label})},e)}),D?(0,t.jsx)("li",{role:"none",children:(0,t.jsx)("button",{type:"button",className:R,role:"menuitemcheckbox","aria-checked":"true"===i,onClick:()=>{let e="true"===i?"false":"true";y.write(e),y.notify(),(0,p.notify_settings_saved)("true"===e?"Cloud sync enabled":"Cloud sync disabled"),"true"===e&&null!==q&&(0,k.run_tracker_db_cloud_sync)({merge_on_load:!0}).catch(()=>{})},children:(0,t.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,t.jsx)("span",{children:"true"===i?"Pause cloud sync":"Resume cloud sync"}),(0,t.jsx)("span",{className:"text-muted","aria-hidden":"true",children:"true"===i?"On":"Off"})]})})}):null,(0,t.jsx)("li",{className:"my-1 border-t border-panel-border",role:"separator","aria-hidden":"true"}),(0,t.jsx)("li",{role:"none",children:(0,t.jsx)("button",{type:"button",className:R,role:"menuitem",onClick:()=>{let e;z(),e="dark"===w()?"light":"dark",(0,E.apply_theme)(e),(0,O.write_stored_theme)(e),T.theme_mode_preference.write(e),(0,P.write_document_preference_cookies)({theme_mode:e,theme:e}),T.theme_mode_preference.notify(),(0,C.notify_theme_subscribers)(),(0,p.notify_settings_saved)()},suppressHydrationWarning:!0,children:(0,t.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,t.jsxs)("span",{children:["dark"===s?"Dark":"Light"," theme"]}),(0,t.jsx)("span",{"aria-hidden":"true",children:"dark"===s?"☾":"☀"})]})})}),(0,t.jsx)("li",{role:"none",children:(0,t.jsx)("button",{type:"button",className:R,role:"menuitem",onClick:()=>{let e;z(),e=m.help,document.dispatchEvent(new KeyboardEvent("keydown",{key:e,shiftKey:"?"===e,bubbles:!0}))},children:(0,t.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,t.jsx)("span",{children:"Keyboard shortcuts"}),(0,t.jsx)("span",{className:"text-muted","aria-hidden":"true",children:"(?)"})]})})}),D?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("li",{className:"my-1 border-t border-panel-border",role:"separator","aria-hidden":"true"}),null===q?(0,t.jsx)("li",{role:"none",children:(0,t.jsx)("button",{type:"button",className:R,role:"menuitem",onClick:()=>{z(),e.push((0,d.build_auth_page_href)("sign_in",a))},children:"Sign in"})}):(0,t.jsx)("li",{role:"none",children:(0,t.jsx)("button",{type:"button",className:`${R} text-danger`,role:"menuitem",disabled:U,onClick:()=>{z(),I()},children:U?"Signing out…":"Sign out"})})]}):null]}):null]})}let q=[{id:"today",href:"/today",label:"Today"},{id:"review",href:"/review",label:"Review"},{id:"templates",href:"/templates",label:"Templates"},{id:"search",href:"/search",label:"Search"},{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"}];function D(){let e=(0,n.usePathname)()??"/",a=(0,c.useSyncExternalStore)(v.topbar_quick_actions_preference.subscribe,v.topbar_quick_actions_preference.get_snapshot,v.topbar_quick_actions_preference.get_server_snapshot),s=(0,c.useMemo)(()=>b(a),[a]);if(0===s.length)return null;let i=q.filter(e=>s.includes(e.id));return 0===i.length?null:(0,t.jsx)("div",{className:"hidden items-center gap-1 min-[980px]:flex",children:i.map(n=>{let a=e.startsWith(n.href);return(0,t.jsx)(r.default,{href:n.href,className:`rounded-full px-2.5 py-1 text-[0.78rem] font-semibold no-underline transition-colors duration-150 ${a?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,"aria-current":a?"page":void 0,children:n.label},n.id)})})}var U=e.i(29539);function I(){let e=((0,n.usePathname)()??"/").startsWith("/settings");return(0,t.jsx)(r.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${e?" border-accent-border text-foreground":""}`,"aria-label":"Settings","aria-current":e?"page":void 0,children:(0,t.jsx)(U.SettingsIcon,{})})}function W({current:e,parent:n}){return(0,t.jsx)("nav",{"aria-label":"Breadcrumb",className:"min-w-0 text-left",children:(0,t.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,t.jsx)("li",{children:(0,t.jsx)(r.default,{className:"text-muted no-underline hover:text-foreground",href:"/",children:"Tracker"})}),void 0!==n?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("li",{className:"text-muted","aria-hidden":"true",children:"/"}),(0,t.jsx)("li",{children:void 0!==n.href?(0,t.jsx)(r.default,{className:"max-w-44 truncate text-muted no-underline hover:text-foreground sm:max-w-none",href:n.href,children:n.label}):(0,t.jsx)("span",{className:"max-w-44 truncate text-muted sm:max-w-none",children:n.label})})]}):null,(0,t.jsx)("li",{className:"text-muted","aria-hidden":"true",children:"/"}),(0,t.jsx)("li",{className:"max-w-44 truncate font-medium text-foreground sm:max-w-none","aria-current":"page",children:e})]})})}e.s(["TrackerTopbar",0,function({breadcrumb:e}={}){return(0,t.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,t.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,t.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!==e?(0,t.jsx)("div",{className:"min-w-0 flex-1",children:(0,t.jsx)(W,{current:e.current,parent:e.parent})}):null,(0,t.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,t.jsx)(s,{}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center justify-end gap-2",children:[(0,t.jsx)(D,{}),(0,t.jsx)(l,{}),(0,t.jsx)(I,{}),(0,t.jsx)($,{})]})]})]})})}],75404)},52405,e=>{"use strict";e.s(["get_input_class_name",0,function(e="default"){let t="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"===e?`${t} px-2.5 py-2`:t}])},42800,e=>{"use strict";var t=e.i(8063),r=e.i(70096),n=e.i(48042);let a=[{href:"/settings",label:"General",match:e=>"/settings"===e},{href:"/settings/display",label:"Display & layout",match:e=>e.startsWith("/settings/display")},{href:"/settings/quick-actions",label:"Quick actions",match:e=>e.startsWith("/settings/quick-actions")},{href:"/settings/goals",label:"Goals",match:e=>e.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:e=>e.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:e=>e.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:e=>e.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:e=>e.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:e=>e.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:e=>e.startsWith("/settings/tags")}];e.s(["SettingsNav",0,function(){let e=(0,n.usePathname)()??"/settings";return(0,t.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,t.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:a.map(n=>{let a=n.match(e);return(0,t.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,t.jsx)(r.default,{href:n.href,"aria-current":a?"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 ${a?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:n.label})},n.href)})})})}])},77352,e=>{"use strict";var t=e.i(8063),r=e.i(42800),n=e.i(75404);e.s(["SettingsPageLayout",0,function({breadcrumb:e,title:a,description:s,children:i}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.TrackerTopbar,{breadcrumb:e}),(0,t.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,t.jsxs)("aside",{className:"flex flex-col gap-2",children:[(0,t.jsx)("h2",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Settings"}),(0,t.jsx)(r.SettingsNav,{})]}),(0,t.jsxs)("section",{className:"flex min-w-0 flex-col gap-4",children:[(0,t.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h1",{className:"m-0 text-[1.35rem] font-[650] tracking-tight",children:a}),void 0!==s?(0,t.jsx)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:s}):null]}),i]})]})]})}])},90873,e=>{"use strict";var t=e.i(8063),r=e.i(51268);let n="inline-flex shrink-0 cursor-pointer items-center gap-1.5";e.s(["Checkbox",0,function({checked:e,disabled:a=!1,indeterminate:s=!1,nested:i=!1,on_change:o,label:l,aria_label:c,className:u}){let d=(0,r.useRef)(null);(0,r.useEffect)(()=>{null!==d.current&&(d.current.indeterminate=s)},[s]);let p=void 0===u?n:`${n} ${u}`,h=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("input",{ref:d,type:"checkbox",className:"peer absolute m-0 h-px w-px overflow-hidden opacity-0",checked:e,disabled:a,"aria-label":i&&void 0===l?c:void 0,onChange:o}),(0,t.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 i?(0,t.jsx)("span",{className:p,children:h}):(0,t.jsxs)("label",{className:p,"aria-label":void 0===l?c:void 0,children:[h,void 0===l?null:(0,t.jsx)("span",{className:"select-none text-[0.8rem] leading-tight text-muted",children:l})]})}])},49996,e=>{"use strict";var t=e.i(8063),r=e.i(51268),n=e.i(90873),a=e.i(77352),s=e.i(52405),i=e.i(46549),o=e.i(73205),l=e.i(66295),c=e.i(32792),u=e.i(90299),d=e.i(22373);let p={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","zen-mode":"Toggle Zen Mode focus engine"},h={today:"Today",review:"End-of-day review",templates:"Template library",search:"Search entries",sheets:"Sheets",reporting:"Reporting",pomodoro:"Pomodoro","manage-tags":"Tag management","sync-settings":"Sync settings"};e.s(["QuickActionsSettingsView",0,function(){let[e,f]=(0,r.useState)(!1),m=(0,r.useSyncExternalStore)(u.tracker_shortcut_map_preference.subscribe,u.tracker_shortcut_map_preference.get_snapshot,u.tracker_shortcut_map_preference.get_server_snapshot),b=(0,r.useSyncExternalStore)(c.topbar_quick_actions_preference.subscribe,c.topbar_quick_actions_preference.get_snapshot,c.topbar_quick_actions_preference.get_server_snapshot),g=(0,r.useMemo)(()=>(0,l.parse_tracker_shortcut_map)(m),[m]),x=(0,r.useMemo)(()=>(0,o.parse_topbar_quick_actions)(b),[b]),[_,y]=(0,r.useState)(g);(0,r.useEffect)(()=>{f(!0)},[]),(0,r.useEffect)(()=>{y(g)},[g]);let v=(0,r.useMemo)(()=>{let e=new Map;for(let t of d.tracker_shortcut_action_ids){let r=g[t];e.set(r,(e.get(r)??0)+1)}return new Set(Array.from(e.entries()).filter(([,e])=>e>1).map(([e])=>e))},[g]);return e?(0,t.jsx)(a.SettingsPageLayout,{breadcrumb:{current:"Quick actions",parent:{label:"Settings",href:"/settings"}},title:"Quick actions config",description:"Customize keyboard shortcuts and topbar shortcuts.",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("section",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,t.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Keyboard shortcuts"}),(0,t.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,t.jsx)("div",{className:"mt-3 grid grid-cols-1 gap-2 md:grid-cols-2",children:d.tracker_shortcut_action_ids.map(e=>{let r=g[e],n=_[e]??r,a=v.has(r),o=n!==r;return(0,t.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,t.jsx)("span",{className:"text-[0.86rem]",children:p[e]}),(0,t.jsx)("input",{type:"text",className:`${(0,s.get_input_class_name)("compact")} h-8 w-14 justify-self-end px-2 text-center`,value:"?"===n?"?":n.toUpperCase(),readOnly:!0,onKeyDown:t=>((e,t)=>{if("Enter"===t.key){let r;t.preventDefault();let n=_[e];1===n.length&&(r={...g,[e]:n},u.tracker_shortcut_map_preference.write(JSON.stringify(r)),u.tracker_shortcut_map_preference.notify(),(0,i.notify_settings_saved)("Quick actions updated"));return}if("Escape"===t.key){t.preventDefault(),y(t=>({...t,[e]:g[e]}));return}if(1!==t.key.length)return;let r=t.key.toLowerCase();/^[a-z\[\]\?]$/.test(r)&&(t.preventDefault(),y(t=>({...t,[e]:r})))})(e,t),onFocus:e=>e.currentTarget.select(),"aria-label":`${p[e]} shortcut`}),(0,t.jsx)("span",{className:`col-span-2 text-[0.72rem] ${a?"text-danger":o?"text-muted":"text-transparent"}`,children:a?"Duplicate":o?"Press Enter to save":"Ready"})]},e)})})]}),(0,t.jsxs)("section",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,t.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Topbar shortcuts"}),(0,t.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,t.jsx)("div",{className:"mt-3 flex flex-wrap gap-3",children:d.topbar_quick_action_ids.map(e=>(0,t.jsx)(n.Checkbox,{checked:x.includes(e),on_change:()=>{let t;return t=x.includes(e)?x.filter(t=>t!==e):[...x,e],void(c.topbar_quick_actions_preference.write(JSON.stringify(t)),c.topbar_quick_actions_preference.notify(),(0,i.notify_settings_saved)("Topbar shortcuts updated"))},label:h[e]},e))})]})]})}):(0,t.jsx)(a.SettingsPageLayout,{breadcrumb:{current:"Quick actions",parent:{label:"Settings",href:"/settings"}},title:"Quick actions config",description:"Customize keyboard shortcuts and topbar shortcuts.",children:(0,t.jsx)("p",{className:"m-0 text-[0.85rem] text-muted",children:"Loading quick action settings…"})})}])}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99997,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return o},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(44066)._(e.r(33434)),i=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",o=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(s.urlQueryToSearchParams(l)));let u=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),o&&"#"!==o[0]&&(o="#"+o),u&&"?"!==u[0]&&(u="?"+u),a=a.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${c}${a}${u}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return o(e)}},70782,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(51268);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=s(e,n)),t&&(a.current=s(t,n))},[e,t])}function s(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},88334,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return s}});let n=e.r(69600),a=e.r(76636);function s(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},20612,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},70096,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return _}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let s=e.r(44066),i=e.r(8063),o=s._(e.r(51268)),l=e.r(99997),c=e.r(4411),u=e.r(70782),d=e.r(69600),p=e.r(31508);e.r(91946);let h=e.r(35302),f=e.r(92024),m=e.r(88334),b=e.r(44017);function g(t){var r,n;let a,s,g,[_,y]=(0,o.useOptimistic)(f.IDLE_LINK_STATUS),v=(0,o.useRef)(null),{href:j,as:k,children:w,prefetch:N=null,passHref:S,replace:C,shallow:E,scroll:T,onClick:P,onMouseEnter:O,onTouchStart:L,legacyBehavior:R=!1,onNavigate:A,transitionTypes:M,ref:q,unstable_dynamicOnHover:$,...D}=t;a=w,R&&("string"==typeof a||"number"==typeof a)&&(a=(0,i.jsx)("a",{children:a}));let U=o.default.useContext(c.AppRouterContext),I=!1!==N,W=!1!==N?null===(n=N)||"auto"===n?b.FetchStrategy.PPR:b.FetchStrategy.Full:b.FetchStrategy.PPR,K="string"==typeof(r=k||j)?r:(0,l.formatUrl)(r);if(R){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});s=o.default.Children.only(a)}let B=R?s&&"object"==typeof s&&s.ref:q,z=o.default.useCallback(e=>(null!==U&&(v.current=(0,f.mountLinkInstance)(e,K,U,W,I,y)),()=>{v.current&&((0,f.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,f.unmountPrefetchableInstance)(e)}),[I,K,U,W,y]),F={ref:(0,u.useMergedRef)(z,B),onClick(t){R||"function"!=typeof P||P(t),R&&s.props&&"function"==typeof s.props.onClick&&s.props.onClick(t),!U||t.defaultPrevented||function(t,r,n,a,s,i,l){if("u">typeof window){let c,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(12178);o.default.startTransition(()=>{d(r,a?"replace":"push",!1===s?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,n.current,l)})}}(t,K,v,C,T,A,M)},onMouseEnter(e){R||"function"!=typeof O||O(e),R&&s.props&&"function"==typeof s.props.onMouseEnter&&s.props.onMouseEnter(e),U&&I&&(0,f.onNavigationIntent)(e.currentTarget,!0===$)},onTouchStart:function(e){R||"function"!=typeof L||L(e),R&&s.props&&"function"==typeof s.props.onTouchStart&&s.props.onTouchStart(e),U&&I&&(0,f.onNavigationIntent)(e.currentTarget,!0===$)}};return(0,d.isAbsoluteUrl)(K)?F.href=K:R&&!S&&("a"!==s.type||"href"in s.props)||(F.href=(0,p.addBasePath)(K)),g=R?o.default.cloneElement(s,F):(0,i.jsx)("a",{...D,...F,children:a}),(0,i.jsx)(x.Provider,{value:_,children:g})}e.r(20612);let x=(0,o.createContext)(f.IDLE_LINK_STATUS),_=()=>(0,o.useContext)(x);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},29539,e=>{"use strict";var t=e.i(8063);e.s(["SettingsIcon",0,function(){return(0,t.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,t.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,t.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}])},37399,e=>{"use strict";var t=e.i(8063);e.s(["HamburgerIcon",0,function(){return(0,t.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,t.jsx)("path",{d:"M4 7h16"}),(0,t.jsx)("path",{d:"M4 12h16"}),(0,t.jsx)("path",{d:"M4 17h16"})]})}])},25204,e=>{"use strict";var t=e.i(51268),r=e.i(72074);e.s(["use_escape_to_cancel",0,function(e,n=!0){let a=(0,t.useRef)(e);a.current=e,(0,t.useEffect)(()=>{if(!n)return;let e=e=>{"Escape"!==e.key||(0,r.is_modal_dialog_open)()||(e.preventDefault(),a.current())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[n])}])},77882,e=>{"use strict";var t=e.i(48042),r=e.i(51268),n=e.i(83105),a=e.i(32417),s=e.i(46549);e.s(["use_supabase_auth_session",0,function(){let e=(0,t.useRouter)(),[i,o]=(0,r.useState)(null),[l,c]=(0,r.useState)(!1),u=(0,a.is_supabase_configured)();return(0,r.useEffect)(()=>{if(!u)return;let e=(0,n.create_browser_supabase_client)();e.auth.getSession().then(({data:{session:e}})=>{o(e?.user.email??null)}).catch(()=>{o(null)});let{data:{subscription:t}}=e.auth.onAuthStateChange((e,t)=>{o(t?.user.email??null)});return()=>{t.unsubscribe()}},[u]),{is_configured:u,email:i,is_pending:l,sign_out:(0,r.useCallback)(async()=>{c(!0);try{await fetch("/api/auth/signout",{method:"POST"});let t=(0,n.create_browser_supabase_client)();await t.auth.signOut().catch(()=>{}),(0,s.notify_settings_saved)("Signed out"),e.refresh()}finally{c(!1)}},[e])}}])},90463,e=>{"use strict";e.s(["build_auth_page_href",0,function(e,t){let r="sign_in"===e?"/login":"/register",n=t.trim();return 0===n.length||"/"===n?r:`${r}?next=${encodeURIComponent(n)}`}])},75404,73205,e=>{"use strict";var t=e.i(8063),r=e.i(70096),n=e.i(48042);let a=[{href:"/",label:"Tracker",match:e=>"/"===e}];function s(){let e=(0,n.usePathname)()??"/";return(0,t.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:a.map(n=>{let a=n.match(e);return(0,t.jsx)(r.default,{className:`rounded-full px-3 py-1.5 text-[0.85rem] font-semibold no-underline transition-colors duration-150 shrink-0 ${a?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,href:n.href,"aria-current":a?"page":void 0,children:n.label},n.href)})})}function i(){return(0,t.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,t.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"})})}var o=e.i(77882);function l(){let{email:e,is_configured:r}=(0,o.use_supabase_auth_session)();return r&&null!==e?(0,t.jsxs)("div",{className:"group relative flex items-center",children:[(0,t.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 ${e}`,role:"img",children:(0,t.jsx)(i,{})}),(0,t.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,t.jsxs)("div",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-1.5 shadow-md",children:[(0,t.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.04em] text-muted",children:"Signed in as"}),(0,t.jsx)("p",{className:"m-0 max-w-[16rem] truncate text-[0.82rem] font-medium",title:e,children:e})]})})]}):null}var c=e.i(51268),u=e.i(37399),d=e.i(90463),p=e.i(46549),h=e.i(22373);let f=new Set(h.topbar_quick_action_ids),m=["today","review","templates","search","reporting","pomodoro"];function b(e){try{let t=JSON.parse(e);if(!Array.isArray(t))return m;let r=t.filter(e=>"string"==typeof e&&f.has(e));return Array.from(new Set(r))}catch{return m}}e.s(["parse_topbar_quick_actions",0,b],73205);var g=e.i(66295),x=e.i(34869),_=e.i(92629);let y=(0,x.create_ui_preference_store)({storage_key:_.CLOUD_SYNC_ENABLED_STORAGE_KEY,default_value:_.CLOUD_SYNC_ENABLED_DEFAULT,is_valid:e=>"true"===e||"false"===e});var v=e.i(32792),j=e.i(90299),k=e.i(28274);function w(){return"u"<typeof document?"dark":"light"===document.documentElement.getAttribute("data-theme")?"light":"dark"}function N(){return w()}function S(){return"dark"}var C=e.i(35434),E=e.i(17798),T=e.i(10464),P=e.i(61834),O=e.i(81553),L=e.i(25204);let R="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",A={today:{href:"/today",label:"Today"},review:{href:"/review",label:"Review"},templates:{href:"/templates",label:"Templates"},search:{href:"/search",label:"Search"},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"}},M=new Set(["manage-tags","pomodoro","templates","sync-settings"]);function q(){let e=(0,n.useRouter)(),a=(0,n.usePathname)()??"/",s=(0,c.useSyncExternalStore)(C.subscribe_theme,N,S),i=(0,c.useSyncExternalStore)(y.subscribe,y.get_snapshot,y.get_server_snapshot),l=(0,c.useSyncExternalStore)(j.tracker_shortcut_map_preference.subscribe,j.tracker_shortcut_map_preference.get_snapshot,j.tracker_shortcut_map_preference.get_server_snapshot),f=(0,c.useSyncExternalStore)(v.topbar_quick_actions_preference.subscribe,v.topbar_quick_actions_preference.get_snapshot,v.topbar_quick_actions_preference.get_server_snapshot),m=(0,g.parse_tracker_shortcut_map)(l),x=new Set(b(f)),_=h.topbar_quick_action_ids.filter(e=>!x.has(e)),q=Array.from(new Set([...Array.from(M),..._])),{email:$,is_configured:D,is_pending:U,sign_out:I}=(0,o.use_supabase_auth_session)(),[W,K]=(0,c.useState)(!1),B=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(!W)return;let e=e=>{null===B.current||B.current.contains(e.target)||K(!1)};return document.addEventListener("pointerdown",e),()=>{document.removeEventListener("pointerdown",e)}},[W]);let z=()=>{K(!1)};return(0,L.use_escape_to_cancel)(z,W),(0,t.jsxs)("div",{className:"relative shrink-0",ref:B,children:[(0,t.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":W,"aria-haspopup":"menu",onClick:()=>K(e=>!e),children:(0,t.jsx)(u.HamburgerIcon,{})}),W?(0,t.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:[D&&null!==$?(0,t.jsx)("li",{role:"none",children:(0,t.jsx)("p",{className:"m-0 truncate px-2.5 py-1 text-[0.72rem] uppercase tracking-[0.04em] text-muted",title:$,children:$})}):null,q.map(e=>{let n=A[e];return(0,t.jsx)("li",{role:"none",children:(0,t.jsx)(r.default,{href:n.href,className:R,role:"menuitem",onClick:z,children:n.label})},e)}),D?(0,t.jsx)("li",{role:"none",children:(0,t.jsx)("button",{type:"button",className:R,role:"menuitemcheckbox","aria-checked":"true"===i,onClick:()=>{let e="true"===i?"false":"true";y.write(e),y.notify(),(0,p.notify_settings_saved)("true"===e?"Cloud sync enabled":"Cloud sync disabled"),"true"===e&&null!==$&&(0,k.run_tracker_db_cloud_sync)({merge_on_load:!0}).catch(()=>{})},children:(0,t.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,t.jsx)("span",{children:"true"===i?"Pause cloud sync":"Resume cloud sync"}),(0,t.jsx)("span",{className:"text-muted","aria-hidden":"true",children:"true"===i?"On":"Off"})]})})}):null,(0,t.jsx)("li",{className:"my-1 border-t border-panel-border",role:"separator","aria-hidden":"true"}),(0,t.jsx)("li",{role:"none",children:(0,t.jsx)("button",{type:"button",className:R,role:"menuitem",onClick:()=>{let e;z(),e="dark"===w()?"light":"dark",(0,E.apply_theme)(e),(0,O.write_stored_theme)(e),T.theme_mode_preference.write(e),(0,P.write_document_preference_cookies)({theme_mode:e,theme:e}),T.theme_mode_preference.notify(),(0,C.notify_theme_subscribers)(),(0,p.notify_settings_saved)()},suppressHydrationWarning:!0,children:(0,t.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,t.jsxs)("span",{children:["dark"===s?"Dark":"Light"," theme"]}),(0,t.jsx)("span",{"aria-hidden":"true",children:"dark"===s?"☾":"☀"})]})})}),(0,t.jsx)("li",{role:"none",children:(0,t.jsx)("button",{type:"button",className:R,role:"menuitem",onClick:()=>{let e;z(),e=m.help,document.dispatchEvent(new KeyboardEvent("keydown",{key:e,shiftKey:"?"===e,bubbles:!0}))},children:(0,t.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,t.jsx)("span",{children:"Keyboard shortcuts"}),(0,t.jsx)("span",{className:"text-muted","aria-hidden":"true",children:"(?)"})]})})}),D?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("li",{className:"my-1 border-t border-panel-border",role:"separator","aria-hidden":"true"}),null===$?(0,t.jsx)("li",{role:"none",children:(0,t.jsx)("button",{type:"button",className:R,role:"menuitem",onClick:()=>{z(),e.push((0,d.build_auth_page_href)("sign_in",a))},children:"Sign in"})}):(0,t.jsx)("li",{role:"none",children:(0,t.jsx)("button",{type:"button",className:`${R} text-danger`,role:"menuitem",disabled:U,onClick:()=>{z(),I()},children:U?"Signing out…":"Sign out"})})]}):null]}):null]})}let $=[{id:"today",href:"/today",label:"Today"},{id:"review",href:"/review",label:"Review"},{id:"templates",href:"/templates",label:"Templates"},{id:"search",href:"/search",label:"Search"},{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"}];function D(){let e=(0,n.usePathname)()??"/",a=(0,c.useSyncExternalStore)(v.topbar_quick_actions_preference.subscribe,v.topbar_quick_actions_preference.get_snapshot,v.topbar_quick_actions_preference.get_server_snapshot),s=(0,c.useMemo)(()=>b(a),[a]);if(0===s.length)return null;let i=$.filter(e=>s.includes(e.id));return 0===i.length?null:(0,t.jsx)("div",{className:"hidden items-center gap-1 min-[980px]:flex",children:i.map(n=>{let a=e.startsWith(n.href);return(0,t.jsx)(r.default,{href:n.href,className:`rounded-full px-2.5 py-1 text-[0.78rem] font-semibold no-underline transition-colors duration-150 ${a?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,"aria-current":a?"page":void 0,children:n.label},n.id)})})}var U=e.i(29539);function I(){let e=((0,n.usePathname)()??"/").startsWith("/settings");return(0,t.jsx)(r.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${e?" border-accent-border text-foreground":""}`,"aria-label":"Settings","aria-current":e?"page":void 0,children:(0,t.jsx)(U.SettingsIcon,{})})}function W({current:e,parent:n}){return(0,t.jsx)("nav",{"aria-label":"Breadcrumb",className:"min-w-0 text-left",children:(0,t.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,t.jsx)("li",{children:(0,t.jsx)(r.default,{className:"text-muted no-underline hover:text-foreground",href:"/",children:"Tracker"})}),void 0!==n?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("li",{className:"text-muted","aria-hidden":"true",children:"/"}),(0,t.jsx)("li",{children:void 0!==n.href?(0,t.jsx)(r.default,{className:"max-w-44 truncate text-muted no-underline hover:text-foreground sm:max-w-none",href:n.href,children:n.label}):(0,t.jsx)("span",{className:"max-w-44 truncate text-muted sm:max-w-none",children:n.label})})]}):null,(0,t.jsx)("li",{className:"text-muted","aria-hidden":"true",children:"/"}),(0,t.jsx)("li",{className:"max-w-44 truncate font-medium text-foreground sm:max-w-none","aria-current":"page",children:e})]})})}e.s(["TrackerTopbar",0,function({breadcrumb:e}={}){return(0,t.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,t.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,t.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!==e?(0,t.jsx)("div",{className:"min-w-0 flex-1",children:(0,t.jsx)(W,{current:e.current,parent:e.parent})}):null,(0,t.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,t.jsx)(s,{}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center justify-end gap-2",children:[(0,t.jsx)(D,{}),(0,t.jsx)(l,{}),(0,t.jsx)(I,{}),(0,t.jsx)(q,{})]})]})]})})}],75404)},52405,e=>{"use strict";e.s(["get_input_class_name",0,function(e="default"){let t="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"===e?`${t} px-2.5 py-2`:t}])},42800,e=>{"use strict";var t=e.i(8063),r=e.i(70096),n=e.i(48042);let a=[{href:"/settings",label:"General",match:e=>"/settings"===e},{href:"/settings/display",label:"Display & layout",match:e=>e.startsWith("/settings/display")},{href:"/settings/quick-actions",label:"Quick actions",match:e=>e.startsWith("/settings/quick-actions")},{href:"/settings/goals",label:"Goals",match:e=>e.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:e=>e.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:e=>e.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:e=>e.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:e=>e.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:e=>e.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:e=>e.startsWith("/settings/tags")}];e.s(["SettingsNav",0,function(){let e=(0,n.usePathname)()??"/settings";return(0,t.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,t.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:a.map(n=>{let a=n.match(e);return(0,t.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,t.jsx)(r.default,{href:n.href,"aria-current":a?"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 ${a?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:n.label})},n.href)})})})}])},77352,e=>{"use strict";var t=e.i(8063),r=e.i(42800),n=e.i(75404);e.s(["SettingsPageLayout",0,function({breadcrumb:e,title:a,description:s,children:i}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.TrackerTopbar,{breadcrumb:e}),(0,t.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,t.jsxs)("aside",{className:"flex flex-col gap-2",children:[(0,t.jsx)("h2",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Settings"}),(0,t.jsx)(r.SettingsNav,{})]}),(0,t.jsxs)("section",{className:"flex min-w-0 flex-col gap-4",children:[(0,t.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h1",{className:"m-0 text-[1.35rem] font-[650] tracking-tight",children:a}),void 0!==s?(0,t.jsx)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:s}):null]}),i]})]})]})}])},90873,e=>{"use strict";var t=e.i(8063),r=e.i(51268);let n="inline-flex shrink-0 cursor-pointer items-center gap-1.5";e.s(["Checkbox",0,function({checked:e,disabled:a=!1,indeterminate:s=!1,nested:i=!1,on_change:o,label:l,aria_label:c,className:u}){let d=(0,r.useRef)(null);(0,r.useEffect)(()=>{null!==d.current&&(d.current.indeterminate=s)},[s]);let p=void 0===u?n:`${n} ${u}`,h=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("input",{ref:d,type:"checkbox",className:"peer absolute m-0 h-px w-px overflow-hidden opacity-0",checked:e,disabled:a,"aria-label":i&&void 0===l?c:void 0,onChange:o}),(0,t.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 i?(0,t.jsx)("span",{className:p,children:h}):(0,t.jsxs)("label",{className:p,"aria-label":void 0===l?c:void 0,children:[h,void 0===l?null:(0,t.jsx)("span",{className:"select-none text-[0.8rem] leading-tight text-muted",children:l})]})}])},49996,e=>{"use strict";var t=e.i(8063),r=e.i(51268),n=e.i(90873),a=e.i(77352),s=e.i(52405),i=e.i(46549),o=e.i(73205),l=e.i(66295),c=e.i(32792),u=e.i(90299),d=e.i(22373);let p={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","zen-mode":"Toggle Zen Mode focus engine"},h={today:"Today",review:"Review",templates:"Template library",search:"Search entries",sheets:"Sheets",reporting:"Reporting",pomodoro:"Pomodoro","manage-tags":"Tag management","sync-settings":"Sync settings"};e.s(["QuickActionsSettingsView",0,function(){let[e,f]=(0,r.useState)(!1),m=(0,r.useSyncExternalStore)(u.tracker_shortcut_map_preference.subscribe,u.tracker_shortcut_map_preference.get_snapshot,u.tracker_shortcut_map_preference.get_server_snapshot),b=(0,r.useSyncExternalStore)(c.topbar_quick_actions_preference.subscribe,c.topbar_quick_actions_preference.get_snapshot,c.topbar_quick_actions_preference.get_server_snapshot),g=(0,r.useMemo)(()=>(0,l.parse_tracker_shortcut_map)(m),[m]),x=(0,r.useMemo)(()=>(0,o.parse_topbar_quick_actions)(b),[b]),[_,y]=(0,r.useState)(g);(0,r.useEffect)(()=>{f(!0)},[]),(0,r.useEffect)(()=>{y(g)},[g]);let v=(0,r.useMemo)(()=>{let e=new Map;for(let t of d.tracker_shortcut_action_ids){let r=g[t];e.set(r,(e.get(r)??0)+1)}return new Set(Array.from(e.entries()).filter(([,e])=>e>1).map(([e])=>e))},[g]);return e?(0,t.jsx)(a.SettingsPageLayout,{breadcrumb:{current:"Quick actions",parent:{label:"Settings",href:"/settings"}},title:"Quick actions config",description:"Customize keyboard shortcuts and topbar shortcuts.",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("section",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,t.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Keyboard shortcuts"}),(0,t.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,t.jsx)("div",{className:"mt-3 grid grid-cols-1 gap-2 md:grid-cols-2",children:d.tracker_shortcut_action_ids.map(e=>{var r,n,a,o;let l=g[e],c=_[e]??l,d=v.has(l),h=c!==l,f=(r=d,n=h,r?"text-danger":n?"text-muted":"text-transparent"),m=(a=d,o=h,a?"Duplicate":o?"Press Enter to save":"Ready");return(0,t.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,t.jsx)("span",{className:"text-[0.86rem]",children:p[e]}),(0,t.jsx)("input",{type:"text",className:`${(0,s.get_input_class_name)("compact")} h-8 w-14 justify-self-end px-2 text-center`,value:"?"===c?"?":c.toUpperCase(),readOnly:!0,onKeyDown:t=>((e,t)=>{if("Enter"===t.key){let r;t.preventDefault();let n=_[e];1===n.length&&(r={...g,[e]:n},u.tracker_shortcut_map_preference.write(JSON.stringify(r)),u.tracker_shortcut_map_preference.notify(),(0,i.notify_settings_saved)("Quick actions updated"));return}if("Escape"===t.key){t.preventDefault(),y(t=>({...t,[e]:g[e]}));return}if(1!==t.key.length)return;let r=t.key.toLowerCase();"abcdefghijklmnopqrstuvwxyz[]?".includes(r)&&(t.preventDefault(),y(t=>({...t,[e]:r})))})(e,t),onFocus:e=>e.currentTarget.select(),"aria-label":`${p[e]} shortcut`}),(0,t.jsx)("span",{className:`col-span-2 text-[0.72rem] ${f}`,children:m})]},e)})})]}),(0,t.jsxs)("section",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,t.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Topbar shortcuts"}),(0,t.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,t.jsx)("div",{className:"mt-3 flex flex-wrap gap-3",children:d.topbar_quick_action_ids.map(e=>(0,t.jsx)(n.Checkbox,{checked:x.includes(e),on_change:()=>{let t;return t=x.includes(e)?x.filter(t=>t!==e):[...x,e],void(c.topbar_quick_actions_preference.write(JSON.stringify(t)),c.topbar_quick_actions_preference.notify(),(0,i.notify_settings_saved)("Topbar shortcuts updated"))},label:h[e]},e))})]})]})}):(0,t.jsx)(a.SettingsPageLayout,{breadcrumb:{current:"Quick actions",parent:{label:"Settings",href:"/settings"}},title:"Quick actions config",description:"Customize keyboard shortcuts and topbar shortcuts.",children:(0,t.jsx)("p",{className:"m-0 text-[0.85rem] text-muted",children:"Loading quick action settings…"})})}])}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,72270,4572,e=>{"use strict";let r=(0,e.i(51268).createContext)(null);e.s(["ConfirmDialogContext",0,r],72270);let t=null;e.s(["get_registered_confirm_dialog",0,function(){return t},"register_confirm_dialog",0,function(e){t=e}],4572)},52663,e=>{"use strict";e.s(["get_button_class_name",0,function(e="ghost",r="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"})[r]} ${({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)]"})[e]}`}])},13349,e=>{"use strict";var r=e.i(410);e.s(["is_greedy_cloud_sync_enabled",0,function(){return"true"===r.greedy_cloud_sync_preference.read()}])},56996,8654,76900,e=>{"use strict";var r=e.i(34869),t=e.i(92629);let n=(0,r.create_ui_preference_store)({storage_key:t.FOCUS_NUDGES_ENABLED_STORAGE_KEY,default_value:t.FOCUS_NUDGES_ENABLED_DEFAULT,is_valid:e=>"true"===e||"false"===e});e.s(["focus_nudges_enabled_preference",0,n],56996);let s=(0,r.create_ui_preference_store)({storage_key:t.NO_LOG_REMINDER_MINUTES_STORAGE_KEY,default_value:t.NO_LOG_REMINDER_MINUTES_DEFAULT,is_valid:e=>{if(!/^\d+$/.test(e))return!1;let r=Number.parseInt(e,10);return r>=5&&r<=240}});e.s(["no_log_reminder_minutes_preference",0,s],8654);let l=(0,r.create_ui_preference_store)({storage_key:t.OVERWORK_ALERT_HOURS_STORAGE_KEY,default_value:t.OVERWORK_ALERT_HOURS_DEFAULT,is_valid:e=>{if(!/^\d+$/.test(e))return!1;let r=Number.parseInt(e,10);return r>=1&&r<=16}});e.s(["overwork_alert_hours_preference",0,l],76900)},80808,71122,e=>{"use strict";var r=e.i(34869),t=e.i(92629);let n=/^([01]\d|2[0-3]):[0-5]\d$/,s=(0,r.create_ui_preference_store)({storage_key:t.WORK_HOURS_END_STORAGE_KEY,default_value:t.WORK_HOURS_END_DEFAULT,is_valid:e=>n.test(e)});e.s(["work_hours_end_preference",0,s],80808);let l=/^([01]\d|2[0-3]):[0-5]\d$/,o=(0,r.create_ui_preference_store)({storage_key:t.WORK_HOURS_START_STORAGE_KEY,default_value:t.WORK_HOURS_START_DEFAULT,is_valid:e=>l.test(e)});e.s(["work_hours_start_preference",0,o],71122)},49087,e=>{"use strict";let r=new Set;e.s(["notify_in_app",0,function(e){r.forEach(r=>{r(e)})},"subscribe_in_app_notifications",0,function(e){return r.add(e),()=>{r.delete(e)}}])},48054,e=>{"use strict";e.s(["should_ignore_keyboard_shortcut",0,function(e){let r=e.target;if(!(r instanceof HTMLElement))return!1;if(r.isContentEditable)return!0;let t=r.tagName;return"INPUT"===t||"TEXTAREA"===t||"SELECT"===t}])},20647,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return s}});let n=e.r(72271);function s({reason:e,children:r}){if("u"<typeof window)throw Object.defineProperty(new n.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return r}},1247,(e,r,t)=>{"use strict";function n(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return n}})},3900,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return a}});let n=e.r(8063),s=e.r(98057),l=e.r(25809),o=e.r(1247),i=e.r(1557);function a({moduleIds:e}){if("u">typeof window)return null;let r=l.workAsyncStorage.getStore();if(void 0===r)return null;let t=[];if(r.reactLoadableManifest&&e){let n=r.reactLoadableManifest;for(let r of e){if(!n[r])continue;let e=n[r].files;t.push(...e)}}if(0===t.length)return null;let u=(0,i.getAssetTokenQuery)();return(0,n.jsx)(n.Fragment,{children:t.map(e=>{let t=`${r.assetPrefix}/_next/${(0,o.encodeURIPath)(e)}${u}`;return e.endsWith(".css")?(0,n.jsx)("link",{precedence:"dynamic",href:t,rel:"stylesheet",as:"style",nonce:r.nonce},e):((0,s.preload)(t,{as:"script",fetchPriority:"low",nonce:r.nonce}),null)})})}},38903,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let n=e.r(8063),s=e.r(51268),l=e.r(20647),o=e.r(3900);function i(e){return{default:e&&"default"in e?e.default:e}}let a={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},u=function(e){let r={...a,...e},t=(0,s.lazy)(()=>r.loader().then(i)),u=r.loading;function c(e){let i=u?(0,n.jsx)(u,{isLoading:!0,pastDelay:!0,error:null}):null,a=!r.ssr||!!r.loading,c=a?s.Suspense:s.Fragment,d=r.ssr?(0,n.jsxs)(n.Fragment,{children:["u"<typeof window?(0,n.jsx)(o.PreloadChunks,{moduleIds:r.modules}):null,(0,n.jsx)(t,{...e})]}):(0,n.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(t,{...e})});return(0,n.jsx)(c,{...a?{fallback:i}:{},children:d})}return c.displayName="LoadableComponent",c}},74323,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let n=e.r(81258)._(e.r(38903));function s(e,r){let t={};"function"==typeof e&&(t.loader=e);let s={...t,...r};return(0,n.default)({...s,modules:s.loadableGenerated?.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)},83391,14574,99211,e=>{"use strict";var r=e.i(8063),t=e.i(51268);function n({label:e,description:t,compact:s}){return(0,r.jsxs)("div",{className:"contents",children:[(0,r.jsx)("dt",{className:"m-0",children:(0,r.jsx)("kbd",{className:`inline-block min-w-7 rounded border border-panel-border bg-surface text-center font-mono font-semibold text-foreground ${s?"px-1 py-0.5 text-[0.7rem]":"px-1.5 py-0.5 text-[0.78rem]"}`,children:e})}),(0,r.jsx)("dd",{className:`m-0 self-center leading-snug text-muted ${s?"text-[0.8rem]":"text-[0.9rem]"}`,children:t})]})}function s({sections:e,compact:t=!1}){return(0,r.jsx)("div",{className:`flex flex-col ${t?"gap-2.5":"gap-4"}`,children:e.map(e=>(0,r.jsxs)("section",{children:[(0,r.jsx)("h3",{className:`m-0 font-semibold uppercase tracking-[0.04em] text-muted ${t?"text-[0.65rem]":"text-[0.72rem]"}`,children:e.title}),(0,r.jsx)("dl",{className:`m-0 grid grid-cols-[auto_minmax(0,1fr)] ${t?"mt-1.5 gap-x-3 gap-y-1.5":"mt-2 gap-x-4 gap-y-2"}`,children:e.entries.map(s=>(0,r.jsx)(n,{label:s.label,description:s.description,compact:t},`${e.title}-${s.label}-${s.description}`))})]},e.title))})}var l=e.i(52663);e.s(["KeyboardShortcutsDialog",0,function({sections:e,on_close:n}){let o=(0,t.useId)(),i=(0,t.useRef)(null);return(0,t.useEffect)(()=>{i.current?.focus();let e=e=>{"Escape"===e.key&&n()};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[n]),(0,r.jsxs)("div",{className:"fixed inset-0 z-100 flex items-center justify-center p-5",role:"presentation",children:[(0,r.jsx)("button",{type:"button",className:"absolute inset-0 cursor-default border-0 bg-overlay p-0","aria-label":"Dismiss dialog",onClick:n}),(0,r.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":o,className:"relative z-1 w-full max-w-lg rounded-lg border border-panel-border bg-panel p-5 shadow-md",children:[(0,r.jsx)("h2",{id:o,className:"m-0 text-[1.1rem] font-[650] tracking-tight",children:"Keyboard shortcuts"}),(0,r.jsx)("div",{className:"mt-4 max-h-[min(28rem,70vh)] overflow-y-auto pr-1",children:(0,r.jsx)(s,{sections:e})}),(0,r.jsx)("div",{className:"mt-5 flex justify-end",children:(0,r.jsx)("button",{ref:i,type:"button",className:(0,l.get_button_class_name)("primary"),onClick:n,children:"Close"})})]})]})}],83391);var o=e.i(22373);e.s(["get_tracker_keyboard_shortcut_sections",0,function(e=o.tracker_shortcut_defaults){return[...function(e="?"){return[{title:"General",entries:[{label:"Ctrl+P",description:"Open command palette"},{label:e,description:"Show keyboard shortcuts"}]}]}("?"===e.help?"?":e.help.toUpperCase()),{title:"Tracker",entries:[{label:e["check-in"].toUpperCase(),description:"Check in (focus description)"},{label:e["check-out"].toUpperCase(),description:"Check out"},{label:e["edit-entry"].toUpperCase(),description:"Edit active entry description"},{label:e["add-note"].toUpperCase(),description:"Add note to active entry"},{label:e.pomodoro.toUpperCase(),description:"Open Pomodoro"},{label:e["previous-sheet"],description:"Previous sheet"},{label:e["next-sheet"],description:"Next sheet"},{label:e["zen-mode"].toUpperCase(),description:"Toggle Zen Mode focus engine"}]}]}],14574);var i=e.i(72074),a=e.i(48054);e.s(["use_document_keyboard_shortcuts",0,function(e){let r=(0,t.useRef)(e);r.current=e,(0,t.useEffect)(()=>{let e=e=>{if(!(0,a.should_ignore_keyboard_shortcut)(e)&&!(0,i.is_modal_dialog_open)()){for(let t of r.current)if(t.is_available?.()!==!1&&function(e,r){let t=r.modifiers??[],n=t.includes("alt"),s=t.includes("ctrl"),l=t.includes("meta"),o=t.includes("shift");return e.altKey===n&&e.ctrlKey===s&&e.metaKey===l&&e.shiftKey===o&&(1===e.key.length?e.key.toLowerCase():e.key)===(1===r.key.length?r.key.toLowerCase():r.key)}(e,t)){e.preventDefault(),t.action();return}}};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[])}],99211)},14974,e=>{"use strict";var r=e.i(8063),t=e.i(51268),n=e.i(52663);function s({options:e,on_confirm:l,on_cancel:o}){let i=(0,t.useId)(),a=(0,t.useRef)(null),u=(0,t.useRef)(null),{cancelLabel:c="Cancel",confirmLabel:d="Confirm",message:_,title:f,variant:m="default"}=e;(0,t.useEffect)(()=>{let e=a.current;if(null!==e&&!e.open)return e.showModal(),()=>{e.open&&e.close()}},[]),(0,t.useEffect)(()=>{u.current?.focus()},[]);let p=()=>{a.current?.close(),o()};return(0,r.jsxs)("dialog",{ref:a,"aria-labelledby":i,className:"fixed inset-0 z-100 m-0 flex max-h-none w-full max-w-none items-center justify-center border-0 bg-transparent p-5 backdrop:bg-overlay open:flex",onCancel:e=>{e.preventDefault(),p()},children:[(0,r.jsx)("button",{type:"button",tabIndex:-1,"aria-label":"Dismiss dialog",className:"absolute inset-0 z-0 cursor-default border-0 bg-transparent p-0",onClick:p}),(0,r.jsxs)("div",{className:"relative z-1 w-full max-w-md rounded-lg border border-panel-border bg-panel p-5 shadow-md",children:[(0,r.jsx)("h2",{id:i,className:"m-0 text-[1.1rem] font-[650] tracking-tight",children:f}),(0,r.jsx)("p",{className:"m-0 mt-2 text-[0.9rem] leading-relaxed text-muted",children:_}),(0,r.jsxs)("div",{className:"mt-5 flex flex-wrap justify-end gap-2",children:[(0,r.jsx)("button",{type:"button",className:(0,n.get_button_class_name)("ghost"),onClick:p,children:c}),(0,r.jsx)("button",{ref:u,type:"button",className:(0,n.get_button_class_name)("danger"===m?"danger":"primary"),onClick:l,children:d})]})]})]})}var l=e.i(72270),o=e.i(4572);e.s(["ConfirmDialogProvider",0,function({children:e}){let[n,i]=(0,t.useState)(null),a=(0,t.useCallback)(e=>new Promise(r=>{i({options:e,resolve:r})}),[]);(0,o.register_confirm_dialog)(a),(0,t.useEffect)(()=>((0,o.register_confirm_dialog)(a),()=>{(0,o.register_confirm_dialog)(null)}),[a]);let u=(0,t.useMemo)(()=>({confirm:a}),[a]),c=e=>{n?.resolve(e),i(null)};return(0,r.jsxs)(l.ConfirmDialogContext.Provider,{value:u,children:[e,null===n?null:(0,r.jsx)(s,{options:n.options,on_confirm:()=>c(!0),on_cancel:()=>c(!1)})]})}],14974)},72162,e=>{"use strict";let r={runningEntry:null},t=new Set;e.s(["get_tracker_running_entry_snapshot",0,function(){return r},"publish_tracker_running_entry",0,function(e){r={runningEntry:e},t.forEach(e=>{e()})},"subscribe_tracker_running_entry",0,function(e){return t.add(e),()=>{t.delete(e)}}])},64324,e=>{"use strict";var r=e.i(8063),t=e.i(74323),n=e.i(48042),s=e.i(51268),l=e.i(83391),o=e.i(14574),i=e.i(66295),a=e.i(90299),u=e.i(99211);function c(){let e=(0,n.usePathname)(),[t,c]=(0,s.useState)(!1),d="/"===e,_=(0,s.useSyncExternalStore)(a.tracker_shortcut_map_preference.subscribe,a.tracker_shortcut_map_preference.get_snapshot,a.tracker_shortcut_map_preference.get_server_snapshot),f=(0,s.useMemo)(()=>(0,i.parse_tracker_shortcut_map)(_),[_]),m=f.help,p=(0,s.useMemo)(()=>{if(d)return[];let e="?"===m?["shift"]:[];return[{id:"help",label:"?"===m?"?":m.toUpperCase(),description:"Show keyboard shortcuts",key:m,modifiers:e,action:()=>{c(e=>!e)}}]},[m,d]);return((0,u.use_document_keyboard_shortcuts)(p),t&&!d)?(0,r.jsx)(l.KeyboardShortcutsDialog,{sections:(0,o.get_tracker_keyboard_shortcut_sections)(f),on_close:()=>c(!1)}):null}var d=e.i(83105),_=e.i(18324),f=e.i(89497),m=e.i(13582);async function p(){await (0,m.with_ui_preferences_merge_guard)(async()=>{let e=(0,f.collect_ui_preferences_from_window)(),r=await fetch("/api/ui-preferences/merge-on-load",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({preferences:e})});if(!r.ok)throw Error((await r.json()).error??"UI preferences merge on load failed");let t=await r.json();(0,_.apply_ui_preferences_from_record)(t.preferences??{})})}var h=e.i(76670),b=e.i(44171),g=e.i(32417),y=e.i(28274);function x(e){"function"==typeof globalThis.requestIdleCallback?globalThis.requestIdleCallback(()=>{e()}):globalThis.setTimeout(e,1)}var v=e.i(13349);function w(){return(0,v.is_greedy_cloud_sync_enabled)()}function E({children:e}){let t=(0,n.useRouter)(),l=(0,n.usePathname)(),o=(0,s.useRef)(null),i=(0,s.useRef)(!0),a=(0,s.useRef)(void 0);return(0,s.useEffect)(()=>{if(!(0,g.is_supabase_configured)()||!(0,b.is_cloud_sync_enabled)())return;let e=(0,d.create_browser_supabase_client)(),r=e=>{!w()&&(0,h.has_tracker_db_merged_this_browser_session)()?p().catch(()=>{}):(0,y.run_tracker_db_cloud_sync)({merge_on_load:!0,on_complete:e?()=>{t.refresh()}:void 0}).catch(()=>{})};e.auth.getSession().then(({data:{session:e}})=>{a.current=e?.user.id??null,null!==e&&x(()=>{r(!1)})}).catch(()=>{a.current=null});let{data:{subscription:n}}=e.auth.onAuthStateChange((e,n)=>{if("SIGNED_IN"===e){let e=n?.user.id??null;if(void 0===a.current||e===a.current)return;a.current=e,x(()=>{(0,h.clear_tracker_db_merged_this_browser_session)(),o.current=null,i.current=!0,r(!0)});return}"SIGNED_OUT"===e&&(a.current=null,(0,h.clear_tracker_db_merged_this_browser_session)(),o.current=null,i.current=!0,t.refresh())});return()=>{n.unsubscribe()}},[t]),(0,s.useEffect)(()=>{if((0,g.is_supabase_configured)()&&(0,b.is_cloud_sync_enabled)()&&w()){if(i.current){i.current=!1,o.current=l;return}o.current!==l&&(o.current=l,x(()=>{(0,y.run_tracker_db_cloud_sync)({merge_on_load:!0}).catch(()=>{})}))}},[l]),(0,r.jsx)(r.Fragment,{children:e})}var k=e.i(14974),j=e.i(56996),S=e.i(8654),N=e.i(76900),T=e.i(80808),C=e.i(71122);function R(){return void 0!==globalThis.window&&"Notification"in globalThis.window}var P=e.i(72162);let O=e=>{let r=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);return null===r?null:60*Number.parseInt(r[1],10)+Number.parseInt(r[2],10)};function I(){let e=(0,s.useSyncExternalStore)(j.focus_nudges_enabled_preference.subscribe,j.focus_nudges_enabled_preference.get_snapshot,j.focus_nudges_enabled_preference.get_server_snapshot),r=(0,s.useSyncExternalStore)(S.no_log_reminder_minutes_preference.subscribe,S.no_log_reminder_minutes_preference.get_snapshot,S.no_log_reminder_minutes_preference.get_server_snapshot),t=(0,s.useSyncExternalStore)(N.overwork_alert_hours_preference.subscribe,N.overwork_alert_hours_preference.get_snapshot,N.overwork_alert_hours_preference.get_server_snapshot),n=(0,s.useSyncExternalStore)(C.work_hours_start_preference.subscribe,C.work_hours_start_preference.get_snapshot,C.work_hours_start_preference.get_server_snapshot),l=(0,s.useSyncExternalStore)(T.work_hours_end_preference.subscribe,T.work_hours_end_preference.get_snapshot,T.work_hours_end_preference.get_server_snapshot),o=(0,s.useSyncExternalStore)(P.subscribe_tracker_running_entry,()=>(0,P.get_tracker_running_entry_snapshot)().runningEntry,()=>null),i=(0,s.useRef)(0),a=(0,s.useRef)(null);return(0,s.useEffect)(()=>{R()&&"true"===e&&"default"===globalThis.window.Notification.permission&&globalThis.window.Notification.requestPermission().catch(()=>{})},[e]),(0,s.useEffect)(()=>{if(!R()||"true"!==e)return;let s=60*Math.max(1,Number.parseInt(t,10)||1)*6e4,u=60*Math.max(1,Number.parseInt(r,10)||1)*1e3,c=(e,r)=>{void 0===globalThis.window||"granted"!==globalThis.window.Notification.permission||(new globalThis.window.Notification(e,{body:r}).onclose=null)},d=()=>{let e=new Date,r=e.getTime();if(null===o&&((e,r,t)=>{let n=O(r),s=O(t);if(null===n||null===s)return!1;let l=e.getDay();if(0===l||6===l)return!1;let o=60*e.getHours()+e.getMinutes();return n<=s?o>=n&&o<s:o>=n||o<s})(e,n,l)&&r-i.current>=u&&(c("No active timer during work hours","Start tracking or check in to keep your work log current."),i.current=r),null===o){a.current=null;return}let d=Date.parse(o.start);if(!Number.isFinite(d))return;let _=`${o.sheetName}-${o.id}`;r-d>=s&&a.current!==_&&(c("Long-running timer detected",`Timer has been running for over ${t}h. Consider splitting: ${o.description}`),a.current=_)};d();let _=globalThis.window.setInterval(d,6e4);return()=>{globalThis.window.clearInterval(_)}},[e,r,t,l,n,o]),null}var D=e.i(52663);let L="super-time-tracker-pwa-install-notice-dismissed";function U(){let[e,t]=(0,s.useState)(null),[n,l]=(0,s.useState)(!0),[o,i]=(0,s.useState)(!1);return((0,s.useEffect)(()=>{let e=window.matchMedia("(display-mode: standalone)").matches||"standalone"in navigator&&!0===navigator.standalone,r="true"===window.localStorage.getItem(L);if(e||r)return void l(!0);l(!1);let n=e=>{e.preventDefault(),t(e)},s=()=>{window.localStorage.setItem(L,"true"),l(!0),t(null)};return window.addEventListener("beforeinstallprompt",n),window.addEventListener("appinstalled",s),()=>{window.removeEventListener("beforeinstallprompt",n),window.removeEventListener("appinstalled",s)}},[]),n)?null:(0,r.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,r.jsx)("p",{className:"m-0 text-[0.9rem] font-semibold",children:"Install app"}),(0,r.jsx)("p",{className:"m-0 mt-1 text-[0.82rem] leading-snug text-muted",children:null!==e?"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,r.jsxs)("div",{className:"mt-3 flex gap-2",children:[null!==e?(0,r.jsx)("button",{type:"button",className:(0,D.get_button_class_name)("primary","small"),disabled:o,onClick:()=>{i(!0),e.prompt().then(async()=>{"accepted"===(await e.userChoice).outcome&&(window.localStorage.setItem(L,"true"),l(!0))}).finally(()=>{i(!1),t(null)})},children:o?"Opening…":"Install"}):null,(0,r.jsx)("button",{type:"button",className:(0,D.get_button_class_name)("ghost","small"),onClick:()=>{window.localStorage.setItem(L,"true"),l(!0)},children:"Dismiss"})]})]})}var A=e.i(47149);function M(){var e;let[t,n]=(0,s.useState)(null);if((0,s.useEffect)(()=>{let e=null,r=(0,A.subscribe_cloud_db_sync)(r=>{n(r),null!==e&&(clearTimeout(e),e=null),(r?.phase==="success"||r?.phase==="error")&&(e=setTimeout(()=>{n(null),e=null},2800))});return()=>{r(),null!==e&&clearTimeout(e)}},[]),null===t)return null;let l="syncing"===t.phase,o="error"===t.phase,i="success"===(e=t.phase)?100:"error"===e?0:null;return(0,r.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,r.jsx)("p",{className:"m-0 mb-2.5 leading-snug",children:t.message}),(0,r.jsx)("div",{className:"h-1 overflow-hidden rounded-full bg-[color-mix(in_srgb,var(--accent)_22%,var(--panel-border))]","aria-hidden":"true",children:l?(0,r.jsx)("div",{className:"cloud-db-sync-progress-indeterminate h-full w-1/3 rounded-full bg-accent"}):(0,r.jsx)("div",{className:`h-full rounded-full transition-[width] duration-300 ease-out ${o?"bg-danger":"bg-accent"}`,style:{width:`${i??0}%`}})})]})}var $=e.i(49087);function K(){let[e,t]=(0,s.useState)(null);return((0,s.useEffect)(()=>{let e=null,r=(0,$.subscribe_in_app_notifications)(r=>{t(r),null!==e&&clearTimeout(e),e=setTimeout(()=>{t(null),e=null},3200)});return()=>{r(),null!==e&&clearTimeout(e)}},[]),null===e)?null:(0,r.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,r.jsx)("p",{className:"m-0 text-[0.84rem] font-semibold",children:e.title}),(0,r.jsx)("p",{className:"m-0 mt-0.5 text-[0.8rem] leading-snug text-muted",children:e.body})]})}var G=e.i(46549);function F(){let[e,t]=(0,s.useState)(null);return((0,s.useEffect)(()=>{let e=null,r=(0,G.subscribe_settings_saved)(r=>{t(r),null!==e&&clearTimeout(e),e=setTimeout(()=>{t(null),e=null},2800)});return()=>{r(),null!==e&&clearTimeout(e)}},[]),null===e)?null:(0,r.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:e||G.SETTINGS_SAVED_DEFAULT_MESSAGE})}function z(){return(0,r.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,r.jsx)(K,{}),(0,r.jsx)(M,{}),(0,r.jsx)(F,{})]})}let W=(0,t.default)(()=>e.A(58067).then(e=>({default:e.CommandPaletteProvider})),{loadableGenerated:{modules:[78331]}});e.s(["AppProviders",0,function({children:e}){return(0,r.jsx)(k.ConfirmDialogProvider,{children:(0,r.jsxs)(E,{children:[e,(0,r.jsx)(c,{}),(0,r.jsx)(W,{}),(0,r.jsx)(I,{}),(0,r.jsx)(z,{}),(0,r.jsx)(U,{})]})})}],64324)},19943,e=>{"use strict";var r=e.i(51268),t=e.i(53602);e.s(["DocumentPreferencesInit",0,function(){return(0,r.useLayoutEffect)(()=>{(0,t.apply_ui_preferences_dom_from_window)()},[]),null}])},33334,e=>{"use strict";var r=e.i(51268);e.s(["PwaRegister",0,function(){return(0,r.useEffect)(()=>{"serviceWorker"in navigator&&"caches"in window&&navigator.serviceWorker.register("/sw.js").then(()=>{let e;0!==(e="u"<typeof document?[]:[...new Set([...Array.from(document.querySelectorAll("script[src]")).map(e=>e.src).filter(e=>e.length>0),...Array.from(document.querySelectorAll('link[rel="stylesheet"],link[rel="modulepreload"],link[rel="preload"][as="script"],link[rel="preload"][as="style"]')).map(e=>e.href).filter(e=>e.length>0)])].filter(e=>{try{return new URL(e).origin===window.location.origin}catch{return!1}})).length&&caches.open("super-time-tracker-shell-v1").then(r=>Promise.all(e.map(e=>fetch(e,{cache:"no-store"}).then(t=>t.ok?r.put(e,t.clone()):Promise.resolve()).catch(()=>Promise.resolve()))))})},[]),null}])},89391,e=>{"use strict";var r=e.i(51268),t=e.i(17798),n=e.i(35434),s=e.i(70223),l=e.i(10464),o=e.i(61834),i=e.i(81553);e.s(["ThemeModeSystemListener",0,function(){return(0,r.useEffect)(()=>{let e=window.matchMedia("(prefers-color-scheme: light)"),r=()=>{if("system"!==l.theme_mode_preference.read())return;let e=(0,s.resolve_theme_mode_to_theme)("system");(0,t.apply_theme)(e),(0,i.write_stored_theme)(e),(0,o.write_document_preference_cookies)({theme_mode:"system",theme:e}),(0,n.notify_theme_subscribers)()};return e.addEventListener("change",r),()=>{e.removeEventListener("change",r)}},[]),null}])},10289,e=>{"use strict";var r=e.i(51268),t=e.i(53602),n=e.i(60609);e.s(["UiPreferencesDocumentSync",0,function(){return(0,r.useEffect)(()=>{let e=()=>{(0,t.apply_ui_preferences_dom_from_window)()};return window.addEventListener(n.UI_PREFERENCES_APPLIED_EVENT,e),()=>{window.removeEventListener(n.UI_PREFERENCES_APPLIED_EVENT,e)}},[]),null}])},58067,e=>{e.v(r=>Promise.all(["static/chunks/0io.jffavun5t.js"].map(r=>e.l(r))).then(()=>r(78331)))}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,72270,4572,e=>{"use strict";let r=(0,e.i(51268).createContext)(null);e.s(["ConfirmDialogContext",0,r],72270);let t=null;e.s(["get_registered_confirm_dialog",0,function(){return t},"register_confirm_dialog",0,function(e){t=e}],4572)},52663,e=>{"use strict";e.s(["get_button_class_name",0,function(e="ghost",r="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"})[r]} ${({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)]"})[e]}`}])},13349,e=>{"use strict";var r=e.i(410);e.s(["is_greedy_cloud_sync_enabled",0,function(){return"true"===r.greedy_cloud_sync_preference.read()}])},56996,8654,76900,e=>{"use strict";var r=e.i(34869),t=e.i(92629);let n=(0,r.create_ui_preference_store)({storage_key:t.FOCUS_NUDGES_ENABLED_STORAGE_KEY,default_value:t.FOCUS_NUDGES_ENABLED_DEFAULT,is_valid:e=>"true"===e||"false"===e});e.s(["focus_nudges_enabled_preference",0,n],56996);let s=(0,r.create_ui_preference_store)({storage_key:t.NO_LOG_REMINDER_MINUTES_STORAGE_KEY,default_value:t.NO_LOG_REMINDER_MINUTES_DEFAULT,is_valid:e=>{if(!/^\d+$/.test(e))return!1;let r=Number.parseInt(e,10);return r>=5&&r<=240}});e.s(["no_log_reminder_minutes_preference",0,s],8654);let l=(0,r.create_ui_preference_store)({storage_key:t.OVERWORK_ALERT_HOURS_STORAGE_KEY,default_value:t.OVERWORK_ALERT_HOURS_DEFAULT,is_valid:e=>{if(!/^\d+$/.test(e))return!1;let r=Number.parseInt(e,10);return r>=1&&r<=16}});e.s(["overwork_alert_hours_preference",0,l],76900)},80808,71122,e=>{"use strict";var r=e.i(34869),t=e.i(92629);let n=/^([01]\d|2[0-3]):[0-5]\d$/,s=(0,r.create_ui_preference_store)({storage_key:t.WORK_HOURS_END_STORAGE_KEY,default_value:t.WORK_HOURS_END_DEFAULT,is_valid:e=>n.test(e)});e.s(["work_hours_end_preference",0,s],80808);let l=/^([01]\d|2[0-3]):[0-5]\d$/,o=(0,r.create_ui_preference_store)({storage_key:t.WORK_HOURS_START_STORAGE_KEY,default_value:t.WORK_HOURS_START_DEFAULT,is_valid:e=>l.test(e)});e.s(["work_hours_start_preference",0,o],71122)},49087,e=>{"use strict";let r=new Set;e.s(["notify_in_app",0,function(e){r.forEach(r=>{r(e)})},"subscribe_in_app_notifications",0,function(e){return r.add(e),()=>{r.delete(e)}}])},48054,e=>{"use strict";e.s(["should_ignore_keyboard_shortcut",0,function(e){let r=e.target;if(!(r instanceof HTMLElement))return!1;if(r.isContentEditable)return!0;let t=r.tagName;return"INPUT"===t||"TEXTAREA"===t||"SELECT"===t}])},20647,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return s}});let n=e.r(72271);function s({reason:e,children:r}){if("u"<typeof window)throw Object.defineProperty(new n.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return r}},1247,(e,r,t)=>{"use strict";function n(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return n}})},3900,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return a}});let n=e.r(8063),s=e.r(98057),l=e.r(25809),o=e.r(1247),i=e.r(1557);function a({moduleIds:e}){if("u">typeof window)return null;let r=l.workAsyncStorage.getStore();if(void 0===r)return null;let t=[];if(r.reactLoadableManifest&&e){let n=r.reactLoadableManifest;for(let r of e){if(!n[r])continue;let e=n[r].files;t.push(...e)}}if(0===t.length)return null;let u=(0,i.getAssetTokenQuery)();return(0,n.jsx)(n.Fragment,{children:t.map(e=>{let t=`${r.assetPrefix}/_next/${(0,o.encodeURIPath)(e)}${u}`;return e.endsWith(".css")?(0,n.jsx)("link",{precedence:"dynamic",href:t,rel:"stylesheet",as:"style",nonce:r.nonce},e):((0,s.preload)(t,{as:"script",fetchPriority:"low",nonce:r.nonce}),null)})})}},38903,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let n=e.r(8063),s=e.r(51268),l=e.r(20647),o=e.r(3900);function i(e){return{default:e&&"default"in e?e.default:e}}let a={loader:()=>Promise.resolve(i(()=>null)),loading:null,ssr:!0},u=function(e){let r={...a,...e},t=(0,s.lazy)(()=>r.loader().then(i)),u=r.loading;function c(e){let i=u?(0,n.jsx)(u,{isLoading:!0,pastDelay:!0,error:null}):null,a=!r.ssr||!!r.loading,c=a?s.Suspense:s.Fragment,d=r.ssr?(0,n.jsxs)(n.Fragment,{children:["u"<typeof window?(0,n.jsx)(o.PreloadChunks,{moduleIds:r.modules}):null,(0,n.jsx)(t,{...e})]}):(0,n.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(t,{...e})});return(0,n.jsx)(c,{...a?{fallback:i}:{},children:d})}return c.displayName="LoadableComponent",c}},74323,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}});let n=e.r(81258)._(e.r(38903));function s(e,r){let t={};"function"==typeof e&&(t.loader=e);let s={...t,...r};return(0,n.default)({...s,modules:s.loadableGenerated?.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)},83391,14574,99211,e=>{"use strict";var r=e.i(8063),t=e.i(51268);function n({label:e,description:t,compact:s}){return(0,r.jsxs)("div",{className:"contents",children:[(0,r.jsx)("dt",{className:"m-0",children:(0,r.jsx)("kbd",{className:`inline-block min-w-7 rounded border border-panel-border bg-surface text-center font-mono font-semibold text-foreground ${s?"px-1 py-0.5 text-[0.7rem]":"px-1.5 py-0.5 text-[0.78rem]"}`,children:e})}),(0,r.jsx)("dd",{className:`m-0 self-center leading-snug text-muted ${s?"text-[0.8rem]":"text-[0.9rem]"}`,children:t})]})}function s({sections:e,compact:t=!1}){return(0,r.jsx)("div",{className:`flex flex-col ${t?"gap-2.5":"gap-4"}`,children:e.map(e=>(0,r.jsxs)("section",{children:[(0,r.jsx)("h3",{className:`m-0 font-semibold uppercase tracking-[0.04em] text-muted ${t?"text-[0.65rem]":"text-[0.72rem]"}`,children:e.title}),(0,r.jsx)("dl",{className:`m-0 grid grid-cols-[auto_minmax(0,1fr)] ${t?"mt-1.5 gap-x-3 gap-y-1.5":"mt-2 gap-x-4 gap-y-2"}`,children:e.entries.map(s=>(0,r.jsx)(n,{label:s.label,description:s.description,compact:t},`${e.title}-${s.label}-${s.description}`))})]},e.title))})}var l=e.i(52663);e.s(["KeyboardShortcutsDialog",0,function({sections:e,on_close:n}){let o=(0,t.useId)(),i=(0,t.useRef)(null);return(0,t.useEffect)(()=>{i.current?.focus();let e=e=>{"Escape"===e.key&&n()};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[n]),(0,r.jsxs)("div",{className:"fixed inset-0 z-100 flex items-center justify-center p-5",role:"presentation",children:[(0,r.jsx)("button",{type:"button",className:"absolute inset-0 cursor-default border-0 bg-overlay p-0","aria-label":"Dismiss dialog",onClick:n}),(0,r.jsxs)("div",{role:"dialog","aria-modal":"true","aria-labelledby":o,className:"relative z-1 w-full max-w-lg rounded-lg border border-panel-border bg-panel p-5 shadow-md",children:[(0,r.jsx)("h2",{id:o,className:"m-0 text-[1.1rem] font-[650] tracking-tight",children:"Keyboard shortcuts"}),(0,r.jsx)("div",{className:"mt-4 max-h-[min(28rem,70vh)] overflow-y-auto pr-1",children:(0,r.jsx)(s,{sections:e})}),(0,r.jsx)("div",{className:"mt-5 flex justify-end",children:(0,r.jsx)("button",{ref:i,type:"button",className:(0,l.get_button_class_name)("primary"),onClick:n,children:"Close"})})]})]})}],83391);var o=e.i(22373);e.s(["get_tracker_keyboard_shortcut_sections",0,function(e=o.tracker_shortcut_defaults){return[...function(e="?"){return[{title:"General",entries:[{label:"Ctrl+P",description:"Open command palette"},{label:e,description:"Show keyboard shortcuts"}]}]}("?"===e.help?"?":e.help.toUpperCase()),{title:"Tracker",entries:[{label:e["check-in"].toUpperCase(),description:"Check in (focus description)"},{label:e["check-out"].toUpperCase(),description:"Check out"},{label:e["edit-entry"].toUpperCase(),description:"Edit active entry description"},{label:e["add-note"].toUpperCase(),description:"Add note to active entry"},{label:e.pomodoro.toUpperCase(),description:"Open Pomodoro"},{label:e["previous-sheet"],description:"Previous sheet"},{label:e["next-sheet"],description:"Next sheet"},{label:e["zen-mode"].toUpperCase(),description:"Toggle Zen Mode focus engine"}]}]}],14574);var i=e.i(72074),a=e.i(48054);e.s(["use_document_keyboard_shortcuts",0,function(e){let r=(0,t.useRef)(e);r.current=e,(0,t.useEffect)(()=>{let e=e=>{if(!(0,a.should_ignore_keyboard_shortcut)(e)&&!(0,i.is_modal_dialog_open)()){for(let t of r.current)if(t.is_available?.()!==!1&&function(e,r){let t=r.modifiers??[],n=t.includes("alt"),s=t.includes("ctrl"),l=t.includes("meta"),o=t.includes("shift");return e.altKey===n&&e.ctrlKey===s&&e.metaKey===l&&e.shiftKey===o&&(1===e.key.length?e.key.toLowerCase():e.key)===(1===r.key.length?r.key.toLowerCase():r.key)}(e,t)){e.preventDefault(),t.action();return}}};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[])}],99211)},14974,e=>{"use strict";var r=e.i(8063),t=e.i(51268),n=e.i(52663);function s({options:e,on_confirm:l,on_cancel:o}){let i=(0,t.useId)(),a=(0,t.useRef)(null),u=(0,t.useRef)(null),{cancelLabel:c="Cancel",confirmLabel:d="Confirm",message:_,title:f,variant:m="default"}=e;(0,t.useEffect)(()=>{let e=a.current;if(null!==e&&!e.open)return e.showModal(),()=>{e.open&&e.close()}},[]),(0,t.useEffect)(()=>{u.current?.focus()},[]);let p=()=>{a.current?.close(),o()};return(0,r.jsxs)("dialog",{ref:a,"aria-labelledby":i,className:"fixed inset-0 z-100 m-0 flex max-h-none w-full max-w-none items-center justify-center border-0 bg-transparent p-5 backdrop:bg-overlay open:flex",onCancel:e=>{e.preventDefault(),p()},children:[(0,r.jsx)("button",{type:"button",tabIndex:-1,"aria-label":"Dismiss dialog",className:"absolute inset-0 z-0 cursor-default border-0 bg-transparent p-0",onClick:p}),(0,r.jsxs)("div",{className:"relative z-1 w-full max-w-md rounded-lg border border-panel-border bg-panel p-5 shadow-md",children:[(0,r.jsx)("h2",{id:i,className:"m-0 text-[1.1rem] font-[650] tracking-tight",children:f}),(0,r.jsx)("p",{className:"m-0 mt-2 text-[0.9rem] leading-relaxed text-muted",children:_}),(0,r.jsxs)("div",{className:"mt-5 flex flex-wrap justify-end gap-2",children:[(0,r.jsx)("button",{type:"button",className:(0,n.get_button_class_name)("ghost"),onClick:p,children:c}),(0,r.jsx)("button",{ref:u,type:"button",className:(0,n.get_button_class_name)("danger"===m?"danger":"primary"),onClick:l,children:d})]})]})]})}var l=e.i(72270),o=e.i(4572);e.s(["ConfirmDialogProvider",0,function({children:e}){let[n,i]=(0,t.useState)(null),a=(0,t.useCallback)(e=>new Promise(r=>{i({options:e,resolve:r})}),[]);(0,o.register_confirm_dialog)(a),(0,t.useEffect)(()=>((0,o.register_confirm_dialog)(a),()=>{(0,o.register_confirm_dialog)(null)}),[a]);let u=(0,t.useMemo)(()=>({confirm:a}),[a]),c=e=>{n?.resolve(e),i(null)};return(0,r.jsxs)(l.ConfirmDialogContext.Provider,{value:u,children:[e,null===n?null:(0,r.jsx)(s,{options:n.options,on_confirm:()=>c(!0),on_cancel:()=>c(!1)})]})}],14974)},72162,e=>{"use strict";let r={runningEntry:null},t=new Set;e.s(["get_tracker_running_entry_snapshot",0,function(){return r},"publish_tracker_running_entry",0,function(e){r={runningEntry:e},t.forEach(e=>{e()})},"subscribe_tracker_running_entry",0,function(e){return t.add(e),()=>{t.delete(e)}}])},64324,e=>{"use strict";var r=e.i(8063),t=e.i(74323),n=e.i(48042),s=e.i(51268),l=e.i(83391),o=e.i(14574),i=e.i(66295),a=e.i(90299),u=e.i(99211);function c(){let e=(0,n.usePathname)(),[t,c]=(0,s.useState)(!1),d="/"===e,_=(0,s.useSyncExternalStore)(a.tracker_shortcut_map_preference.subscribe,a.tracker_shortcut_map_preference.get_snapshot,a.tracker_shortcut_map_preference.get_server_snapshot),f=(0,s.useMemo)(()=>(0,i.parse_tracker_shortcut_map)(_),[_]),m=f.help,p=(0,s.useMemo)(()=>{if(d)return[];let e="?"===m?["shift"]:[];return[{id:"help",label:"?"===m?"?":m.toUpperCase(),description:"Show keyboard shortcuts",key:m,modifiers:e,action:()=>{c(e=>!e)}}]},[m,d]);return((0,u.use_document_keyboard_shortcuts)(p),t&&!d)?(0,r.jsx)(l.KeyboardShortcutsDialog,{sections:(0,o.get_tracker_keyboard_shortcut_sections)(f),on_close:()=>c(!1)}):null}var d=e.i(83105),_=e.i(18324),f=e.i(89497),m=e.i(13582);async function p(){await (0,m.with_ui_preferences_merge_guard)(async()=>{let e=(0,f.collect_ui_preferences_from_window)(),r=await fetch("/api/ui-preferences/merge-on-load",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({preferences:e})});if(!r.ok)throw Error((await r.json()).error??"UI preferences merge on load failed");let t=await r.json();(0,_.apply_ui_preferences_from_record)(t.preferences??{})})}var h=e.i(76670),b=e.i(44171),g=e.i(32417),y=e.i(28274);function x(e){"function"==typeof globalThis.requestIdleCallback?globalThis.requestIdleCallback(()=>{e()}):globalThis.setTimeout(e,1)}var v=e.i(13349);function w(){return(0,v.is_greedy_cloud_sync_enabled)()}function E({children:e}){let t=(0,n.useRouter)(),l=(0,n.usePathname)(),o=(0,s.useRef)(null),i=(0,s.useRef)(!0),a=(0,s.useRef)(void 0);return(0,s.useEffect)(()=>{if(!(0,g.is_supabase_configured)()||!(0,b.is_cloud_sync_enabled)())return;let e=(0,d.create_browser_supabase_client)(),r=e=>{!w()&&(0,h.has_tracker_db_merged_this_browser_session)()?p().catch(()=>{}):(0,y.run_tracker_db_cloud_sync)({merge_on_load:!0,on_complete:e?()=>{t.refresh()}:void 0}).catch(()=>{})};e.auth.getSession().then(({data:{session:e}})=>{a.current=e?.user.id??null,null!==e&&x(()=>{r(!1)})}).catch(()=>{a.current=null});let{data:{subscription:n}}=e.auth.onAuthStateChange((e,n)=>{if("SIGNED_IN"===e){let e=n?.user.id??null;if(void 0===a.current||e===a.current)return;a.current=e,x(()=>{(0,h.clear_tracker_db_merged_this_browser_session)(),o.current=null,i.current=!0,r(!0)});return}"SIGNED_OUT"===e&&(a.current=null,(0,h.clear_tracker_db_merged_this_browser_session)(),o.current=null,i.current=!0,t.refresh())});return()=>{n.unsubscribe()}},[t]),(0,s.useEffect)(()=>{if((0,g.is_supabase_configured)()&&(0,b.is_cloud_sync_enabled)()&&w()){if(i.current){i.current=!1,o.current=l;return}o.current!==l&&(o.current=l,x(()=>{(0,y.run_tracker_db_cloud_sync)({merge_on_load:!0}).catch(()=>{})}))}},[l]),(0,r.jsx)(r.Fragment,{children:e})}var k=e.i(14974),j=e.i(56996),S=e.i(8654),N=e.i(76900),T=e.i(80808),C=e.i(71122);function R(){return void 0!==globalThis.window&&"Notification"in globalThis.window}var P=e.i(72162);let O=e=>{let r=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);return null===r?null:60*Number.parseInt(r[1],10)+Number.parseInt(r[2],10)};function I(){let e=(0,s.useSyncExternalStore)(j.focus_nudges_enabled_preference.subscribe,j.focus_nudges_enabled_preference.get_snapshot,j.focus_nudges_enabled_preference.get_server_snapshot),r=(0,s.useSyncExternalStore)(S.no_log_reminder_minutes_preference.subscribe,S.no_log_reminder_minutes_preference.get_snapshot,S.no_log_reminder_minutes_preference.get_server_snapshot),t=(0,s.useSyncExternalStore)(N.overwork_alert_hours_preference.subscribe,N.overwork_alert_hours_preference.get_snapshot,N.overwork_alert_hours_preference.get_server_snapshot),n=(0,s.useSyncExternalStore)(C.work_hours_start_preference.subscribe,C.work_hours_start_preference.get_snapshot,C.work_hours_start_preference.get_server_snapshot),l=(0,s.useSyncExternalStore)(T.work_hours_end_preference.subscribe,T.work_hours_end_preference.get_snapshot,T.work_hours_end_preference.get_server_snapshot),o=(0,s.useSyncExternalStore)(P.subscribe_tracker_running_entry,()=>(0,P.get_tracker_running_entry_snapshot)().runningEntry,()=>null),i=(0,s.useRef)(0),a=(0,s.useRef)(null);return(0,s.useEffect)(()=>{R()&&"true"===e&&"default"===globalThis.window.Notification.permission&&globalThis.window.Notification.requestPermission().catch(()=>{})},[e]),(0,s.useEffect)(()=>{if(!R()||"true"!==e)return;let s=60*Math.max(1,Number.parseInt(t,10)||1)*6e4,u=60*Math.max(1,Number.parseInt(r,10)||1)*1e3,c=(e,r)=>{void 0===globalThis.window||"granted"!==globalThis.window.Notification.permission||(new globalThis.window.Notification(e,{body:r}).onclose=null)},d=()=>{let e=new Date,r=e.getTime();if(null===o&&((e,r,t)=>{let n=O(r),s=O(t);if(null===n||null===s)return!1;let l=e.getDay();if(0===l||6===l)return!1;let o=60*e.getHours()+e.getMinutes();return n<=s?o>=n&&o<s:o>=n||o<s})(e,n,l)&&r-i.current>=u&&(c("No active timer during work hours","Start tracking or check in to keep your work log current."),i.current=r),null===o){a.current=null;return}let d=Date.parse(o.start);if(!Number.isFinite(d))return;let _=`${o.sheetName}-${o.id}`;r-d>=s&&a.current!==_&&(c("Long-running timer detected",`Timer has been running for over ${t}h. Consider splitting: ${o.description}`),a.current=_)};d();let _=globalThis.window.setInterval(d,6e4);return()=>{globalThis.window.clearInterval(_)}},[e,r,t,l,n,o]),null}var D=e.i(52663);let L="super-time-tracker-pwa-install-notice-dismissed";function U(){let[e,t]=(0,s.useState)(null),[n,l]=(0,s.useState)(!0),[o,i]=(0,s.useState)(!1);return((0,s.useEffect)(()=>{let e=window.matchMedia("(display-mode: standalone)").matches||"standalone"in navigator&&!0===navigator.standalone,r="true"===window.localStorage.getItem(L);if(e||r)return void l(!0);l(!1);let n=e=>{e.preventDefault(),t(e)},s=()=>{window.localStorage.setItem(L,"true"),l(!0),t(null)};return window.addEventListener("beforeinstallprompt",n),window.addEventListener("appinstalled",s),()=>{window.removeEventListener("beforeinstallprompt",n),window.removeEventListener("appinstalled",s)}},[]),n)?null:(0,r.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,r.jsx)("p",{className:"m-0 text-[0.9rem] font-semibold",children:"Install app"}),(0,r.jsx)("p",{className:"m-0 mt-1 text-[0.82rem] leading-snug text-muted",children:null!==e?"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,r.jsxs)("div",{className:"mt-3 flex gap-2",children:[null!==e?(0,r.jsx)("button",{type:"button",className:(0,D.get_button_class_name)("primary","small"),disabled:o,onClick:()=>{i(!0),e.prompt().then(async()=>{"accepted"===(await e.userChoice).outcome&&(window.localStorage.setItem(L,"true"),l(!0))}).finally(()=>{i(!1),t(null)})},children:o?"Opening…":"Install"}):null,(0,r.jsx)("button",{type:"button",className:(0,D.get_button_class_name)("ghost","small"),onClick:()=>{window.localStorage.setItem(L,"true"),l(!0)},children:"Dismiss"})]})]})}var A=e.i(47149);function M(){var e;let[t,n]=(0,s.useState)(null);if((0,s.useEffect)(()=>{let e=null,r=(0,A.subscribe_cloud_db_sync)(r=>{n(r),null!==e&&(clearTimeout(e),e=null),(r?.phase==="success"||r?.phase==="error")&&(e=setTimeout(()=>{n(null),e=null},2800))});return()=>{r(),null!==e&&clearTimeout(e)}},[]),null===t)return null;let l="syncing"===t.phase,o="error"===t.phase,i="success"===(e=t.phase)?100:"error"===e?0:null;return(0,r.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,r.jsx)("p",{className:"m-0 mb-2.5 leading-snug",children:t.message}),(0,r.jsx)("div",{className:"h-1 overflow-hidden rounded-full bg-[color-mix(in_srgb,var(--accent)_22%,var(--panel-border))]","aria-hidden":"true",children:l?(0,r.jsx)("div",{className:"cloud-db-sync-progress-indeterminate h-full w-1/3 rounded-full bg-accent"}):(0,r.jsx)("div",{className:`h-full rounded-full transition-[width] duration-300 ease-out ${o?"bg-danger":"bg-accent"}`,style:{width:`${i??0}%`}})})]})}var $=e.i(49087);function K(){let[e,t]=(0,s.useState)(null);return((0,s.useEffect)(()=>{let e=null,r=(0,$.subscribe_in_app_notifications)(r=>{t(r),null!==e&&clearTimeout(e),e=setTimeout(()=>{t(null),e=null},3200)});return()=>{r(),null!==e&&clearTimeout(e)}},[]),null===e)?null:(0,r.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,r.jsx)("p",{className:"m-0 text-[0.84rem] font-semibold",children:e.title}),(0,r.jsx)("p",{className:"m-0 mt-0.5 text-[0.8rem] leading-snug text-muted",children:e.body})]})}var G=e.i(46549);function F(){let[e,t]=(0,s.useState)(null);return((0,s.useEffect)(()=>{let e=null,r=(0,G.subscribe_settings_saved)(r=>{t(r),null!==e&&clearTimeout(e),e=setTimeout(()=>{t(null),e=null},2800)});return()=>{r(),null!==e&&clearTimeout(e)}},[]),null===e)?null:(0,r.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:e||G.SETTINGS_SAVED_DEFAULT_MESSAGE})}function z(){return(0,r.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,r.jsx)(K,{}),(0,r.jsx)(M,{}),(0,r.jsx)(F,{})]})}let W=(0,t.default)(()=>e.A(58067).then(e=>({default:e.CommandPaletteProvider})),{loadableGenerated:{modules:[78331]}});e.s(["AppProviders",0,function({children:e}){return(0,r.jsx)(k.ConfirmDialogProvider,{children:(0,r.jsxs)(E,{children:[e,(0,r.jsx)(c,{}),(0,r.jsx)(W,{}),(0,r.jsx)(I,{}),(0,r.jsx)(z,{}),(0,r.jsx)(U,{})]})})}],64324)},19943,e=>{"use strict";var r=e.i(51268),t=e.i(53602);e.s(["DocumentPreferencesInit",0,function(){return(0,r.useLayoutEffect)(()=>{(0,t.apply_ui_preferences_dom_from_window)()},[]),null}])},33334,e=>{"use strict";var r=e.i(51268);e.s(["PwaRegister",0,function(){return(0,r.useEffect)(()=>{"serviceWorker"in navigator&&"caches"in window&&navigator.serviceWorker.register("/sw.js").then(()=>{let e;0!==(e="u"<typeof document?[]:[...new Set([...Array.from(document.querySelectorAll("script[src]")).map(e=>e.src).filter(e=>e.length>0),...Array.from(document.querySelectorAll('link[rel="stylesheet"],link[rel="modulepreload"],link[rel="preload"][as="script"],link[rel="preload"][as="style"]')).map(e=>e.href).filter(e=>e.length>0)])].filter(e=>{try{return new URL(e).origin===window.location.origin}catch{return!1}})).length&&caches.open("super-time-tracker-shell-v1").then(r=>Promise.all(e.map(e=>fetch(e,{cache:"no-store"}).then(t=>t.ok?r.put(e,t.clone()):Promise.resolve()).catch(()=>Promise.resolve()))))})},[]),null}])},89391,e=>{"use strict";var r=e.i(51268),t=e.i(17798),n=e.i(35434),s=e.i(70223),l=e.i(10464),o=e.i(61834),i=e.i(81553);e.s(["ThemeModeSystemListener",0,function(){return(0,r.useEffect)(()=>{let e=window.matchMedia("(prefers-color-scheme: light)"),r=()=>{if("system"!==l.theme_mode_preference.read())return;let e=(0,s.resolve_theme_mode_to_theme)("system");(0,t.apply_theme)(e),(0,i.write_stored_theme)(e),(0,o.write_document_preference_cookies)({theme_mode:"system",theme:e}),(0,n.notify_theme_subscribers)()};return e.addEventListener("change",r),()=>{e.removeEventListener("change",r)}},[]),null}])},10289,e=>{"use strict";var r=e.i(51268),t=e.i(53602),n=e.i(60609);e.s(["UiPreferencesDocumentSync",0,function(){return(0,r.useEffect)(()=>{let e=()=>{(0,t.apply_ui_preferences_dom_from_window)()};return window.addEventListener(n.UI_PREFERENCES_APPLIED_EVENT,e),()=>{window.removeEventListener(n.UI_PREFERENCES_APPLIED_EVENT,e)}},[]),null}])},58067,e=>{e.v(r=>Promise.all(["static/chunks/0lbfeprw3roep.js"].map(r=>e.l(r))).then(()=>r(78331)))}]);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "super-time-tracker-ui",
3
- "version": "0.1.42",
3
+ "version": "0.1.44",
4
4
  "description": "Web UI for the super-time-tracker CLI time sheets",
5
5
  "keywords": [
6
6
  "nextjs",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "super-time-tracker-ui",
3
- "version": "0.1.42",
3
+ "version": "0.1.44",
4
4
  "description": "Web UI for the super-time-tracker CLI time sheets",
5
5
  "keywords": [
6
6
  "nextjs",
@@ -1,3 +0,0 @@
1
- module.exports=[16229,a=>{"use strict";a.s(["message_from_unknown_error",0,function(a,b){return a instanceof Error?a.message:"string"==typeof a?a:b}])},19702,a=>{"use strict";a.s(["ACTIVE_SHEET_COOKIE_NAME",0,"stt-active-sheet","ACTIVE_SHEET_STORAGE_KEY",0,"super-time-tracker-active-sheet","COMPACT_LISTS_STORAGE_KEY",0,"super-time-tracker-compact-lists","DEFAULT_SHEET_FIXED_NAME_COOKIE_NAME",0,"stt-default-sheet-fixed-name","DEFAULT_SHEET_FIXED_NAME_STORAGE_KEY",0,"super-time-tracker-default-sheet-fixed-name","DEFAULT_SHEET_SESSION_MODE_COOKIE_NAME",0,"stt-default-sheet-session-mode","DEFAULT_SHEET_SESSION_MODE_DEFAULT",0,"last_viewed","DEFAULT_SHEET_SESSION_MODE_STORAGE_KEY",0,"super-time-tracker-default-sheet-session-mode","SHEET_TAG_FILTERS_STORAGE_KEY",0,"super-time-tracker-sheet-tag-filters"])},14679,a=>{"use strict";var b=a.i(72958),c=a.i(19702);a.s(["navigate_to_tracker_sheet",0,function(a){let d=a.trim();if(0!==d.length){try{window.localStorage.setItem(c.ACTIVE_SHEET_STORAGE_KEY,d),(0,b.schedule_ui_preferences_cloud_sync)()}catch{}try{let a=encodeURIComponent(d);document.cookie=`${c.ACTIVE_SHEET_COOKIE_NAME}=${a}; Path=/; Max-Age=31536000; SameSite=Lax`}catch{}}}],14679)},34030,42676,6229,40663,30322,a=>{"use strict";function b(){return[]}a.s(["read_entry_templates",0,b],42676);let c=[],d=null;function e(){d=null}a.s(["EMPTY_ENTRY_TEMPLATES",0,c,"get_stable_entry_templates_snapshot",0,function(a){let b=a.map(a=>[a.id,a.name,a.description,a.defaultSheetName??"",a.tags?.join(" ")??"",!0===a.favorite?"1":"0",a.shortcutKey??"",!0===a.pomodoroLinked?"1":"0",a.createdAt??"",a.lastUsedAt??"",String(a.useCount??0)].join("\0")).join("\n");if(null!==d&&d.templates_key===b)return d.snapshot;let e=0===a.length?c:Object.freeze(a.map(a=>({...a})));return d={templates_key:b,snapshot:e},e},"reset_entry_templates_snapshot_cache",0,e],6229);let f=new Set;function g(){e(),f.forEach(a=>{a()})}function h(a){if(void 0!==globalThis.window)try{globalThis.window.localStorage.setItem("super-time-tracker-entry-templates",JSON.stringify(a)),g()}catch{}}a.s(["notify_entry_templates_changed",0,g,"subscribe_entry_templates",0,function(a){return f.add(a),()=>{f.delete(a)}}],40663),a.s(["write_entry_templates",0,h],30322),a.s(["record_entry_template_usage",0,function(a){let c=b(),d=new Date().toISOString(),e=!1,f=c.map(b=>b.id!==a?b:(e=!0,{...b,lastUsedAt:d,useCount:(b.useCount??0)+1}));e&&h(f)}],34030)},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}])},48174,a=>{"use strict";a.s(["format_display_tag",0,function(a){return a.startsWith("@")?a:`@${a}`}])},59659,5796,a=>{"use strict";var b=a.i(87281);function c(){}function d(){(0,b.is_greedy_cloud_sync_enabled)()&&c()}a.i(63577),a.i(51652),a.i(74365),Promise.resolve(),a.s(["schedule_tracker_db_cloud_sync",0,d],5796),a.s(["push_tracker_db_cloud_after_change",0,function(){(0,b.is_greedy_cloud_sync_enabled)()?d():c()}],59659)},71034,a=>{"use strict";var b=a.i(87281);async function c(a){let b=await fetch("/api/sheet/active",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:a})});if(!b.ok)throw Error((await b.json()).error??"Failed to update active sheet in cloud")}var d=a.i(59659),e=a.i(5796);a.s(["notify_tracker_db_cloud_sync",0,function(a,f){if("/api/sheet"===a&&"object"==typeof f&&null!==f&&!0!==f.delete&&!(0,b.is_greedy_cloud_sync_enabled)()){let a=f.name?.trim()??"";a.length>0&&c(a).catch(()=>{});return}(0,b.is_greedy_cloud_sync_enabled)()?(0,e.schedule_tracker_db_cloud_sync)():(0,d.push_tracker_db_cloud_after_change)()}],71034)},50803,a=>{"use strict";var b=a.i(48174);a.s(["build_resume_description",0,function(a,c){let d=a.trim(),e=d.length>0?d:"Untitled entry",f=c.map(a=>(0,b.format_display_tag)(a)).join(" ");return f.length>0?`${e} ${f}`.trim():e}])},115,a=>{"use strict";var b=a.i(71034);let c=new Set(["/api/note"]);async function d(a,d){let e={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)},f=await fetch(a,e);if(!f.ok){var g,h;let b,d=(await f.json()).error??"Request failed";if(g=a,h=d,c.has(g)&&((b=h.toLowerCase()).includes("duplicate key")||b.includes("unique constraint"))){if(await new Promise(a=>{setTimeout(a,25)}),!(f=await fetch(a,e)).ok)throw Error((await f.json()).error??d)}else throw Error(d)}let i=await f.json();return(0,b.notify_tracker_db_cloud_sync)(a,d),i}a.s(["post_tracker_action",0,d])},33272,a=>{"use strict";a.s(["build_entry_search_href",0,function(a){let b=new URLSearchParams;a.query.trim().length>0&&b.set("q",a.query.trim()),a.sheetName.trim().length>0&&b.set("sheet",a.sheetName.trim()),a.tag.trim().length>0&&b.set("tag",a.tag.trim()),a.fromDate.trim().length>0&&b.set("from",a.fromDate.trim()),a.toDate.trim().length>0&&b.set("to",a.toDate.trim());let c=b.toString();return c.length>0?`/search?${c}`:"/search"}])},38005,a=>{"use strict";let b={query:"",sheetName:"",tag:"",fromDate:"",toDate:""};a.s(["get_empty_entry_search_filters",0,function(){return{...b}}])},2837,a=>{"use strict";var b=a.i(59021);a.s(["use_debounced_value",0,function(a,c){let[d,e]=(0,b.useState)(a);return(0,b.useEffect)(()=>{let b=window.setTimeout(()=>{e(a)},c);return()=>{window.clearTimeout(b)}},[a,c]),d}])},71312,a=>{"use strict";var b=a.i(61401),c=a.i(60382),d=a.i(59021),e=a.i(69749);function f({items:a,query:c,is_loading:g,error:h,on_query_change:i,on_select:j,on_close:k}){var l;let m=(0,d.useId)(),n=(0,d.useRef)(null),o=(0,d.useRef)(null),[p,q]=(0,d.useState)(0),r=(0,d.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=b.get(c.group)??[];a.push(c),b.set(c.group,a)}return Array.from(b.entries()).map(([a,b])=>({label:a,items:b}))})(a),[a]),s=(0,d.useMemo)(()=>r.flatMap(a=>a.items),[r]),t=(0,d.useMemo)(()=>{let a=new Map;return s.forEach((b,c)=>{a.set(b.id,c)}),a},[s]),u=0===s.length?0:Math.min(p,s.length-1),v=(l=s.length,!g&&0===l&&null===h);(0,d.useEffect)(()=>{let a=n.current;if(null!==a&&!a.open)return a.showModal(),()=>{a.open&&a.close()}},[]),(0,d.useEffect)(()=>{o.current?.focus()},[]);let w=()=>{n.current?.close(),k()};return(0,b.jsxs)("dialog",{ref:n,"aria-labelledby":m,"data-command-palette-dialog":"true",className:"fixed inset-0 z-100 m-0 flex max-h-none w-full max-w-none items-start justify-center border-0 bg-transparent p-4 pt-[12vh] backdrop:bg-overlay open:flex sm:p-6 sm:pt-[12vh]",onCancel:a=>{a.preventDefault(),w()},children:[(0,b.jsx)("button",{type:"button",tabIndex:-1,"aria-label":"Close command palette",className:"absolute inset-0 z-0 cursor-default border-0 bg-transparent p-0",onClick:w}),(0,b.jsxs)("div",{className:"relative z-1 flex w-full max-w-xl flex-col overflow-hidden rounded-lg border border-panel-border bg-panel shadow-lg",children:[(0,b.jsx)("p",{id:m,className:"sr-only",children:"Command palette"}),(0,b.jsxs)("div",{className:"border-b border-panel-border px-3 py-3",children:[(0,b.jsx)("label",{className:"sr-only",htmlFor:`${m}-input`,"aria-label":"Search commands",children:"Search commands"}),(0,b.jsx)("input",{ref:o,id:`${m}-input`,type:"search",autoComplete:"off",spellCheck:!1,placeholder:"Search sheets, entries, templates, reporting…",className:(0,e.get_input_class_name)("compact"),value:c,onChange:a=>{var b;return b=a.target.value,void(q(0),i(b))},onKeyDown:a=>{if((a.metaKey||a.ctrlKey)&&!a.altKey&&"k"===a.key.toLowerCase()){a.preventDefault(),a.stopPropagation(),w();return}if("Escape"===a.key){a.preventDefault(),w();return}if("ArrowDown"===a.key){if(a.preventDefault(),0===s.length)return;q(a=>(a+1)%s.length);return}if("ArrowUp"===a.key){if(a.preventDefault(),0===s.length)return;q(a=>0===a?s.length-1:a-1);return}if("Enter"===a.key){a.preventDefault();let b=s[u];void 0!==b&&j(b)}}})]}),(0,b.jsxs)("div",{className:"max-h-[min(24rem,55vh)] overflow-y-auto px-2 py-2","aria-live":"polite",children:[null===h?null:(0,b.jsx)("p",{className:"m-0 px-2 py-3 text-[0.85rem] text-danger",children:h}),g&&0===s.length?(0,b.jsx)("p",{className:"m-0 px-2 py-3 text-[0.85rem] text-muted",children:"Loading…"}):null,v?(0,b.jsx)("p",{className:"m-0 px-2 py-3 text-[0.85rem] text-muted",children:"No matching commands."}):null,r.map(a=>(0,b.jsxs)("section",{className:"mb-2 last:mb-0","aria-label":a.label,children:[(0,b.jsx)("h2",{className:"m-0 px-2 py-1 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:a.label}),(0,b.jsx)("ul",{className:"m-0 list-none p-0",children:a.items.map(a=>{let c=t.get(a.id)??0,d=c===u;return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",className:`flex w-full cursor-pointer flex-col gap-0.5 rounded-md border-0 px-2.5 py-2 text-left font-inherit transition-colors duration-150 ${d?"bg-accent-soft text-foreground":"bg-transparent text-inherit hover:bg-surface-hover"}`,onMouseEnter:()=>q(c),onClick:()=>j(a),children:[(0,b.jsx)("span",{className:"text-[0.9rem] font-semibold",children:a.title}),void 0===a.subtitle?null:(0,b.jsx)("span",{className:"text-[0.78rem] text-muted",children:a.subtitle})]})},a.id)})})]},a.label))]}),(0,b.jsxs)("div",{className:"border-t border-panel-border px-3 py-2 text-[0.72rem] text-muted",children:[(0,b.jsx)("span",{className:"font-mono",children:"↑↓"})," navigate ·"," ",(0,b.jsx)("span",{className:"font-mono",children:"↵"})," select ·"," ",(0,b.jsx)("span",{className:"font-mono",children:"esc"})," close ·"," ",(0,b.jsx)("span",{className:"font-mono",children:"Ctrl+P"})," toggle"]})]})]})}var g=a.i(48174);let h=[{id:"nav-tracker",kind:"navigate",group:"Pages",title:"Open Tracker",keywords:["home","tracker","timer"],href:"/"},{id:"nav-today",kind:"navigate",group:"Pages",title:"Open Today",keywords:["today","focus","daily"],href:"/today"},{id:"nav-review",kind:"navigate",group:"Pages",title:"Open End-of-day Review",keywords:["review","end of day","daily","cleanup","gaps"],href:"/review"},{id:"nav-templates",kind:"navigate",group:"Pages",title:"Open Template Library",keywords:["templates","library","check in","shortcuts"],href:"/templates"},{id:"nav-sheets",kind:"navigate",group:"Pages",title:"Open Sheets",keywords:["sheets","projects","hub"],href:"/sheets"},{id:"nav-reporting",kind:"navigate",group:"Pages",title:"Open Reporting",keywords:["reporting","stats","analytics"],href:"/reporting"},{id:"nav-search",kind:"navigate",group:"Pages",title:"Search entries",keywords:["search","find","entries","notes","tags"],href:"/search"},{id:"nav-pomodoro",kind:"navigate",group:"Pages",title:"Open Pomodoro",keywords:["pomodoro","focus","timer"],href:"/pomodoro"},{id:"nav-settings",kind:"navigate",group:"Pages",title:"Open Settings",keywords:["settings","preferences"],href:"/settings"}],i=[{shortcut:"today",title:"Reporting: Today",keywords:["today","reporting"]},{shortcut:"yesterday",title:"Reporting: Yesterday",keywords:["yesterday"]},{shortcut:"week",title:"Reporting: This week",keywords:["week","reporting"]},{shortcut:"month",title:"Reporting: This month",keywords:["month","reporting"]},{shortcut:"last_month",title:"Reporting: Last month",keywords:["last month","reporting"]},{shortcut:"year",title:"Reporting: This year",keywords:["year","reporting"]},{shortcut:"last_year",title:"Reporting: Last year",keywords:["last year","reporting"]}];function j(a){let b=a.tags.map(a=>(0,g.format_display_tag)(a)).join(" ");return b.length>0?`${a.sheetName} \xb7 ${b}`:a.sheetName}var k=a.i(33272),l=a.i(38005),m=a.i(50803),n=a.i(14679),o=a.i(97917),p=a.i(97063),q=a.i(115),r=a.i(34030);async function s({item:a,pathname:b,navigate:c}){switch(a.kind){case"navigate":case"reporting_range":if(void 0===a.href)return;c(a.href);return;case"sheet":if(void 0===a.sheetName)return;await t(a.sheetName,b,c);return;case"template_check_in":{let d=a.description?.trim()??"";if(0===d.length)return;await u({description:d,sheet_name:a.sheetName,pathname:b,navigate:c}),void 0!==a.templateId&&(0,r.record_entry_template_usage)(a.templateId);return}case"resume_last":case"resume_entry":{let d=a.description??"",e=a.tags??[];await u({description:(0,m.build_resume_description)(d,e),sheet_name:a.sheetName,pathname:b,navigate:c});return}default:return}}async function t(a,b,c){(0,n.navigate_to_tracker_sheet)(a),await (0,q.post_tracker_action)("/api/sheet",{name:a}),(0,p.notify_tracker_state_sync)(),"/"!==b&&c("/")}async function u({description:a,sheet_name:b,pathname:c,navigate:d}){let e=b?.trim()??"";e.length>0&&((0,n.navigate_to_tracker_sheet)(e),await (0,q.post_tracker_action)("/api/sheet",{name:e}));try{await (0,q.post_tracker_action)("/api/in",{description:a,...e.length>0?{sheetName:e}:{}}),(0,p.notify_tracker_state_sync)(),"/"!==c&&d("/"),(0,o.notify_in_app)({title:"Checked in",body:a})}catch(a){throw(0,o.notify_in_app)({title:"Check-in failed",body:a instanceof Error?a.message:String(a)}),a}}async function v(a){let b=new URLSearchParams;a.trim().length>0&&b.set("q",a.trim());let c=b.size>0?`?${b.toString()}`:"",d=await fetch(`/api/command-palette${c}`,{method:"GET",cache:"no-store"});if(!d.ok)throw Error((await d.json().catch(()=>({}))).error??"Failed to load command palette data");return await d.json()}var w=a.i(46299),x=a.i(80185),y=a.i(16229),z=a.i(2837);let A={activeSheetName:null,sheets:[],lastCompletedEntry:null,matchingEntries:[]};a.s(["CommandPaletteProvider",0,function(){var a;let e=(0,c.useRouter)(),g=(0,c.usePathname)()??"/",[m,n]=(0,d.useState)(!1),[o,p]=(0,d.useState)(""),q=(0,z.use_debounced_value)(o,200),[r,t]=(0,d.useState)(A),[u,B]=(0,d.useState)(!1),[C,D]=(0,d.useState)(null);a=(0,d.useCallback)(()=>{n(a=>(a&&p(""),!a))},[]),(0,d.useEffect)(()=>{let b=b=>{let c=b.target,d=c instanceof HTMLElement&&null!==c.closest('[data-command-palette-dialog="true"]');if((!(0,x.should_ignore_keyboard_shortcut)(b)||d)&&(b.metaKey||b.ctrlKey)&&!b.altKey&&"p"===b.key.toLowerCase()){if(b.preventDefault(),(0,w.is_modal_dialog_open)()&&null===document.querySelector('[data-command-palette-dialog="true"]'))return;a()}};return document.addEventListener("keydown",b),()=>{document.removeEventListener("keydown",b)}},[a]),(0,d.useEffect)(()=>{if(!m)return;let a=!1;return(async()=>{B(!0),D(null);try{let b=await v(q);a||t(b)}catch(b){a||D((0,y.message_from_unknown_error)(b,"Failed to load commands"))}finally{a||B(!1)}})(),()=>{a=!0}},[m,q]);let E=(0,d.useMemo)(()=>{var a;let b,c=(a=function({snapshot:a,include_templates:b=!0}){var c,d;let e=[...h,...i.map(a=>{var b;return{id:`reporting-${a.shortcut}`,kind:"reporting_range",group:"Reporting ranges",title:a.title,keywords:a.keywords,href:(b=a.shortcut,`/reporting?range=${encodeURIComponent(b)}`),reportingRange:a.shortcut}})];for(let b of(null!==a.lastCompletedEntry&&e.push({id:"resume-last",kind:"resume_last",group:"Recent",title:"Resume last entry",subtitle:j(c=a.lastCompletedEntry),keywords:["resume","last",c.description,c.sheetName,...c.tags],sheetName:c.sheetName,entryId:c.id,description:c.description,tags:c.tags}),a.sheets))e.push({id:`sheet-${b.name}`,kind:"sheet",group:"Sheets",title:`Open sheet: ${b.name}`,subtitle:b.hasActiveEntry?"Timer running":void 0,keywords:["sheet",b.name,"project"],sheetName:b.name});let f=new Set;for(let b of a.matchingEntries){let a=`${b.sheetName}:${b.id}`;f.has(a)||(f.add(a),e.push((d=b,{id:`resume-${d.sheetName}-${d.id}`,kind:"resume_entry",group:"Entries",title:`Resume: ${d.description||"Untitled entry"}`,subtitle:j(d),keywords:["resume",d.description,d.sheetName,...d.tags],sheetName:d.sheetName,entryId:d.id,description:d.description,tags:d.tags})))}return e}({snapshot:r}),0===(b=o.trim().toLowerCase()).length?a:a.filter(a=>[a.title,a.subtitle??"",...a.keywords].join(" ").toLowerCase().includes(b))),d=o.trim();return 0===d.length?c:[{id:"search-all-entries",kind:"navigate",group:"Search",title:`Search all entries for "${d}"`,subtitle:"Open search with filters",keywords:["search",d],href:(0,k.build_entry_search_href)({...(0,l.get_empty_entry_search_filters)(),query:d})},...c]},[r,o]),F=(0,d.useCallback)(async a=>{n(!1),p("");try{await s({item:a,pathname:g,navigate:a=>{e.push(a)}})}catch{}},[g,e]),G=(0,d.useCallback)(()=>{n(!1),p("")},[]);return m?(0,b.jsx)(f,{items:E,query:o,is_loading:u,error:C,on_query_change:p,on_select:a=>{F(a)},on_close:G}):null}],71312)},68524,a=>{a.n(a.i(71312))}];
2
-
3
- //# sourceMappingURL=_02l2ykc._.js.map
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,68120,e=>{"use strict";var t=e.i(8063),a=e.i(48042),s=e.i(51268),r=e.i(32584),n=e.i(56812);let l=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],o=[0,6,12,18];function i({heatmap:e,duration_format:a,week_starts_on:r}){let l=(0,n.week_starts_on_to_index)(r),u=(0,s.useMemo)(()=>Array.from({length:7},(e,t)=>(l+t)%7),[l]),x=(0,s.useMemo)(()=>{let t=new Map;for(let a of e)t.set(`${a.weekdayIndex}-${a.hourIndex}`,a.totalMs);return t},[e]),f=(0,s.useMemo)(()=>e.reduce((e,t)=>Math.max(e,t.totalMs),0),[e]),h=(0,s.useMemo)(()=>e.reduce((e,t)=>e+t.totalMs,0),[e]);return(0,t.jsxs)("section",{className:"flex w-full flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,t.jsxs)("header",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:"Activity heatmap"}),(0,t.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:"When during the week you usually track time."})]}),0===h?(0,t.jsx)("p",{className:"m-0 py-6 text-center text-[0.85rem] text-muted",children:"Once you start logging time, your weekly rhythm appears here."}):(0,t.jsx)("div",{className:"overflow-x-auto",children:(0,t.jsx)("div",{className:"min-w-[420px] pb-1",children:(0,t.jsxs)("div",{className:"grid grid-cols-[2rem_1fr] gap-x-2",children:[(0,t.jsx)("div",{}),(0,t.jsx)("div",{className:"relative h-3.5 w-full",children:o.map(e=>(0,t.jsx)("span",{className:"absolute -translate-x-1/2 text-[0.65rem] font-medium uppercase tracking-[0.06em] text-muted",style:{left:`${e/24*100}%`},children:c(e)},e))}),u.map(e=>(0,t.jsx)(d,{weekday_index:e,cell_lookup:x,max_cell_ms:f,duration_format:a},e))]})})}),(0,t.jsxs)("footer",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1 text-[0.72rem] text-muted",children:[(0,t.jsx)("span",{children:"Less"}),(0,t.jsx)("div",{className:"flex items-center gap-1",children:[.15,.35,.6,.85,1].map(e=>(0,t.jsx)("span",{className:"inline-block h-3 w-4 rounded-sm",style:{backgroundColor:m(e)}},e))}),(0,t.jsx)("span",{children:"More"})]})]})}function d({weekday_index:e,cell_lookup:a,max_cell_ms:s,duration_format:n}){return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"self-center text-[0.7rem] font-medium uppercase tracking-[0.06em] text-muted",children:l[e]}),(0,t.jsx)("div",{className:"grid gap-[2px]",style:{gridTemplateColumns:"repeat(24, minmax(0, 1fr))"},children:Array.from({length:24},(o,i)=>{let d=a.get(`${e}-${i}`)??0;return(0,t.jsx)("span",{className:"block aspect-square min-h-[14px] rounded-[3px]",style:{backgroundColor:m(s>0?d/s:0)},title:`${l[e]} ${c(i)}: ${(0,r.format_duration)(d,n)}`},i)})})]})}function c(e){return 0===e?"12a":12===e?"12p":e<12?`${e}a`:`${e-12}p`}function m(e){if(e<=0)return"color-mix(in srgb, var(--surface-raised) 80%, transparent)";let t=Math.min(100,Math.round(90*e)+10);return`color-mix(in srgb, var(--accent) ${t}%, transparent)`}function u(e){return Math.round(100*e)/100}function x({daily_buckets:e,duration_format:a,title:n="Time over days",subtitle:l}){let o=(0,s.useMemo)(()=>e.slice(-60),[e]),i=(0,s.useMemo)(()=>o.reduce((e,t)=>Math.max(e,t.totalMs),0),[o]),d=(0,s.useMemo)(()=>o.reduce((e,t)=>e+t.totalMs,0),[o]),c=(0,s.useMemo)(()=>{let e=o.filter(e=>e.totalMs>0).length;return 0===e?0:d/e},[o,d]),m=l??(0===o.length?"No data in this period.":`${o.length} day${1===o.length?"":"s"} \xb7 avg ${(0,r.format_duration)(c,a)} on active days`);return(0,t.jsxs)("section",{className:"flex w-full flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,t.jsxs)("header",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:n}),(0,t.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:m})]}),0===o.length?(0,t.jsx)("p",{className:"m-0 py-6 text-center text-[0.85rem] text-muted",children:"Track time to populate this chart."}):(0,t.jsx)("div",{className:"flex h-44 items-end gap-[3px] overflow-x-auto pb-2",children:o.map(e=>{let s=i>0?u(e.totalMs/i*100):0,n=0===e.weekdayIndex||6===e.weekdayIndex,l=e.totalMs>0;return(0,t.jsx)("div",{className:"flex h-full min-w-[6px] flex-1 flex-col justify-end",title:`${e.dateLabel} \xb7 ${(0,r.format_duration)(e.totalMs,a)}`,role:"img","aria-label":`${e.dateLabel}: ${(0,r.format_duration)(e.totalMs,a)}`,children:(0,t.jsx)("div",{className:`w-full rounded-t-sm transition-all ${l?n?"bg-accent/60":"bg-accent":"bg-surface-raised"}`,style:{height:l?`${Math.max(2,s)}%`:"2px"}})},e.dateMs)})}),(0,t.jsxs)("footer",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1 text-[0.72rem] text-muted",children:[(0,t.jsx)("span",{children:o.length>0?`${o[0].dateLabel} → ${o[o.length-1].dateLabel}`:""}),(0,t.jsxs)("span",{children:["Total ",(0,r.format_duration)(d,a)," · Peak"," ",(0,r.format_duration)(i,a)]})]})]})}var f=e.i(55437);function h({stats:e,duration_format:a}){let s=Math.round(100*(e.daysInMonth>0?e.trackedDays/e.daysInMonth:0));return(0,t.jsxs)("section",{className:"flex w-full flex-col gap-5 rounded-md border border-panel-border bg-panel p-5 shadow-sm","aria-label":"Month in review",style:{backgroundImage:"linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 60%, transparent) 0%, transparent 70%)"},children:[(0,t.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:"text-[0.7rem] font-semibold uppercase tracking-[0.08em] text-accent",children:"Month in review"}),(0,t.jsx)("h2",{className:"m-0 text-[1.25rem] font-[650] tracking-tight",children:e.monthLabel}),(0,t.jsx)("p",{className:"m-0 text-[0.85rem] text-muted",children:0===e.totalMs?"No time tracked this month yet — start a timer to fill this in.":`Tracked on ${e.trackedDays} of ${e.daysInMonth} days (${s}%).`})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[(0,t.jsx)(g,{label:"Total this month",value:(0,r.format_duration)(e.totalMs,a),detail:0===e.totalMs?"—":`${(0,r.format_duration)(e.averageActiveDayMs,a)} per active day`}),(0,t.jsx)(g,{label:"Best day",value:0===e.bestDayMs?"—":(0,r.format_duration)(e.bestDayMs,a),detail:e.bestDayLabel??"No tracked days yet"}),(0,t.jsx)(g,{label:"Top sheet",value:e.topSheetName??"—",detail:0===e.topSheetMs?"No tracked sheets":(0,r.format_duration)(e.topSheetMs,a)}),(0,t.jsx)(g,{label:"Top tag",value:e.topTag??"—",detail:0===e.topTagMs?"Tag entries to surface":(0,r.format_duration)(e.topTagMs,a)})]}),(0,t.jsxs)("ul",{className:"m-0 grid grid-cols-1 gap-2 p-0 text-[0.85rem] sm:grid-cols-3",children:[(0,t.jsx)(p,{label:"Current streak",value:`${e.currentStreakDays} day${1===e.currentStreakDays?"":"s"}`}),(0,t.jsx)(p,{label:"Longest streak",value:`${e.longestStreakDays} day${1===e.longestStreakDays?"":"s"}`}),(0,t.jsx)(p,{label:"Longest entry",value:0===e.longestEntryMs?"—":(0,r.format_duration)(e.longestEntryMs,a)}),(0,t.jsx)(p,{label:"Entries logged",value:String(e.totalEntries)}),(0,t.jsx)(p,{label:"Tracked days",value:`${e.trackedDays} / ${e.daysInMonth}`}),(0,t.jsx)(p,{label:"Coverage",value:`${s}%`})]})]})}function g({label:e,value:a,detail:s}){return(0,t.jsxs)("div",{className:"flex flex-col gap-1 rounded-md border border-panel-border bg-surface-raised/60 p-3.5",children:[(0,t.jsx)("span",{className:"text-[0.7rem] font-semibold uppercase tracking-[0.06em] text-muted",children:e}),(0,t.jsx)("span",{className:"truncate font-mono text-[1.05rem] font-semibold",children:a}),(0,t.jsx)("span",{className:"text-[0.78rem] text-muted",children:s})]})}function p({label:e,value:a}){return(0,t.jsxs)("li",{className:"flex items-center justify-between gap-2 rounded-md border border-panel-border/60 bg-surface-raised/40 px-3 py-2",children:[(0,t.jsx)("span",{className:"text-[0.78rem] text-muted",children:e}),(0,t.jsx)("span",{className:"font-mono font-semibold",children:a})]})}var b=e.i(52663);let y=[{value:"duration",label:"Duration"},{value:"name",label:"Name"},{value:"entry_count",label:"Entries"},{value:"active_first",label:"Active first"}];function M({sort:e,on_sort_change:a}){return(0,t.jsxs)("fieldset",{className:"m-0 flex w-full max-w-2xl flex-col gap-2 border-0 p-0",children:[(0,t.jsx)("legend",{className:"mb-2 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Sort by"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",role:"group","aria-label":"Sort sheets by",children:y.map(s=>{let r=e===s.value;return(0,t.jsx)("button",{type:"button",className:`${(0,b.get_button_class_name)("ghost","small")} ${r?"border-accent-border bg-accent-soft text-foreground":""}`,"aria-pressed":r,onClick:()=>a(s.value),children:s.label},s.value)})})]})}let j=["#2dd4bf","#60a5fa","#a78bfa","#f472b6","#fb923c","#facc15","#34d399","#22d3ee","#f87171","#c084fc","#fbbf24","#4ade80"];function w(e){return Math.round(100*e)/100}function v({tag_breakdown:e,duration_format:a}){let n=(0,s.useMemo)(()=>(function(e){let t=e.reduce((e,t)=>e+t.totalMs,0);if(0===t)return[];let a=[],s=0;return e.forEach((e,r)=>{var n,l,o;let i,d,c,m,u;if(e.totalMs<=0)return;let x=e.totalMs/t,f=s*Math.PI*2,h=(s+x)*Math.PI*2;s+=x,a.push({tag:e.tag,color:(n=e.tag,"Untagged"===n?"#64748b":j[r%j.length]),ratio:x,total_ms:e.totalMs,path_data:(l=f,o=h,i=k(l,70),d=k(o,70),c=k(o,38),m=k(l,38),u=+(o-l>Math.PI),`M ${i.x} ${i.y} A 70 70 0 ${u} 1 ${d.x} ${d.y} L ${c.x} ${c.y} A 38 38 0 ${u} 0 ${m.x} ${m.y} Z`)})}),a})(e),[e]),l=(0,s.useMemo)(()=>e.reduce((e,t)=>e+t.totalMs,0),[e]),o=n.slice(0,8),i=Math.max(0,n.length-8);return 0===n.length||0===l?(0,t.jsx)(N,{title:"Time by tag",subtitle:"No tagged time in this period.",children:(0,t.jsx)(_,{})}):(0,t.jsx)(N,{title:"Time by tag",subtitle:"Multi-tag entries are split evenly across their tags.",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4 sm:flex-row sm:items-start",children:[(0,t.jsxs)("div",{className:"relative shrink-0",children:[(0,t.jsx)("svg",{viewBox:"0 0 160 160",className:"h-40 w-40",role:"img","aria-label":"Tag time distribution",children:1===n.length?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("circle",{cx:80,cy:80,r:70,fill:n[0].color}),(0,t.jsx)("circle",{cx:80,cy:80,r:38,fill:"var(--panel)"})]}):n.map(e=>(0,t.jsx)("path",{d:e.path_data,fill:e.color},e.tag))}),(0,t.jsxs)("div",{className:"pointer-events-none absolute inset-0 flex flex-col items-center justify-center text-center",children:[(0,t.jsx)("span",{className:"text-[0.65rem] font-semibold uppercase tracking-[0.08em] text-muted",children:"Total"}),(0,t.jsx)("span",{className:"font-mono text-[0.85rem] font-semibold",children:(0,r.format_duration)(l,a)})]})]}),(0,t.jsxs)("ul",{className:"m-0 flex w-full flex-col gap-1.5 p-0",children:[o.map(e=>(0,t.jsxs)("li",{className:"flex items-center gap-2 text-[0.82rem]",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"inline-block h-2.5 w-2.5 shrink-0 rounded-sm",style:{backgroundColor:e.color}}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate font-medium",children:e.tag}),(0,t.jsxs)("span",{className:"shrink-0 font-mono text-muted",children:[Math.round(100*e.ratio),"%"]}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-foreground",children:(0,r.format_duration)(e.total_ms,a)})]},e.tag)),i>0?(0,t.jsxs)("li",{className:"text-[0.78rem] text-muted",children:["+ ",i," more ",1===i?"tag":"tags"]}):null]})]})})}function N({title:e,subtitle:a,children:s}){return(0,t.jsxs)("section",{className:"flex w-full flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,t.jsxs)("header",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:e}),void 0!==a?(0,t.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:a}):null]}),s]})}function _(){return(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 py-3 text-center",children:[(0,t.jsx)("svg",{viewBox:"0 0 160 160",className:"h-28 w-28 opacity-40",role:"presentation",children:(0,t.jsx)("circle",{cx:80,cy:80,r:70,fill:"none",stroke:"var(--panel-border)",strokeWidth:32})}),(0,t.jsx)("p",{className:"m-0 text-[0.82rem] text-muted",children:"Tag your entries to see time distribution here."})]})}function k(e,t){return{x:w(80+t*Math.sin(e)),y:w(80-t*Math.cos(e))}}function D({trend:e,duration_format:a,current_label:s,previous_label:n}){var l;let o=(l=e.deltaMs)>0?{symbol:"▲",badge_class:"bg-accent-soft text-accent border border-accent-border"}:l<0?{symbol:"▼",badge_class:"bg-danger-soft text-danger border border-danger-border"}:{symbol:"—",badge_class:"bg-ghost-bg text-muted border border-panel-border"},i=function(e){if(0===e.previousMs)return 0===e.currentMs?"0%":"New";let t=100*Math.abs(e.deltaRatio);return t<.5?"~0%":`${t>=100?t.toFixed(0):t.toFixed(1)}%`}(e);return(0,t.jsxs)("div",{className:"flex flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,t.jsxs)("header",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:e.label}),(0,t.jsxs)("span",{className:`shrink-0 rounded-full px-2 py-0.5 text-[0.7rem] font-semibold ${o.badge_class}`,children:[o.symbol," ",i]})]}),(0,t.jsxs)("dl",{className:"m-0 grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)("dt",{className:"m-0 text-[0.7rem] font-semibold uppercase tracking-[0.06em] text-muted",children:s}),(0,t.jsx)("dd",{className:"m-0 font-mono text-[1.05rem] font-semibold",children:(0,r.format_duration)(e.currentMs,a)})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)("dt",{className:"m-0 text-[0.7rem] font-semibold uppercase tracking-[0.06em] text-muted",children:n}),(0,t.jsx)("dd",{className:"m-0 font-mono text-[1.05rem] font-semibold text-muted",children:(0,r.format_duration)(e.previousMs,a)})]})]}),(0,t.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:function(e,t){if(0===e.previousMs&&0===e.currentMs)return"No tracked time in either period.";if(0===e.previousMs)return`${(0,r.format_duration)(e.currentMs,t)} more than last period.`;if(0===e.deltaMs)return"Identical to the previous period.";let a=e.deltaMs>0?"more":"less";return`${(0,r.format_duration)(Math.abs(e.deltaMs),t)} ${a} than the previous period.`}(e,a)})]})}let $=[{value:"dashboard",label:"Dashboard"},{value:"sheets",label:"Sheets"}];function T({active_tab:e,on_change:a}){return(0,t.jsx)("div",{role:"tablist","aria-label":"Reporting view",className:"inline-flex w-full max-w-2xl items-center gap-1 self-center rounded-full border border-panel-border bg-surface-raised/50 p-1",children:$.map(s=>{let r=s.value===e;return(0,t.jsx)("button",{type:"button",role:"tab","aria-selected":r,className:`${(0,b.get_button_class_name)("ghost","small")} flex-1 rounded-full border-transparent ${r?"bg-accent text-accent-text-on":"bg-transparent text-muted"}`,onClick:()=>a(s.value),children:s.label},s.value)})})}function S({weekday_distribution:e,duration_format:a}){let n=(0,s.useMemo)(()=>e.reduce((e,t)=>Math.max(e,t.totalMs),0),[e]),l=(0,s.useMemo)(()=>e.reduce((e,t)=>e+t.totalMs,0),[e]);return(0,t.jsxs)("section",{className:"flex w-full flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,t.jsxs)("header",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:"Day of week"}),(0,t.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:"Where your week tends to lean."})]}),0===l?(0,t.jsx)("p",{className:"m-0 py-4 text-center text-[0.85rem] text-muted",children:"No tracked time in this period."}):(0,t.jsx)("ul",{className:"m-0 flex flex-col gap-1.5 p-0",children:e.map(e=>{let s=n>0?u(e.totalMs/n*100):0;return(0,t.jsxs)("li",{className:"grid grid-cols-[2.25rem_1fr_auto] items-center gap-2 text-[0.82rem]",children:[(0,t.jsx)("span",{className:"font-mono text-[0.78rem] text-muted",children:e.weekdayLabel}),(0,t.jsx)("span",{className:"block h-2 overflow-hidden rounded-full bg-surface-raised",role:"presentation",children:(0,t.jsx)("span",{className:"block h-full rounded-full bg-accent",style:{width:`${Math.max(s,4*(e.totalMs>0))}%`}})}),(0,t.jsx)("span",{className:"font-mono text-foreground",children:(0,r.format_duration)(e.totalMs,a)})]},e.weekdayIndex)})})]})}var E=e.i(75404),O=e.i(98636),I=e.i(36519),C=e.i(19402),A=e.i(43864),L=e.i(29263);function R(e,t){return(0,L.toDate)(e,t?.in).getDay()}function B(e,t,a,s=Date.now()){let r=+e.start;return Math.max(0,Math.min(null===e.end?s:+e.end,a)-Math.max(r,t))}function F(e){let t=[];for(let a=0;a<7;a+=1)for(let s=0;s<24;s+=1){let r=`${a}-${s}`;t.push({weekdayIndex:a,hourIndex:s,totalMs:e.get(r)??0})}return t}var P=e.i(39552);function W(e,t,a,s=Date.now()){let r=[],n=(0,I.startOfDay)(new Date(t)),l=(0,I.startOfDay)(new Date(a));if(+n>+l)return r;let o=n;for(;+o<=+l;){let t=+(0,I.startOfDay)(o),a=+(0,A.endOfDay)(o),n=0;for(let r of e)for(let e of r.entries)n+=B(e,t,a,s);r.push({dateMs:t,dateLabel:(0,P.format)(o,"MMM d"),weekdayIndex:R(o),totalMs:n}),o=(0,O.addDays)(o,1)}return r}var U=e.i(22106),z=e.i(25402),K=e.i(61837);function Y(e,t,a,s=Date.now()){let r=0;for(let n of e)for(let e of n.entries)r+=B(e,t,a,s);return r}var q=e.i(31113);let H="Untagged";function V(e,t,a,s=Date.now()){let r=new Map,n=0;for(let l of e)for(let e of l.entries){let l=B(e,t,a,s);if(l<=0)continue;let o=[];for(let t of e.tags)try{o.push((0,q.normalize_stored_tag)(t))}catch{continue}let i=[...new Set(o)];if(n+=l,0===i.length){r.set(H,(r.get(H)??0)+l);continue}let d=l/i.length;for(let e of i)r.set(e,(r.get(e)??0)+d)}let l=[...r.entries()].map(([e,t])=>({tag:e,totalMs:t,ratio:n>0?t/n:0}));return l.sort((e,t)=>e.tag===H?1:t.tag===H?-1:t.totalMs-e.totalMs),l}var Z=e.i(67584),G=e.i(7312),J=e.i(78194);function Q(e,t,a=new Date,s=Date.now(),r=1){var n;let l=X(t,a,r),o="week"===t?(n=void 0,(0,O.addDays)(a,-7,n)):(0,J.subMonths)(a,1),i=X(t,o,r),d=Y(e,l.start,l.end,s),c=Y(e,i.start,i.end,s),m=d-c;return{label:"week"===t?"This week vs last week":"This month vs last month",currentMs:d,previousMs:c,deltaMs:m,deltaRatio:c>0?m/c:0}}function X(e,t,a){return"week"===e?{start:+(0,G.startOfWeek)(t,{weekStartsOn:a}),end:+(0,Z.endOfWeek)(t,{weekStartsOn:a})}:{start:+(0,K.startOfMonth)(t),end:+(0,U.endOfMonth)(t)}}function ee(e,t){return 0===t?0:e/t}function et(e,t=new Date,a=1){switch(e){case"week":return{startMs:+(0,G.startOfWeek)(t,{weekStartsOn:a}),endMs:+(0,Z.endOfWeek)(t,{weekStartsOn:a})};case"month":return{startMs:+(0,K.startOfMonth)(t),endMs:+(0,U.endOfMonth)(t)};default:return{startMs:+(0,I.startOfDay)(t),endMs:+(0,A.endOfDay)(t)}}}var ea=e.i(67999);function es(e,t){let a=new Set,s=[];for(let r of[...e,...t]){let e=`${r.timestamp.getTime()}:${r.text}`;a.has(e)||(a.add(e),s.push(r))}return s.sort((e,t)=>e.timestamp.getTime()-t.timestamp.getTime()),s}var er=e.i(1997),en=e.i(54873),el=e.i(68462),eo=e.i(46748);let ei={from_date:"",to_date:""},ed=["today","yesterday","week","month","last_month","year","last_year"];function ec(e,t){let a=[...e];switch(t){case"name":a.sort((e,t)=>e.sheetName.localeCompare(t.sheetName));break;case"entry_count":a.sort((e,t)=>t.entryCount!==e.entryCount?t.entryCount-e.entryCount:t.totalMs-e.totalMs);break;case"active_first":a.sort((e,t)=>e.hasActiveEntry!==t.hasActiveEntry?e.hasActiveEntry?-1:1:t.totalMs-e.totalMs);break;default:a.sort((e,t)=>t.totalMs-e.totalMs)}return a}var em=e.i(1800),eu=e.i(12843);let ex={from_date:"",to_date:""};function ef({children:e}){return(0,t.jsx)("div",{className:"flex w-full max-w-5xl flex-col gap-5",children:e})}function eh({children:e}){return(0,t.jsx)("div",{className:"flex w-full max-w-2xl flex-col items-center gap-4",children:e})}function eg({label:e,value:a}){return(0,t.jsxs)("div",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,t.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:e}),(0,t.jsx)("p",{className:"m-0 mt-1 text-[1.1rem] font-[650] tracking-tight",children:a})]})}function ep({title:e,aria_label:a,muted:s=!1,children:r}){return(0,t.jsxs)("section",{className:"flex w-full max-w-2xl flex-col gap-2",children:[(0,t.jsx)("h2",{className:`m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] ${s?"text-muted":"text-foreground"}`,children:e}),(0,t.jsx)("ul",{className:"m-0 flex list-none flex-col gap-2 p-0","aria-label":a,children:r})]})}function eb({sheet:e,grand_total_ms:a,duration_format:s}){let n=a>0?Math.round(e.totalMs/a*100):0,l=a>0?u(e.totalMs/a*100):0;return(0,t.jsxs)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-2",children:[(0,t.jsx)("h2",{className:"m-0 min-w-0 truncate text-[1rem] font-semibold",children:e.sheetName}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[0.95rem] font-semibold text-accent",children:(0,r.format_duration)(e.totalMs,s)})]}),(0,t.jsx)("div",{className:"mt-2.5 h-1.5 overflow-hidden rounded-full bg-surface-raised",role:"presentation",children:(0,t.jsx)("div",{className:"h-full rounded-full bg-accent",style:{width:`${l}%`}})}),(0,t.jsxs)("p",{className:"m-0 mt-2 flex flex-wrap gap-x-3 gap-y-0.5 text-[0.82rem] text-muted",children:[(0,t.jsxs)("span",{children:[n,"% of total"]}),(0,t.jsxs)("span",{children:[e.entryCount," ",1===e.entryCount?"entry":"entries"]}),(0,t.jsx)("span",{children:0===e.entryCount?"No average":`${(0,r.format_duration)(e.averageEntryMs,s)} avg`}),e.hasActiveEntry?(0,t.jsx)("span",{className:"text-accent",children:"Timer running"}):null]})]})}function ey({sheet:e,in_range:a}){let s=a?"No time in range":0===e.entryCount?"No entries":"No tracked time";return(0,t.jsxs)("li",{className:"rounded-md border border-dashed border-panel-border bg-surface-raised/60 px-3.5 py-2.5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-2",children:[(0,t.jsx)("h3",{className:"m-0 min-w-0 truncate text-[0.95rem] font-medium text-muted",children:e.sheetName}),(0,t.jsx)("span",{className:"shrink-0 text-[0.82rem] text-muted",children:s})]}),e.hasActiveEntry?(0,t.jsx)("p",{className:"m-0 mt-1.5 text-[0.82rem] text-accent",children:"Timer running"}):null]})}e.s(["ReportingView",0,function({source_sheets:e,reference_now:l}){let o=(0,a.useSearchParams)(),d=(0,em.use_duration_format)(),c=(0,eu.use_week_starts_on)(),[m,u]=(0,s.useState)("dashboard"),[g,p]=(0,s.useState)(()=>er.default_reporting_sort_preference.get_server_snapshot()),[b,y]=(0,s.useState)(ex),[j,w]=(0,s.useState)(l);(0,s.useEffect)(()=>{y(function(e=el.default_reporting_range_preference.read(),t="monday"){return"none"===e?ei:(0,eo.get_reporting_date_range_shortcut_inputs)(e,new Date,(0,n.week_starts_on_to_index)(t))}(void 0,c)),p(er.default_reporting_sort_preference.read())},[c]),(0,s.useEffect)(()=>{let e=function(e){if(null===e)return null;let t=e.trim().toLowerCase();return ed.includes(t)?t:null}(o.get("range"));null!==e&&y((0,eo.get_reporting_date_range_shortcut_inputs)(e,new Date,(0,n.week_starts_on_to_index)(c)))},[o,c]),(0,s.useEffect)(()=>{w(l)},[l]),(0,s.useEffect)(()=>{w(Date.now())},[b,e,c]);let N=(0,s.useMemo)(()=>e.map(e=>({name:e.name,activeEntryID:e.activeEntryID,entries:e.entries.map(e=>({id:e.id,start:new Date(e.start),end:null===e.end?null:new Date(e.end),description:"",tags:e.tags,notes:[]}))})),[e]),_=(0,s.useMemo)(()=>(0,en.get_date_range_ms_from_inputs)(b.from_date,b.to_date),[b]),k=b.from_date.length>0!=b.to_date.length>0||b.from_date.length>0&&b.to_date.length>0&&null===_,$=(0,n.week_starts_on_to_index)(c),{stats:q,analytics:H}=(0,s.useMemo)(()=>({stats:function(e,t=null,a=Date.now(),s=1){let r=e.map(e=>{let s,r,n;return null===t?(s=function(e){let{activeEntryID:t,entries:a,name:s}=e;return(function(e){let t=new Map;for(let a of e){let e=t.get(a.id);if(void 0===e){t.set(a.id,a);continue}if(null===a.end&&null!==e.end){t.set(a.id,{...a,notes:es(a.notes,e.notes)});continue}if(null===e.end&&null!==a.end){t.set(a.id,{...e,notes:es(e.notes,a.notes)});continue}t.set(a.id,{...e,notes:es(e.notes,a.notes)})}return[...t.values()].sort((e,t)=>e.id-t.id)})(a).map(e=>{var a;return a=t===e.id&&null===e.end,{id:e.id,description:e.description,start:e.start.toISOString(),end:null===e.end?null:e.end.toISOString(),tags:e.tags,notes:e.notes.map(({timestamp:e,text:t})=>({timestamp:e.toISOString(),text:t})),sheetName:s,durationMs:function(e,t=Date.now()){let{end:a,start:s}=e;return Math.max(0,(null===a?t:+a)-s)}(e),isActive:a,...!0===e.archived?{archived:!0}:{}}})}(e),r=e.entries.length,n=(0,ea.get_serialized_entries_total_ms)(s),{sheetName:e.name,totalMs:n,entryCount:r,averageEntryMs:ee(n,r),hasActiveEntry:null!==e.activeEntryID}):function(e,t,a,s=Date.now()){let r=0,n=0,l=!1;for(let o of e.entries){let i=B(o,t,a,s);i<=0||(r+=i,n+=1,e.activeEntryID===o.id&&null===o.end&&(l=!0))}return{sheetName:e.name,totalMs:r,entryCount:n,averageEntryMs:ee(r,n),hasActiveEntry:l}}(e,t.startMs,t.endMs,a)}),{activeSheets:n,idleSheets:l}=function(e){let t=[],a=[];for(let s of e)0===s.entryCount||0===s.totalMs?a.push(s):t.push(s);return{activeSheets:t,idleSheets:a}}(r),o=r.reduce((e,t)=>e+t.totalMs,0),i=r.reduce((e,t)=>e+t.entryCount,0);return{activeSheets:n,idleSheets:l,grandTotalMs:o,totalEntryCount:i,grandAverageEntryMs:ee(o,i),periodTotals:null===t?function(e,t=new Date,a=Date.now(),s=1){let r=et("today",t,s),n=et("week",t,s),l=et("month",t,s);return{todayMs:Y(e,r.startMs,r.endMs,a),weekMs:Y(e,n.startMs,n.endMs,a),monthMs:Y(e,l.startMs,l.endMs,a)}}(e,new Date(a),a,s):{todayMs:0,weekMs:0,monthMs:0}}}(N,_,j,$),analytics:function(e,t,a=Date.now(),s=1){let r=new Date(a),n=(0,O.addDays)((0,I.startOfDay)(r),1)-1,l=+(0,I.startOfDay)((0,C.subDays)(r,29)),o=null===t?l:t.startMs,i=null===t?n:t.endMs,d=W(e,o,i,a),c=V(e,o,i,a),m=function(e,t=1){let a=Array(7).fill(0);for(let t of e)a[t.weekdayIndex]+=t.totalMs;let s=(0,G.startOfWeek)(new Date,{weekStartsOn:t});return Array.from({length:7},(e,r)=>{let n=(0,O.addDays)(s,r),l=(t+r)%7;return{weekdayIndex:l,weekdayLabel:(0,P.format)(n,"EEE"),totalMs:a[l]}})}(d,s);return{dailyBuckets:d,tagBreakdown:c,weekdayDistribution:m,heatmap:function(e,t,a,s=Date.now()){let r=new Map,n=(0,I.startOfDay)(new Date(t)),l=(0,I.startOfDay)(new Date(a));if(+n>+l)return F(r);let o=n;for(;+o<=+l;){let t=R(o),a=+o,n=+(0,A.endOfDay)(o);for(let l=0;l<24;l+=1){let o=a+36e5*l,i=Math.min(o+36e5-1,n),d=0;for(let t of e)for(let e of t.entries)d+=B(e,o,i,s);if(d<=0)continue;let c=`${t}-${l}`;r.set(c,(r.get(c)??0)+d)}o=(0,O.addDays)(o,1)}return F(r)}(e,o,i,a),weekTrend:Q(e,"week",r,a,s),monthTrend:Q(e,"month",r,a,s),monthInReview:function(e,t=new Date,a=Date.now()){let s,r,n,l,o=(0,K.startOfMonth)(t),i=(0,U.endOfMonth)(t),d=(0,P.format)(o,"MMMM yyyy"),c=(r=(s=(0,L.toDate)(o,void 0)).getFullYear(),n=s.getMonth(),(l=(0,z.constructFrom)(s,0)).setFullYear(r,n+1,0),l.setHours(0,0,0,0),l.getDate()),m=W(e,+o,+i,a),u=V(e,+o,+i,a),x=0,f=0,h=0,g=-1;m.forEach((e,t)=>{x+=e.totalMs,e.totalMs>0&&(f+=1),e.totalMs>h&&(h=e.totalMs,g=t)});let p=0,b=0,y=new Map;for(let t of e){let e=0;for(let s of t.entries){let t=B(s,+o,+i,a);!(t<=0)&&(p+=1,e+=t,t>b&&(b=t))}e>0&&y.set(t.name,e)}let M=null,j=0;for(let[e,t]of y)t>j&&(j=t,M=e);let w=null,v=0;for(let e of u)"Untagged"!==e.tag&&e.totalMs>v&&(v=e.totalMs,w=e.tag);let N=function(e,t=new Date,a=Date.now()){let s=(0,I.startOfDay)(t);0>=Y(e,+s,+(0,A.endOfDay)(s),a)&&(s=(0,C.subDays)(s,1));let r=0;for(let t=0;t<3660&&!(0>=Y(e,+(0,I.startOfDay)(s),+(0,A.endOfDay)(s),a));t+=1){;r+=1,s=(0,C.subDays)(s,1)}return r}(e,t,a),_=function(e){let t=0,a=0;for(let s of e)s.totalMs>0?(a+=1,t=Math.max(t,a)):a=0;return t}(m),k=-1===g?null:(0,P.format)(new Date(m[g].dateMs),"EEE, MMM d"),D=f>0?x/f:0;return{monthLabel:d,totalMs:x,trackedDays:f,daysInMonth:c,bestDayMs:h,bestDayLabel:k,longestEntryMs:b,totalEntries:p,topSheetName:M,topSheetMs:j,topTag:w,topTagMs:v,currentStreakDays:N,longestStreakDays:_,averageActiveDayMs:D}}(e,r,a)}}(N,_,j,$)}),[N,_,$,j]),{activeSheets:Z,grandAverageEntryMs:J,grandTotalMs:X,idleSheets:eM,periodTotals:ej,totalEntryCount:ew}=q,ev=Z.length+eM.length,eN=null===_,e_=(0,s.useMemo)(()=>ec(Z,g),[Z,g]),ek=(0,s.useMemo)(()=>ec(eM,g),[eM,g]),eD=null===_?"Last 30 days of activity.":`${H.dailyBuckets.length} days in the selected range.`;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(E.TrackerTopbar,{breadcrumb:{current:"Reporting"}}),(0,t.jsxs)("main",{className:"mx-auto flex w-full max-w-[1120px] flex-col items-center gap-6 px-5 pb-12 pt-6",children:[(0,t.jsxs)("header",{className:"flex w-full max-w-2xl flex-col gap-3",children:[(0,t.jsx)("h1",{className:"m-0 text-center text-[1.5rem] font-[650] tracking-tight",children:"Reporting"}),(0,t.jsx)("p",{className:"m-0 max-w-md self-center text-center text-[0.9rem] leading-relaxed text-muted",children:null===_?"A snapshot of where your time has been going.":"Metrics filtered to the selected date range."})]}),(0,t.jsx)(T,{active_tab:m,on_change:u}),(0,t.jsx)(f.ReportingDateRangePicker,{range:b,is_invalid:k,on_range_change:y,on_clear:()=>y(ex)}),(0,t.jsxs)("section",{className:"grid w-full max-w-5xl grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4","aria-label":"Summary",children:[(0,t.jsx)(eg,{label:null===_?"Total tracked":"In range",value:(0,r.format_duration)(X,d)}),(0,t.jsx)(eg,{label:"Avg per entry",value:(0,r.format_duration)(J,d)}),(0,t.jsx)(eg,{label:"Sheets",value:String(ev)}),(0,t.jsx)(eg,{label:"Entries",value:String(ew)})]}),eN?(0,t.jsxs)("section",{className:"grid w-full max-w-5xl grid-cols-1 gap-2 sm:grid-cols-3","aria-label":"Period totals",children:[(0,t.jsx)(eg,{label:"Today",value:(0,r.format_duration)(ej.todayMs,d)}),(0,t.jsx)(eg,{label:"This week",value:(0,r.format_duration)(ej.weekMs,d)}),(0,t.jsx)(eg,{label:"This month",value:(0,r.format_duration)(ej.monthMs,d)})]}):null,0===ev?(0,t.jsx)("p",{className:"m-0 w-full max-w-2xl text-center text-[0.9rem] text-muted",children:"No sheets yet. Create a sheet on the tracker to start logging time."}):k?(0,t.jsx)("p",{className:"m-0 w-full max-w-2xl text-center text-[0.9rem] text-muted",children:"Choose both dates to filter metrics, or clear the range to see all time."}):"dashboard"===m?(0,t.jsxs)(ef,{children:[(0,t.jsx)(h,{stats:H.monthInReview,duration_format:d}),(0,t.jsxs)("div",{className:"grid w-full grid-cols-1 gap-3 lg:grid-cols-2",children:[(0,t.jsx)(D,{trend:H.weekTrend,duration_format:d,current_label:"This week",previous_label:"Last week"}),(0,t.jsx)(D,{trend:H.monthTrend,duration_format:d,current_label:"This month",previous_label:"Last month"})]}),(0,t.jsx)(x,{daily_buckets:H.dailyBuckets,duration_format:d,subtitle:eD}),(0,t.jsxs)("div",{className:"grid w-full grid-cols-1 gap-3 lg:grid-cols-2",children:[(0,t.jsx)(v,{tag_breakdown:H.tagBreakdown,duration_format:d}),(0,t.jsx)(S,{weekday_distribution:H.weekdayDistribution,duration_format:d})]}),(0,t.jsx)(i,{heatmap:H.heatmap,duration_format:d,week_starts_on:c})]}):(0,t.jsxs)(eh,{children:[(0,t.jsx)(M,{sort:g,on_sort_change:p}),0===Z.length?(0,t.jsx)("p",{className:"m-0 w-full max-w-2xl text-center text-[0.9rem] text-muted",children:null===_?"No tracked time yet. Check in on a sheet to see stats here.":"No tracked time in this date range."}):(0,t.jsx)(ep,{title:"Tracked sheets",aria_label:"Tracked sheet statistics",children:e_.map(e=>(0,t.jsx)(eb,{sheet:e,grand_total_ms:X,duration_format:d},e.sheetName))}),eM.length>0?(0,t.jsx)(ep,{title:null===_?"Empty sheets":"Sheets in range",aria_label:"Sheets without time in range",muted:!0,children:ek.map(e=>(0,t.jsx)(ey,{sheet:e,in_range:null!==_},e.sheetName))}):null]})]})]})}],68120)}]);