super-time-tracker-ui 0.1.24 → 0.1.29

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 (157) hide show
  1. package/dist/standalone/next-output/BUILD_ID +1 -1
  2. package/dist/standalone/next-output/app-path-routes-manifest.json +1 -0
  3. package/dist/standalone/next-output/build-manifest.json +3 -3
  4. package/dist/standalone/next-output/routes-manifest.json +6 -0
  5. package/dist/standalone/next-output/server/app/_global-error.html +1 -1
  6. package/dist/standalone/next-output/server/app/_global-error.rsc +1 -1
  7. package/dist/standalone/next-output/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/dist/standalone/next-output/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/dist/standalone/next-output/server/app/_global-error.segments/_head.segment.rsc +1 -1
  10. package/dist/standalone/next-output/server/app/_global-error.segments/_index.segment.rsc +1 -1
  11. package/dist/standalone/next-output/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/dist/standalone/next-output/server/app/_not-found/page.js.nft.json +1 -1
  13. package/dist/standalone/next-output/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/dist/standalone/next-output/server/app/login/page.js.nft.json +1 -1
  15. package/dist/standalone/next-output/server/app/login/page_client-reference-manifest.js +1 -1
  16. package/dist/standalone/next-output/server/app/offline/page.js.nft.json +1 -1
  17. package/dist/standalone/next-output/server/app/offline/page_client-reference-manifest.js +1 -1
  18. package/dist/standalone/next-output/server/app/page.js +2 -2
  19. package/dist/standalone/next-output/server/app/page.js.nft.json +1 -1
  20. package/dist/standalone/next-output/server/app/page_client-reference-manifest.js +1 -1
  21. package/dist/standalone/next-output/server/app/pomodoro/page.js +1 -1
  22. package/dist/standalone/next-output/server/app/pomodoro/page.js.nft.json +1 -1
  23. package/dist/standalone/next-output/server/app/pomodoro/page_client-reference-manifest.js +1 -1
  24. package/dist/standalone/next-output/server/app/register/page.js.nft.json +1 -1
  25. package/dist/standalone/next-output/server/app/register/page_client-reference-manifest.js +1 -1
  26. package/dist/standalone/next-output/server/app/reporting/page.js +1 -1
  27. package/dist/standalone/next-output/server/app/reporting/page.js.nft.json +1 -1
  28. package/dist/standalone/next-output/server/app/reporting/page_client-reference-manifest.js +1 -1
  29. package/dist/standalone/next-output/server/app/settings/ai-suggestions/page.js.nft.json +1 -1
  30. package/dist/standalone/next-output/server/app/settings/ai-suggestions/page_client-reference-manifest.js +1 -1
  31. package/dist/standalone/next-output/server/app/settings/cloud-sync/page.js.nft.json +1 -1
  32. package/dist/standalone/next-output/server/app/settings/cloud-sync/page_client-reference-manifest.js +1 -1
  33. package/dist/standalone/next-output/server/app/settings/data/page.js +1 -1
  34. package/dist/standalone/next-output/server/app/settings/data/page.js.nft.json +1 -1
  35. package/dist/standalone/next-output/server/app/settings/data/page_client-reference-manifest.js +1 -1
  36. package/dist/standalone/next-output/server/app/settings/display/page.js.nft.json +1 -1
  37. package/dist/standalone/next-output/server/app/settings/display/page_client-reference-manifest.js +1 -1
  38. package/dist/standalone/next-output/server/app/settings/goals/page.js +1 -1
  39. package/dist/standalone/next-output/server/app/settings/goals/page.js.nft.json +1 -1
  40. package/dist/standalone/next-output/server/app/settings/goals/page_client-reference-manifest.js +1 -1
  41. package/dist/standalone/next-output/server/app/settings/notifications/page/app-paths-manifest.json +3 -0
  42. package/dist/standalone/next-output/server/app/settings/notifications/page/build-manifest.json +17 -0
  43. package/dist/standalone/next-output/server/app/settings/notifications/page/next-font-manifest.json +11 -0
  44. package/dist/standalone/next-output/server/app/settings/notifications/page/react-loadable-manifest.json +1 -0
  45. package/dist/standalone/next-output/server/app/settings/notifications/page/server-reference-manifest.json +4 -0
  46. package/dist/standalone/next-output/server/app/settings/notifications/page.js +16 -0
  47. package/dist/standalone/next-output/server/app/settings/notifications/page.js.nft.json +1 -0
  48. package/dist/standalone/next-output/server/app/settings/notifications/page_client-reference-manifest.js +3 -0
  49. package/dist/standalone/next-output/server/app/settings/page.js +1 -1
  50. package/dist/standalone/next-output/server/app/settings/page.js.nft.json +1 -1
  51. package/dist/standalone/next-output/server/app/settings/page_client-reference-manifest.js +1 -1
  52. package/dist/standalone/next-output/server/app/settings/pomodoro/page.js +1 -1
  53. package/dist/standalone/next-output/server/app/settings/pomodoro/page.js.nft.json +1 -1
  54. package/dist/standalone/next-output/server/app/settings/pomodoro/page_client-reference-manifest.js +1 -1
  55. package/dist/standalone/next-output/server/app/settings/tags/page.js +1 -1
  56. package/dist/standalone/next-output/server/app/settings/tags/page.js.nft.json +1 -1
  57. package/dist/standalone/next-output/server/app/settings/tags/page_client-reference-manifest.js +1 -1
  58. package/dist/standalone/next-output/server/app/sheets/page.js +1 -1
  59. package/dist/standalone/next-output/server/app/sheets/page.js.nft.json +1 -1
  60. package/dist/standalone/next-output/server/app/sheets/page_client-reference-manifest.js +1 -1
  61. package/dist/standalone/next-output/server/app/today/page.js +1 -1
  62. package/dist/standalone/next-output/server/app/today/page.js.nft.json +1 -1
  63. package/dist/standalone/next-output/server/app/today/page_client-reference-manifest.js +1 -1
  64. package/dist/standalone/next-output/server/app-paths-manifest.json +1 -0
  65. package/dist/standalone/next-output/server/chunks/_0y.amf.._.js +1 -1
  66. package/dist/standalone/next-output/server/chunks/ssr/0z~i_next_dist_esm_build_templates_app-page_09d~8qe.js +4 -0
  67. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0-0rjzr._.js +3 -0
  68. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__01xqr3d._.js +3 -0
  69. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__06o_2e_._.js +3 -0
  70. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0_b2z9m._.js +3 -0
  71. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0_wxrlk._.js +3 -0
  72. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0dvku3t._.js +3 -0
  73. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0gi2idc._.js +3 -0
  74. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0hx9602._.js +3 -0
  75. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0k~hq1g._.js +3 -0
  76. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0wtu388._.js +3 -0
  77. package/dist/standalone/next-output/server/chunks/ssr/{[root-of-the-server]__06tjg41._.js → [root-of-the-server]__0x6yv3u._.js} +2 -2
  78. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0yrs18n._.js +3 -0
  79. package/dist/standalone/next-output/server/chunks/ssr/_0-hc~ba._.js +3 -0
  80. package/dist/standalone/next-output/server/chunks/ssr/_002dssm._.js +3 -0
  81. package/dist/standalone/next-output/server/chunks/ssr/_00aklen._.js +3 -0
  82. package/dist/standalone/next-output/server/chunks/ssr/_00x~ete._.js +1 -1
  83. package/dist/standalone/next-output/server/chunks/ssr/_08dnxqq._.js +3 -0
  84. package/dist/standalone/next-output/server/chunks/ssr/_0agxxbf._.js +3 -0
  85. package/dist/standalone/next-output/server/chunks/ssr/_0c0txs~._.js +3 -0
  86. package/dist/standalone/next-output/server/chunks/ssr/_0cm4hy2._.js +3 -0
  87. package/dist/standalone/next-output/server/chunks/ssr/_0l6-7m4._.js +3 -0
  88. package/dist/standalone/next-output/server/chunks/ssr/_0r_7~d.._.js +1 -1
  89. package/dist/standalone/next-output/server/chunks/ssr/_0y3ypyx._.js +3 -0
  90. package/dist/standalone/next-output/server/chunks/ssr/_13crob-._.js +1 -1
  91. package/dist/standalone/next-output/server/chunks/ssr/_13y76jr._.js +3 -0
  92. package/dist/standalone/next-output/server/chunks/ssr/_next-internal_server_app_settings_notifications_page_actions_0p_s-jo.js +3 -0
  93. package/dist/standalone/next-output/server/chunks/ssr/components_today-focus-view_tsx_0~eac-w._.js +3 -0
  94. package/dist/standalone/next-output/server/chunks/ssr/components_tracker-app_tsx_0qs9.7y._.js +1 -1
  95. package/dist/standalone/next-output/server/middleware-build-manifest.js +3 -3
  96. package/dist/standalone/next-output/server/middleware-manifest.json +1 -1
  97. package/dist/standalone/next-output/server/next-font-manifest.js +1 -1
  98. package/dist/standalone/next-output/server/next-font-manifest.json +4 -0
  99. package/dist/standalone/next-output/server/pages/500.html +1 -1
  100. package/dist/standalone/next-output/static/chunks/00rjs5ywh4_np.css +3 -0
  101. package/dist/standalone/next-output/static/chunks/{0r_p~8b~slwz6.js → 03d24rbiv.lx7.js} +1 -1
  102. package/dist/standalone/next-output/static/chunks/041fttxys-zjw.js +1 -0
  103. package/dist/standalone/next-output/static/chunks/{0uqa2icli2jfg.js → 055~9w5b9lao5.js} +1 -1
  104. package/dist/standalone/next-output/static/chunks/09mbpw08eiqwx.js +1 -0
  105. package/dist/standalone/next-output/static/chunks/0ate7k1rcitu0.js +1 -0
  106. package/dist/standalone/next-output/static/chunks/{0jmzwpfmnsd3v.js → 0bw3uow4-~3fr.js} +1 -1
  107. package/dist/standalone/next-output/static/chunks/{0nkl588xh~5.i.js → 0d1dhitpe0ieo.js} +5 -5
  108. package/dist/standalone/next-output/static/chunks/0d2d-s..s8cfz.js +1 -0
  109. package/dist/standalone/next-output/static/chunks/{01f_tq~9x~8zv.js → 0h72~3~6gq3fn.js} +1 -1
  110. package/dist/standalone/next-output/static/chunks/{0p-_potvb-of4.js → 0hhu330gm_fnl.js} +1 -1
  111. package/dist/standalone/next-output/static/chunks/0ls_5qyf15z5_.js +1 -0
  112. package/dist/standalone/next-output/static/chunks/0n0.21h11yrv2.js +1 -0
  113. package/dist/standalone/next-output/static/chunks/0sywv5h95uodq.js +1 -0
  114. package/dist/standalone/next-output/static/chunks/0x5_m1_cuacap.js +1 -0
  115. package/dist/standalone/next-output/static/chunks/0xccil3r~k_7n.js +1 -0
  116. package/dist/standalone/next-output/static/chunks/0y8q3nm-aw7vw.js +1 -0
  117. package/dist/standalone/next-output/static/chunks/{0lik.lmxlumgs.js → 0~z41.7~3tpw3.js} +1 -1
  118. package/dist/standalone/next-output/static/chunks/14oa3e0hktvxi.js +1 -0
  119. package/dist/standalone/package.json +1 -1
  120. package/package.json +1 -1
  121. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__08321hx._.js +0 -3
  122. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0c.ljsw._.js +0 -3
  123. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0d6d7oj._.js +0 -3
  124. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0ddge-d._.js +0 -3
  125. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0jx47wg._.js +0 -3
  126. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0px9gk1._.js +0 -3
  127. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0qfxx_p._.js +0 -3
  128. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0v7ghh2._.js +0 -3
  129. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0xenuid._.js +0 -3
  130. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0~t0puh._.js +0 -3
  131. package/dist/standalone/next-output/server/chunks/ssr/_08iak5j._.js +0 -3
  132. package/dist/standalone/next-output/server/chunks/ssr/_09-_33p._.js +0 -3
  133. package/dist/standalone/next-output/server/chunks/ssr/_0a899fn._.js +0 -3
  134. package/dist/standalone/next-output/server/chunks/ssr/_0ceu~9f._.js +0 -3
  135. package/dist/standalone/next-output/server/chunks/ssr/_0i4.n_a._.js +0 -3
  136. package/dist/standalone/next-output/server/chunks/ssr/_0ks2fqx._.js +0 -3
  137. package/dist/standalone/next-output/server/chunks/ssr/_0n4osnj._.js +0 -3
  138. package/dist/standalone/next-output/server/chunks/ssr/_0st.s39._.js +0 -3
  139. package/dist/standalone/next-output/server/chunks/ssr/_0u8~h8i._.js +0 -3
  140. package/dist/standalone/next-output/server/chunks/ssr/_0ybsqe1._.js +0 -3
  141. package/dist/standalone/next-output/server/chunks/ssr/_11d2qve._.js +0 -3
  142. package/dist/standalone/next-output/server/chunks/ssr/_138a8mc._.js +0 -3
  143. package/dist/standalone/next-output/static/chunks/0.--_5xgw~jq3.js +0 -1
  144. package/dist/standalone/next-output/static/chunks/00~ilmka-h85i.js +0 -1
  145. package/dist/standalone/next-output/static/chunks/06u43x9tl391w.js +0 -1
  146. package/dist/standalone/next-output/static/chunks/0beicab6wjk6i.js +0 -1
  147. package/dist/standalone/next-output/static/chunks/0d_y_tcdl.atr.js +0 -1
  148. package/dist/standalone/next-output/static/chunks/0pad.4ycu.c9a.js +0 -1
  149. package/dist/standalone/next-output/static/chunks/0wwa4vyavaj9y.js +0 -1
  150. package/dist/standalone/next-output/static/chunks/145wpjuqytc0-.js +0 -1
  151. package/dist/standalone/next-output/static/chunks/16mdccb8.20ou.css +0 -3
  152. package/dist/standalone/next-output/static/chunks/16unuw80qbxmx.js +0 -1
  153. package/dist/standalone/next-output/static/chunks/170g.yxigj5~6.js +0 -1
  154. package/dist/standalone/next-output/static/chunks/18c9gg_1a7.0p.js +0 -1
  155. /package/dist/standalone/next-output/static/{wZOpAni2OS7_9AC_2kAVd → diBBBwr7OTHBo2aEw-WYC}/_buildManifest.js +0 -0
  156. /package/dist/standalone/next-output/static/{wZOpAni2OS7_9AC_2kAVd → diBBBwr7OTHBo2aEw-WYC}/_clientMiddlewareManifest.js +0 -0
  157. /package/dist/standalone/next-output/static/{wZOpAni2OS7_9AC_2kAVd → diBBBwr7OTHBo2aEw-WYC}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},54508,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},59341,a=>{"use strict";var b=a.i(60526),c=a.i(50227);let d=c.default.join(b.default.homedir(),".super-time-tracker"),e=c.default.join(d,"db.json");a.s(["DB_PATH",0,e,"DB_VERSION",0,3,"DEFAULT_SHEET_NAME",0,"main"])},4813,92398,23761,a=>{"use strict";var b=a.i(50227),c=a.i(2157),d=a.i(59341);async function e(a){try{await c.promises.mkdir(a,{recursive:!0})}catch(a){if("EEXIST"!==(null!==a&&"object"==typeof a&&"code"in a&&"string"==typeof a.code?a.code:null))throw a}}function f(a,b=[],c=null){if(0===a.length)throw Error("New sheet name must not be empty");if(null!==c&&void 0===b.find(({id:a})=>a===c))throw Error("New sheet active entry does not exist");return{name:a,entries:b,activeEntryID:c}}function g(){return{version:d.DB_VERSION,sheets:[f(d.DEFAULT_SHEET_NAME)],activeSheetName:d.DEFAULT_SHEET_NAME}}a.s(["gen_db",0,g,"gen_sheet",0,f],92398);let h={2:function(a){let{sheets:b,version:c,activeSheetName:d}=a;if(1!==c&&void 0!==c)throw Error(`DB is version ${c}, cannot migrate to version 2.`);return{version:2,activeSheetName:d,sheets:b.map(({name:a,entries:b,activeEntryID:c})=>({name:a,activeEntryID:c,entries:b.map(({id:a,start:b,end:c,description:d})=>({tags:[],notes:[],id:a,end:c,start:b,description:d}))}))}},3:function(a){let{sheets:b,version:c,activeSheetName:d}=a;if(2!==c&&void 0!==c)throw Error(`DB is version ${c}, cannot migrate to version 3.`);return{version:3,activeSheetName:d,sheets:b.map(({name:a,entries:b,activeEntryID:c})=>({name:a,activeEntryID:c,entries:b.map(({id:a,start:b,end:c,description:d,tags:e})=>({notes:[],tags:e,id:a,end:c,start:b,description:d}))}))}}};async function i(a,b=d.DB_PATH){let e,f=JSON.stringify((e=a.sheets.map(a=>({name:a.name,activeEntryID:a.activeEntryID,entries:a.entries.map(a=>({id:a.id,description:a.description,tags:a.tags,start:a.start.getTime(),end:null===a.end?null:a.end.getTime(),notes:a.notes.map(a=>({text:a.text,timestamp:a.timestamp.getTime()}))}))})),{version:a.version,activeSheetName:a.activeSheetName,sheets:e}));try{await c.promises.writeFile(b,f)}catch(a){throw Error(`Failed to save DB: ${String(a)}`,{cause:a})}}async function j(a=d.DB_PATH){let f,k=b.default.dirname(a);await e(k);try{await c.promises.access(a)}catch{let b=g();return await i(b,a),b}let l=await c.promises.readFile(a,"utf-8");try{f=JSON.parse(l)}catch(b){throw Error(`DB at ${a} is invalid JSON: ${String(b)}`,{cause:b})}let m=function(a){let b=a,c=!1,e=void 0===b.version?1:b.version;if(e>d.DB_VERSION||e<1)throw Error(`Unknown DB version ${b.version}, cannot load.`);for(;e<d.DB_VERSION;){let a=e+1,d=h[a];if(void 0===d)throw Error(`Missing migration from version ${e} to ${a}.`);if((b=d(b)).version!==a)throw Error(`Invalid migration output for version ${a}.`);e=a,c=!0}return{json_db:b,did_migrate:c}}(f),n=function(a){let{sheets:b,version:c,activeSheetName:d}=a;return{version:c,activeSheetName:d,sheets:b.map(({name:a,entries:b,activeEntryID:c})=>({name:a,activeEntryID:c,entries:b.map(({id:a,start:b,end:c,description:d,tags:e,notes:f})=>({id:a,description:d,tags:e,notes:f.map(({timestamp:a,text:b})=>({text:b,timestamp:new Date(a)})),start:new Date(b),end:null===c?null:new Date(c)}))}))}}(f=m.json_db);return m.did_migrate&&await i(n,a),n}async function k(a){return j(a)}a.s(["write_local_db",0,i],23761),a.s(["read_db",0,k],4813)},84245,a=>{"use strict";a.s(["TrackerTopbar",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call TrackerTopbar() from the server but TrackerTopbar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/tracker-topbar.tsx <module evaluation>","TrackerTopbar")},43680,a=>{"use strict";a.s(["TrackerTopbar",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call TrackerTopbar() from the server but TrackerTopbar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/tracker-topbar.tsx","TrackerTopbar")},54675,a=>{"use strict";a.i(84245);var b=a.i(43680);a.n(b)},85168,a=>{"use strict";a.s(["SettingsNav",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call SettingsNav() from the server but SettingsNav is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/settings-nav.tsx <module evaluation>","SettingsNav")},28678,a=>{"use strict";a.s(["SettingsNav",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call SettingsNav() from the server but SettingsNav is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/settings-nav.tsx","SettingsNav")},9615,a=>{"use strict";a.i(85168);var b=a.i(28678);a.n(b)},5894,a=>{"use strict";var b=a.i(46193),c=a.i(9615),d=a.i(54675);a.s(["SettingsPageLayout",0,function({breadcrumb:a,title:e,description:f,children:g}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.TrackerTopbar,{breadcrumb:a}),(0,b.jsxs)("main",{className:"mx-auto grid w-full max-w-[1120px] grid-cols-[minmax(12rem,16rem)_minmax(0,1fr)] gap-4 px-4 pb-10 pt-5 sm:gap-6 sm:px-5 sm:pt-6 max-[860px]:grid-cols-1",children:[(0,b.jsxs)("aside",{className:"flex flex-col gap-2",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Settings"}),(0,b.jsx)(c.SettingsNav,{})]}),(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-4",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h1",{className:"m-0 text-[1.35rem] font-[650] tracking-tight",children:e}),void 0!==f?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:f}):null]}),g]})]})]})}])},26758,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},38872,a=>{"use strict";let b={src:a.i(26758).default,width:256,height:256};a.s(["default",0,b])},73368,a=>{"use strict";a.s(["ClearTagFiltersOnSheetChangeSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ClearTagFiltersOnSheetChangeSetting() from the server but ClearTagFiltersOnSheetChangeSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/clear-tag-filters-on-sheet-change-setting.tsx <module evaluation>","ClearTagFiltersOnSheetChangeSetting")},52811,a=>{"use strict";a.s(["ClearTagFiltersOnSheetChangeSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ClearTagFiltersOnSheetChangeSetting() from the server but ClearTagFiltersOnSheetChangeSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/clear-tag-filters-on-sheet-change-setting.tsx","ClearTagFiltersOnSheetChangeSetting")},48597,a=>{"use strict";a.i(73368);var b=a.i(52811);a.n(b)},44583,a=>{"use strict";a.s(["ConfirmBeforeCheckoutSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ConfirmBeforeCheckoutSetting() from the server but ConfirmBeforeCheckoutSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-before-checkout-setting.tsx <module evaluation>","ConfirmBeforeCheckoutSetting")},46049,a=>{"use strict";a.s(["ConfirmBeforeCheckoutSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ConfirmBeforeCheckoutSetting() from the server but ConfirmBeforeCheckoutSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-before-checkout-setting.tsx","ConfirmBeforeCheckoutSetting")},2889,a=>{"use strict";a.i(44583);var b=a.i(46049);a.n(b)},59245,a=>{"use strict";a.s(["ConfirmDestructiveActionsSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ConfirmDestructiveActionsSetting() from the server but ConfirmDestructiveActionsSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-destructive-actions-setting.tsx <module evaluation>","ConfirmDestructiveActionsSetting")},22659,a=>{"use strict";a.s(["ConfirmDestructiveActionsSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ConfirmDestructiveActionsSetting() from the server but ConfirmDestructiveActionsSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-destructive-actions-setting.tsx","ConfirmDestructiveActionsSetting")},39763,a=>{"use strict";a.i(59245);var b=a.i(22659);a.n(b)},1234,a=>{"use strict";a.s(["DebugLoggingSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call DebugLoggingSetting() from the server but DebugLoggingSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/debug-logging-setting.tsx <module evaluation>","DebugLoggingSetting")},9661,a=>{"use strict";a.s(["DebugLoggingSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call DebugLoggingSetting() from the server but DebugLoggingSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/debug-logging-setting.tsx","DebugLoggingSetting")},31775,a=>{"use strict";a.i(1234);var b=a.i(9661);a.n(b)},53605,a=>{"use strict";a.s(["DefaultSheetSessionSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call DefaultSheetSessionSetting() from the server but DefaultSheetSessionSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/default-sheet-session-setting.tsx <module evaluation>","DefaultSheetSessionSetting")},27942,a=>{"use strict";a.s(["DefaultSheetSessionSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call DefaultSheetSessionSetting() from the server but DefaultSheetSessionSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/default-sheet-session-setting.tsx","DefaultSheetSessionSetting")},82951,a=>{"use strict";a.i(53605);var b=a.i(27942);a.n(b)},72017,a=>{"use strict";var b=a.i(46193),c=a.i(48597),d=a.i(2889),e=a.i(39763),f=a.i(31775),g=a.i(82951),h=a.i(5894);function i({sheet_names:a}){return(0,b.jsx)(h.SettingsPageLayout,{breadcrumb:{current:"General",parent:{label:"Settings"}},title:"General",description:"Tracker startup, confirmations, and session behavior.",children:(0,b.jsxs)("ul",{className:"m-0 flex w-full list-none flex-col gap-2 p-0","aria-label":"General settings",children:[(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsx)(g.DefaultSheetSessionSetting,{sheet_names:a})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsx)(d.ConfirmBeforeCheckoutSetting,{})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsx)(e.ConfirmDestructiveActionsSetting,{})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsx)(c.ClearTagFiltersOnSheetChangeSetting,{})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsx)(f.DebugLoggingSetting,{})})]})})}var j=a.i(4813);async function k(){let a=(await (0,j.read_db)()).sheets.map(a=>a.name);return(0,b.jsx)(i,{sheet_names:a})}a.s(["default",0,k],72017)},51425,a=>{a.n(a.i(72017))}];
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},54508,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},59341,40388,67511,92398,26351,a=>{"use strict";var b=a.i(60526),c=a.i(50227);let d="main",e=c.default.join(b.default.homedir(),".super-time-tracker"),f=c.default.join(e,"db.json");a.s(["DB_PATH",0,f,"DB_VERSION",0,3,"DEFAULT_SHEET_NAME",0,d],59341),a.s(["convert_json_db",0,function(a){let{sheets:b,version:c,activeSheetName:d}=a;return{version:c,activeSheetName:d,sheets:b.map(({name:a,entries:b,activeEntryID:c})=>({name:a,activeEntryID:c,entries:b.map(({id:a,start:b,end:c,description:d,tags:e,notes:f})=>({id:a,description:d,tags:e,notes:f.map(({timestamp:a,text:b})=>({text:b,timestamp:new Date(a)})),start:new Date(b),end:null===c?null:new Date(c)}))}))}}],40388);var g=a.i(2157);async function h(a){try{await g.promises.mkdir(a,{recursive:!0})}catch(a){if("EEXIST"!==(null!==a&&"object"==typeof a&&"code"in a&&"string"==typeof a.code?a.code:null))throw a}}function i(a,b=[],c=null){if(0===a.length)throw Error("New sheet name must not be empty");if(null!==c&&void 0===b.find(({id:a})=>a===c))throw Error("New sheet active entry does not exist");return{name:a,entries:b,activeEntryID:c}}a.s(["ensure_dir_exists",0,h],67511),a.s(["gen_db",0,function(){return{version:3,sheets:[i(d)],activeSheetName:d}},"gen_sheet",0,i],92398);let j={2:function(a){let{sheets:b,version:c,activeSheetName:d}=a;if(1!==c&&void 0!==c)throw Error(`DB is version ${c}, cannot migrate to version 2.`);return{version:2,activeSheetName:d,sheets:b.map(({name:a,entries:b,activeEntryID:c})=>({name:a,activeEntryID:c,entries:b.map(({id:a,start:b,end:c,description:d})=>({tags:[],notes:[],id:a,end:c,start:b,description:d}))}))}},3:function(a){let{sheets:b,version:c,activeSheetName:d}=a;if(2!==c&&void 0!==c)throw Error(`DB is version ${c}, cannot migrate to version 3.`);return{version:3,activeSheetName:d,sheets:b.map(({name:a,entries:b,activeEntryID:c})=>({name:a,activeEntryID:c,entries:b.map(({id:a,start:b,end:c,description:d,tags:e})=>({notes:[],tags:e,id:a,end:c,start:b,description:d}))}))}}};a.s(["migrate_json_db",0,function(a){let b=a,c=!1,d=void 0===b.version?1:b.version;if(d>3||d<1)throw Error(`Unknown DB version ${b.version}, cannot load.`);for(;d<3;){let a=d+1,e=j[a];if(void 0===e)throw Error(`Missing migration from version ${d} to ${a}.`);if((b=e(b)).version!==a)throw Error(`Invalid migration output for version ${a}.`);d=a,c=!0}return{json_db:b,did_migrate:c}}],26351)},6931,a=>{"use strict";a.s(["convert_db_to_json",0,function(a){let b=a.sheets.map(a=>({name:a.name,activeEntryID:a.activeEntryID,entries:a.entries.map(a=>({id:a.id,description:a.description,tags:a.tags,start:a.start.getTime(),end:null===a.end?null:a.end.getTime(),notes:a.notes.map(a=>({text:a.text,timestamp:a.timestamp.getTime()}))}))}));return{version:a.version,activeSheetName:a.activeSheetName,sheets:b}}])},4813,23761,a=>{"use strict";var b=a.i(50227),c=a.i(2157),d=a.i(59341),e=a.i(40388),f=a.i(67511),g=a.i(92398),h=a.i(26351),i=a.i(6931);async function j(a,b=d.DB_PATH){let e=JSON.stringify((0,i.convert_db_to_json)(a));try{await c.promises.writeFile(b,e)}catch(a){throw Error(`Failed to save DB: ${String(a)}`,{cause:a})}}async function k(a=d.DB_PATH){let i,l=b.default.dirname(a);await (0,f.ensure_dir_exists)(l);try{await c.promises.access(a)}catch{let b=(0,g.gen_db)();return await j(b,a),b}let m=await c.promises.readFile(a,"utf-8");try{i=JSON.parse(m)}catch(b){throw Error(`DB at ${a} is invalid JSON: ${String(b)}`,{cause:b})}let n=(0,h.migrate_json_db)(i);i=n.json_db;let o=(0,e.convert_json_db)(i);return n.did_migrate&&await j(o,a),o}async function l(a){return k(a)}a.s(["write_local_db",0,j],23761),a.s(["read_db",0,l],4813)},84245,a=>{"use strict";a.s(["TrackerTopbar",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call TrackerTopbar() from the server but TrackerTopbar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/tracker-topbar.tsx <module evaluation>","TrackerTopbar")},43680,a=>{"use strict";a.s(["TrackerTopbar",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call TrackerTopbar() from the server but TrackerTopbar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/tracker-topbar.tsx","TrackerTopbar")},54675,a=>{"use strict";a.i(84245);var b=a.i(43680);a.n(b)},85168,a=>{"use strict";a.s(["SettingsNav",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call SettingsNav() from the server but SettingsNav is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/settings-nav.tsx <module evaluation>","SettingsNav")},28678,a=>{"use strict";a.s(["SettingsNav",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call SettingsNav() from the server but SettingsNav is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/settings-nav.tsx","SettingsNav")},9615,a=>{"use strict";a.i(85168);var b=a.i(28678);a.n(b)},5894,a=>{"use strict";var b=a.i(46193),c=a.i(9615),d=a.i(54675);a.s(["SettingsPageLayout",0,function({breadcrumb:a,title:e,description:f,children:g}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.TrackerTopbar,{breadcrumb:a}),(0,b.jsxs)("main",{className:"mx-auto grid w-full max-w-[1120px] grid-cols-[minmax(12rem,16rem)_minmax(0,1fr)] gap-4 px-4 pb-10 pt-5 sm:gap-6 sm:px-5 sm:pt-6 max-[860px]:grid-cols-1",children:[(0,b.jsxs)("aside",{className:"flex flex-col gap-2",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Settings"}),(0,b.jsx)(c.SettingsNav,{})]}),(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-4",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h1",{className:"m-0 text-[1.35rem] font-[650] tracking-tight",children:e}),void 0!==f?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:f}):null]}),g]})]})]})}])},26758,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},38872,a=>{"use strict";let b={src:a.i(26758).default,width:256,height:256};a.s(["default",0,b])},73368,a=>{"use strict";a.s(["ClearTagFiltersOnSheetChangeSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ClearTagFiltersOnSheetChangeSetting() from the server but ClearTagFiltersOnSheetChangeSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/clear-tag-filters-on-sheet-change-setting.tsx <module evaluation>","ClearTagFiltersOnSheetChangeSetting")},52811,a=>{"use strict";a.s(["ClearTagFiltersOnSheetChangeSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ClearTagFiltersOnSheetChangeSetting() from the server but ClearTagFiltersOnSheetChangeSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/clear-tag-filters-on-sheet-change-setting.tsx","ClearTagFiltersOnSheetChangeSetting")},48597,a=>{"use strict";a.i(73368);var b=a.i(52811);a.n(b)},44583,a=>{"use strict";a.s(["ConfirmBeforeCheckoutSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ConfirmBeforeCheckoutSetting() from the server but ConfirmBeforeCheckoutSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-before-checkout-setting.tsx <module evaluation>","ConfirmBeforeCheckoutSetting")},46049,a=>{"use strict";a.s(["ConfirmBeforeCheckoutSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ConfirmBeforeCheckoutSetting() from the server but ConfirmBeforeCheckoutSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-before-checkout-setting.tsx","ConfirmBeforeCheckoutSetting")},2889,a=>{"use strict";a.i(44583);var b=a.i(46049);a.n(b)},59245,a=>{"use strict";a.s(["ConfirmDestructiveActionsSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ConfirmDestructiveActionsSetting() from the server but ConfirmDestructiveActionsSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-destructive-actions-setting.tsx <module evaluation>","ConfirmDestructiveActionsSetting")},22659,a=>{"use strict";a.s(["ConfirmDestructiveActionsSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call ConfirmDestructiveActionsSetting() from the server but ConfirmDestructiveActionsSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/confirm-destructive-actions-setting.tsx","ConfirmDestructiveActionsSetting")},39763,a=>{"use strict";a.i(59245);var b=a.i(22659);a.n(b)},1234,a=>{"use strict";a.s(["DebugLoggingSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call DebugLoggingSetting() from the server but DebugLoggingSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/debug-logging-setting.tsx <module evaluation>","DebugLoggingSetting")},9661,a=>{"use strict";a.s(["DebugLoggingSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call DebugLoggingSetting() from the server but DebugLoggingSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/debug-logging-setting.tsx","DebugLoggingSetting")},31775,a=>{"use strict";a.i(1234);var b=a.i(9661);a.n(b)},53605,a=>{"use strict";a.s(["DefaultSheetSessionSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call DefaultSheetSessionSetting() from the server but DefaultSheetSessionSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/default-sheet-session-setting.tsx <module evaluation>","DefaultSheetSessionSetting")},27942,a=>{"use strict";a.s(["DefaultSheetSessionSetting",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call DefaultSheetSessionSetting() from the server but DefaultSheetSessionSetting is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/default-sheet-session-setting.tsx","DefaultSheetSessionSetting")},82951,a=>{"use strict";a.i(53605);var b=a.i(27942);a.n(b)},72017,a=>{"use strict";var b=a.i(46193),c=a.i(48597),d=a.i(2889),e=a.i(39763),f=a.i(31775),g=a.i(82951),h=a.i(5894);function i({sheet_names:a}){return(0,b.jsx)(h.SettingsPageLayout,{breadcrumb:{current:"General",parent:{label:"Settings"}},title:"General",description:"Tracker startup, confirmations, and session behavior.",children:(0,b.jsxs)("ul",{className:"m-0 flex w-full list-none flex-col gap-2 p-0","aria-label":"General settings",children:[(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsx)(g.DefaultSheetSessionSetting,{sheet_names:a})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsx)(d.ConfirmBeforeCheckoutSetting,{})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsx)(e.ConfirmDestructiveActionsSetting,{})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsx)(c.ClearTagFiltersOnSheetChangeSetting,{})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsx)(f.DebugLoggingSetting,{})})]})})}var j=a.i(4813);async function k(){let a=(await (0,j.read_db)()).sheets.map(a=>a.name);return(0,b.jsx)(i,{sheet_names:a})}a.s(["default",0,k],72017)},51425,a=>{a.n(a.i(72017))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__06tjg41._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0x6yv3u._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},54508,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},59341,40388,67511,92398,26351,a=>{"use strict";var b=a.i(60526),c=a.i(50227);let d="main",e=c.default.join(b.default.homedir(),".super-time-tracker"),f=c.default.join(e,"db.json");a.s(["DB_PATH",0,f,"DB_VERSION",0,3,"DEFAULT_SHEET_NAME",0,d],59341),a.s(["convert_json_db",0,function(a){let{sheets:b,version:c,activeSheetName:d}=a;return{version:c,activeSheetName:d,sheets:b.map(({name:a,entries:b,activeEntryID:c})=>({name:a,activeEntryID:c,entries:b.map(({id:a,start:b,end:c,description:d,tags:e,notes:f})=>({id:a,description:d,tags:e,notes:f.map(({timestamp:a,text:b})=>({text:b,timestamp:new Date(a)})),start:new Date(b),end:null===c?null:new Date(c)}))}))}}],40388);var g=a.i(2157);async function h(a){try{await g.promises.mkdir(a,{recursive:!0})}catch(a){if("EEXIST"!==(null!==a&&"object"==typeof a&&"code"in a&&"string"==typeof a.code?a.code:null))throw a}}function i(a,b=[],c=null){if(0===a.length)throw Error("New sheet name must not be empty");if(null!==c&&void 0===b.find(({id:a})=>a===c))throw Error("New sheet active entry does not exist");return{name:a,entries:b,activeEntryID:c}}a.s(["ensure_dir_exists",0,h],67511),a.s(["gen_db",0,function(){return{version:3,sheets:[i(d)],activeSheetName:d}},"gen_sheet",0,i],92398);let j={2:function(a){let{sheets:b,version:c,activeSheetName:d}=a;if(1!==c&&void 0!==c)throw Error(`DB is version ${c}, cannot migrate to version 2.`);return{version:2,activeSheetName:d,sheets:b.map(({name:a,entries:b,activeEntryID:c})=>({name:a,activeEntryID:c,entries:b.map(({id:a,start:b,end:c,description:d})=>({tags:[],notes:[],id:a,end:c,start:b,description:d}))}))}},3:function(a){let{sheets:b,version:c,activeSheetName:d}=a;if(2!==c&&void 0!==c)throw Error(`DB is version ${c}, cannot migrate to version 3.`);return{version:3,activeSheetName:d,sheets:b.map(({name:a,entries:b,activeEntryID:c})=>({name:a,activeEntryID:c,entries:b.map(({id:a,start:b,end:c,description:d,tags:e})=>({notes:[],tags:e,id:a,end:c,start:b,description:d}))}))}}};a.s(["migrate_json_db",0,function(a){let b=a,c=!1,d=void 0===b.version?1:b.version;if(d>3||d<1)throw Error(`Unknown DB version ${b.version}, cannot load.`);for(;d<3;){let a=d+1,e=j[a];if(void 0===e)throw Error(`Missing migration from version ${d} to ${a}.`);if((b=e(b)).version!==a)throw Error(`Invalid migration output for version ${a}.`);d=a,c=!0}return{json_db:b,did_migrate:c}}],26351)},6931,a=>{"use strict";a.s(["convert_db_to_json",0,function(a){let b=a.sheets.map(a=>({name:a.name,activeEntryID:a.activeEntryID,entries:a.entries.map(a=>({id:a.id,description:a.description,tags:a.tags,start:a.start.getTime(),end:null===a.end?null:a.end.getTime(),notes:a.notes.map(a=>({text:a.text,timestamp:a.timestamp.getTime()}))}))}));return{version:a.version,activeSheetName:a.activeSheetName,sheets:b}}])},4813,23761,a=>{"use strict";var b=a.i(50227),c=a.i(2157),d=a.i(59341),e=a.i(40388),f=a.i(67511),g=a.i(92398),h=a.i(26351),i=a.i(6931);async function j(a,b=d.DB_PATH){let e=JSON.stringify((0,i.convert_db_to_json)(a));try{await c.promises.writeFile(b,e)}catch(a){throw Error(`Failed to save DB: ${String(a)}`,{cause:a})}}async function k(a=d.DB_PATH){let i,l=b.default.dirname(a);await (0,f.ensure_dir_exists)(l);try{await c.promises.access(a)}catch{let b=(0,g.gen_db)();return await j(b,a),b}let m=await c.promises.readFile(a,"utf-8");try{i=JSON.parse(m)}catch(b){throw Error(`DB at ${a} is invalid JSON: ${String(b)}`,{cause:b})}let n=(0,h.migrate_json_db)(i);i=n.json_db;let o=(0,e.convert_json_db)(i);return n.did_migrate&&await j(o,a),o}async function l(a){return k(a)}a.s(["write_local_db",0,j],23761),a.s(["read_db",0,l],4813)},23750,a=>{"use strict";a.s(["collect_known_tags",0,function(a){let b=new Set;for(let c of a.sheets)for(let a of c.entries)for(let c of a.tags){let a=c.trim();a.length>0&&b.add(a)}return[...b].sort((a,b)=>a.localeCompare(b))}])},26758,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},38872,a=>{"use strict";let b={src:a.i(26758).default,width:256,height:256};a.s(["default",0,b])},28157,a=>{"use strict";a.s(["PomodoroSettingsView",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call PomodoroSettingsView() from the server but PomodoroSettingsView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/pomodoro-settings-view.tsx <module evaluation>","PomodoroSettingsView")},7372,a=>{"use strict";a.s(["PomodoroSettingsView",()=>b]);let b=(0,a.i(41445).registerClientReference)(function(){throw Error("Attempted to call PomodoroSettingsView() from the server but PomodoroSettingsView is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/components/pomodoro-settings-view.tsx","PomodoroSettingsView")},17330,a=>{"use strict";a.i(28157);var b=a.i(7372);a.n(b)},47420,a=>{"use strict";var b=a.i(46193),c=a.i(17330),d=a.i(23750),e=a.i(4813);async function f(){let a=await (0,e.read_db)(),f=(0,d.collect_known_tags)(a);return(0,b.jsx)(c.PomodoroSettingsView,{known_tags:f})}a.s(["default",0,f])},93954,a=>{a.n(a.i(47420))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0yrs18n._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[57077,a=>{"use strict";var b=a.i(7048);a.s(["persist_ui_preference",0,function(a,c){a.read()!==c&&(a.write(c),a.notify(),(0,b.notify_settings_saved)())}])},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"])},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)},84365,a=>{"use strict";a.s(["get_serialized_entries_total_ms",0,function(a){return a.reduce((a,b)=>a+b.durationMs,0)}])},14945,a=>{"use strict";a.s(["get_entry_list_sort_options",0,function(){return[{value:"newest",label:"Newest"},{value:"oldest",label:"Oldest"},{value:"duration",label:"Duration"},{value:"description",label:"Description"}]}])},30004,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DEBUG_LOGGING_STORAGE_KEY,default_value:c.DEBUG_LOGGING_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["debug_logging_preference",0,d])},78537,a=>{"use strict";var b=a.i(97917);a.s(["notify_desktop",0,function(a){(0,b.notify_in_app)({title:a.title,body:a.body})},"supports_desktop_notifications",0,function(){return!1}])},77963,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DESKTOP_NOTIFICATIONS_STORAGE_KEY,default_value:c.DESKTOP_NOTIFICATIONS_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["desktop_notifications_preference",0,d])},98831,40420,6962,45273,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.CLAUDE_API_KEY_STORAGE_KEY,default_value:c.CLAUDE_API_KEY_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["claude_api_key_preference",0,d],98831);let e=(0,b.create_ui_preference_store)({storage_key:c.ENTRY_SUGGESTION_PROVIDER_STORAGE_KEY,default_value:c.ENTRY_SUGGESTION_PROVIDER_DEFAULT,is_valid:a=>"none"===a||"openai"===a||"claude"===a||"google_ai"===a});a.s(["entry_suggestion_provider_preference",0,e],40420);let f=(0,b.create_ui_preference_store)({storage_key:c.GOOGLE_AI_API_KEY_STORAGE_KEY,default_value:c.GOOGLE_AI_API_KEY_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["google_ai_api_key_preference",0,f],6962);let g=(0,b.create_ui_preference_store)({storage_key:c.OPENAI_API_KEY_STORAGE_KEY,default_value:c.OPENAI_API_KEY_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["openai_api_key_preference",0,g],45273)},39744,62082,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DAILY_FOCUS_TARGET_MINUTES_STORAGE_KEY,default_value:c.DAILY_FOCUS_TARGET_MINUTES_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=30&&b<=720}});a.s(["daily_focus_target_minutes_preference",0,d],39744);let e=(0,b.create_ui_preference_store)({storage_key:c.WEEKLY_FOCUS_TARGET_MINUTES_STORAGE_KEY,default_value:c.WEEKLY_FOCUS_TARGET_MINUTES_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=60&&b<=4200}});a.s(["weekly_focus_target_minutes_preference",0,e],62082)},50762,13870,16777,18558,80805,9818,a=>{"use strict";a.s(["parse_focus_goals_by_name",0,function(a){if(0===a.length)return{};try{let b=JSON.parse(a);if(null===b||"object"!=typeof b||Array.isArray(b))return{};let c={};for(let[a,d]of Object.entries(b)){if(null===d||"object"!=typeof d)continue;let b={};"string"==typeof d.daily&&d.daily.length>0&&(b.daily=d.daily),"string"==typeof d.weekly&&d.weekly.length>0&&(b.weekly=d.weekly),(void 0!==b.daily||void 0!==b.weekly)&&(c[a]=b)}return c}catch{return{}}}],50762);var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOAL_SCOPE_STORAGE_KEY,default_value:c.FOCUS_GOAL_SCOPE_DEFAULT,is_valid:a=>"global"===a||"sheet"===a||"tag"===a});a.s(["focus_goal_scope_preference",0,d],13870);let e=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOAL_SHEET_NAME_STORAGE_KEY,default_value:c.FOCUS_GOAL_SHEET_NAME_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["focus_goal_sheet_name_preference",0,e],16777);let f=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOAL_TAG_NAME_STORAGE_KEY,default_value:c.FOCUS_GOAL_TAG_NAME_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["focus_goal_tag_name_preference",0,f],18558);let g=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOALS_PER_SHEET_STORAGE_KEY,default_value:c.FOCUS_GOALS_PER_SHEET_DEFAULT,is_valid:a=>{if(0===a.length)return!1;try{let b=JSON.parse(a);return null!==b&&"object"==typeof b&&!Array.isArray(b)}catch{return!1}}});a.s(["focus_goals_per_sheet_preference",0,g],80805);let h=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOALS_PER_TAG_STORAGE_KEY,default_value:c.FOCUS_GOALS_PER_TAG_DEFAULT,is_valid:a=>{if(0===a.length)return!1;try{let b=JSON.parse(a);return null!==b&&"object"==typeof b&&!Array.isArray(b)}catch{return!1}}});a.s(["focus_goals_per_tag_preference",0,h],9818)},26336,77328,38842,a=>{"use strict";var b=a.i(34542),c=a.i(53030);function d(a){let b=a?.at?.trim()??"",c=a?.note?.trim()??"",d=b.length>0,e=c.length>0,f="Stop the active timer and save this entry?";return d&&e?f=`Stop the timer at "${b}" and save a checkout note?`:d?f=`Stop the timer and check out at "${b}"?`:e&&(f="Stop the timer and save this entry with your checkout note?"),{title:"Check out?",message:f,confirmLabel:"Check out",variant:"danger"}}a.s(["get_check_out_confirm_dialog",0,d],77328);var e=a.i(40947);function f(){return"true"===(0,b.useSyncExternalStore)(e.confirm_before_checkout_preference.subscribe,e.confirm_before_checkout_preference.get_snapshot,e.confirm_before_checkout_preference.get_server_snapshot)}a.s(["use_confirm_before_checkout",0,f],38842),a.s(["use_check_out_action",0,function(a){let{confirm:e}=(0,c.use_confirm_dialog)(),g=f();return(0,b.useCallback)(async b=>(!g||!!await e(d(b)))&&(a(b),!0),[e,g,a])}],26336)},76767,a=>{"use strict";var b=a.i(93301);a.s(["format_time",0,function(a,c="12h"){return(0,b.format)(new Date(a),"24h"===c?"HH:mm":"h:mm a")}])},20537,a=>{"use strict";var b=a.i(34542),c=a.i(50825);a.s(["use_time_format",0,function(){return(0,b.useSyncExternalStore)(c.time_format_preference.subscribe,c.time_format_preference.get_snapshot,c.time_format_preference.get_server_snapshot)}])},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}])},61566,a=>{"use strict";a.s(["prompt_check_out_at",0,function(){let a=window.prompt("Check out at what time?","30 minutes ago");if(null===a)return null;let b=a.trim();return 0===b.length?null:b}])},68070,a=>{"use strict";a.s(["build_check_out_request_payload",0,function(a,b){let c={sheetName:a},d=b?.at?.trim(),e=b?.note?.trim();return void 0!==d&&d.length>0&&(c.at=d),void 0!==e&&e.length>0&&(c.note=e),c}])},68225,57377,115,a=>{"use strict";a.s(["finish_running_pomodoro_timer",0,function(){}],68225);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);function f(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)()}let g=new Set(["/api/note"]);async function h(a,b){let c={method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)},d=await fetch(a,c);if(!d.ok){var e,h;let b,f=(await d.json()).error??"Request failed";if(e=a,h=f,g.has(e)&&((b=h.toLowerCase()).includes("duplicate key")||b.includes("unique constraint"))){if(await new Promise(a=>{setTimeout(a,25)}),!(d=await fetch(a,c)).ok)throw Error((await d.json()).error??f)}else throw Error(f)}let i=await d.json();return f(a,b),i}a.s(["patch_tracker_action",0,h],57377);let i=new Set(["/api/note"]);async function j(a,b){let c={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)},d=await fetch(a,c);if(!d.ok){var e,g;let b,f=(await d.json()).error??"Request failed";if(e=a,g=f,i.has(e)&&((b=g.toLowerCase()).includes("duplicate key")||b.includes("unique constraint"))){if(await new Promise(a=>{setTimeout(a,25)}),!(d=await fetch(a,c)).ok)throw Error((await d.json()).error??f)}else throw Error(f)}let h=await d.json();return f(a,b),h}a.s(["post_tracker_action",0,j],115)},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}])},56924,a=>{"use strict";a.s(["normalize_stored_tag",0,function(a){let b=a.trim().replace(/^@+/,"");if(0===b.length)throw Error("Tag name must not be empty.");if(!/^\w+$/.test(b))throw Error("Tags may only contain letters, numbers, and underscores.");return`@${b}`}])},48174,a=>{"use strict";a.s(["format_display_tag",0,function(a){return a.startsWith("@")?a:`@${a}`}])},30354,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(48174),e=a.i(69749),f=a.i(56924);a.s(["TagAutocompleteInput",0,function({id:a,value:g,known_tags:h,placeholder:i,disabled:j=!1,autoFocus:k=!1,on_change:l}){let m=(0,c.useRef)(null),n=(0,c.useRef)(null),o=(0,c.useRef)(null),[p,q]=(0,c.useState)(0),[r,s]=(0,c.useState)(0),t=function(a,b){let c=a.slice(0,b),d=c.lastIndexOf("@");if(-1===d)return null;let e=c.slice(d+1);return/\s/.test(e)?null:{query:e,start_index:d,end_index:b}}(g,p),u=null===t?[]:function(a,b,c=10){let d=b.toLowerCase();return a.filter(a=>{let b=a.replace(/^@/,"").toLowerCase();return 0===d.length||b.startsWith(d)}).slice(0,c)}(h,t.query),v=null!==t&&function(a,b){if(!/^\w+$/.test(a))return!1;let c=a.toLowerCase();return b.some(a=>{try{return(0,f.normalize_stored_tag)(a).slice(1).toLowerCase()===c}catch{return!1}})}(t.query,h),w=null!==t&&u.length>0&&!v&&!j;(0,c.useLayoutEffect)(()=>{null!==o.current&&null!==m.current&&(m.current.setSelectionRange(o.current,o.current),q(o.current),o.current=null)},[g]),(0,c.useEffect)(()=>{s(0)},[g,p,u.length]);let x=()=>{q(m.current?.selectionStart??g.length)},y=()=>{s(0)},z=a=>{let b,c,e;if(null===t)return;let{next_text:f,next_cursor:h}=(b=(0,d.format_display_tag)(a),c=g.slice(0,t.start_index),e=g.slice(t.end_index),{next_text:`${c}${b}${e}`,next_cursor:c.length+b.length});o.current=h,l(f),y()};return(0,b.jsxs)("div",{className:"relative min-w-0",children:[(0,b.jsx)("input",{ref:m,id:a,type:"text",className:(0,e.get_input_class_name)(),value:g,placeholder:i,disabled:j,autoFocus:k,autoComplete:"off","aria-autocomplete":"list","aria-expanded":w,"aria-controls":w?`${a}-tag-suggestions`:void 0,onChange:a=>{l(a.target.value),q(a.target.selectionStart??a.target.value.length)},onClick:x,onKeyUp:x,onKeyDown:a=>{if(w){if("ArrowDown"===a.key){a.preventDefault(),s(a=>(a+1)%u.length);return}if("ArrowUp"===a.key){a.preventDefault(),s(a=>(a-1+u.length)%u.length);return}if("Enter"===a.key||"Tab"===a.key){a.preventDefault();let b=u[r];void 0!==b&&z(b);return}"Escape"===a.key&&(a.preventDefault(),y())}},onBlur:()=>{window.setTimeout(y,120)}}),w?(0,b.jsx)("ul",{ref:n,id:`${a}-tag-suggestions`,role:"listbox",className:"absolute left-0 right-0 top-full z-20 mt-1 max-h-48 list-none overflow-y-auto rounded-md border border-panel-border bg-panel p-1.5 shadow-md",children:u.map((a,c)=>(0,b.jsx)("li",{role:"option","aria-selected":c===r,children:(0,b.jsx)("button",{type:"button",className:`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 hover:bg-surface-hover ${c===r?"bg-surface-hover":""}`,onMouseDown:b=>{b.preventDefault(),z(a)},children:(0,d.format_display_tag)(a)})},a))}):null]})}],30354)},64617,a=>{"use strict";a.s(["POMODORO_DEFAULT_SETTINGS",0,{work_minutes:25,short_break_minutes:5,long_break_minutes:15,rounds_before_long_break:4,auto_start_next_phase:!0,check_in_on_work_start:!0,work_entry_description:"Pomodoro focus"},"POMODORO_DEFAULT_STATE",0,{phase:"work",status:"idle",completed_work_sessions:0,deadline_at_ms:null,paused_remaining_ms:null},"POMODORO_STORAGE_KEY",0,"super-time-tracker-pomodoro"])},18734,a=>{"use strict";a.s(["clear_pomodoro_task_entry_marker",0,function(){},"is_pomodoro_task_entry",0,function(a){return!1},"mark_pomodoro_task_entry",0,function(a){}])}];
2
+
3
+ //# sourceMappingURL=_0-hc~ba._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},57077,a=>{"use strict";var b=a.i(7048);a.s(["persist_ui_preference",0,function(a,c){a.read()!==c&&(a.write(c),a.notify(),(0,b.notify_settings_saved)())}])},39744,62082,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DAILY_FOCUS_TARGET_MINUTES_STORAGE_KEY,default_value:c.DAILY_FOCUS_TARGET_MINUTES_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=30&&b<=720}});a.s(["daily_focus_target_minutes_preference",0,d],39744);let e=(0,b.create_ui_preference_store)({storage_key:c.WEEKLY_FOCUS_TARGET_MINUTES_STORAGE_KEY,default_value:c.WEEKLY_FOCUS_TARGET_MINUTES_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=60&&b<=4200}});a.s(["weekly_focus_target_minutes_preference",0,e],62082)},50762,13870,16777,18558,80805,9818,a=>{"use strict";a.s(["parse_focus_goals_by_name",0,function(a){if(0===a.length)return{};try{let b=JSON.parse(a);if(null===b||"object"!=typeof b||Array.isArray(b))return{};let c={};for(let[a,d]of Object.entries(b)){if(null===d||"object"!=typeof d)continue;let b={};"string"==typeof d.daily&&d.daily.length>0&&(b.daily=d.daily),"string"==typeof d.weekly&&d.weekly.length>0&&(b.weekly=d.weekly),(void 0!==b.daily||void 0!==b.weekly)&&(c[a]=b)}return c}catch{return{}}}],50762);var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOAL_SCOPE_STORAGE_KEY,default_value:c.FOCUS_GOAL_SCOPE_DEFAULT,is_valid:a=>"global"===a||"sheet"===a||"tag"===a});a.s(["focus_goal_scope_preference",0,d],13870);let e=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOAL_SHEET_NAME_STORAGE_KEY,default_value:c.FOCUS_GOAL_SHEET_NAME_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["focus_goal_sheet_name_preference",0,e],16777);let f=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOAL_TAG_NAME_STORAGE_KEY,default_value:c.FOCUS_GOAL_TAG_NAME_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["focus_goal_tag_name_preference",0,f],18558);let g=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOALS_PER_SHEET_STORAGE_KEY,default_value:c.FOCUS_GOALS_PER_SHEET_DEFAULT,is_valid:a=>{if(0===a.length)return!1;try{let b=JSON.parse(a);return null!==b&&"object"==typeof b&&!Array.isArray(b)}catch{return!1}}});a.s(["focus_goals_per_sheet_preference",0,g],80805);let h=(0,b.create_ui_preference_store)({storage_key:c.FOCUS_GOALS_PER_TAG_STORAGE_KEY,default_value:c.FOCUS_GOALS_PER_TAG_DEFAULT,is_valid:a=>{if(0===a.length)return!1;try{let b=JSON.parse(a);return null!==b&&"object"==typeof b&&!Array.isArray(b)}catch{return!1}}});a.s(["focus_goals_per_tag_preference",0,h],9818)},38296,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(50762);function e(a,b,c,e){if(0===b.length)return a;let f=(0,d.parse_focus_goals_by_name)(a),g=f[b]??{};if(0===e.length){let a={...g};delete a[c],void 0===a.daily&&void 0===a.weekly?delete f[b]:f[b]=a}else f[b]={...g,[c]:e};return JSON.stringify(f)}var f=a.i(39744),g=a.i(13870),h=a.i(16777),i=a.i(18558),j=a.i(80805),k=a.i(9818),l=a.i(72327),m=a.i(40395),n=a.i(76121),o=a.i(22496),p=a.i(43329),q=a.i(62082),r=a.i(57077);let s=[120,180,240,300,360,420,480],t=[600,900,1200,1500,1800,2100,2400],u=[15,30,45,60,90,120],v=[6,8,10,12,14],w=[{value:"global",label:"Global"},{value:"sheet",label:"Per-sheet"},{value:"tag",label:"Per-tag"}];function x({disabled:a,daily_target_minutes:c,weekly_target_minutes:d}){return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Global targets"}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 md:grid-cols-2",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Daily target"}),(0,b.jsx)("select",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:c,disabled:a,onChange:a=>(0,r.persist_ui_preference)(f.daily_focus_target_minutes_preference,a.target.value),children:s.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Weekly target"}),(0,b.jsx)("select",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:d,disabled:a,onChange:a=>(0,r.persist_ui_preference)(q.weekly_focus_target_minutes_preference,a.target.value),children:t.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))})]})]})]})}function y({kind:a,names:c,disabled:d,active_name:f,map:g,json:l}){let m="sheet"===a?"Per-sheet targets":"Per-tag targets";if(0===c.length)return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:m}),(0,b.jsx)("p",{className:"m-0 text-[0.85rem] text-muted",children:"sheet"===a?"Create a sheet to configure per-sheet goals.":"Add a tag to a time entry to configure per-tag goals."})]});let n=`focus-goal-active-${a}`;return(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:m}),(0,b.jsxs)("span",{className:"text-[0.75rem] text-muted",children:["Pick the ",a," shown in the focus banner."]})]}),(0,b.jsx)("ul",{className:"m-0 flex list-none flex-col gap-1.5 p-0",children:c.map(c=>{let m=g[c]??{},o=m.daily??"",p=m.weekly??"",q=f===c;return(0,b.jsxs)("li",{className:`grid items-center gap-2 rounded-md border bg-panel px-3 py-2.5 transition-colors md:grid-cols-[auto_minmax(0,1fr)_minmax(0,11rem)_minmax(0,11rem)] grid-cols-[auto_minmax(0,1fr)] ${q?"border-accent-border bg-accent-soft":"border-panel-border"}`,children:[(0,b.jsx)("label",{className:"flex shrink-0 cursor-pointer items-center justify-center",children:(0,b.jsx)("input",{type:"radio",name:n,className:"cursor-pointer",checked:q,disabled:d,"aria-label":`Show ${c} in focus banner`,onChange:()=>(0,r.persist_ui_preference)("sheet"===a?h.focus_goal_sheet_name_preference:i.focus_goal_tag_name_preference,c)})}),(0,b.jsx)("span",{className:"truncate text-[0.9rem] font-medium",title:c,children:"tag"!==a||c.startsWith("@")?c:`@${c}`}),(0,b.jsxs)("label",{className:"flex items-center gap-2 md:col-start-3",children:[(0,b.jsx)("span",{className:"text-[0.75rem] text-muted",children:"Daily"}),(0,b.jsxs)("select",{className:"flex-1 rounded-md border border-panel-border bg-panel px-2 py-1.5 text-[0.85rem]",value:o,disabled:d,onChange:b=>(0,r.persist_ui_preference)("sheet"===a?j.focus_goals_per_sheet_preference:k.focus_goals_per_tag_preference,e(l,c,"daily",b.target.value)),children:[(0,b.jsx)("option",{value:"",children:"Not set"}),s.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))]})]}),(0,b.jsxs)("label",{className:"flex items-center gap-2 md:col-start-4",children:[(0,b.jsx)("span",{className:"text-[0.75rem] text-muted",children:"Weekly"}),(0,b.jsxs)("select",{className:"flex-1 rounded-md border border-panel-border bg-panel px-2 py-1.5 text-[0.85rem]",value:p,disabled:d,onChange:b=>(0,r.persist_ui_preference)("sheet"===a?j.focus_goals_per_sheet_preference:k.focus_goals_per_tag_preference,e(l,c,"weekly",b.target.value)),children:[(0,b.jsx)("option",{value:"",children:"Not set"}),t.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))]})]})]},c)})})]})}a.s(["FocusGoalsNudgesSetting",0,function({sheet_names:a,tag_names:e}){let s=(0,c.useSyncExternalStore)(l.focus_nudges_enabled_preference.subscribe,l.focus_nudges_enabled_preference.get_snapshot,l.focus_nudges_enabled_preference.get_server_snapshot),t=(0,c.useSyncExternalStore)(f.daily_focus_target_minutes_preference.subscribe,f.daily_focus_target_minutes_preference.get_snapshot,f.daily_focus_target_minutes_preference.get_server_snapshot),z=(0,c.useSyncExternalStore)(q.weekly_focus_target_minutes_preference.subscribe,q.weekly_focus_target_minutes_preference.get_snapshot,q.weekly_focus_target_minutes_preference.get_server_snapshot),A=(0,c.useSyncExternalStore)(m.no_log_reminder_minutes_preference.subscribe,m.no_log_reminder_minutes_preference.get_snapshot,m.no_log_reminder_minutes_preference.get_server_snapshot),B=(0,c.useSyncExternalStore)(n.overwork_alert_hours_preference.subscribe,n.overwork_alert_hours_preference.get_snapshot,n.overwork_alert_hours_preference.get_server_snapshot),C=(0,c.useSyncExternalStore)(p.work_hours_start_preference.subscribe,p.work_hours_start_preference.get_snapshot,p.work_hours_start_preference.get_server_snapshot),D=(0,c.useSyncExternalStore)(o.work_hours_end_preference.subscribe,o.work_hours_end_preference.get_snapshot,o.work_hours_end_preference.get_server_snapshot),E=(0,c.useSyncExternalStore)(g.focus_goal_scope_preference.subscribe,g.focus_goal_scope_preference.get_snapshot,g.focus_goal_scope_preference.get_server_snapshot),F=(0,c.useSyncExternalStore)(h.focus_goal_sheet_name_preference.subscribe,h.focus_goal_sheet_name_preference.get_snapshot,h.focus_goal_sheet_name_preference.get_server_snapshot),G=(0,c.useSyncExternalStore)(i.focus_goal_tag_name_preference.subscribe,i.focus_goal_tag_name_preference.get_snapshot,i.focus_goal_tag_name_preference.get_server_snapshot),H=(0,c.useSyncExternalStore)(j.focus_goals_per_sheet_preference.subscribe,j.focus_goals_per_sheet_preference.get_snapshot,j.focus_goals_per_sheet_preference.get_server_snapshot),I=(0,c.useSyncExternalStore)(k.focus_goals_per_tag_preference.subscribe,k.focus_goals_per_tag_preference.get_snapshot,k.focus_goals_per_tag_preference.get_server_snapshot),J=(0,d.parse_focus_goals_by_name)(H),K=(0,d.parse_focus_goals_by_name)(I);(0,c.useEffect)(()=>{"sheet"===E&&0===F.length&&a.length>0&&(0,r.persist_ui_preference)(h.focus_goal_sheet_name_preference,a[0])},[E,F,a]),(0,c.useEffect)(()=>{"tag"===E&&0===G.length&&e.length>0&&(0,r.persist_ui_preference)(i.focus_goal_tag_name_preference,e[0])},[E,G,e]);let L="true"!==s;return(0,b.jsxs)("div",{id:"focus-goals-nudges",className:"flex w-full flex-col gap-4",children:[(0,b.jsxs)("label",{className:"flex w-full cursor-pointer items-center gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:"true"===s,onChange:a=>(0,r.persist_ui_preference)(l.focus_nudges_enabled_preference,a.target.checked?"true":"false")}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Goals + nudges"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"Track daily/weekly focus goals, overwork alerts, and no-log reminders."})]})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Focus goal scope"}),(0,b.jsx)("div",{role:"radiogroup","aria-label":"Focus goal scope",className:"inline-flex w-full flex-wrap gap-1 rounded-md border border-panel-border bg-panel p-0.5",children:w.map(a=>{let c=E===a.value;return(0,b.jsx)("button",{type:"button",role:"radio","aria-checked":c,disabled:L,className:`flex-1 min-w-24 cursor-pointer rounded px-3 py-1.5 text-[0.85rem] font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-55 ${c?"bg-accent-soft text-foreground":"bg-transparent text-muted hover:bg-surface-hover hover:text-foreground"}`,onClick:()=>(0,r.persist_ui_preference)(g.focus_goal_scope_preference,a.value),children:a.label},a.value)})})]}),"global"===E?(0,b.jsx)(x,{disabled:L,daily_target_minutes:t,weekly_target_minutes:z}):null,"sheet"===E?(0,b.jsx)(y,{kind:"sheet",names:a,disabled:L,active_name:F,map:J,json:H}):null,"tag"===E?(0,b.jsx)(y,{kind:"tag",names:e,disabled:L,active_name:G,map:K,json:I}):null,(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Behavior nudges"}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 md:grid-cols-2",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Work hours start"}),(0,b.jsx)("input",{type:"time",className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:C,disabled:L,onChange:a=>(0,r.persist_ui_preference)(p.work_hours_start_preference,a.target.value)})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Work hours end"}),(0,b.jsx)("input",{type:"time",className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:D,disabled:L,onChange:a=>(0,r.persist_ui_preference)(o.work_hours_end_preference,a.target.value)})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 md:grid-cols-2",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"No-log reminder"}),(0,b.jsx)("select",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:A,disabled:L,onChange:a=>(0,r.persist_ui_preference)(m.no_log_reminder_minutes_preference,a.target.value),children:u.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," min"]},a))})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.8rem] text-muted",children:"Overwork alert"}),(0,b.jsx)("select",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-2 text-[0.85rem]",value:B,disabled:L,onChange:a=>(0,r.persist_ui_preference)(n.overwork_alert_hours_preference,a.target.value),children:v.map(a=>(0,b.jsxs)("option",{value:String(a),children:[a," hours"]},a))})]})]}),(0,b.jsx)("p",{className:"m-0 text-[0.78rem] leading-snug text-muted",children:"Rule reminders: notify when no active timer during work hours, and alert when an active timer runs longer than the overwork threshold."})]})]})}],38296)}];
2
+
3
+ //# sourceMappingURL=_002dssm._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[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"])},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}])},56924,a=>{"use strict";a.s(["normalize_stored_tag",0,function(a){let b=a.trim().replace(/^@+/,"");if(0===b.length)throw Error("Tag name must not be empty.");if(!/^\w+$/.test(b))throw Error("Tags may only contain letters, numbers, and underscores.");return`@${b}`}])},48174,a=>{"use strict";a.s(["format_display_tag",0,function(a){return a.startsWith("@")?a:`@${a}`}])},30354,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(48174),e=a.i(69749),f=a.i(56924);a.s(["TagAutocompleteInput",0,function({id:a,value:g,known_tags:h,placeholder:i,disabled:j=!1,autoFocus:k=!1,on_change:l}){let m=(0,c.useRef)(null),n=(0,c.useRef)(null),o=(0,c.useRef)(null),[p,q]=(0,c.useState)(0),[r,s]=(0,c.useState)(0),t=function(a,b){let c=a.slice(0,b),d=c.lastIndexOf("@");if(-1===d)return null;let e=c.slice(d+1);return/\s/.test(e)?null:{query:e,start_index:d,end_index:b}}(g,p),u=null===t?[]:function(a,b,c=10){let d=b.toLowerCase();return a.filter(a=>{let b=a.replace(/^@/,"").toLowerCase();return 0===d.length||b.startsWith(d)}).slice(0,c)}(h,t.query),v=null!==t&&function(a,b){if(!/^\w+$/.test(a))return!1;let c=a.toLowerCase();return b.some(a=>{try{return(0,f.normalize_stored_tag)(a).slice(1).toLowerCase()===c}catch{return!1}})}(t.query,h),w=null!==t&&u.length>0&&!v&&!j;(0,c.useLayoutEffect)(()=>{null!==o.current&&null!==m.current&&(m.current.setSelectionRange(o.current,o.current),q(o.current),o.current=null)},[g]),(0,c.useEffect)(()=>{s(0)},[g,p,u.length]);let x=()=>{q(m.current?.selectionStart??g.length)},y=()=>{s(0)},z=a=>{let b,c,e;if(null===t)return;let{next_text:f,next_cursor:h}=(b=(0,d.format_display_tag)(a),c=g.slice(0,t.start_index),e=g.slice(t.end_index),{next_text:`${c}${b}${e}`,next_cursor:c.length+b.length});o.current=h,l(f),y()};return(0,b.jsxs)("div",{className:"relative min-w-0",children:[(0,b.jsx)("input",{ref:m,id:a,type:"text",className:(0,e.get_input_class_name)(),value:g,placeholder:i,disabled:j,autoFocus:k,autoComplete:"off","aria-autocomplete":"list","aria-expanded":w,"aria-controls":w?`${a}-tag-suggestions`:void 0,onChange:a=>{l(a.target.value),q(a.target.selectionStart??a.target.value.length)},onClick:x,onKeyUp:x,onKeyDown:a=>{if(w){if("ArrowDown"===a.key){a.preventDefault(),s(a=>(a+1)%u.length);return}if("ArrowUp"===a.key){a.preventDefault(),s(a=>(a-1+u.length)%u.length);return}if("Enter"===a.key||"Tab"===a.key){a.preventDefault();let b=u[r];void 0!==b&&z(b);return}"Escape"===a.key&&(a.preventDefault(),y())}},onBlur:()=>{window.setTimeout(y,120)}}),w?(0,b.jsx)("ul",{ref:n,id:`${a}-tag-suggestions`,role:"listbox",className:"absolute left-0 right-0 top-full z-20 mt-1 max-h-48 list-none overflow-y-auto rounded-md border border-panel-border bg-panel p-1.5 shadow-md",children:u.map((a,c)=>(0,b.jsx)("li",{role:"option","aria-selected":c===r,children:(0,b.jsx)("button",{type:"button",className:`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 hover:bg-surface-hover ${c===r?"bg-surface-hover":""}`,onMouseDown:b=>{b.preventDefault(),z(a)},children:(0,d.format_display_tag)(a)})},a))}):null]})}],30354)},64617,a=>{"use strict";a.s(["POMODORO_DEFAULT_SETTINGS",0,{work_minutes:25,short_break_minutes:5,long_break_minutes:15,rounds_before_long_break:4,auto_start_next_phase:!0,check_in_on_work_start:!0,work_entry_description:"Pomodoro focus"},"POMODORO_DEFAULT_STATE",0,{phase:"work",status:"idle",completed_work_sessions:0,deadline_at_ms:null,paused_remaining_ms:null},"POMODORO_STORAGE_KEY",0,"super-time-tracker-pomodoro"])},78537,a=>{"use strict";var b=a.i(97917);a.s(["notify_desktop",0,function(a){(0,b.notify_in_app)({title:a.title,body:a.body})},"supports_desktop_notifications",0,function(){return!1}])},18734,a=>{"use strict";a.s(["clear_pomodoro_task_entry_marker",0,function(){},"is_pomodoro_task_entry",0,function(a){return!1},"mark_pomodoro_task_entry",0,function(a){}])},54015,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(34542),e=a.i(75654),f=a.i(30354),g=a.i(98790),h=a.i(89969),i=a.i(78537),j=a.i(18734),k=a.i(19702),l=a.i(64617);a.s(["PomodoroView",0,function({known_tags:a}){let[m,n]=(0,d.useState)(l.POMODORO_DEFAULT_SETTINGS),[o,p]=(0,d.useState)(l.POMODORO_DEFAULT_STATE),[q,r]=(0,d.useState)(()=>Date.now()),[s,t]=(0,d.useState)(!1),[u,v]=(0,d.useState)(null),[w,x]=(0,d.useState)(!1),y=(0,d.useRef)(null),z=(0,d.useRef)(l.POMODORO_DEFAULT_SETTINGS),A=(0,d.useRef)(l.POMODORO_DEFAULT_STATE),B=(0,d.useCallback)((a,b)=>{(0,i.notify_desktop)({title:a,body:b,tag:"pomodoro-phase-event"})},[]);(0,d.useEffect)(()=>{},[]),(0,d.useEffect)(()=>{z.current=m},[m]),(0,d.useEffect)(()=>{A.current=o},[o]);let C=(0,d.useCallback)((a,b)=>{},[]),D=(0,d.useCallback)(a=>{p(b=>{let c="function"==typeof a?a(b):a;return A.current=c,C(z.current,c),c})},[C]);(0,d.useEffect)(()=>{},[s,C,m,o]),(0,d.useEffect)(()=>{},[C]),(0,d.useEffect)(()=>{if("running"!==o.status)return;let a=window.setInterval(()=>{r(Date.now())},1e3);return()=>{window.clearInterval(a)}},[o.status,o.deadline_at_ms]);let E=(0,d.useCallback)(a=>{switch(a){case"work":return 6e4*m.work_minutes;case"short_break":return 6e4*m.short_break_minutes;case"long_break":return 6e4*m.long_break_minutes}},[m.long_break_minutes,m.short_break_minutes,m.work_minutes]),F=(0,d.useCallback)(async()=>{let a=await fetch("/api/state",{method:"GET",cache:"no-store"});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error??"Failed to read tracker state");let b=await a.json().catch(()=>null);return b?.runningEntry!==null&&b?.runningEntry!==void 0},[]),G=(0,d.useCallback)(async()=>{try{x(await F())}catch{}},[F]),H=async()=>{let a=m.work_entry_description.trim();if(0===a.length)return;if(await F())return void x(!0);let b=await fetch("/api/in",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({description:a,sheetName:function(){try{let a=window.localStorage.getItem(k.ACTIVE_SHEET_STORAGE_KEY)?.trim()??"";return a.length>0?a:null}catch{return null}}()??void 0})});if(b.ok){let a=await b.json().catch(()=>null),c=a?.activeEntry;null!=c&&(0,j.mark_pomodoro_task_entry)({id:c.id,sheetName:c.sheetName}),x(!0);return}throw Error((await b.json().catch(()=>({}))).error??"Failed to start tracker entry for Pomodoro")},I=async()=>{let a=await fetch("/api/out",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})});if(a.ok){(0,j.clear_pomodoro_task_entry_marker)(),x(!1);return}let b=(await a.json().catch(()=>({}))).error??"Failed to check out active tracker entry";if(!b.includes("No active entry"))throw Error(b)},J=async()=>{v(null);try{let a=await fetch("/api/state",{method:"GET",cache:"no-store"});if(!a.ok){let b=await a.json().catch(()=>({}));throw Error(b.error??"Failed to read tracker state")}let b=await a.json().catch(()=>null),c=b?.runningEntry;if(c?.start===void 0)throw Error("No active task found to start from");let d=Date.parse(c.start);if(!Number.isFinite(d))throw Error("Active task start time is invalid");let e=Math.max(0,Date.now()-d),f=E(o.phase),g=Math.max(0,f-e);D(a=>({...a,status:"running",deadline_at_ms:Date.now()+g,paused_remaining_ms:null}))}catch(a){v(a instanceof Error?a.message:String(a))}},K=(0,d.useCallback)(()=>{let a="work"===o.phase,b=o.completed_work_sessions+1;if(D(a=>{let b="work"===a.phase?a.completed_work_sessions+1:a.completed_work_sessions,c="work"===a.phase?b%m.rounds_before_long_break==0?"long_break":"short_break":"work",d=E(c);return m.auto_start_next_phase?{phase:c,status:"running",completed_work_sessions:b,deadline_at_ms:Date.now()+d,paused_remaining_ms:null}:{phase:c,status:"idle",completed_work_sessions:b,deadline_at_ms:null,paused_remaining_ms:null}}),a&&B("Pomodoro focus session complete",`Completed focus session ${b}.`),m.auto_start_next_phase){let a="work"===o.phase?o.completed_work_sessions%m.rounds_before_long_break==m.rounds_before_long_break-1?"long break":"short break":"focus";B("work"===o.phase?"Pomodoro break started":"Pomodoro focus started",`Auto-started ${a} timer.`)}},[E,B,D,o.completed_work_sessions,o.phase,m.auto_start_next_phase,m.rounds_before_long_break]);(0,d.useEffect)(()=>{let a=window.setTimeout(()=>{G()},0);return()=>{window.clearTimeout(a)}},[G]),(0,d.useEffect)(()=>{let a=window.setInterval(()=>{G()},5e3);return()=>{window.clearInterval(a)}},[G]),(0,d.useEffect)(()=>{if("running"!==o.status||null===o.deadline_at_ms||q<o.deadline_at_ms)return;let a=window.setTimeout(()=>{K()},0);return()=>{window.clearTimeout(a)}},[K,q,o.deadline_at_ms,o.status]);let L=E(o.phase),M="running"===o.status&&null!==o.deadline_at_ms?Math.max(0,o.deadline_at_ms-q):"paused"===o.status?o.paused_remaining_ms??L:L,N=Math.min(100,Math.max(0,(L-M)/L*100)),O=`${Math.floor(M/6e4).toString().padStart(2,"0")}:${Math.floor(M%6e4/1e3).toString().padStart(2,"0")}`,P={work:"Focus",short_break:"Short break",long_break:"Long break"}[o.phase],Q="work"===o.phase?o.completed_work_sessions%m.rounds_before_long_break==m.rounds_before_long_break-1?"long_break":"short_break":"work",R="work"===o.phase?`${o.completed_work_sessions+1} / ${m.rounds_before_long_break} focus rounds`:"short_break"===o.phase?"Recover before the next focus block.":"Take the long break before the next round.",S="running"===o.status?"Pause":"paused"===o.status?"Resume":"Start",T=`${O} \xb7 ${P} \xb7 Pomodoro`;return(0,d.useEffect)(()=>{if("u">typeof document)return null===y.current&&(y.current=document.title),()=>{null!==y.current&&(document.title=y.current)}},[]),(0,d.useEffect)(()=>{"u">typeof document&&(document.title=T)},[T]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(g.TrackerTopbar,{breadcrumb:{current:"Pomodoro"}}),(0,b.jsxs)("main",{className:"mx-auto flex w-full max-w-2xl flex-col gap-6 px-5 pb-12 pt-6",children:[(0,b.jsxs)("header",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h1",{className:"m-0 text-[1.5rem] font-[650] tracking-tight",children:"Pomodoro"}),(0,b.jsx)("p",{className:"m-0 mt-2 text-[0.9rem] leading-relaxed text-muted",children:"Keep a simple focus cycle running alongside your time tracker."})]}),(0,b.jsx)(c.default,{href:"/settings/pomodoro",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","aria-label":"Pomodoro settings",title:"Pomodoro settings",children:(0,b.jsx)(e.SettingsIcon,{})})]}),(0,b.jsx)("section",{className:"rounded-md border border-panel-border bg-panel p-5 shadow-sm",children:(0,b.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Current phase"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[1.3rem] font-semibold",children:P}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.88rem] leading-relaxed text-muted",children:R})]}),(0,b.jsxs)("div",{className:"text-right",children:[(0,b.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Next phase"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.95rem] font-semibold text-accent",children:{work:"Focus",short_break:"Short break",long_break:"Long break"}[Q]}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.84rem] text-muted",children:m.auto_start_next_phase?"Auto-start enabled":"Waiting for you"})]})]}),(0,b.jsxs)("div",{className:"rounded-md border border-panel-border bg-background px-4 py-5 text-center",children:[(0,b.jsx)("p",{className:"m-0 font-mono text-[3rem] font-semibold tracking-tight text-accent","aria-live":"polite",children:O}),(0,b.jsx)("div",{className:"mt-4 h-2 overflow-hidden rounded-full bg-surface-strong",children:(0,b.jsx)("div",{className:"h-full rounded-full bg-accent transition-[width] duration-200",style:{width:`${N}%`}})}),(0,b.jsxs)("div",{className:"mt-3 flex flex-wrap items-center justify-center gap-2 text-[0.82rem] text-muted",children:[(0,b.jsxs)("span",{children:[o.completed_work_sessions," focus sessions done"]}),(0,b.jsx)("span",{children:"•"}),(0,b.jsx)("span",{children:"running"===o.status?"Running":"paused"===o.status?"Paused":"Idle"})]})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)("button",{type:"button",className:(0,h.get_button_class_name)("primary"),onClick:()=>{let a,b,c;"running"===o.status?(v(null),D(a=>"running"!==a.status||null===a.deadline_at_ms?a:{...a,status:"paused",deadline_at_ms:null,paused_remaining_ms:Math.max(0,a.deadline_at_ms-Date.now())}),I().catch(a=>{v(a instanceof Error?a.message:String(a))})):(v(null),D(a=>{let b="paused"===a.status&&null!==a.paused_remaining_ms?a.paused_remaining_ms:E(a.phase);return{...a,status:"running",deadline_at_ms:Date.now()+b,paused_remaining_ms:null}}),a="paused"===o.status,b="short_break"===o.phase||"long_break"===o.phase,c=a||"running"!==o.status&&"work"===o.phase&&m.check_in_on_work_start,a||"running"===o.status||B(b?"Pomodoro break started":"Pomodoro focus started",b?"Break timer is running.":"Focus timer is running."),c&&H().catch(a=>{v(a instanceof Error?a.message:String(a))}))},children:S}),(0,b.jsx)("button",{type:"button",className:(0,h.get_button_class_name)("ghost"),onClick:K,children:"Skip phase"}),(0,b.jsx)("button",{type:"button",className:(0,h.get_button_class_name)("ghost"),onClick:()=>{D(l.POMODORO_DEFAULT_STATE),r(Date.now())},children:"Reset"}),(0,b.jsx)("button",{type:"button",className:(0,h.get_button_class_name)("ghost"),disabled:"running"===o.status,onClick:()=>{J()},children:"Start from active task start time"})]}),null!==u?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-danger",children:u}):null,m.check_in_on_work_start&&!w?(0,b.jsx)("div",{className:"grid gap-2 rounded-md border border-panel-border bg-background p-3 md:grid-cols-2",children:(0,b.jsxs)("label",{className:"flex flex-col gap-1.5 md:col-span-2",children:[(0,b.jsx)("span",{className:"text-[0.8rem] font-semibold text-muted",children:"New entry description (supports @tags)"}),(0,b.jsx)(f.TagAutocompleteInput,{id:"pomodoro-work-entry-description",value:m.work_entry_description,known_tags:a,placeholder:"Pomodoro focus @pomodoro @focus",on_change:a=>{n(b=>({...b,work_entry_description:a}))}})]})}):null]})})]})]})}],54015)}];
2
+
3
+ //# sourceMappingURL=_00aklen._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},57077,a=>{"use strict";var b=a.i(7048);a.s(["persist_ui_preference",0,function(a,c){a.read()!==c&&(a.write(c),a.notify(),(0,b.notify_settings_saved)())}])},99301,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508),e=a.i(41615),f=a.i(89969),g=a.i(26846);a.s(["CloudAccountSetting",0,function(){let a=(0,d.usePathname)()??"/settings/cloud-sync",{email:h,is_configured:i,is_pending:j,sign_out:k}=(0,g.use_supabase_auth_session)();if(!i)return null;let l=(0,e.build_auth_page_href)("sign_in",a);return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Account"}),(0,b.jsx)("p",{className:"m-0 text-[0.8rem] leading-snug text-muted",children:"When signed in, tracker data and settings sync to your Supabase project instead of the local db.json file."})]}),null===h?(0,b.jsx)(c.default,{href:l,className:`${(0,f.get_button_class_name)("primary","small")} self-start no-underline`,children:"Sign in to enable cloud sync"}):(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("p",{className:"m-0 text-[0.85rem]",children:["Signed in as ",(0,b.jsx)("span",{className:"font-semibold",children:h})]}),(0,b.jsx)("button",{type:"button",className:`${(0,f.get_button_class_name)("ghost","small")} self-start`,disabled:j,onClick:()=>void k(),children:j?"Signing out…":"Sign out"})]})]})}])},23086,a=>{"use strict";var b=a.i(39752),c=a.i(82508),d=a.i(34542),e=a.i(53030),f=a.i(89969),g=a.i(74365),h=a.i(26846);a.s(["CloudSyncActions",0,function(){let a=(0,c.useRouter)(),{confirm:i}=(0,e.use_confirm_dialog)(),{email:j,is_configured:k}=(0,h.use_supabase_auth_session)(),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(!0),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)(null),[t,u]=(0,d.useState)(null),v=async()=>{try{let a=await fetch("/api/sync/status");if(!a.ok)throw Error("Failed to load sync status");let b=await a.json();m(b)}catch(a){u(a instanceof Error?a.message:String(a))}finally{o(!1)}};if((0,d.useEffect)(()=>{k?v():o(!1)},[k,j]),!k||null===j)return null;let w=async b=>{if(await i("push"===b?{title:"Push local to cloud?",message:"Merge your local db.json into the cloud database. Entries with the same id are combined; local data wins when they conflict.",confirmLabel:"Push to cloud",variant:"danger"}:{title:"Pull cloud to local?",message:"Merge the cloud database into your local db.json. Entries with the same id are combined; cloud data wins when they conflict.",confirmLabel:"Pull from cloud",variant:"danger"})){q(b),s(null),u(null);try{await (0,g.run_tracker_db_cloud_sync)({action:b,on_complete:()=>{a.refresh()}}),s("push"===b?"Cloud database merged with local file.":"Local db.json merged with cloud database."),await v()}catch(a){u(a instanceof Error?a.message:String(a))}finally{q(null)}}},x=l?.local_imported_at!==null&&l?.local_imported_at!==void 0?new Date(l.local_imported_at).toLocaleString():"never";return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Manual sync"}),(0,b.jsx)("p",{className:"m-0 text-[0.8rem] leading-snug text-muted",children:"Merge local db.json with your cloud database. Conflicting entries keep the most recent timer; push favors local, pull favors cloud."})]}),n?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-muted",children:"Loading sync status…"}):(0,b.jsxs)("dl",{className:"m-0 grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1 text-[0.82rem]",children:[(0,b.jsx)("dt",{className:"text-muted",children:"Cloud sheets"}),(0,b.jsx)("dd",{className:"m-0 font-mono",children:l?.cloud_sheet_count??0}),(0,b.jsx)("dt",{className:"text-muted",children:"Last local import"}),(0,b.jsx)("dd",{className:"m-0 font-mono",children:x})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)("button",{type:"button",className:(0,f.get_button_class_name)("ghost","small"),disabled:null!==p,onClick:()=>void w("push"),children:"push"===p?"Pushing…":"Push local → cloud"}),(0,b.jsx)("button",{type:"button",className:(0,f.get_button_class_name)("ghost","small"),disabled:null!==p,onClick:()=>void w("pull"),children:"pull"===p?"Pulling…":"Pull cloud → local"})]}),null!==r?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-accent",children:r}):null,null!==t?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-danger",children:t}):null]})}])},91553,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(49170),e=a.i(57077);a.s(["GreedyCloudSyncSetting",0,function(){let a=(0,c.useSyncExternalStore)(d.greedy_cloud_sync_preference.subscribe,d.greedy_cloud_sync_preference.get_snapshot,d.greedy_cloud_sync_preference.get_server_snapshot);return(0,b.jsxs)("label",{className:"flex w-full cursor-pointer items-center gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:"true"===a,onChange:a=>{var b;return b=a.target.checked,void(0,e.persist_ui_preference)(d.greedy_cloud_sync_preference,b?"true":"false")}}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Greedy cloud sync"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"When on, merge with the cloud when you move between pages and after each change. When off, merge once per session and push only when entries, notes, or sheets change—not when switching sheets."})]})]})}])}];
1
+ module.exports=[85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},57077,a=>{"use strict";var b=a.i(7048);a.s(["persist_ui_preference",0,function(a,c){a.read()!==c&&(a.write(c),a.notify(),(0,b.notify_settings_saved)())}])},99301,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508),e=a.i(41615),f=a.i(89969),g=a.i(26846);a.s(["CloudAccountSetting",0,function(){let a=(0,d.usePathname)()??"/settings/cloud-sync",{email:h,is_configured:i,is_pending:j,sign_out:k}=(0,g.use_supabase_auth_session)();if(!i)return null;let l=(0,e.build_auth_page_href)("sign_in",a);return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Account"}),(0,b.jsx)("p",{className:"m-0 text-[0.8rem] leading-snug text-muted",children:"When signed in, tracker data and settings sync to your Supabase project instead of the local db.json file."})]}),null===h?(0,b.jsx)(c.default,{href:l,className:`${(0,f.get_button_class_name)("primary","small")} self-start no-underline`,children:"Sign in to enable cloud sync"}):(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("p",{className:"m-0 text-[0.85rem]",children:["Signed in as ",(0,b.jsx)("span",{className:"font-semibold",children:h})]}),(0,b.jsx)("button",{type:"button",className:`${(0,f.get_button_class_name)("ghost","small")} self-start`,disabled:j,onClick:()=>void k(),children:j?"Signing out…":"Sign out"})]})]})}])},23086,a=>{"use strict";var b=a.i(39752),c=a.i(82508),d=a.i(34542),e=a.i(53030),f=a.i(89969),g=a.i(74365),h=a.i(26846);a.s(["CloudSyncActions",0,function(){let a=(0,c.useRouter)(),{confirm:i}=(0,e.use_confirm_dialog)(),{email:j,is_configured:k}=(0,h.use_supabase_auth_session)(),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(!0),[p,q]=(0,d.useState)(null),[r,s]=(0,d.useState)(null),[t,u]=(0,d.useState)(null),v=async()=>{try{let a=await fetch("/api/sync/status");if(!a.ok)throw Error("Failed to load sync status");let b=await a.json();m(b)}catch(a){u(a instanceof Error?a.message:String(a))}finally{o(!1)}};if((0,d.useEffect)(()=>{k?v():o(!1)},[k,j]),!k||null===j)return null;let w=async b=>{if(await i("push"===b?{title:"Push local to cloud?",message:"Merge your local db.json into the cloud database. Entries with the same id are combined; local data wins when they conflict.",confirmLabel:"Push to cloud",variant:"danger"}:{title:"Pull cloud to local?",message:"Merge the cloud database into your local db.json. Entries with the same id are combined; cloud data wins when they conflict.",confirmLabel:"Pull from cloud",variant:"danger"})){q(b),s(null),u(null);try{await (0,g.run_tracker_db_cloud_sync)({action:b,on_complete:()=>{a.refresh()}}),s("push"===b?"Cloud database merged with local file.":"Local db.json merged with cloud database."),await v()}catch(a){u(a instanceof Error?a.message:String(a))}finally{q(null)}}},x=l?.local_imported_at!==null&&l?.local_imported_at!==void 0?new Date(l.local_imported_at).toLocaleString():"never";return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Manual sync"}),(0,b.jsx)("p",{className:"m-0 text-[0.8rem] leading-snug text-muted",children:"Merge local db.json with your cloud database. Conflicting entries keep the most recent timer; push favors local, pull favors cloud."})]}),n?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-muted",children:"Loading sync status…"}):(0,b.jsxs)("dl",{className:"m-0 grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1 text-[0.82rem]",children:[(0,b.jsx)("dt",{className:"text-muted",children:"Cloud sheets"}),(0,b.jsx)("dd",{className:"m-0 font-mono",children:l?.cloud_sheet_count??0}),(0,b.jsx)("dt",{className:"text-muted",children:"Last local import"}),(0,b.jsx)("dd",{className:"m-0 font-mono",children:x})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)("button",{type:"button",className:(0,f.get_button_class_name)("ghost","small"),disabled:null!==p,onClick:()=>void w("push"),children:"push"===p?"Pushing…":"Push local → cloud"}),(0,b.jsx)("button",{type:"button",className:(0,f.get_button_class_name)("ghost","small"),disabled:null!==p,onClick:()=>void w("pull"),children:"pull"===p?"Pulling…":"Pull cloud → local"})]}),null!==r?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-accent",children:r}):null,null!==t?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-danger",children:t}):null]})}])},91553,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(49170),e=a.i(57077);a.s(["GreedyCloudSyncSetting",0,function(){let a=(0,c.useSyncExternalStore)(d.greedy_cloud_sync_preference.subscribe,d.greedy_cloud_sync_preference.get_snapshot,d.greedy_cloud_sync_preference.get_server_snapshot);return(0,b.jsxs)("label",{className:"flex w-full cursor-pointer items-center gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:"true"===a,onChange:a=>{var b;return b=a.target.checked,void(0,e.persist_ui_preference)(d.greedy_cloud_sync_preference,b?"true":"false")}}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Greedy cloud sync"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"When on, merge with the cloud when you move between pages and after each change. When off, merge once per session and push only when entries, notes, or sheets change—not when switching sheets."})]})]})}])}];
2
2
 
3
3
  //# sourceMappingURL=_00x~ete._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},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)},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}])},56924,a=>{"use strict";a.s(["normalize_stored_tag",0,function(a){let b=a.trim().replace(/^@+/,"");if(0===b.length)throw Error("Tag name must not be empty.");if(!/^\w+$/.test(b))throw Error("Tags may only contain letters, numbers, and underscores.");return`@${b}`}])},48174,a=>{"use strict";a.s(["format_display_tag",0,function(a){return a.startsWith("@")?a:`@${a}`}])},30354,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(48174),e=a.i(69749),f=a.i(56924);a.s(["TagAutocompleteInput",0,function({id:a,value:g,known_tags:h,placeholder:i,disabled:j=!1,autoFocus:k=!1,on_change:l}){let m=(0,c.useRef)(null),n=(0,c.useRef)(null),o=(0,c.useRef)(null),[p,q]=(0,c.useState)(0),[r,s]=(0,c.useState)(0),t=function(a,b){let c=a.slice(0,b),d=c.lastIndexOf("@");if(-1===d)return null;let e=c.slice(d+1);return/\s/.test(e)?null:{query:e,start_index:d,end_index:b}}(g,p),u=null===t?[]:function(a,b,c=10){let d=b.toLowerCase();return a.filter(a=>{let b=a.replace(/^@/,"").toLowerCase();return 0===d.length||b.startsWith(d)}).slice(0,c)}(h,t.query),v=null!==t&&function(a,b){if(!/^\w+$/.test(a))return!1;let c=a.toLowerCase();return b.some(a=>{try{return(0,f.normalize_stored_tag)(a).slice(1).toLowerCase()===c}catch{return!1}})}(t.query,h),w=null!==t&&u.length>0&&!v&&!j;(0,c.useLayoutEffect)(()=>{null!==o.current&&null!==m.current&&(m.current.setSelectionRange(o.current,o.current),q(o.current),o.current=null)},[g]),(0,c.useEffect)(()=>{s(0)},[g,p,u.length]);let x=()=>{q(m.current?.selectionStart??g.length)},y=()=>{s(0)},z=a=>{let b,c,e;if(null===t)return;let{next_text:f,next_cursor:h}=(b=(0,d.format_display_tag)(a),c=g.slice(0,t.start_index),e=g.slice(t.end_index),{next_text:`${c}${b}${e}`,next_cursor:c.length+b.length});o.current=h,l(f),y()};return(0,b.jsxs)("div",{className:"relative min-w-0",children:[(0,b.jsx)("input",{ref:m,id:a,type:"text",className:(0,e.get_input_class_name)(),value:g,placeholder:i,disabled:j,autoFocus:k,autoComplete:"off","aria-autocomplete":"list","aria-expanded":w,"aria-controls":w?`${a}-tag-suggestions`:void 0,onChange:a=>{l(a.target.value),q(a.target.selectionStart??a.target.value.length)},onClick:x,onKeyUp:x,onKeyDown:a=>{if(w){if("ArrowDown"===a.key){a.preventDefault(),s(a=>(a+1)%u.length);return}if("ArrowUp"===a.key){a.preventDefault(),s(a=>(a-1+u.length)%u.length);return}if("Enter"===a.key||"Tab"===a.key){a.preventDefault();let b=u[r];void 0!==b&&z(b);return}"Escape"===a.key&&(a.preventDefault(),y())}},onBlur:()=>{window.setTimeout(y,120)}}),w?(0,b.jsx)("ul",{ref:n,id:`${a}-tag-suggestions`,role:"listbox",className:"absolute left-0 right-0 top-full z-20 mt-1 max-h-48 list-none overflow-y-auto rounded-md border border-panel-border bg-panel p-1.5 shadow-md",children:u.map((a,c)=>(0,b.jsx)("li",{role:"option","aria-selected":c===r,children:(0,b.jsx)("button",{type:"button",className:`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 hover:bg-surface-hover ${c===r?"bg-surface-hover":""}`,onMouseDown:b=>{b.preventDefault(),z(a)},children:(0,d.format_display_tag)(a)})},a))}):null]})}],30354)},85930,a=>{"use strict";var b=a.i(39752),c=a.i(85393),d=a.i(98790);a.s(["SettingsPageLayout",0,function({breadcrumb:a,title:e,description:f,children:g}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.TrackerTopbar,{breadcrumb:a}),(0,b.jsxs)("main",{className:"mx-auto grid w-full max-w-[1120px] grid-cols-[minmax(12rem,16rem)_minmax(0,1fr)] gap-4 px-4 pb-10 pt-5 sm:gap-6 sm:px-5 sm:pt-6 max-[860px]:grid-cols-1",children:[(0,b.jsxs)("aside",{className:"flex flex-col gap-2",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Settings"}),(0,b.jsx)(c.SettingsNav,{})]}),(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-4",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h1",{className:"m-0 text-[1.35rem] font-[650] tracking-tight",children:e}),void 0!==f?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:f}):null]}),g]})]})]})}])},53372,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(53030),e=a.i(85930),f=a.i(30354),g=a.i(48174),h=a.i(89969),i=a.i(69749);function j(a,b,c){let d=a.map(a=>(0,g.format_display_tag)(a)).join(", "),e=(0,g.format_display_tag)(b),f=1===c?"1 entry will be updated.":`${c} entries will be updated.`;return{title:"Merge tags?",message:`Merge ${d} into ${e}? ${f}`,confirmLabel:"Merge tags",variant:"danger"}}var k=a.i(59659);a.s(["TagManagementView",0,function({initial_tags:a}){let{confirm:l}=(0,d.use_confirm_dialog)(),[m,n]=(0,c.useState)(a),[o,p]=(0,c.useState)(()=>new Set),[q,r]=(0,c.useState)({}),[s,t]=(0,c.useState)(""),[u,v]=(0,c.useState)(null),[w,x]=(0,c.useState)(null),[y,z]=(0,c.useState)(!1),A=(0,c.useMemo)(()=>m.map(a=>a.name),[m]),B=m.filter(a=>o.has(a.name)).reduce((a,b)=>a+b.entryCount,0),C=async a=>{let b=await fetch("/api/tags",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok)throw Error((await b.json()).error??"Tag update failed");let c=await b.json();n(c.tags),p(new Set),x(1===c.entries_updated?"Updated 1 entry.":`Updated ${c.entries_updated} entries.`),(0,k.push_tracker_db_cloud_after_change)()},D=async a=>{let b=q[a]?.trim()??"";if(0===b.length)return void v("Enter a new tag name.");let c=m.find(b=>b.name===a);if(void 0===c)return;let d=m.find(a=>(0,g.format_display_tag)(a.name)===(0,g.format_display_tag)(b)),e=void 0!==d&&d.name!==a?c.entryCount+d.entryCount:c.entryCount;if(await l(j([a],b,e))){z(!0),v(null),x(null);try{await C({action:"rename",fromTag:a,toTag:b}),r(b=>{let c={...b};return delete c[a],c})}catch(a){v(a instanceof Error?a.message:String(a))}finally{z(!1)}}},E=async()=>{let a=[...o];if(a.length<2)return void v("Select at least two tags to merge.");if(0===s.trim().length)return void v("Enter a target tag for the merge.");if(await l(j(a,s,B))){z(!0),v(null),x(null);try{await C({action:"merge",sourceTags:a,targetTag:s}),t("")}catch(a){v(a instanceof Error?a.message:String(a))}finally{z(!1)}}};return(0,b.jsxs)(e.SettingsPageLayout,{breadcrumb:{current:"Tag management",parent:{label:"Settings",href:"/settings"}},title:"Tag management",description:"Rename or merge tags across every entry in your database.",children:[(0,b.jsxs)("section",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Merge tags"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.8rem] leading-snug text-muted",children:"Select two or more tags below, then choose the tag they should become."}),(0,b.jsxs)("label",{className:"mt-3 flex flex-col gap-1 text-[0.82rem] text-muted",children:["Target tag",(0,b.jsx)(f.TagAutocompleteInput,{id:"merge-target-tag",value:s,known_tags:A,placeholder:"e.g. @project",disabled:y,on_change:t})]}),(0,b.jsxs)("button",{type:"button",className:`${(0,h.get_button_class_name)("primary","small")} mt-3`,disabled:y||o.size<2,onClick:()=>void E(),children:["Merge ",o.size," tags"]})]}),0===m.length?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] text-muted",children:"No tags yet. Add @tags when you check in to an entry."}):(0,b.jsx)("ul",{className:"m-0 flex list-none flex-col gap-2 p-0","aria-label":"Tags",children:m.map(a=>(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel px-3.5 py-2.5 shadow-sm",children:(0,b.jsxs)("form",{className:"flex flex-wrap items-center gap-x-3 gap-y-2",onSubmit:b=>{b.preventDefault(),D(a.name)},children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:o.has(a.name),disabled:y,"aria-label":`Select ${(0,g.format_display_tag)(a.name)}`,onChange:()=>{var b;return b=a.name,void p(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})}}),(0,b.jsxs)("div",{className:"flex min-w-0 shrink-0 flex-wrap items-baseline gap-x-2 gap-y-0.5",children:[(0,b.jsx)("span",{className:"font-semibold leading-tight",children:(0,g.format_display_tag)(a.name)}),(0,b.jsxs)("span",{className:"text-[0.82rem] text-muted",children:[a.entryCount," ",1===a.entryCount?"entry":"entries"]})]}),(0,b.jsxs)("div",{className:"ml-auto flex min-w-[min(100%,14rem)] flex-1 basis-56 items-center justify-end gap-2 sm:max-w-xs",children:[(0,b.jsx)("input",{className:(0,i.get_input_class_name)("compact"),value:q[a.name]??"",placeholder:"Rename to…","aria-label":`Rename ${(0,g.format_display_tag)(a.name)}`,disabled:y,onChange:b=>r(c=>({...c,[a.name]:b.target.value}))}),(0,b.jsx)("button",{type:"submit",className:`${(0,h.get_button_class_name)("ghost","small")} shrink-0`,disabled:y||(q[a.name]?.trim().length??0)===0,children:"Rename"})]})]})},a.name))}),null!==w?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] text-accent",children:w}):null,null!==u?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] text-danger",children:u}):null]})}],53372)}];
2
+
3
+ //# sourceMappingURL=_08dnxqq._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},57077,a=>{"use strict";var b=a.i(7048);a.s(["persist_ui_preference",0,function(a,c){a.read()!==c&&(a.write(c),a.notify(),(0,b.notify_settings_saved)())}])},78537,a=>{"use strict";var b=a.i(97917);a.s(["notify_desktop",0,function(a){(0,b.notify_in_app)({title:a.title,body:a.body})},"supports_desktop_notifications",0,function(){return!1}])},77963,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DESKTOP_NOTIFICATIONS_STORAGE_KEY,default_value:c.DESKTOP_NOTIFICATIONS_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["desktop_notifications_preference",0,d])},58901,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(77963),e=a.i(57077),f=a.i(78537);a.s(["DesktopNotificationsSetting",0,function(){let a=(0,c.useSyncExternalStore)(d.desktop_notifications_preference.subscribe,d.desktop_notifications_preference.get_snapshot,d.desktop_notifications_preference.get_server_snapshot),g=(0,f.supports_desktop_notifications)(),[h,i]=(0,c.useState)(()=>g?Notification.permission:null);return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-2.5",children:[(0,b.jsxs)("label",{className:"flex w-full cursor-pointer items-center gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:"true"===a,disabled:!g,onChange:a=>{var b;return b=a.target.checked,void(0,e.persist_ui_preference)(d.desktop_notifications_preference,b?"true":"false")}}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Desktop notifications"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"Show browser notifications when tracking starts or stops."})]})]}),g?(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsxs)("p",{className:"m-0 text-[0.78rem] text-muted",children:["Permission: ",h??"default"]}),"granted"!==h?(0,b.jsx)("button",{type:"button",className:"rounded-md border border-panel-border bg-surface-raised px-2 py-1 text-[0.78rem] font-semibold hover:bg-surface-hover",onClick:async()=>{i(await Notification.requestPermission())},children:"Allow notifications"}):null]}):(0,b.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:"Your browser does not support desktop notifications."})]})}])}];
2
+
3
+ //# sourceMappingURL=_0agxxbf._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[69749,a=>{"use strict";a.s(["get_input_class_name",0,function(a="default"){let b="box-border max-w-full min-w-0 w-full rounded-[0.65rem] border border-panel-border bg-input-bg px-3 py-2.5 font-inherit text-inherit transition-[background-color,border-color] duration-200 focus:border-input-focus-border focus:outline-none";return"compact"===a?`${b} px-2.5 py-2`:b}])},85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},57077,a=>{"use strict";var b=a.i(7048);a.s(["persist_ui_preference",0,function(a,c){a.read()!==c&&(a.write(c),a.notify(),(0,b.notify_settings_saved)())}])},85930,a=>{"use strict";var b=a.i(39752),c=a.i(85393),d=a.i(98790);a.s(["SettingsPageLayout",0,function({breadcrumb:a,title:e,description:f,children:g}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.TrackerTopbar,{breadcrumb:a}),(0,b.jsxs)("main",{className:"mx-auto grid w-full max-w-[1120px] grid-cols-[minmax(12rem,16rem)_minmax(0,1fr)] gap-4 px-4 pb-10 pt-5 sm:gap-6 sm:px-5 sm:pt-6 max-[860px]:grid-cols-1",children:[(0,b.jsxs)("aside",{className:"flex flex-col gap-2",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Settings"}),(0,b.jsx)(c.SettingsNav,{})]}),(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-4",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h1",{className:"m-0 text-[1.35rem] font-[650] tracking-tight",children:e}),void 0!==f?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:f}):null]}),g]})]})]})}])},27623,a=>{"use strict";var b=a.i(39752);a.s(["SettingRadioGroup",0,function({name:a,legend:c,description:d,value:e,options:f,disabled:g=!1,on_change:h}){var i;return(0,b.jsxs)("fieldset",{className:"m-0 border-0 p-0",children:[(0,b.jsx)("legend",{className:"m-0 mb-1 text-[0.95rem] font-semibold",children:c}),void 0!==d?(0,b.jsx)("p",{className:"m-0 mb-2 text-[0.8rem] leading-snug text-muted",children:d}):null,(0,b.jsx)("div",{className:(i=f.length)<=2||i<=4?"grid grid-cols-1 gap-1.5 sm:grid-cols-2":"grid grid-cols-1 gap-1.5 sm:grid-cols-2 lg:grid-cols-3",children:f.map(c=>{let d=c.value===e;return(0,b.jsxs)("label",{className:`flex h-full cursor-pointer flex-col gap-2 rounded-md border px-2.5 py-2 transition-colors duration-150 ${d?"border-accent-border bg-accent-soft":"border-panel-border hover:bg-surface-hover"}`,children:[(0,b.jsxs)("span",{className:"flex items-start gap-2",children:[(0,b.jsx)("input",{type:"radio",className:"mt-0.5 shrink-0",name:a,value:c.value,checked:d,disabled:g,onChange:()=>h(c.value)}),(0,b.jsx)("span",{className:"text-[0.9rem] font-semibold leading-snug",children:c.label})]}),void 0!==c.description?(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:c.description}):null]},c.value)})})]})}],27623)},98831,40420,6962,45273,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.CLAUDE_API_KEY_STORAGE_KEY,default_value:c.CLAUDE_API_KEY_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["claude_api_key_preference",0,d],98831);let e=(0,b.create_ui_preference_store)({storage_key:c.ENTRY_SUGGESTION_PROVIDER_STORAGE_KEY,default_value:c.ENTRY_SUGGESTION_PROVIDER_DEFAULT,is_valid:a=>"none"===a||"openai"===a||"claude"===a||"google_ai"===a});a.s(["entry_suggestion_provider_preference",0,e],40420);let f=(0,b.create_ui_preference_store)({storage_key:c.GOOGLE_AI_API_KEY_STORAGE_KEY,default_value:c.GOOGLE_AI_API_KEY_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["google_ai_api_key_preference",0,f],6962);let g=(0,b.create_ui_preference_store)({storage_key:c.OPENAI_API_KEY_STORAGE_KEY,default_value:c.OPENAI_API_KEY_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["openai_api_key_preference",0,g],45273)},56280,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(27623),e=a.i(85930),f=a.i(69749),g=a.i(98831),h=a.i(40420),i=a.i(6962),j=a.i(45273),k=a.i(57077);let l=[{value:"none",label:"Disabled",description:"Do not call any AI provider."},{value:"openai",label:"OpenAI",description:"Use OpenAI for suggestions."},{value:"claude",label:"Claude",description:"Use Claude for suggestions."},{value:"google_ai",label:"Google AI",description:"Use Gemini for suggestions."}],m=a=>{(0,k.persist_ui_preference)(h.entry_suggestion_provider_preference,a)};a.s(["EntrySuggestionsSettingsView",0,function(){let a=(0,c.useSyncExternalStore)(h.entry_suggestion_provider_preference.subscribe,h.entry_suggestion_provider_preference.get_snapshot,h.entry_suggestion_provider_preference.get_server_snapshot),k=(0,c.useSyncExternalStore)(j.openai_api_key_preference.subscribe,j.openai_api_key_preference.get_snapshot,j.openai_api_key_preference.get_server_snapshot),n=(0,c.useSyncExternalStore)(g.claude_api_key_preference.subscribe,g.claude_api_key_preference.get_snapshot,g.claude_api_key_preference.get_server_snapshot),o=(0,c.useSyncExternalStore)(i.google_ai_api_key_preference.subscribe,i.google_ai_api_key_preference.get_snapshot,i.google_ai_api_key_preference.get_server_snapshot);return(0,b.jsx)(e.SettingsPageLayout,{breadcrumb:{current:"AI suggestions",parent:{label:"Settings",href:"/settings"}},title:"AI suggestions",description:"Choose an LLM provider and API key for entry description suggestions.",children:(0,b.jsxs)("ul",{className:"m-0 flex w-full list-none flex-col gap-2 p-0","aria-label":"AI suggestion settings",children:[(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsx)(d.SettingRadioGroup,{name:"entry-suggestion-provider",legend:"Suggestion provider",description:"The check-in form uses this provider when Suggest is clicked.",value:a,options:l,on_change:m})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsxs)("label",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"OpenAI API key"}),(0,b.jsx)("input",{type:"password",className:(0,f.get_input_class_name)(),value:k,onChange:a=>{var b;return b=a.target.value,void(j.openai_api_key_preference.write(b.trim()),j.openai_api_key_preference.notify())},placeholder:"sk-...",autoComplete:"off"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"Stored locally in your browser. Used only for suggestion requests."})]})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsxs)("label",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Claude API key"}),(0,b.jsx)("input",{type:"password",className:(0,f.get_input_class_name)(),value:n,onChange:a=>{var b;return b=a.target.value,void(g.claude_api_key_preference.write(b.trim()),g.claude_api_key_preference.notify())},placeholder:"sk-ant-...",autoComplete:"off"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"Stored locally in your browser. Used only for suggestion requests."})]})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsxs)("label",{className:"flex flex-col gap-1.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Google AI API key"}),(0,b.jsx)("input",{type:"password",className:(0,f.get_input_class_name)(),value:o,onChange:a=>{var b;return b=a.target.value,void(i.google_ai_api_key_preference.write(b.trim()),i.google_ai_api_key_preference.notify())},placeholder:"AIza...",autoComplete:"off"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"Stored locally in your browser. Used only for suggestion requests."})]})})]})})}])}];
2
+
3
+ //# sourceMappingURL=_0c0txs~._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[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"])},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)},86663,a=>{"use strict";let b=new Set,c=[],d=null;function e(){return[]}a.s(["get_pinned_sheet_names_server_snapshot",0,function(){return c},"get_pinned_sheet_names_snapshot",0,function(){var a=e();if(0===a.length)return c;let b=a.join("\0");if(null!==d&&d.key===b)return d.snapshot;let f=Object.freeze([...a]);return d={key:b,snapshot:f},f},"read_pinned_sheet_names",0,e,"subscribe_pinned_sheet_names",0,function(a){return b.add(a),()=>{b.delete(a)}},"write_pinned_sheet_names",0,function(a){}])},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)},17603,a=>{"use strict";var b=a.i(86663);a.s(["toggle_pinned_sheet_name",0,function(a){let c=a.trim();if(0===c.length)return;let d=(0,b.read_pinned_sheet_names)(),e=d.indexOf(c);e>=0?(0,b.write_pinned_sheet_names)([...d.slice(0,e),...d.slice(e+1)]):(0,b.write_pinned_sheet_names)([...d,c])}])},39744,62082,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DAILY_FOCUS_TARGET_MINUTES_STORAGE_KEY,default_value:c.DAILY_FOCUS_TARGET_MINUTES_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=30&&b<=720}});a.s(["daily_focus_target_minutes_preference",0,d],39744);let e=(0,b.create_ui_preference_store)({storage_key:c.WEEKLY_FOCUS_TARGET_MINUTES_STORAGE_KEY,default_value:c.WEEKLY_FOCUS_TARGET_MINUTES_DEFAULT,is_valid:a=>{if(!/^\d+$/.test(a))return!1;let b=Number.parseInt(a,10);return b>=60&&b<=4200}});a.s(["weekly_focus_target_minutes_preference",0,e],62082)},76767,a=>{"use strict";var b=a.i(93301);a.s(["format_time",0,function(a,c="12h"){return(0,b.format)(new Date(a),"24h"===c?"HH:mm":"h:mm a")}])},68070,a=>{"use strict";a.s(["build_check_out_request_payload",0,function(a,b){let c={sheetName:a},d=b?.at?.trim(),e=b?.note?.trim();return void 0!==d&&d.length>0&&(c.at=d),void 0!==e&&e.length>0&&(c.note=e),c}])},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}])},68225,57377,115,a=>{"use strict";a.s(["finish_running_pomodoro_timer",0,function(){}],68225);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);function f(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)()}let g=new Set(["/api/note"]);async function h(a,b){let c={method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)},d=await fetch(a,c);if(!d.ok){var e,h;let b,f=(await d.json()).error??"Request failed";if(e=a,h=f,g.has(e)&&((b=h.toLowerCase()).includes("duplicate key")||b.includes("unique constraint"))){if(await new Promise(a=>{setTimeout(a,25)}),!(d=await fetch(a,c)).ok)throw Error((await d.json()).error??f)}else throw Error(f)}let i=await d.json();return f(a,b),i}a.s(["patch_tracker_action",0,h],57377);let i=new Set(["/api/note"]);async function j(a,b){let c={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)},d=await fetch(a,c);if(!d.ok){var e,g;let b,f=(await d.json()).error??"Request failed";if(e=a,g=f,i.has(e)&&((b=g.toLowerCase()).includes("duplicate key")||b.includes("unique constraint"))){if(await new Promise(a=>{setTimeout(a,25)}),!(d=await fetch(a,c)).ok)throw Error((await d.json()).error??f)}else throw Error(f)}let h=await d.json();return f(a,b),h}a.s(["post_tracker_action",0,j],115)},61566,a=>{"use strict";a.s(["prompt_check_out_at",0,function(){let a=window.prompt("Check out at what time?","30 minutes ago");if(null===a)return null;let b=a.trim();return 0===b.length?null:b}])},26336,77328,38842,a=>{"use strict";var b=a.i(34542),c=a.i(53030);function d(a){let b=a?.at?.trim()??"",c=a?.note?.trim()??"",d=b.length>0,e=c.length>0,f="Stop the active timer and save this entry?";return d&&e?f=`Stop the timer at "${b}" and save a checkout note?`:d?f=`Stop the timer and check out at "${b}"?`:e&&(f="Stop the timer and save this entry with your checkout note?"),{title:"Check out?",message:f,confirmLabel:"Check out",variant:"danger"}}a.s(["get_check_out_confirm_dialog",0,d],77328);var e=a.i(40947);function f(){return"true"===(0,b.useSyncExternalStore)(e.confirm_before_checkout_preference.subscribe,e.confirm_before_checkout_preference.get_snapshot,e.confirm_before_checkout_preference.get_server_snapshot)}a.s(["use_confirm_before_checkout",0,f],38842),a.s(["use_check_out_action",0,function(a){let{confirm:e}=(0,c.use_confirm_dialog)(),g=f();return(0,b.useCallback)(async b=>(!g||!!await e(d(b)))&&(a(b),!0),[e,g,a])}],26336)},20537,a=>{"use strict";var b=a.i(34542),c=a.i(50825);a.s(["use_time_format",0,function(){return(0,b.useSyncExternalStore)(c.time_format_preference.subscribe,c.time_format_preference.get_snapshot,c.time_format_preference.get_server_snapshot)}])}];
2
+
3
+ //# sourceMappingURL=_0cm4hy2._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[69749,a=>{"use strict";a.s(["get_input_class_name",0,function(a="default"){let b="box-border max-w-full min-w-0 w-full rounded-[0.65rem] border border-panel-border bg-input-bg px-3 py-2.5 font-inherit text-inherit transition-[background-color,border-color] duration-200 focus:border-input-focus-border focus:outline-none";return"compact"===a?`${b} px-2.5 py-2`:b}])},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"])},85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},57077,a=>{"use strict";var b=a.i(7048);a.s(["persist_ui_preference",0,function(a,c){a.read()!==c&&(a.write(c),a.notify(),(0,b.notify_settings_saved)())}])},30004,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DEBUG_LOGGING_STORAGE_KEY,default_value:c.DEBUG_LOGGING_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["debug_logging_preference",0,d])},73271,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(35822),e=a.i(57077);a.s(["ClearTagFiltersOnSheetChangeSetting",0,function(){let a=(0,c.useSyncExternalStore)(d.clear_tag_filters_on_sheet_change_preference.subscribe,d.clear_tag_filters_on_sheet_change_preference.get_snapshot,d.clear_tag_filters_on_sheet_change_preference.get_server_snapshot);return(0,b.jsxs)("label",{className:"flex w-full cursor-pointer items-center gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:"true"===a,onChange:a=>{var b;return b=a.target.checked,void(0,e.persist_ui_preference)(d.clear_tag_filters_on_sheet_change_preference,b?"true":"false")}}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Clear tag filters on sheet change"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"Remove tag filters when you switch to another sheet."})]})]})}])},80587,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(40947),e=a.i(57077);a.s(["ConfirmBeforeCheckoutSetting",0,function(){let a=(0,c.useSyncExternalStore)(d.confirm_before_checkout_preference.subscribe,d.confirm_before_checkout_preference.get_snapshot,d.confirm_before_checkout_preference.get_server_snapshot);return(0,b.jsxs)("label",{className:"flex w-full cursor-pointer items-center gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:"true"===a,onChange:a=>{var b;return b=a.target.checked,void(0,e.persist_ui_preference)(d.confirm_before_checkout_preference,b?"true":"false")}}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Confirm before checkout"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"Show a confirmation dialog when you stop the active timer."})]})]})}])},89365,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(32297),e=a.i(57077);a.s(["ConfirmDestructiveActionsSetting",0,function(){let a=(0,c.useSyncExternalStore)(d.confirm_destructive_actions_preference.subscribe,d.confirm_destructive_actions_preference.get_snapshot,d.confirm_destructive_actions_preference.get_server_snapshot);return(0,b.jsxs)("label",{className:"flex w-full cursor-pointer items-center gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:"true"===a,onChange:a=>{var b;return b=a.target.checked,void(0,e.persist_ui_preference)(d.confirm_destructive_actions_preference,b?"true":"false")}}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Confirm destructive actions"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"Ask before deleting entries or sheets. Turn off for fast mode."})]})]})}])},68682,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(30004),e=a.i(57077);a.s(["DebugLoggingSetting",0,function(){let a=(0,c.useSyncExternalStore)(d.debug_logging_preference.subscribe,d.debug_logging_preference.get_snapshot,d.debug_logging_preference.get_server_snapshot);return(0,b.jsxs)("label",{className:"flex w-full cursor-pointer items-center gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:"true"===a,onChange:a=>{var b;return b=a.target.checked,void(0,e.persist_ui_preference)(d.debug_logging_preference,b?"true":"false")}}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Debug logging"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"Log outgoing AI suggestion queries in the console for troubleshooting."})]})]})}])},46914,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(69749),e=a.i(19702);function f(a){return"last_viewed"===a||"active_timer"===a||"fixed"===a?a:e.DEFAULT_SHEET_SESSION_MODE_DEFAULT}var g=a.i(7048),h=a.i(72958);function i(a){let b=a.trim();if(0!==b.length){try{window.localStorage.setItem(e.DEFAULT_SHEET_FIXED_NAME_STORAGE_KEY,b),(0,h.schedule_ui_preferences_cloud_sync)()}catch{}try{let a=encodeURIComponent(b);document.cookie=`${e.DEFAULT_SHEET_FIXED_NAME_COOKIE_NAME}=${a}; Path=/; Max-Age=31536000; SameSite=Lax`}catch{}}}let j=[{value:"last_viewed",label:"Last viewed",description:"Open the sheet you were viewing when you last used the tracker."},{value:"active_timer",label:"Sheet with active timer",description:"Open the sheet that has a running timer, when one exists."},{value:"fixed",label:"Specific sheet",description:"Always open a chosen sheet when you start a new session."}];a.s(["DefaultSheetSessionSetting",0,function({sheet_names:a}){let[k,l]=(0,c.useState)("last_viewed"),[m,n]=(0,c.useState)("");return(0,c.useEffect)(()=>{l(function(){try{let a=window.localStorage.getItem(e.DEFAULT_SHEET_SESSION_MODE_STORAGE_KEY);return f(a)}catch{return f(null)}}());let b=function(){try{let a=window.localStorage.getItem(e.DEFAULT_SHEET_FIXED_NAME_STORAGE_KEY)?.trim()??"";return a.length>0?a:null}catch{return null}}(),c=a[0]??"";n(b??c)},[a]),(0,b.jsxs)("fieldset",{className:"m-0 flex w-full flex-col gap-3 border-0 p-0",children:[(0,b.jsx)("legend",{className:"mb-2 text-[0.95rem] font-semibold",children:"Default sheet on new session"}),(0,b.jsx)("ul",{className:"m-0 flex list-none flex-col gap-2 p-0",children:j.map(a=>(0,b.jsx)("li",{children:(0,b.jsxs)("label",{className:"flex w-full cursor-pointer items-start gap-2.5",children:[(0,b.jsx)("input",{type:"radio",name:"default-sheet-session-mode",className:"mt-0.5 shrink-0",checked:k===a.value,onChange:()=>(a=>{l(a);try{window.localStorage.setItem(e.DEFAULT_SHEET_SESSION_MODE_STORAGE_KEY,a),(0,h.schedule_ui_preferences_cloud_sync)()}catch{}try{document.cookie=`${e.DEFAULT_SHEET_SESSION_MODE_COOKIE_NAME}=${a}; Path=/; Max-Age=31536000; SameSite=Lax`}catch{}"fixed"===a&&m.length>0&&i(m),(0,g.notify_settings_saved)()})(a.value)}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.9rem] font-semibold",children:a.label}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:a.description})]})]})},a.value))}),"fixed"===k?(0,b.jsxs)("label",{className:"flex flex-col gap-1 text-[0.82rem] text-muted",children:["Sheet",(0,b.jsx)("select",{className:(0,d.get_input_class_name)("compact"),value:m,disabled:0===a.length,onChange:a=>{var b;n(b=a.target.value),i(b),(0,g.notify_settings_saved)()},children:a.map(a=>(0,b.jsx)("option",{value:a,children:a},a))})]}):null]})}],46914)}];
2
+
3
+ //# sourceMappingURL=_0l6-7m4._.js.map
@@ -59,6 +59,6 @@ ${r}`}({domain:r.host,address:t,statement:p,uri:r.href,version:"1",chainId:u,non
59
59
 
60
60
  Check your Supabase project's API settings to find these values
61
61
 
62
- https://supabase.com/dashboard/project/_/settings/api`);let{storage:c}=function(a,b){let c,d,e=a.cookies??null,f=a.cookieEncoding,g={},h={},i=()=>{let a=(0,cL.parse)(document.cookie);return Object.keys(a).map(b=>({name:b,value:a[b]??""}))},j=a=>{a.forEach(({name:a,value:b,options:c})=>{document.cookie=(0,cL.serialize)(a,b,c)})};if(e)if("get"in e){let a=async a=>{let b=a.flatMap(a=>[a,...Array.from({length:5}).map((b,c)=>`${a}.${c}`)]),c=[];for(let a=0;a<b.length;a+=1){let d=await e.get(b[a]);(d||"string"==typeof d)&&c.push({name:b[a],value:d})}return c};if(c=async b=>await a(b),"set"in e&&"remove"in e)d=async a=>{for(let b=0;b<a.length;b+=1){let{name:c,value:d,options:f}=a[b];d?await e.set(c,d,f):await e.remove(c,f)}};else if(b)d=async()=>{console.warn("@supabase/ssr: createServerClient was configured without set and remove cookie methods, but the client needs to set cookies. This can lead to issues such as random logouts, early session termination or increased token refresh requests. If in NextJS, check your middleware.ts file, route handlers and server actions for correctness. Consider switching to the getAll and setAll cookie methods instead of get, set and remove which are deprecated and can be difficult to use correctly.")};else throw Error("@supabase/ssr: createBrowserClient requires configuring a getAll and setAll cookie method (deprecated: alternatively both get, set and remove can be used)")}else if("getAll"in e)if(c=async()=>await e.getAll(),"setAll"in e)d=e.setAll;else if(b)d=async()=>{console.warn("@supabase/ssr: createServerClient was configured without the setAll cookie method, but the client needs to set cookies. This can lead to issues such as random logouts, early session termination or increased token refresh requests. If in NextJS, check your middleware.ts file, route handlers and server actions for correctness.")};else throw Error("@supabase/ssr: createBrowserClient requires configuring both getAll and setAll cookie methods (deprecated: alternatively both get, set and remove can be used)");else if(b||1)throw Error(`@supabase/ssr: ${b?"createServerClient":"createBrowserClient"} requires configuring getAll and setAll cookie methods (deprecated: alternatively use get, set and remove).`);else c=()=>i(),d=j;else if(b||1)if(b)throw Error("@supabase/ssr: createServerClient must be initialized with cookie options that specify getAll and setAll functions (deprecated, not recommended: alternatively use get, set and remove)");else c=()=>[],d=()=>{throw Error("@supabase/ssr: createBrowserClient in non-browser runtimes (including Next.js pre-rendering mode) was not initialized cookie options that specify getAll and setAll functions (deprecated: alternatively use get, set and remove), but they were needed")};else c=()=>i(),d=j;return b?{getAll:c,setAll:d,setItems:g,removedItems:h,storage:{isServer:!0,getItem:async a=>{if("string"==typeof g[a])return g[a];if(h[a])return null;let b=await c([a]),d=await cQ(a,async a=>{let c=b?.find(({name:b})=>b===a)||null;return c?c.value:null});return d?"string"!=typeof d?d:cW(d):null},setItem:async(b,e)=>{b.endsWith("-code-verifier")&&await cX({getAll:c,setAll:d,setItems:{[b]:e},removedItems:{}},{cookieOptions:a?.cookieOptions??null,cookieEncoding:f}),g[b]=e,delete h[b]},removeItem:async a=>{delete g[a],h[a]=!0}}}:{getAll:c,setAll:d,setItems:g,removedItems:h,storage:{isServer:!1,getItem:async a=>{let b=await c([a]),d=await cQ(a,async a=>{let c=b?.find(({name:b})=>b===a)||null;return c?c.value:null});return d?cW(d):null},setItem:async(b,e)=>{let g=await c([b]),h=new Set((g?.map(({name:a})=>a)||[]).filter(a=>cO(a,b))),i=e;"base64url"===f&&(i=cV+cU(e));let j=cP(b,i);j.forEach(({name:a})=>{h.delete(a)});let k={...cM,...a?.cookieOptions,maxAge:0},l={...cM,...a?.cookieOptions,maxAge:cM.maxAge};delete k.name,delete l.name;let m=[...[...h].map(a=>({name:a,value:"",options:k})),...j.map(({name:a,value:b})=>({name:a,value:b,options:l}))];m.length>0&&await d(m,{})},removeItem:async b=>{let e=await c([b]),f=(e?.map(({name:a})=>a)||[]).filter(a=>cO(a,b)),g={...cM,...a?.cookieOptions,maxAge:0};delete g.name,f.length>0&&await d(f.map(a=>({name:a,value:"",options:g})),{})}}}}({...void 0,cookieEncoding:(void 0)??"base64url"},!1),d=new cK(a,b,{...void 0,global:{...void 0,headers:{...void 0,"X-Client-Info":"supabase-ssr/0.10.3 createBrowserClient"}},auth:{...void 0,flowType:"pkce",autoRefreshToken:(void 0)??!1,detectSessionInUrl:(void 0)??!1,persistSession:(void 0)??!0,storage:c}});return d}(b,a)}],9301)},72958,51652,a=>{"use strict";a.s(["is_cloud_sync_enabled",0,function(){return!0}],51652),a.i(63577),a.s(["schedule_ui_preferences_cloud_sync",0,function(){}],72958)},52345,70827,a=>{"use strict";var b=a.i(72958);a.s(["create_ui_preference_store",0,function(a){let{default_value:c,is_valid:d,storage_key:e}=a,f=new Set,g=()=>c;return{storage_key:e,default_value:c,is_valid:d,read:g,write:a=>{try{window.localStorage.setItem(e,a),(0,b.schedule_ui_preferences_cloud_sync)()}catch{}},subscribe:a=>(f.add(a),()=>{f.delete(a)}),notify:()=>{f.forEach(a=>{a()})},get_snapshot:g,get_server_snapshot:()=>c}}],52345),a.s(["ACCENT_COLOR_DEFAULT",0,"teal","ACCENT_COLOR_STORAGE_KEY",0,"super-time-tracker-accent-color","ACCENT_COLOR_VALUES",0,["teal","blue","violet","rose","amber","emerald"],"CHECK_IN_FORM_COLLAPSED_DEFAULT",0,"false","CHECK_IN_FORM_COLLAPSED_STORAGE_KEY",0,"super-time-tracker-check-in-form-collapsed","CLAUDE_API_KEY_DEFAULT",0,"","CLAUDE_API_KEY_STORAGE_KEY",0,"super-time-tracker-claude-api-key","CLEAR_TAG_FILTERS_ON_SHEET_CHANGE_DEFAULT",0,"false","CLEAR_TAG_FILTERS_ON_SHEET_CHANGE_STORAGE_KEY",0,"super-time-tracker-clear-tag-filters-on-sheet-change","CLOUD_SYNC_ENABLED_DEFAULT",0,"true","CLOUD_SYNC_ENABLED_STORAGE_KEY",0,"super-time-tracker-cloud-sync-enabled","COLOR_PALETTE_DEFAULT",0,"default","COLOR_PALETTE_STORAGE_KEY",0,"super-time-tracker-color-palette","COLOR_PALETTE_VALUES",0,["default","midnight","warm","ocean","forest","contrast","sunset","lavender","rose","slate","nord","dracula"],"CONFIRM_BEFORE_CHECKOUT_DEFAULT",0,"false","CONFIRM_BEFORE_CHECKOUT_STORAGE_KEY",0,"super-time-tracker-confirm-before-checkout","CONFIRM_DESTRUCTIVE_ACTIONS_DEFAULT",0,"true","CONFIRM_DESTRUCTIVE_ACTIONS_STORAGE_KEY",0,"super-time-tracker-confirm-destructive-actions","DAILY_FOCUS_TARGET_MINUTES_DEFAULT",0,"240","DAILY_FOCUS_TARGET_MINUTES_STORAGE_KEY",0,"super-time-tracker-daily-focus-target-minutes","DEBUG_LOGGING_DEFAULT",0,"false","DEBUG_LOGGING_STORAGE_KEY",0,"super-time-tracker-debug-logging","DEFAULT_REPORTING_RANGE_DEFAULT",0,"none","DEFAULT_REPORTING_RANGE_STORAGE_KEY",0,"super-time-tracker-default-reporting-range","DEFAULT_REPORTING_SORT_DEFAULT",0,"duration","DEFAULT_REPORTING_SORT_STORAGE_KEY",0,"super-time-tracker-default-reporting-sort","DURATION_FORMAT_DEFAULT",0,"humanized","DURATION_FORMAT_STORAGE_KEY",0,"super-time-tracker-duration-format","ENTRY_LIST_SORT_DEFAULT",0,"newest","ENTRY_LIST_SORT_STORAGE_KEY",0,"super-time-tracker-entry-list-sort","ENTRY_SUGGESTION_PROVIDER_DEFAULT",0,"none","ENTRY_SUGGESTION_PROVIDER_STORAGE_KEY",0,"super-time-tracker-entry-suggestion-provider","FOCUS_GOALS_PER_SHEET_DEFAULT",0,"{}","FOCUS_GOALS_PER_SHEET_STORAGE_KEY",0,"super-time-tracker-focus-goals-per-sheet","FOCUS_GOALS_PER_TAG_DEFAULT",0,"{}","FOCUS_GOALS_PER_TAG_STORAGE_KEY",0,"super-time-tracker-focus-goals-per-tag","FOCUS_GOAL_SCOPE_DEFAULT",0,"global","FOCUS_GOAL_SCOPE_STORAGE_KEY",0,"super-time-tracker-focus-goal-scope","FOCUS_GOAL_SHEET_NAME_DEFAULT",0,"","FOCUS_GOAL_SHEET_NAME_STORAGE_KEY",0,"super-time-tracker-focus-goal-sheet-name","FOCUS_GOAL_TAG_NAME_DEFAULT",0,"","FOCUS_GOAL_TAG_NAME_STORAGE_KEY",0,"super-time-tracker-focus-goal-tag-name","FOCUS_NUDGES_ENABLED_DEFAULT",0,"true","FOCUS_NUDGES_ENABLED_STORAGE_KEY",0,"super-time-tracker-focus-nudges-enabled","GOOGLE_AI_API_KEY_DEFAULT",0,"","GOOGLE_AI_API_KEY_STORAGE_KEY",0,"super-time-tracker-google-ai-api-key","GREEDY_CLOUD_SYNC_DEFAULT",0,"true","GREEDY_CLOUD_SYNC_STORAGE_KEY",0,"super-time-tracker-greedy-cloud-sync","NO_LOG_REMINDER_MINUTES_DEFAULT",0,"45","NO_LOG_REMINDER_MINUTES_STORAGE_KEY",0,"super-time-tracker-no-log-reminder-minutes","OPENAI_API_KEY_DEFAULT",0,"","OPENAI_API_KEY_STORAGE_KEY",0,"super-time-tracker-openai-api-key","OVERWORK_ALERT_HOURS_DEFAULT",0,"8","OVERWORK_ALERT_HOURS_STORAGE_KEY",0,"super-time-tracker-overwork-alert-hours","TAG_FILTER_MODE_DEFAULT",0,"all","TAG_FILTER_MODE_STORAGE_KEY",0,"super-time-tracker-tag-filter-mode","THEME_MODE_DEFAULT",0,"system","THEME_MODE_STORAGE_KEY",0,"super-time-tracker-theme-mode","TIMER_IN_TITLE_DEFAULT",0,"true","TIMER_IN_TITLE_STORAGE_KEY",0,"super-time-tracker-timer-in-title","TIMER_SHOW_SECONDS_DEFAULT",0,"false","TIMER_SHOW_SECONDS_STORAGE_KEY",0,"super-time-tracker-timer-show-seconds","TIME_FORMAT_DEFAULT",0,"12h","TIME_FORMAT_STORAGE_KEY",0,"super-time-tracker-time-format","WEEKLY_FOCUS_TARGET_MINUTES_DEFAULT",0,"1200","WEEKLY_FOCUS_TARGET_MINUTES_STORAGE_KEY",0,"super-time-tracker-weekly-focus-target-minutes","WEEK_STARTS_ON_DEFAULT",0,"monday","WEEK_STARTS_ON_STORAGE_KEY",0,"super-time-tracker-week-starts-on","WORK_HOURS_END_DEFAULT",0,"17:00","WORK_HOURS_END_STORAGE_KEY",0,"super-time-tracker-work-hours-end","WORK_HOURS_START_DEFAULT",0,"09:00","WORK_HOURS_START_STORAGE_KEY",0,"super-time-tracker-work-hours-start"],70827)},29698,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.THEME_MODE_STORAGE_KEY,default_value:c.THEME_MODE_DEFAULT,is_valid:a=>"light"===a||"dark"===a||"system"===a});a.s(["theme_mode_preference",0,d])},37183,a=>{"use strict";a.i(29698),a.s(["apply_ui_preferences_dom_from_window",0,function(){}],37183)},96960,30629,a=>{"use strict";a.s(["apply_ui_preferences_record",0,function(a){}],96960);var b=a.i(52345),c=a.i(70827);let d=new Set(c.ACCENT_COLOR_VALUES),e=(0,b.create_ui_preference_store)({storage_key:c.ACCENT_COLOR_STORAGE_KEY,default_value:c.ACCENT_COLOR_DEFAULT,is_valid:a=>d.has(a)});a.s(["accent_color_preference",0,e],30629)},14244,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.CHECK_IN_FORM_COLLAPSED_STORAGE_KEY,default_value:c.CHECK_IN_FORM_COLLAPSED_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["check_in_form_collapsed_preference",0,d])},35822,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.CLEAR_TAG_FILTERS_ON_SHEET_CHANGE_STORAGE_KEY,default_value:c.CLEAR_TAG_FILTERS_ON_SHEET_CHANGE_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["clear_tag_filters_on_sheet_change_preference",0,d])},50428,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=new Set(c.COLOR_PALETTE_VALUES),e=(0,b.create_ui_preference_store)({storage_key:c.COLOR_PALETTE_STORAGE_KEY,default_value:c.COLOR_PALETTE_DEFAULT,is_valid:a=>d.has(a)});a.s(["color_palette_preference",0,e])},40947,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.CONFIRM_BEFORE_CHECKOUT_STORAGE_KEY,default_value:c.CONFIRM_BEFORE_CHECKOUT_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["confirm_before_checkout_preference",0,d])},32297,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.CONFIRM_DESTRUCTIVE_ACTIONS_STORAGE_KEY,default_value:c.CONFIRM_DESTRUCTIVE_ACTIONS_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["confirm_destructive_actions_preference",0,d])},50824,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DEFAULT_REPORTING_RANGE_STORAGE_KEY,default_value:c.DEFAULT_REPORTING_RANGE_DEFAULT,is_valid:a=>"none"===a||"today"===a||"week"===a});a.s(["default_reporting_range_preference",0,d])},13532,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DEFAULT_REPORTING_SORT_STORAGE_KEY,default_value:c.DEFAULT_REPORTING_SORT_DEFAULT,is_valid:a=>"duration"===a||"name"===a||"entry_count"===a||"active_first"===a});a.s(["default_reporting_sort_preference",0,d])},24047,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DURATION_FORMAT_STORAGE_KEY,default_value:c.DURATION_FORMAT_DEFAULT,is_valid:a=>"humanized"===a||"clock"===a||"decimal"===a});a.s(["duration_format_preference",0,d])},79918,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.ENTRY_LIST_SORT_STORAGE_KEY,default_value:c.ENTRY_LIST_SORT_DEFAULT,is_valid:a=>"newest"===a||"oldest"===a||"duration"===a||"description"===a});a.s(["entry_list_sort_preference",0,d])},49170,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.GREEDY_CLOUD_SYNC_STORAGE_KEY,default_value:c.GREEDY_CLOUD_SYNC_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["greedy_cloud_sync_preference",0,d])},78702,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.TAG_FILTER_MODE_STORAGE_KEY,default_value:c.TAG_FILTER_MODE_DEFAULT,is_valid:a=>"all"===a||"any"===a});a.s(["tag_filter_mode_preference",0,d])},33664,a=>{"use strict";var b=a.i(52345);let c=["all","pinned"],d=(0,b.create_ui_preference_store)({storage_key:"super-time-tracker-today-focus-scope",default_value:"all",is_valid:a=>c.includes(a)});a.s(["today_scope_preference",0,d],33664)},50825,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.TIME_FORMAT_STORAGE_KEY,default_value:c.TIME_FORMAT_DEFAULT,is_valid:a=>"12h"===a||"24h"===a});a.s(["time_format_preference",0,d])},6128,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.TIMER_IN_TITLE_STORAGE_KEY,default_value:c.TIMER_IN_TITLE_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["timer_in_title_preference",0,d])},99751,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.TIMER_SHOW_SECONDS_STORAGE_KEY,default_value:c.TIMER_SHOW_SECONDS_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["timer_show_seconds_preference",0,d])},82474,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.WEEK_STARTS_ON_STORAGE_KEY,default_value:c.WEEK_STARTS_ON_DEFAULT,is_valid:a=>"monday"===a||"sunday"===a});a.s(["week_starts_on_preference",0,d])},55865,a=>{"use strict";let b=new Set;a.s(["notify_compact_lists_subscribers",0,function(){b.forEach(a=>{a()})},"subscribe_compact_lists",0,function(a){return b.add(a),()=>{b.delete(a)}}])},5479,4845,a=>{"use strict";let b=[],c=null;function d(){c=null}a.s(["EMPTY_SHEET_TAG_FILTER",0,b,"get_stable_sheet_tag_filter_snapshot",0,function(a,d){let e=d.join("\0");if(null!==c&&c.sheet_name===a&&c.tags_key===e)return c.snapshot;let f=0===d.length?b:Object.freeze([...d]);return c={sheet_name:a,tags_key:e,snapshot:f},f},"reset_sheet_tag_filter_snapshot_cache",0,d],4845);let e=new Set;a.s(["notify_sheet_tag_filters_subscribers",0,function(){d(),e.forEach(a=>{a()})},"subscribe_sheet_tag_filters",0,function(a){return e.add(a),()=>{e.delete(a)}}],5479)},44103,a=>{"use strict";let b=new Set;a.s(["notify_theme_subscribers",0,function(){b.forEach(a=>{a()})},"subscribe_theme",0,function(a){return b.add(a),()=>{b.delete(a)}}])},17310,a=>{"use strict";a.s(["UI_PREFERENCES_APPLIED_EVENT",0,"stt-ui-preferences-applied","dispatch_ui_preferences_applied_event",0,function(){}])},19519,a=>{"use strict";var b=a.i(37183),c=a.i(96960),d=a.i(30629),e=a.i(14244),f=a.i(35822),g=a.i(50428),h=a.i(40947),i=a.i(32297),j=a.i(50824),k=a.i(13532),l=a.i(24047),m=a.i(79918),n=a.i(49170),o=a.i(78702),p=a.i(33664),q=a.i(29698),r=a.i(50825),s=a.i(6128),t=a.i(99751),u=a.i(82474),v=a.i(55865),w=a.i(5479),x=a.i(44103),y=a.i(70827);let z={teal:"default",blue:"ocean",violet:"midnight",rose:"warm",amber:"warm",emerald:"forest"};var A=a.i(17310);a.s(["apply_ui_preferences_from_record",0,function(a){(0,c.apply_ui_preferences_record)(a),function(a,b){if(void 0!==a&&y.COLOR_PALETTE_VALUES.includes(a))return;if(void 0===b||void 0===z[b])y.COLOR_PALETTE_DEFAULT}(a[y.COLOR_PALETTE_STORAGE_KEY],a[y.ACCENT_COLOR_STORAGE_KEY]),(0,b.apply_ui_preferences_dom_from_window)(),d.accent_color_preference.notify(),e.check_in_form_collapsed_preference.notify(),f.clear_tag_filters_on_sheet_change_preference.notify(),g.color_palette_preference.notify(),h.confirm_before_checkout_preference.notify(),i.confirm_destructive_actions_preference.notify(),j.default_reporting_range_preference.notify(),k.default_reporting_sort_preference.notify(),l.duration_format_preference.notify(),m.entry_list_sort_preference.notify(),n.greedy_cloud_sync_preference.notify(),o.tag_filter_mode_preference.notify(),p.today_scope_preference.notify(),q.theme_mode_preference.notify(),r.time_format_preference.notify(),s.timer_in_title_preference.notify(),t.timer_show_seconds_preference.notify(),u.week_starts_on_preference.notify(),(0,v.notify_compact_lists_subscribers)(),(0,x.notify_theme_subscribers)(),(0,w.notify_sheet_tag_filters_subscribers)(),(0,A.dispatch_ui_preferences_applied_event)()}],19519)},64169,a=>{"use strict";a.s(["collect_ui_preferences_from_window",0,function(){return{}}])},17465,a=>{"use strict";let b=!1;a.i(51652),a.i(63577);let c=0;async function d(a){c+=1;try{return await a()}finally{0==(c-=1)&&b&&(b=!1)}}a.s(["with_ui_preferences_merge_guard",0,d],17465)},80097,a=>{"use strict";a.s(["clear_tracker_db_merged_this_browser_session",0,function(){},"has_tracker_db_merged_this_browser_session",0,function(){return!1},"mark_tracker_db_merged_this_browser_session",0,function(){}])},14676,a=>{"use strict";let b=new Set;a.s(["notify_cloud_db_sync",0,function(a){},"subscribe_cloud_db_sync",0,function(a){return b.add(a),()=>{b.delete(a)}}])},74365,a=>{"use strict";var b=a.i(37183),c=a.i(19519),d=a.i(64169),e=a.i(51652),f=a.i(80097),g=a.i(14676),h=a.i(17465);async function i(a={}){if(!(0,e.is_cloud_sync_enabled)())return;let j=a.action??"push";(0,g.notify_cloud_db_sync)({phase:"syncing",message:"pull"===j?"Pulling from cloud…":"Syncing to cloud…"});try{!0===a.merge_on_load&&await (0,h.with_ui_preferences_merge_guard)(async()=>{let a=(0,d.collect_ui_preferences_from_window)(),b=await fetch("/api/sync/merge-on-load",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({preferences:a})});if(!b.ok){let a=await b.json();throw Error(a.error??"Merge on load failed")}let e=await b.json();(0,c.apply_ui_preferences_from_record)(e.preferences??{})});let e=!0===a.merge_on_load&&"push"===j?"/api/sync/push?verbatim=true":`/api/sync/${j}`,i=await fetch(e,{method:"POST"});if(!i.ok){let a=await i.json();throw Error(a.error??`${j} failed`)}!0===a.merge_on_load&&(0,f.mark_tracker_db_merged_this_browser_session)(),(0,g.notify_cloud_db_sync)({phase:"success",message:"pull"===j?"Cloud pull complete":"Cloud sync complete"}),!0===a.merge_on_load?(a.on_complete?.(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{(0,b.apply_ui_preferences_dom_from_window)()})})):a.on_complete?.()}catch(b){let a=b instanceof Error?b.message:String(b);throw(0,g.notify_cloud_db_sync)({phase:"error",message:a}),b}}a.s(["run_tracker_db_cloud_sync",0,i])},7048,a=>{"use strict";let b=new Set,c="Settings saved";a.s(["SETTINGS_SAVED_DEFAULT_MESSAGE",0,c,"notify_settings_saved",0,function(a=c){},"subscribe_settings_saved",0,function(a){return b.add(a),()=>{b.delete(a)}}])}];
62
+ https://supabase.com/dashboard/project/_/settings/api`);let{storage:c}=function(a,b){let c,d,e=a.cookies??null,f=a.cookieEncoding,g={},h={},i=()=>{let a=(0,cL.parse)(document.cookie);return Object.keys(a).map(b=>({name:b,value:a[b]??""}))},j=a=>{a.forEach(({name:a,value:b,options:c})=>{document.cookie=(0,cL.serialize)(a,b,c)})};if(e)if("get"in e){let a=async a=>{let b=a.flatMap(a=>[a,...Array.from({length:5}).map((b,c)=>`${a}.${c}`)]),c=[];for(let a=0;a<b.length;a+=1){let d=await e.get(b[a]);(d||"string"==typeof d)&&c.push({name:b[a],value:d})}return c};if(c=async b=>await a(b),"set"in e&&"remove"in e)d=async a=>{for(let b=0;b<a.length;b+=1){let{name:c,value:d,options:f}=a[b];d?await e.set(c,d,f):await e.remove(c,f)}};else if(b)d=async()=>{console.warn("@supabase/ssr: createServerClient was configured without set and remove cookie methods, but the client needs to set cookies. This can lead to issues such as random logouts, early session termination or increased token refresh requests. If in NextJS, check your middleware.ts file, route handlers and server actions for correctness. Consider switching to the getAll and setAll cookie methods instead of get, set and remove which are deprecated and can be difficult to use correctly.")};else throw Error("@supabase/ssr: createBrowserClient requires configuring a getAll and setAll cookie method (deprecated: alternatively both get, set and remove can be used)")}else if("getAll"in e)if(c=async()=>await e.getAll(),"setAll"in e)d=e.setAll;else if(b)d=async()=>{console.warn("@supabase/ssr: createServerClient was configured without the setAll cookie method, but the client needs to set cookies. This can lead to issues such as random logouts, early session termination or increased token refresh requests. If in NextJS, check your middleware.ts file, route handlers and server actions for correctness.")};else throw Error("@supabase/ssr: createBrowserClient requires configuring both getAll and setAll cookie methods (deprecated: alternatively both get, set and remove can be used)");else if(b||1)throw Error(`@supabase/ssr: ${b?"createServerClient":"createBrowserClient"} requires configuring getAll and setAll cookie methods (deprecated: alternatively use get, set and remove).`);else c=()=>i(),d=j;else if(b||1)if(b)throw Error("@supabase/ssr: createServerClient must be initialized with cookie options that specify getAll and setAll functions (deprecated, not recommended: alternatively use get, set and remove)");else c=()=>[],d=()=>{throw Error("@supabase/ssr: createBrowserClient in non-browser runtimes (including Next.js pre-rendering mode) was not initialized cookie options that specify getAll and setAll functions (deprecated: alternatively use get, set and remove), but they were needed")};else c=()=>i(),d=j;return b?{getAll:c,setAll:d,setItems:g,removedItems:h,storage:{isServer:!0,getItem:async a=>{if("string"==typeof g[a])return g[a];if(h[a])return null;let b=await c([a]),d=await cQ(a,async a=>{let c=b?.find(({name:b})=>b===a)||null;return c?c.value:null});return d?"string"!=typeof d?d:cW(d):null},setItem:async(b,e)=>{b.endsWith("-code-verifier")&&await cX({getAll:c,setAll:d,setItems:{[b]:e},removedItems:{}},{cookieOptions:a?.cookieOptions??null,cookieEncoding:f}),g[b]=e,delete h[b]},removeItem:async a=>{delete g[a],h[a]=!0}}}:{getAll:c,setAll:d,setItems:g,removedItems:h,storage:{isServer:!1,getItem:async a=>{let b=await c([a]),d=await cQ(a,async a=>{let c=b?.find(({name:b})=>b===a)||null;return c?c.value:null});return d?cW(d):null},setItem:async(b,e)=>{let g=await c([b]),h=new Set((g?.map(({name:a})=>a)||[]).filter(a=>cO(a,b))),i=e;"base64url"===f&&(i=cV+cU(e));let j=cP(b,i);j.forEach(({name:a})=>{h.delete(a)});let k={...cM,...a?.cookieOptions,maxAge:0},l={...cM,...a?.cookieOptions,maxAge:cM.maxAge};delete k.name,delete l.name;let m=[...[...h].map(a=>({name:a,value:"",options:k})),...j.map(({name:a,value:b})=>({name:a,value:b,options:l}))];m.length>0&&await d(m,{})},removeItem:async b=>{let e=await c([b]),f=(e?.map(({name:a})=>a)||[]).filter(a=>cO(a,b)),g={...cM,...a?.cookieOptions,maxAge:0};delete g.name,f.length>0&&await d(f.map(a=>({name:a,value:"",options:g})),{})}}}}({...void 0,cookieEncoding:(void 0)??"base64url"},!1),d=new cK(a,b,{...void 0,global:{...void 0,headers:{...void 0,"X-Client-Info":"supabase-ssr/0.10.3 createBrowserClient"}},auth:{...void 0,flowType:"pkce",autoRefreshToken:(void 0)??!1,detectSessionInUrl:(void 0)??!1,persistSession:(void 0)??!0,storage:c}});return d}(b,a)}],9301)},72958,51652,a=>{"use strict";a.s(["is_cloud_sync_enabled",0,function(){return!0}],51652),a.i(63577),a.s(["schedule_ui_preferences_cloud_sync",0,function(){}],72958)},52345,70827,a=>{"use strict";var b=a.i(72958);a.s(["create_ui_preference_store",0,function(a){let{default_value:c,is_valid:d,storage_key:e}=a,f=new Set,g=()=>c;return{storage_key:e,default_value:c,is_valid:d,read:g,write:a=>{try{window.localStorage.setItem(e,a),(0,b.schedule_ui_preferences_cloud_sync)()}catch{}},subscribe:a=>(f.add(a),()=>{f.delete(a)}),notify:()=>{f.forEach(a=>{a()})},get_snapshot:g,get_server_snapshot:()=>c}}],52345),a.s(["ACCENT_COLOR_DEFAULT",0,"teal","ACCENT_COLOR_STORAGE_KEY",0,"super-time-tracker-accent-color","ACCENT_COLOR_VALUES",0,["teal","blue","violet","rose","amber","emerald"],"CHECK_IN_FORM_COLLAPSED_DEFAULT",0,"false","CHECK_IN_FORM_COLLAPSED_STORAGE_KEY",0,"super-time-tracker-check-in-form-collapsed","CLAUDE_API_KEY_DEFAULT",0,"","CLAUDE_API_KEY_STORAGE_KEY",0,"super-time-tracker-claude-api-key","CLEAR_TAG_FILTERS_ON_SHEET_CHANGE_DEFAULT",0,"false","CLEAR_TAG_FILTERS_ON_SHEET_CHANGE_STORAGE_KEY",0,"super-time-tracker-clear-tag-filters-on-sheet-change","CLOUD_SYNC_ENABLED_DEFAULT",0,"true","CLOUD_SYNC_ENABLED_STORAGE_KEY",0,"super-time-tracker-cloud-sync-enabled","COLOR_PALETTE_DEFAULT",0,"default","COLOR_PALETTE_STORAGE_KEY",0,"super-time-tracker-color-palette","COLOR_PALETTE_VALUES",0,["default","midnight","warm","ocean","forest","contrast","sunset","lavender","rose","slate","nord","dracula"],"CONFIRM_BEFORE_CHECKOUT_DEFAULT",0,"false","CONFIRM_BEFORE_CHECKOUT_STORAGE_KEY",0,"super-time-tracker-confirm-before-checkout","CONFIRM_DESTRUCTIVE_ACTIONS_DEFAULT",0,"true","CONFIRM_DESTRUCTIVE_ACTIONS_STORAGE_KEY",0,"super-time-tracker-confirm-destructive-actions","DAILY_FOCUS_TARGET_MINUTES_DEFAULT",0,"240","DAILY_FOCUS_TARGET_MINUTES_STORAGE_KEY",0,"super-time-tracker-daily-focus-target-minutes","DEBUG_LOGGING_DEFAULT",0,"false","DEBUG_LOGGING_STORAGE_KEY",0,"super-time-tracker-debug-logging","DEFAULT_REPORTING_RANGE_DEFAULT",0,"none","DEFAULT_REPORTING_RANGE_STORAGE_KEY",0,"super-time-tracker-default-reporting-range","DEFAULT_REPORTING_SORT_DEFAULT",0,"duration","DEFAULT_REPORTING_SORT_STORAGE_KEY",0,"super-time-tracker-default-reporting-sort","DESKTOP_NOTIFICATIONS_DEFAULT",0,"false","DESKTOP_NOTIFICATIONS_STORAGE_KEY",0,"super-time-tracker-desktop-notifications","DURATION_FORMAT_DEFAULT",0,"humanized","DURATION_FORMAT_STORAGE_KEY",0,"super-time-tracker-duration-format","ENTRY_LIST_SORT_DEFAULT",0,"newest","ENTRY_LIST_SORT_STORAGE_KEY",0,"super-time-tracker-entry-list-sort","ENTRY_SUGGESTION_PROVIDER_DEFAULT",0,"none","ENTRY_SUGGESTION_PROVIDER_STORAGE_KEY",0,"super-time-tracker-entry-suggestion-provider","FOCUS_GOALS_PER_SHEET_DEFAULT",0,"{}","FOCUS_GOALS_PER_SHEET_STORAGE_KEY",0,"super-time-tracker-focus-goals-per-sheet","FOCUS_GOALS_PER_TAG_DEFAULT",0,"{}","FOCUS_GOALS_PER_TAG_STORAGE_KEY",0,"super-time-tracker-focus-goals-per-tag","FOCUS_GOAL_SCOPE_DEFAULT",0,"global","FOCUS_GOAL_SCOPE_STORAGE_KEY",0,"super-time-tracker-focus-goal-scope","FOCUS_GOAL_SHEET_NAME_DEFAULT",0,"","FOCUS_GOAL_SHEET_NAME_STORAGE_KEY",0,"super-time-tracker-focus-goal-sheet-name","FOCUS_GOAL_TAG_NAME_DEFAULT",0,"","FOCUS_GOAL_TAG_NAME_STORAGE_KEY",0,"super-time-tracker-focus-goal-tag-name","FOCUS_NUDGES_ENABLED_DEFAULT",0,"true","FOCUS_NUDGES_ENABLED_STORAGE_KEY",0,"super-time-tracker-focus-nudges-enabled","GOOGLE_AI_API_KEY_DEFAULT",0,"","GOOGLE_AI_API_KEY_STORAGE_KEY",0,"super-time-tracker-google-ai-api-key","GREEDY_CLOUD_SYNC_DEFAULT",0,"true","GREEDY_CLOUD_SYNC_STORAGE_KEY",0,"super-time-tracker-greedy-cloud-sync","NO_LOG_REMINDER_MINUTES_DEFAULT",0,"45","NO_LOG_REMINDER_MINUTES_STORAGE_KEY",0,"super-time-tracker-no-log-reminder-minutes","OPENAI_API_KEY_DEFAULT",0,"","OPENAI_API_KEY_STORAGE_KEY",0,"super-time-tracker-openai-api-key","OVERWORK_ALERT_HOURS_DEFAULT",0,"8","OVERWORK_ALERT_HOURS_STORAGE_KEY",0,"super-time-tracker-overwork-alert-hours","TAG_FILTER_MODE_DEFAULT",0,"all","TAG_FILTER_MODE_STORAGE_KEY",0,"super-time-tracker-tag-filter-mode","THEME_MODE_DEFAULT",0,"system","THEME_MODE_STORAGE_KEY",0,"super-time-tracker-theme-mode","TIMER_IN_TITLE_DEFAULT",0,"true","TIMER_IN_TITLE_STORAGE_KEY",0,"super-time-tracker-timer-in-title","TIMER_SHOW_SECONDS_DEFAULT",0,"false","TIMER_SHOW_SECONDS_STORAGE_KEY",0,"super-time-tracker-timer-show-seconds","TIME_FORMAT_DEFAULT",0,"12h","TIME_FORMAT_STORAGE_KEY",0,"super-time-tracker-time-format","WEEKLY_FOCUS_TARGET_MINUTES_DEFAULT",0,"1200","WEEKLY_FOCUS_TARGET_MINUTES_STORAGE_KEY",0,"super-time-tracker-weekly-focus-target-minutes","WEEK_STARTS_ON_DEFAULT",0,"monday","WEEK_STARTS_ON_STORAGE_KEY",0,"super-time-tracker-week-starts-on","WORK_HOURS_END_DEFAULT",0,"17:00","WORK_HOURS_END_STORAGE_KEY",0,"super-time-tracker-work-hours-end","WORK_HOURS_START_DEFAULT",0,"09:00","WORK_HOURS_START_STORAGE_KEY",0,"super-time-tracker-work-hours-start"],70827)},29698,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.THEME_MODE_STORAGE_KEY,default_value:c.THEME_MODE_DEFAULT,is_valid:a=>"light"===a||"dark"===a||"system"===a});a.s(["theme_mode_preference",0,d])},37183,a=>{"use strict";a.i(29698),a.s(["apply_ui_preferences_dom_from_window",0,function(){}],37183)},96960,30629,a=>{"use strict";a.s(["apply_ui_preferences_record",0,function(a){}],96960);var b=a.i(52345),c=a.i(70827);let d=new Set(c.ACCENT_COLOR_VALUES),e=(0,b.create_ui_preference_store)({storage_key:c.ACCENT_COLOR_STORAGE_KEY,default_value:c.ACCENT_COLOR_DEFAULT,is_valid:a=>d.has(a)});a.s(["accent_color_preference",0,e],30629)},14244,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.CHECK_IN_FORM_COLLAPSED_STORAGE_KEY,default_value:c.CHECK_IN_FORM_COLLAPSED_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["check_in_form_collapsed_preference",0,d])},35822,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.CLEAR_TAG_FILTERS_ON_SHEET_CHANGE_STORAGE_KEY,default_value:c.CLEAR_TAG_FILTERS_ON_SHEET_CHANGE_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["clear_tag_filters_on_sheet_change_preference",0,d])},50428,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=new Set(c.COLOR_PALETTE_VALUES),e=(0,b.create_ui_preference_store)({storage_key:c.COLOR_PALETTE_STORAGE_KEY,default_value:c.COLOR_PALETTE_DEFAULT,is_valid:a=>d.has(a)});a.s(["color_palette_preference",0,e])},40947,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.CONFIRM_BEFORE_CHECKOUT_STORAGE_KEY,default_value:c.CONFIRM_BEFORE_CHECKOUT_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["confirm_before_checkout_preference",0,d])},32297,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.CONFIRM_DESTRUCTIVE_ACTIONS_STORAGE_KEY,default_value:c.CONFIRM_DESTRUCTIVE_ACTIONS_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["confirm_destructive_actions_preference",0,d])},50824,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DEFAULT_REPORTING_RANGE_STORAGE_KEY,default_value:c.DEFAULT_REPORTING_RANGE_DEFAULT,is_valid:a=>"none"===a||"today"===a||"week"===a});a.s(["default_reporting_range_preference",0,d])},13532,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DEFAULT_REPORTING_SORT_STORAGE_KEY,default_value:c.DEFAULT_REPORTING_SORT_DEFAULT,is_valid:a=>"duration"===a||"name"===a||"entry_count"===a||"active_first"===a});a.s(["default_reporting_sort_preference",0,d])},24047,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DURATION_FORMAT_STORAGE_KEY,default_value:c.DURATION_FORMAT_DEFAULT,is_valid:a=>"humanized"===a||"clock"===a||"decimal"===a});a.s(["duration_format_preference",0,d])},79918,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.ENTRY_LIST_SORT_STORAGE_KEY,default_value:c.ENTRY_LIST_SORT_DEFAULT,is_valid:a=>"newest"===a||"oldest"===a||"duration"===a||"description"===a});a.s(["entry_list_sort_preference",0,d])},49170,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.GREEDY_CLOUD_SYNC_STORAGE_KEY,default_value:c.GREEDY_CLOUD_SYNC_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["greedy_cloud_sync_preference",0,d])},78702,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.TAG_FILTER_MODE_STORAGE_KEY,default_value:c.TAG_FILTER_MODE_DEFAULT,is_valid:a=>"all"===a||"any"===a});a.s(["tag_filter_mode_preference",0,d])},33664,a=>{"use strict";var b=a.i(52345);let c=["all","pinned"],d=(0,b.create_ui_preference_store)({storage_key:"super-time-tracker-today-focus-scope",default_value:"all",is_valid:a=>c.includes(a)});a.s(["today_scope_preference",0,d],33664)},50825,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.TIME_FORMAT_STORAGE_KEY,default_value:c.TIME_FORMAT_DEFAULT,is_valid:a=>"12h"===a||"24h"===a});a.s(["time_format_preference",0,d])},6128,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.TIMER_IN_TITLE_STORAGE_KEY,default_value:c.TIMER_IN_TITLE_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["timer_in_title_preference",0,d])},99751,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.TIMER_SHOW_SECONDS_STORAGE_KEY,default_value:c.TIMER_SHOW_SECONDS_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["timer_show_seconds_preference",0,d])},82474,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.WEEK_STARTS_ON_STORAGE_KEY,default_value:c.WEEK_STARTS_ON_DEFAULT,is_valid:a=>"monday"===a||"sunday"===a});a.s(["week_starts_on_preference",0,d])},55865,a=>{"use strict";let b=new Set;a.s(["notify_compact_lists_subscribers",0,function(){b.forEach(a=>{a()})},"subscribe_compact_lists",0,function(a){return b.add(a),()=>{b.delete(a)}}])},5479,4845,a=>{"use strict";let b=[],c=null;function d(){c=null}a.s(["EMPTY_SHEET_TAG_FILTER",0,b,"get_stable_sheet_tag_filter_snapshot",0,function(a,d){let e=d.join("\0");if(null!==c&&c.sheet_name===a&&c.tags_key===e)return c.snapshot;let f=0===d.length?b:Object.freeze([...d]);return c={sheet_name:a,tags_key:e,snapshot:f},f},"reset_sheet_tag_filter_snapshot_cache",0,d],4845);let e=new Set;a.s(["notify_sheet_tag_filters_subscribers",0,function(){d(),e.forEach(a=>{a()})},"subscribe_sheet_tag_filters",0,function(a){return e.add(a),()=>{e.delete(a)}}],5479)},44103,a=>{"use strict";let b=new Set;a.s(["notify_theme_subscribers",0,function(){b.forEach(a=>{a()})},"subscribe_theme",0,function(a){return b.add(a),()=>{b.delete(a)}}])},17310,a=>{"use strict";a.s(["UI_PREFERENCES_APPLIED_EVENT",0,"stt-ui-preferences-applied","dispatch_ui_preferences_applied_event",0,function(){}])},19519,a=>{"use strict";var b=a.i(37183),c=a.i(96960),d=a.i(30629),e=a.i(14244),f=a.i(35822),g=a.i(50428),h=a.i(40947),i=a.i(32297),j=a.i(50824),k=a.i(13532),l=a.i(24047),m=a.i(79918),n=a.i(49170),o=a.i(78702),p=a.i(33664),q=a.i(29698),r=a.i(50825),s=a.i(6128),t=a.i(99751),u=a.i(82474),v=a.i(55865),w=a.i(5479),x=a.i(44103),y=a.i(70827);let z={teal:"default",blue:"ocean",violet:"midnight",rose:"warm",amber:"warm",emerald:"forest"};var A=a.i(17310);a.s(["apply_ui_preferences_from_record",0,function(a){(0,c.apply_ui_preferences_record)(a),function(a,b){if(void 0!==a&&y.COLOR_PALETTE_VALUES.includes(a))return;if(void 0===b||void 0===z[b])y.COLOR_PALETTE_DEFAULT}(a[y.COLOR_PALETTE_STORAGE_KEY],a[y.ACCENT_COLOR_STORAGE_KEY]),(0,b.apply_ui_preferences_dom_from_window)(),d.accent_color_preference.notify(),e.check_in_form_collapsed_preference.notify(),f.clear_tag_filters_on_sheet_change_preference.notify(),g.color_palette_preference.notify(),h.confirm_before_checkout_preference.notify(),i.confirm_destructive_actions_preference.notify(),j.default_reporting_range_preference.notify(),k.default_reporting_sort_preference.notify(),l.duration_format_preference.notify(),m.entry_list_sort_preference.notify(),n.greedy_cloud_sync_preference.notify(),o.tag_filter_mode_preference.notify(),p.today_scope_preference.notify(),q.theme_mode_preference.notify(),r.time_format_preference.notify(),s.timer_in_title_preference.notify(),t.timer_show_seconds_preference.notify(),u.week_starts_on_preference.notify(),(0,v.notify_compact_lists_subscribers)(),(0,x.notify_theme_subscribers)(),(0,w.notify_sheet_tag_filters_subscribers)(),(0,A.dispatch_ui_preferences_applied_event)()}],19519)},64169,a=>{"use strict";a.s(["collect_ui_preferences_from_window",0,function(){return{}}])},17465,a=>{"use strict";let b=!1;a.i(51652),a.i(63577);let c=0;async function d(a){c+=1;try{return await a()}finally{0==(c-=1)&&b&&(b=!1)}}a.s(["with_ui_preferences_merge_guard",0,d],17465)},80097,a=>{"use strict";a.s(["clear_tracker_db_merged_this_browser_session",0,function(){},"has_tracker_db_merged_this_browser_session",0,function(){return!1},"mark_tracker_db_merged_this_browser_session",0,function(){}])},14676,a=>{"use strict";let b=new Set;a.s(["notify_cloud_db_sync",0,function(a){},"subscribe_cloud_db_sync",0,function(a){return b.add(a),()=>{b.delete(a)}}])},74365,a=>{"use strict";var b=a.i(37183),c=a.i(19519),d=a.i(64169),e=a.i(51652),f=a.i(80097),g=a.i(14676),h=a.i(17465);async function i(a={}){if(!(0,e.is_cloud_sync_enabled)())return;let j=a.action??"push";(0,g.notify_cloud_db_sync)({phase:"syncing",message:"pull"===j?"Pulling from cloud…":"Syncing to cloud…"});try{!0===a.merge_on_load&&await (0,h.with_ui_preferences_merge_guard)(async()=>{let a=(0,d.collect_ui_preferences_from_window)(),b=await fetch("/api/sync/merge-on-load",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({preferences:a})});if(!b.ok){let a=await b.json();throw Error(a.error??"Merge on load failed")}let e=await b.json();(0,c.apply_ui_preferences_from_record)(e.preferences??{})});let e=!0===a.merge_on_load&&"push"===j?"/api/sync/push?verbatim=true":`/api/sync/${j}`,i=await fetch(e,{method:"POST"});if(!i.ok){let a=await i.json();throw Error(a.error??`${j} failed`)}!0===a.merge_on_load&&(0,f.mark_tracker_db_merged_this_browser_session)(),(0,g.notify_cloud_db_sync)({phase:"success",message:"pull"===j?"Cloud pull complete":"Cloud sync complete"}),!0===a.merge_on_load?(a.on_complete?.(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{(0,b.apply_ui_preferences_dom_from_window)()})})):a.on_complete?.()}catch(b){let a=b instanceof Error?b.message:String(b);throw(0,g.notify_cloud_db_sync)({phase:"error",message:a}),b}}a.s(["run_tracker_db_cloud_sync",0,i])},7048,a=>{"use strict";let b=new Set,c="Settings saved";a.s(["SETTINGS_SAVED_DEFAULT_MESSAGE",0,c,"notify_settings_saved",0,function(a=c){},"subscribe_settings_saved",0,function(a){return b.add(a),()=>{b.delete(a)}}])}];
63
63
 
64
64
  //# sourceMappingURL=_0r_7~d.._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},85930,a=>{"use strict";var b=a.i(39752),c=a.i(85393),d=a.i(98790);a.s(["SettingsPageLayout",0,function({breadcrumb:a,title:e,description:f,children:g}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.TrackerTopbar,{breadcrumb:a}),(0,b.jsxs)("main",{className:"mx-auto grid w-full max-w-[1120px] grid-cols-[minmax(12rem,16rem)_minmax(0,1fr)] gap-4 px-4 pb-10 pt-5 sm:gap-6 sm:px-5 sm:pt-6 max-[860px]:grid-cols-1",children:[(0,b.jsxs)("aside",{className:"flex flex-col gap-2",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Settings"}),(0,b.jsx)(c.SettingsNav,{})]}),(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-4",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h1",{className:"m-0 text-[1.35rem] font-[650] tracking-tight",children:e}),void 0!==f?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:f}):null]}),g]})]})]})}])},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}])},56924,a=>{"use strict";a.s(["normalize_stored_tag",0,function(a){let b=a.trim().replace(/^@+/,"");if(0===b.length)throw Error("Tag name must not be empty.");if(!/^\w+$/.test(b))throw Error("Tags may only contain letters, numbers, and underscores.");return`@${b}`}])},48174,a=>{"use strict";a.s(["format_display_tag",0,function(a){return a.startsWith("@")?a:`@${a}`}])},30354,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(48174),e=a.i(69749),f=a.i(56924);a.s(["TagAutocompleteInput",0,function({id:a,value:g,known_tags:h,placeholder:i,disabled:j=!1,autoFocus:k=!1,on_change:l}){let m=(0,c.useRef)(null),n=(0,c.useRef)(null),o=(0,c.useRef)(null),[p,q]=(0,c.useState)(0),[r,s]=(0,c.useState)(0),t=function(a,b){let c=a.slice(0,b),d=c.lastIndexOf("@");if(-1===d)return null;let e=c.slice(d+1);return/\s/.test(e)?null:{query:e,start_index:d,end_index:b}}(g,p),u=null===t?[]:function(a,b,c=10){let d=b.toLowerCase();return a.filter(a=>{let b=a.replace(/^@/,"").toLowerCase();return 0===d.length||b.startsWith(d)}).slice(0,c)}(h,t.query),v=null!==t&&function(a,b){if(!/^\w+$/.test(a))return!1;let c=a.toLowerCase();return b.some(a=>{try{return(0,f.normalize_stored_tag)(a).slice(1).toLowerCase()===c}catch{return!1}})}(t.query,h),w=null!==t&&u.length>0&&!v&&!j;(0,c.useLayoutEffect)(()=>{null!==o.current&&null!==m.current&&(m.current.setSelectionRange(o.current,o.current),q(o.current),o.current=null)},[g]),(0,c.useEffect)(()=>{s(0)},[g,p,u.length]);let x=()=>{q(m.current?.selectionStart??g.length)},y=()=>{s(0)},z=a=>{let b,c,e;if(null===t)return;let{next_text:f,next_cursor:h}=(b=(0,d.format_display_tag)(a),c=g.slice(0,t.start_index),e=g.slice(t.end_index),{next_text:`${c}${b}${e}`,next_cursor:c.length+b.length});o.current=h,l(f),y()};return(0,b.jsxs)("div",{className:"relative min-w-0",children:[(0,b.jsx)("input",{ref:m,id:a,type:"text",className:(0,e.get_input_class_name)(),value:g,placeholder:i,disabled:j,autoFocus:k,autoComplete:"off","aria-autocomplete":"list","aria-expanded":w,"aria-controls":w?`${a}-tag-suggestions`:void 0,onChange:a=>{l(a.target.value),q(a.target.selectionStart??a.target.value.length)},onClick:x,onKeyUp:x,onKeyDown:a=>{if(w){if("ArrowDown"===a.key){a.preventDefault(),s(a=>(a+1)%u.length);return}if("ArrowUp"===a.key){a.preventDefault(),s(a=>(a-1+u.length)%u.length);return}if("Enter"===a.key||"Tab"===a.key){a.preventDefault();let b=u[r];void 0!==b&&z(b);return}"Escape"===a.key&&(a.preventDefault(),y())}},onBlur:()=>{window.setTimeout(y,120)}}),w?(0,b.jsx)("ul",{ref:n,id:`${a}-tag-suggestions`,role:"listbox",className:"absolute left-0 right-0 top-full z-20 mt-1 max-h-48 list-none overflow-y-auto rounded-md border border-panel-border bg-panel p-1.5 shadow-md",children:u.map((a,c)=>(0,b.jsx)("li",{role:"option","aria-selected":c===r,children:(0,b.jsx)("button",{type:"button",className:`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 hover:bg-surface-hover ${c===r?"bg-surface-hover":""}`,onMouseDown:b=>{b.preventDefault(),z(a)},children:(0,d.format_display_tag)(a)})},a))}):null]})}],30354)},64617,a=>{"use strict";a.s(["POMODORO_DEFAULT_SETTINGS",0,{work_minutes:25,short_break_minutes:5,long_break_minutes:15,rounds_before_long_break:4,auto_start_next_phase:!0,check_in_on_work_start:!0,work_entry_description:"Pomodoro focus"},"POMODORO_DEFAULT_STATE",0,{phase:"work",status:"idle",completed_work_sessions:0,deadline_at_ms:null,paused_remaining_ms:null},"POMODORO_STORAGE_KEY",0,"super-time-tracker-pomodoro"])},98670,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(30354),e=a.i(85930),f=a.i(64617);a.s(["PomodoroSettingsView",0,function({known_tags:a}){let[g,h]=(0,c.useState)(f.POMODORO_DEFAULT_SETTINGS),[i,j]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{},[]),(0,c.useEffect)(()=>{},[i,g]),(0,b.jsx)(e.SettingsPageLayout,{breadcrumb:{current:"Pomodoro",parent:{label:"Settings",href:"/settings"}},title:"Pomodoro",description:"Focus and break durations, auto-start behavior, and tracker check-in defaults.",children:(0,b.jsxs)("ul",{className:"m-0 grid w-full list-none grid-cols-1 gap-2 p-0 md:grid-cols-2","aria-label":"Pomodoro settings",children:[(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsxs)("label",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Work minutes"}),(0,b.jsx)("input",{type:"number",min:1,step:1,className:"rounded-md border border-panel-border bg-background px-3 py-2",value:g.work_minutes,onChange:a=>{h(b=>({...b,work_minutes:Math.max(1,Number.parseInt(a.target.value,10)||1)}))}})]})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsxs)("label",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Short break minutes"}),(0,b.jsx)("input",{type:"number",min:1,step:1,className:"rounded-md border border-panel-border bg-background px-3 py-2",value:g.short_break_minutes,onChange:a=>{h(b=>({...b,short_break_minutes:Math.max(1,Number.parseInt(a.target.value,10)||1)}))}})]})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsxs)("label",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Long break minutes"}),(0,b.jsx)("input",{type:"number",min:1,step:1,className:"rounded-md border border-panel-border bg-background px-3 py-2",value:g.long_break_minutes,onChange:a=>{h(b=>({...b,long_break_minutes:Math.max(1,Number.parseInt(a.target.value,10)||1)}))}})]})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:(0,b.jsxs)("label",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Rounds before long break"}),(0,b.jsx)("input",{type:"number",min:1,step:1,className:"rounded-md border border-panel-border bg-background px-3 py-2",value:g.rounds_before_long_break,onChange:a=>{h(b=>({...b,rounds_before_long_break:Math.max(1,Number.parseInt(a.target.value,10)||1)}))}})]})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm md:col-span-2",children:(0,b.jsxs)("label",{className:"flex items-start gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"mt-0.5 shrink-0",checked:g.auto_start_next_phase,onChange:a=>{h(b=>({...b,auto_start_next_phase:a.target.checked}))}}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Auto-start next phase"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"Continue automatically when a focus or break phase ends."})]})]})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm md:col-span-2",children:(0,b.jsxs)("label",{className:"flex items-start gap-2.5",children:[(0,b.jsx)("input",{type:"checkbox",className:"mt-0.5 shrink-0",checked:g.check_in_on_work_start,onChange:a=>{h(b=>({...b,check_in_on_work_start:a.target.checked}))}}),(0,b.jsxs)("span",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Start tracker entry on focus start"}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"When you start a focus phase, create a new entry on your active sheet."})]})]})}),(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm md:col-span-2",children:(0,b.jsxs)("label",{className:"flex flex-col gap-2",children:[(0,b.jsx)("span",{className:"text-[0.95rem] font-semibold",children:"Focus entry description (supports @tags)"}),(0,b.jsx)(d.TagAutocompleteInput,{id:"pomodoro-settings-work-entry-description",value:g.work_entry_description,known_tags:a,placeholder:"Pomodoro focus @pomodoro @focus",on_change:a=>{h(b=>({...b,work_entry_description:a}))}}),(0,b.jsx)("span",{className:"text-[0.8rem] leading-snug text-muted",children:"Used when a focus phase creates a new tracker entry on the active sheet."})]})})]})})}])}];
2
+
3
+ //# sourceMappingURL=_0y3ypyx._.js.map