super-time-tracker-ui 0.1.45 → 0.1.46

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 (260) hide show
  1. package/dist/standalone/next-output/BUILD_ID +1 -1
  2. package/dist/standalone/next-output/app-path-routes-manifest.json +2 -0
  3. package/dist/standalone/next-output/build-manifest.json +3 -3
  4. package/dist/standalone/next-output/routes-manifest.json +12 -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/react-loadable-manifest.json +1 -1
  13. package/dist/standalone/next-output/server/app/_not-found/page.js.nft.json +1 -1
  14. package/dist/standalone/next-output/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/dist/standalone/next-output/server/app/api/command-palette/route.js +1 -1
  16. package/dist/standalone/next-output/server/app/api/command-palette/route.js.nft.json +1 -1
  17. package/dist/standalone/next-output/server/app/api/entries/search/route.js +1 -1
  18. package/dist/standalone/next-output/server/app/api/entries/search/route.js.nft.json +1 -1
  19. package/dist/standalone/next-output/server/app/api/entry/completed/route.js +1 -1
  20. package/dist/standalone/next-output/server/app/api/entry/completed/route.js.nft.json +1 -1
  21. package/dist/standalone/next-output/server/app/api/entry/delete-bulk/route.js +1 -1
  22. package/dist/standalone/next-output/server/app/api/entry/delete-bulk/route.js.nft.json +1 -1
  23. package/dist/standalone/next-output/server/app/api/entry/merge/route.js +1 -1
  24. package/dist/standalone/next-output/server/app/api/entry/merge/route.js.nft.json +1 -1
  25. package/dist/standalone/next-output/server/app/api/entry/move/route.js +1 -1
  26. package/dist/standalone/next-output/server/app/api/entry/move/route.js.nft.json +1 -1
  27. package/dist/standalone/next-output/server/app/api/entry/move-bulk/route.js +1 -1
  28. package/dist/standalone/next-output/server/app/api/entry/move-bulk/route.js.nft.json +1 -1
  29. package/dist/standalone/next-output/server/app/api/entry/route.js +1 -1
  30. package/dist/standalone/next-output/server/app/api/entry/route.js.nft.json +1 -1
  31. package/dist/standalone/next-output/server/app/api/entry/split/route.js +1 -1
  32. package/dist/standalone/next-output/server/app/api/entry/split/route.js.nft.json +1 -1
  33. package/dist/standalone/next-output/server/app/api/in/route.js +1 -1
  34. package/dist/standalone/next-output/server/app/api/in/route.js.nft.json +1 -1
  35. package/dist/standalone/next-output/server/app/api/note/delete/route.js +1 -1
  36. package/dist/standalone/next-output/server/app/api/note/delete/route.js.nft.json +1 -1
  37. package/dist/standalone/next-output/server/app/api/note/route.js +1 -1
  38. package/dist/standalone/next-output/server/app/api/note/route.js.nft.json +1 -1
  39. package/dist/standalone/next-output/server/app/api/out/route.js +1 -1
  40. package/dist/standalone/next-output/server/app/api/out/route.js.nft.json +1 -1
  41. package/dist/standalone/next-output/server/app/api/sheet/route.js +1 -1
  42. package/dist/standalone/next-output/server/app/api/sheet/route.js.nft.json +1 -1
  43. package/dist/standalone/next-output/server/app/api/state/route.js +1 -1
  44. package/dist/standalone/next-output/server/app/api/state/route.js.nft.json +1 -1
  45. package/dist/standalone/next-output/server/app/api/task/route/app-paths-manifest.json +3 -0
  46. package/dist/standalone/next-output/server/app/api/task/route/build-manifest.json +9 -0
  47. package/dist/standalone/next-output/server/app/api/task/route/server-reference-manifest.json +4 -0
  48. package/dist/standalone/next-output/server/app/api/task/route.js +6 -0
  49. package/dist/standalone/next-output/server/app/api/task/route.js.nft.json +1 -0
  50. package/dist/standalone/next-output/server/app/api/task/route_client-reference-manifest.js +3 -0
  51. package/dist/standalone/next-output/server/app/login/page/react-loadable-manifest.json +1 -1
  52. package/dist/standalone/next-output/server/app/login/page.js.nft.json +1 -1
  53. package/dist/standalone/next-output/server/app/login/page_client-reference-manifest.js +1 -1
  54. package/dist/standalone/next-output/server/app/offline/page/react-loadable-manifest.json +1 -1
  55. package/dist/standalone/next-output/server/app/offline/page.js.nft.json +1 -1
  56. package/dist/standalone/next-output/server/app/offline/page_client-reference-manifest.js +1 -1
  57. package/dist/standalone/next-output/server/app/page/react-loadable-manifest.json +1 -1
  58. package/dist/standalone/next-output/server/app/page.js +3 -2
  59. package/dist/standalone/next-output/server/app/page.js.nft.json +1 -1
  60. package/dist/standalone/next-output/server/app/page_client-reference-manifest.js +1 -1
  61. package/dist/standalone/next-output/server/app/pomodoro/page/react-loadable-manifest.json +1 -1
  62. package/dist/standalone/next-output/server/app/pomodoro/page.js.nft.json +1 -1
  63. package/dist/standalone/next-output/server/app/pomodoro/page_client-reference-manifest.js +1 -1
  64. package/dist/standalone/next-output/server/app/register/page/react-loadable-manifest.json +1 -1
  65. package/dist/standalone/next-output/server/app/register/page.js.nft.json +1 -1
  66. package/dist/standalone/next-output/server/app/register/page_client-reference-manifest.js +1 -1
  67. package/dist/standalone/next-output/server/app/reporting/page/react-loadable-manifest.json +1 -1
  68. package/dist/standalone/next-output/server/app/reporting/page.js.nft.json +1 -1
  69. package/dist/standalone/next-output/server/app/reporting/page_client-reference-manifest.js +1 -1
  70. package/dist/standalone/next-output/server/app/review/page/react-loadable-manifest.json +1 -1
  71. package/dist/standalone/next-output/server/app/review/page.js +1 -1
  72. package/dist/standalone/next-output/server/app/review/page.js.nft.json +1 -1
  73. package/dist/standalone/next-output/server/app/review/page_client-reference-manifest.js +1 -1
  74. package/dist/standalone/next-output/server/app/search/page/react-loadable-manifest.json +1 -1
  75. package/dist/standalone/next-output/server/app/search/page.js +1 -1
  76. package/dist/standalone/next-output/server/app/search/page.js.nft.json +1 -1
  77. package/dist/standalone/next-output/server/app/search/page_client-reference-manifest.js +1 -1
  78. package/dist/standalone/next-output/server/app/settings/ai-suggestions/page/react-loadable-manifest.json +1 -1
  79. package/dist/standalone/next-output/server/app/settings/ai-suggestions/page.js.nft.json +1 -1
  80. package/dist/standalone/next-output/server/app/settings/ai-suggestions/page_client-reference-manifest.js +1 -1
  81. package/dist/standalone/next-output/server/app/settings/cloud-sync/page/react-loadable-manifest.json +1 -1
  82. package/dist/standalone/next-output/server/app/settings/cloud-sync/page.js.nft.json +1 -1
  83. package/dist/standalone/next-output/server/app/settings/cloud-sync/page_client-reference-manifest.js +1 -1
  84. package/dist/standalone/next-output/server/app/settings/data/page/react-loadable-manifest.json +1 -1
  85. package/dist/standalone/next-output/server/app/settings/data/page.js.nft.json +1 -1
  86. package/dist/standalone/next-output/server/app/settings/data/page_client-reference-manifest.js +1 -1
  87. package/dist/standalone/next-output/server/app/settings/display/page/react-loadable-manifest.json +1 -1
  88. package/dist/standalone/next-output/server/app/settings/display/page.js.nft.json +1 -1
  89. package/dist/standalone/next-output/server/app/settings/display/page_client-reference-manifest.js +1 -1
  90. package/dist/standalone/next-output/server/app/settings/goals/page/react-loadable-manifest.json +1 -1
  91. package/dist/standalone/next-output/server/app/settings/goals/page.js.nft.json +1 -1
  92. package/dist/standalone/next-output/server/app/settings/goals/page_client-reference-manifest.js +1 -1
  93. package/dist/standalone/next-output/server/app/settings/notifications/page/react-loadable-manifest.json +1 -1
  94. package/dist/standalone/next-output/server/app/settings/notifications/page.js.nft.json +1 -1
  95. package/dist/standalone/next-output/server/app/settings/notifications/page_client-reference-manifest.js +1 -1
  96. package/dist/standalone/next-output/server/app/settings/page/react-loadable-manifest.json +1 -1
  97. package/dist/standalone/next-output/server/app/settings/page.js.nft.json +1 -1
  98. package/dist/standalone/next-output/server/app/settings/page_client-reference-manifest.js +1 -1
  99. package/dist/standalone/next-output/server/app/settings/pomodoro/page/react-loadable-manifest.json +1 -1
  100. package/dist/standalone/next-output/server/app/settings/pomodoro/page.js.nft.json +1 -1
  101. package/dist/standalone/next-output/server/app/settings/pomodoro/page_client-reference-manifest.js +1 -1
  102. package/dist/standalone/next-output/server/app/settings/quick-actions/page/react-loadable-manifest.json +1 -1
  103. package/dist/standalone/next-output/server/app/settings/quick-actions/page.js.nft.json +1 -1
  104. package/dist/standalone/next-output/server/app/settings/quick-actions/page_client-reference-manifest.js +1 -1
  105. package/dist/standalone/next-output/server/app/settings/tags/page/react-loadable-manifest.json +1 -1
  106. package/dist/standalone/next-output/server/app/settings/tags/page.js.nft.json +1 -1
  107. package/dist/standalone/next-output/server/app/settings/tags/page_client-reference-manifest.js +1 -1
  108. package/dist/standalone/next-output/server/app/sheets/page/react-loadable-manifest.json +1 -1
  109. package/dist/standalone/next-output/server/app/sheets/page.js +1 -1
  110. package/dist/standalone/next-output/server/app/sheets/page.js.nft.json +1 -1
  111. package/dist/standalone/next-output/server/app/sheets/page_client-reference-manifest.js +1 -1
  112. package/dist/standalone/next-output/server/app/tasks/page/app-paths-manifest.json +3 -0
  113. package/dist/standalone/next-output/server/app/tasks/page/build-manifest.json +18 -0
  114. package/dist/standalone/next-output/server/app/tasks/page/next-font-manifest.json +11 -0
  115. package/dist/standalone/next-output/server/app/tasks/page/react-loadable-manifest.json +8 -0
  116. package/dist/standalone/next-output/server/app/tasks/page/server-reference-manifest.json +4 -0
  117. package/dist/standalone/next-output/server/app/tasks/page.js +15 -0
  118. package/dist/standalone/next-output/server/app/tasks/page.js.nft.json +1 -0
  119. package/dist/standalone/next-output/server/app/tasks/page_client-reference-manifest.js +3 -0
  120. package/dist/standalone/next-output/server/app/templates/page/react-loadable-manifest.json +1 -1
  121. package/dist/standalone/next-output/server/app/templates/page.js.nft.json +1 -1
  122. package/dist/standalone/next-output/server/app/templates/page_client-reference-manifest.js +1 -1
  123. package/dist/standalone/next-output/server/app/today/page/react-loadable-manifest.json +1 -1
  124. package/dist/standalone/next-output/server/app/today/page.js +1 -1
  125. package/dist/standalone/next-output/server/app/today/page.js.nft.json +1 -1
  126. package/dist/standalone/next-output/server/app/today/page_client-reference-manifest.js +1 -1
  127. package/dist/standalone/next-output/server/app-paths-manifest.json +2 -0
  128. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0-taz6n._.js +1 -1
  129. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__00~g.6x._.js +1 -1
  130. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__02ngfib._.js +3 -0
  131. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__06666_b._.js +1 -1
  132. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__06wq380._.js +1 -1
  133. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0agceca._.js +3 -0
  134. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0m-c-3t._.js +1 -1
  135. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0m8yoxl._.js +3 -0
  136. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0mft_cy._.js +2 -2
  137. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0o-u0o6._.js +1 -1
  138. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0pwxv6f._.js +3 -0
  139. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0rv02cm._.js +3 -0
  140. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0tk~k.1._.js +3 -0
  141. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0wdwx.8._.js +1 -1
  142. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0wj1pxh._.js +1 -1
  143. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0~22xdv._.js +1 -1
  144. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__137-7ty._.js +3 -0
  145. package/dist/standalone/next-output/server/chunks/_next-internal_server_app_api_task_route_actions_12ylnj2.js +3 -0
  146. package/dist/standalone/next-output/server/chunks/ssr/0prs_next_dist_esm_build_templates_app-page_0ki.wrf.js +4 -0
  147. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0.9xlwz._.js +3 -0
  148. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0.g3pd4._.js +3 -0
  149. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__02n0dvz._.js +3 -0
  150. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__04flz4-._.js +1 -1
  151. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__05o8b_c._.js +1 -1
  152. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__08jp.ha._.js +3 -0
  153. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__08mtp44._.js +3 -0
  154. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0_y9w.y._.js +1 -1
  155. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0fvs04n._.js +3 -0
  156. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0gmlwng._.js +1 -1
  157. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0il5~uq._.js +1 -1
  158. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0ou-jv5._.js +1 -1
  159. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0p4w3_0._.js +1 -1
  160. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0sx0ra6._.js +1 -1
  161. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0u.h8zx._.js +1 -1
  162. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0v5-roe._.js +3 -0
  163. package/dist/standalone/next-output/server/chunks/ssr/_02oputi._.js +3 -0
  164. package/dist/standalone/next-output/server/chunks/ssr/_040~8u~._.js +3 -0
  165. package/dist/standalone/next-output/server/chunks/ssr/_04wup-5._.js +1 -1
  166. package/dist/standalone/next-output/server/chunks/ssr/_05t~0qd._.js +3 -0
  167. package/dist/standalone/next-output/server/chunks/ssr/_08~9-.f._.js +3 -0
  168. package/dist/standalone/next-output/server/chunks/ssr/_092k549._.js +3 -0
  169. package/dist/standalone/next-output/server/chunks/ssr/_0_0w8kz._.js +3 -0
  170. package/dist/standalone/next-output/server/chunks/ssr/_0bypypo._.js +1 -1
  171. package/dist/standalone/next-output/server/chunks/ssr/_0e_h4bk._.js +1 -1
  172. package/dist/standalone/next-output/server/chunks/ssr/_0lp.vd1._.js +3 -0
  173. package/dist/standalone/next-output/server/chunks/ssr/_0mdf7jn._.js +3 -0
  174. package/dist/standalone/next-output/server/chunks/ssr/_0sic8ed._.js +1 -1
  175. package/dist/standalone/next-output/server/chunks/ssr/_0t7z076._.js +1 -1
  176. package/dist/standalone/next-output/server/chunks/ssr/{_028bo2r._.js → _0~6f4kw._.js} +2 -2
  177. package/dist/standalone/next-output/server/chunks/ssr/_10n.q--._.js +1 -1
  178. package/dist/standalone/next-output/server/chunks/ssr/_next-internal_server_app_tasks_page_actions_0_2o_cr.js +3 -0
  179. package/dist/standalone/next-output/server/chunks/ssr/components_reporting-view_tsx_0-0ofcv._.js +1 -1
  180. package/dist/standalone/next-output/server/middleware-build-manifest.js +3 -3
  181. package/dist/standalone/next-output/server/next-font-manifest.js +1 -1
  182. package/dist/standalone/next-output/server/next-font-manifest.json +4 -0
  183. package/dist/standalone/next-output/server/pages/500.html +1 -1
  184. package/dist/standalone/next-output/static/chunks/0-3kyxhxw4bbj.js +1 -0
  185. package/dist/standalone/next-output/static/chunks/0-408g-._49ss.js +1 -0
  186. package/dist/standalone/next-output/static/chunks/0-cegmvshy7~a.js +1 -0
  187. package/dist/standalone/next-output/static/chunks/0-vzgnzke5d_x.js +1 -0
  188. package/dist/standalone/next-output/static/chunks/0.dc4~0qlrrmq.js +1 -0
  189. package/dist/standalone/next-output/static/chunks/00kyekysf5.rz.js +1 -0
  190. package/dist/standalone/next-output/static/chunks/0ad60i1-~p1p9.js +1 -0
  191. package/dist/standalone/next-output/static/chunks/0bp_fueuuzc3l.js +1 -0
  192. package/dist/standalone/next-output/static/chunks/0d.t1amf2zp1y.js +1 -0
  193. package/dist/standalone/next-output/static/chunks/0f1u1npfh1b-o.js +1 -0
  194. package/dist/standalone/next-output/static/chunks/0fcd7jg.xwz~d.js +1 -0
  195. package/dist/standalone/next-output/static/chunks/0gkw9_fpp4r.i.js +1 -0
  196. package/dist/standalone/next-output/static/chunks/0hiigo7crs4m1.js +1 -0
  197. package/dist/standalone/next-output/static/chunks/{15hds0xz6b5ce.js → 0k-swz.-tm1g3.js} +1 -1
  198. package/dist/standalone/next-output/static/chunks/0l-z2n83y2aa2.js +1 -0
  199. package/dist/standalone/next-output/static/chunks/0njsx8jnl8cgg.js +1 -0
  200. package/dist/standalone/next-output/static/chunks/{0ya1a.o~xsixd.js → 0np820b81oc9m.js} +1 -1
  201. package/dist/standalone/next-output/static/chunks/0pgfu2rxbx5z2.js +1 -0
  202. package/dist/standalone/next-output/static/chunks/0puu5bj-k_hz9.js +1 -0
  203. package/dist/standalone/next-output/static/chunks/0qsrkbt.l5i70.js +1 -0
  204. package/dist/standalone/next-output/static/chunks/0tumi91py-w0x.js +1 -0
  205. package/dist/standalone/next-output/static/chunks/0unkbkr3scujr.js +1 -0
  206. package/dist/standalone/next-output/static/chunks/{0-niex.k_xqnu.js → 0wj9lgwud1gqj.js} +1 -1
  207. package/dist/standalone/next-output/static/chunks/0xv~-o0b9qigv.css +3 -0
  208. package/dist/standalone/next-output/static/chunks/0zi_5_ssa1_j-.js +1 -0
  209. package/dist/standalone/next-output/static/chunks/0~og7w2d0fi8k.js +1 -0
  210. package/dist/standalone/next-output/static/chunks/13-.m15df8.b8.js +1 -0
  211. package/dist/standalone/next-output/static/chunks/13hyb9n2laeam.js +1 -0
  212. package/dist/standalone/package.json +1 -1
  213. package/package.json +1 -1
  214. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__06h__d_._.js +0 -3
  215. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0_b50~5._.js +0 -3
  216. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0eruj62._.js +0 -3
  217. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0g4.zxh._.js +0 -3
  218. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0hasizg._.js +0 -3
  219. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0jlfmb8._.js +0 -3
  220. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0m~u8g4._.js +0 -3
  221. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0nx-vwn._.js +0 -3
  222. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0rl2w7-._.js +0 -3
  223. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0yqw7pu._.js +0 -3
  224. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__03dwgvv._.js +0 -3
  225. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__06jwkua._.js +0 -3
  226. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__078pqlk._.js +0 -3
  227. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__09~j2of._.js +0 -3
  228. package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0njhf-m._.js +0 -3
  229. package/dist/standalone/next-output/server/chunks/ssr/_02fm6gp._.js +0 -3
  230. package/dist/standalone/next-output/server/chunks/ssr/_07q4l3.._.js +0 -3
  231. package/dist/standalone/next-output/server/chunks/ssr/_0aaepl8._.js +0 -3
  232. package/dist/standalone/next-output/server/chunks/ssr/_0ja6w18._.js +0 -3
  233. package/dist/standalone/next-output/server/chunks/ssr/_0rhx88g._.js +0 -3
  234. package/dist/standalone/next-output/server/chunks/ssr/_0y9lue.._.js +0 -3
  235. package/dist/standalone/next-output/server/chunks/ssr/_0zatphu._.js +0 -3
  236. package/dist/standalone/next-output/static/chunks/048hg7.kf50p6.js +0 -1
  237. package/dist/standalone/next-output/static/chunks/099rnw4-qk_33.js +0 -1
  238. package/dist/standalone/next-output/static/chunks/09p9p33-jf6p_.js +0 -1
  239. package/dist/standalone/next-output/static/chunks/0_8ps~_e8~ea7.js +0 -1
  240. package/dist/standalone/next-output/static/chunks/0cnb9ojb1.4_s.js +0 -1
  241. package/dist/standalone/next-output/static/chunks/0f.g~ypqld4i2.js +0 -1
  242. package/dist/standalone/next-output/static/chunks/0feo1c5hcq~fw.js +0 -1
  243. package/dist/standalone/next-output/static/chunks/0gc_4fwvsadx9.js +0 -1
  244. package/dist/standalone/next-output/static/chunks/0lbfeprw3roep.js +0 -1
  245. package/dist/standalone/next-output/static/chunks/0lw-y46eplh.w.js +0 -1
  246. package/dist/standalone/next-output/static/chunks/0ni97tabbd6ql.js +0 -1
  247. package/dist/standalone/next-output/static/chunks/0q_cw2e3uj20q.js +0 -1
  248. package/dist/standalone/next-output/static/chunks/0qc9jf34l6_d8.js +0 -1
  249. package/dist/standalone/next-output/static/chunks/0r9inu-z~8h4p.js +0 -1
  250. package/dist/standalone/next-output/static/chunks/0s7b~rp4s3q9q.js +0 -1
  251. package/dist/standalone/next-output/static/chunks/0t~0aam6r_eto.js +0 -1
  252. package/dist/standalone/next-output/static/chunks/0ua4wv84cw5ds.js +0 -1
  253. package/dist/standalone/next-output/static/chunks/0vmr-fgq74aqi.js +0 -1
  254. package/dist/standalone/next-output/static/chunks/0vudo56ulr706.js +0 -1
  255. package/dist/standalone/next-output/static/chunks/0wd.8~gqkz5cp.css +0 -3
  256. package/dist/standalone/next-output/static/chunks/11~k89a6fiu2w.js +0 -1
  257. package/dist/standalone/next-output/static/chunks/16tc8vh998e~1.js +0 -1
  258. /package/dist/standalone/next-output/static/{y7QrkWDtEEq8SX6iBgDNU → 4G6Gtdu0DdRdBmSmuydRA}/_buildManifest.js +0 -0
  259. /package/dist/standalone/next-output/static/{y7QrkWDtEEq8SX6iBgDNU → 4G6Gtdu0DdRdBmSmuydRA}/_clientMiddlewareManifest.js +0 -0
  260. /package/dist/standalone/next-output/static/{y7QrkWDtEEq8SX6iBgDNU → 4G6Gtdu0DdRdBmSmuydRA}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[85393,a=>{"use strict";var b=a.i(61401),c=a.i(68093),d=a.i(60382);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/quick-actions",label:"Quick actions",match:a=>a.startsWith("/settings/quick-actions")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},16229,a=>{"use strict";a.s(["message_from_unknown_error",0,function(a,b){return a instanceof Error?a.message:"string"==typeof a?a:b}])},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)},75654,a=>{"use strict";var b=a.i(61401);a.s(["SettingsIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),(0,b.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}])},34435,a=>{"use strict";var b=a.i(61401);a.s(["HamburgerIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4 text-muted",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M4 7h16"}),(0,b.jsx)("path",{d:"M4 12h16"}),(0,b.jsx)("path",{d:"M4 17h16"})]})}])},96359,a=>{"use strict";var b=a.i(59021),c=a.i(46299);a.s(["use_escape_to_cancel",0,function(a,d=!0){let e=(0,b.useRef)(a);e.current=a,(0,b.useEffect)(()=>{if(!d)return;let a=a=>{"Escape"!==a.key||(0,c.is_modal_dialog_open)()||(a.preventDefault(),e.current())};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[d])}])},69749,a=>{"use strict";a.s(["get_input_class_name",0,function(a="default"){let b="box-border max-w-full min-w-0 w-full rounded-[0.65rem] border border-panel-border bg-input-bg px-3 py-2.5 font-inherit text-inherit transition-[background-color,border-color] duration-200 focus:border-input-focus-border focus:outline-none";return"compact"===a?`${b} px-2.5 py-2`:b}])},48174,a=>{"use strict";a.s(["format_display_tag",0,function(a){return a.startsWith("@")?a:`@${a}`}])},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}`}])},61802,9357,a=>{"use strict";let b=Symbol.for("constructDateFrom");a.s(["constructFromSymbol",0,b,"millisecondsInDay",0,864e5,"millisecondsInHour",0,36e5,"millisecondsInMinute",0,6e4,"millisecondsInSecond",0,1e3,"millisecondsInWeek",0,6048e5,"minutesInDay",0,1440,"minutesInMonth",0,43200,"minutesInYear",0,525600],9357),a.s(["constructFrom",0,function(a,c){return"function"==typeof a?a(c):a&&"object"==typeof a&&b in a?a[b](c):a instanceof Date?new a.constructor(c):new Date(c)}],61802)},46313,a=>{"use strict";var b=a.i(61802);a.s(["toDate",0,function(a,c){return(0,b.constructFrom)(c||a,a)}])},57487,a=>{"use strict";let b={};a.s(["getDefaultOptions",0,function(){return b}])},44312,a=>{"use strict";var b;let c={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function d(a){return (b={})=>{let c=b.width?String(b.width):a.defaultWidth;return a.formats[c]||a.formats[a.defaultWidth]}}let e={date:d({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:d({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:d({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},f={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function g(a){return(b,c)=>{let d;if("formatting"===(c?.context?String(c.context):"standalone")&&a.formattingValues){let b=a.defaultFormattingWidth||a.defaultWidth,e=c?.width?String(c.width):b;d=a.formattingValues[e]||a.formattingValues[b]}else{let b=a.defaultWidth,e=c?.width?String(c.width):a.defaultWidth;d=a.values[e]||a.values[b]}return d[a.argumentCallback?a.argumentCallback(b):b]}}let h={ordinalNumber:(a,b)=>{let c=Number(a),d=c%100;if(d>20||d<10)switch(d%10){case 1:return c+"st";case 2:return c+"nd";case 3:return c+"rd"}return c+"th"},era:g({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:g({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:a=>a-1}),month:g({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:g({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:g({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function i(a){return(b,c={})=>{let d,e=c.width,f=e&&a.matchPatterns[e]||a.matchPatterns[a.defaultMatchWidth],g=b.match(f);if(!g)return null;let h=g[0],i=e&&a.parsePatterns[e]||a.parsePatterns[a.defaultParseWidth],j=Array.isArray(i)?function(a,b){for(let c=0;c<a.length;c++)if(b(a[c]))return c}(i,a=>a.test(h)):function(a,b){for(let c in a)if(Object.prototype.hasOwnProperty.call(a,c)&&b(a[c]))return c}(i,a=>a.test(h));return d=a.valueCallback?a.valueCallback(j):j,{value:d=c.valueCallback?c.valueCallback(d):d,rest:b.slice(h.length)}}}let j={ordinalNumber:(b={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:a=>parseInt(a,10)},(a,c={})=>{let d=a.match(b.matchPattern);if(!d)return null;let e=d[0],f=a.match(b.parsePattern);if(!f)return null;let g=b.valueCallback?b.valueCallback(f[0]):f[0];return{value:g=c.valueCallback?c.valueCallback(g):g,rest:a.slice(e.length)}}),era:i({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:i({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:a=>a+1}),month:i({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:i({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:i({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};a.s(["defaultLocale",0,{code:"en-US",formatDistance:(a,b,d)=>{let e,f=c[a];if(e="string"==typeof f?f:1===b?f.one:f.other.replace("{{count}}",b.toString()),d?.addSuffix)if(d.comparison&&d.comparison>0)return"in "+e;else return e+" ago";return e},formatLong:e,formatRelative:(a,b,c,d)=>f[a],localize:h,match:j,options:{weekStartsOn:0,firstWeekContainsDate:1}}],44312)},95799,59099,a=>{"use strict";var b=a.i(46313);a.s(["getTimezoneOffsetInMilliseconds",0,function(a){let c=(0,b.toDate)(a),d=new Date(Date.UTC(c.getFullYear(),c.getMonth(),c.getDate(),c.getHours(),c.getMinutes(),c.getSeconds(),c.getMilliseconds()));return d.setUTCFullYear(c.getFullYear()),a-d}],95799);var c=a.i(61802);a.s(["normalizeDates",0,function(a,...b){let d=c.constructFrom.bind(null,a||b.find(a=>"object"==typeof a));return b.map(d)}],59099)},44600,a=>{"use strict";var b=a.i(59021),c=a.i(13964),d=a.i(75215);a.s(["use_confirm_dialog",0,function(){let a=(0,b.useContext)(c.ConfirmDialogContext);if(null!==a)return a;let e=(0,d.get_registered_confirm_dialog)();if(null!==e)return{confirm:e};throw Error("use_confirm_dialog must be used within ConfirmDialogProvider")}])},99467,a=>{"use strict";var b=a.i(56924);a.s(["tags_are_equal",0,function(a,c){try{return(0,b.normalize_stored_tag)(a)===(0,b.normalize_stored_tag)(c)}catch{return!1}}])},20300,23415,a=>{"use strict";var b=a.i(61401),c=a.i(10724),d=a.i(48174),e=a.i(89969),f=a.i(69749),g=a.i(64106);function h(){return{sheetName:"",tag:"",fromDate:"",toDate:""}}a.s(["get_empty_entry_export_filters",0,h],23415),a.s(["EntryFacetFiltersPanel",0,function({filters:a,sheet_names:i,tag_names:j,is_pending:k=!1,clear_label:l="Clear filters",on_change:m,on_clear:n}){let o={from_date:a.fromDate,to_date:a.toDate},p=a.fromDate.length>0!=a.toDate.length>0||a.fromDate.length>0&&a.toDate.length>0&&null===(0,g.get_date_range_ms_from_inputs)(a.fromDate,a.toDate),q=a.sheetName.length>0||a.tag.length>0||a.fromDate.length>0||a.toDate.length>0;return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-3",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:[(0,b.jsxs)("label",{className:"flex min-w-0 flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Sheet"}),(0,b.jsxs)("select",{className:(0,f.get_input_class_name)("compact"),value:a.sheetName,disabled:k,onChange:b=>m({...a,sheetName:b.target.value}),children:[(0,b.jsx)("option",{value:"",children:"All sheets"}),i.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]})]}),(0,b.jsxs)("label",{className:"flex min-w-0 flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Tag"}),(0,b.jsxs)("select",{className:(0,f.get_input_class_name)("compact"),value:a.tag,disabled:k,onChange:b=>m({...a,tag:b.target.value}),children:[(0,b.jsx)("option",{value:"",children:"Any tag"}),j.map(a=>(0,b.jsx)("option",{value:a,children:(0,d.format_display_tag)(a)},a))]})]})]}),(0,b.jsx)(c.ReportingDateRangePicker,{range:o,is_invalid:p,on_range_change:b=>m({...a,fromDate:b.from_date,toDate:b.to_date}),on_clear:()=>m({...a,fromDate:"",toDate:""})}),q?(0,b.jsx)("div",{children:(0,b.jsx)("button",{type:"button",className:(0,e.get_button_class_name)("ghost","small"),disabled:k,onClick:()=>{void 0!==n?n():m(h())},children:l})}):null]})}],20300)},19325,a=>{"use strict";var b=a.i(61401),c=a.i(60382),d=a.i(59021),e=a.i(16229),f=a.i(59659),g=a.i(44600),h=a.i(89969);a.s(["BackupRestoreSetting",0,function({db_path:a}){let i=(0,c.useRouter)(),{confirm:j}=(0,g.use_confirm_dialog)(),k=(0,d.useRef)(null),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(null),[p,q]=(0,d.useState)(!1),[r,s]=(0,d.useState)(!1),t=async()=>{q(!0),m(null),o(null);try{let a=await fetch("/api/backup");if(!a.ok){let b=await a.json();throw Error(b.error??"Download failed")}let b=await a.blob(),c=URL.createObjectURL(b),d=document.createElement("a");d.href=c,d.download="db.json",d.click(),URL.revokeObjectURL(c),o("Backup downloaded.")}catch(a){m((0,e.message_from_unknown_error)(a,"Backup download failed"))}finally{q(!1)}},u=async a=>{let b=a.target.files?.[0];if((a.target.value="",void 0!==b)&&await j({title:"Restore backup?",message:"This will replace your current time tracker data with the uploaded backup file. This cannot be undone.",confirmLabel:"Restore",variant:"danger"})){s(!0),m(null),o(null);try{let a,c=await b.text();try{a=JSON.parse(c)}catch{throw Error("Invalid backup file: file is not valid JSON.")}let d=await fetch("/api/backup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!d.ok){let a=await d.json();throw Error(a.error??"Restore failed")}o("Backup restored. Opening tracker…"),(0,f.push_tracker_db_cloud_after_change)(),i.push("/"),i.refresh()}catch(a){m((0,e.message_from_unknown_error)(a,"Restore failed"))}finally{s(!1)}}},v=p||r;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:"Backup and restore"}),(0,b.jsx)("p",{className:"m-0 text-[0.8rem] leading-snug text-muted",children:"Download a copy of your database or replace it with a previously saved backup file."})]}),(0,b.jsx)("p",{className:"m-0 overflow-wrap-anywhere font-mono text-[0.65rem] leading-snug text-muted",title:a,children:a}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)("button",{type:"button",className:(0,h.get_button_class_name)("ghost","small"),disabled:v,onClick:()=>void t(),children:p?"Downloading…":"Download backup"}),(0,b.jsx)("button",{type:"button",className:(0,h.get_button_class_name)("danger","small"),disabled:v,onClick:()=>{k.current?.click()},children:r?"Restoring…":"Restore from file"}),(0,b.jsx)("input",{ref:k,type:"file",accept:"application/json,.json",className:"hidden",onChange:a=>void u(a)})]}),null===n?null:(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-accent",children:n}),null===l?null:(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-danger",children:l})]})}],19325)},23470,a=>{"use strict";var b=a.i(61401),c=a.i(59021),d=a.i(20300);function e(a){let b=a.replaceAll('"','""');return`"${b}"`}function f(a){return a.sheetName.trim().length>0||a.tag.trim().length>0||a.fromDate.trim().length>0||a.toDate.trim().length>0}function g(a){return a.replaceAll("|","\\|").replaceAll("\n"," ")}function h(a){let b=a.trim().toLowerCase().replaceAll(/[^a-z0-9]+/g,"-").replaceAll(/^-+|-+$/g,"");return b.length>0?b:"scope"}function i(a){return a.sheets.reduce((a,b)=>a+b.entries.length,0)}var j=a.i(64106),k=a.i(99467),l=a.i(89969),m=a.i(23415),n=a.i(16229);a.s(["DbExportSetting",0,function({db:a,sheet_names:o,tag_names:p}){let[q,r]=(0,c.useState)(()=>(0,m.get_empty_entry_export_filters)()),[s,t]=(0,c.useState)(null),[u,v]=(0,c.useState)(null),w=(0,c.useMemo)(()=>i(a),[a]),x=(0,c.useMemo)(()=>(function(a,b,c=Date.now()){var d;let e,f=function(a){let{sheets:b,version:c,activeSheetName:d}=a;return{version:c,activeSheetName:d,sheets:b.map(({name:a,entries:b,activeEntryID:c,archived:d})=>({name:a,activeEntryID:c,...!0===d?{archived:!0}:{},entries:b.map(({id:a,start:b,end:c,description:d,tags:e,notes:f,archived:g})=>({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),...!0===g?{archived:!0}:{}}))}))}}(a),g={query:"",...b},h=b.sheetName.trim(),i=f.sheets.filter(a=>!(h.length>0)||a.name===h).map(a=>({...a,entries:a.entries.filter(b=>(function(a,b,c,d=Date.now()){let e=c.sheetName.trim();if(e.length>0&&b!==e)return!1;let f=c.tag.trim();if(f.length>0&&!a.tags.some(a=>(0,k.tags_are_equal)(a,f)))return!1;let g=(0,j.get_date_range_ms_from_inputs)(c.fromDate.trim(),c.toDate.trim());return null===g||function(a,b,c=Date.now()){let d=a.start.getTime(),e=null===a.end?c:a.end.getTime();return d<=b.endMs&&e>=b.startMs}(a,g,d)})(b,a.name,g,c))})).filter(a=>h.length>0||a.entries.length>0),l=null!==f.activeSheetName&&i.some(a=>a.name===f.activeSheetName)?f.activeSheetName:i[0]?.name??null;return e=(d={version:f.version,activeSheetName:l,sheets:i}).sheets.map(a=>({name:a.name,activeEntryID:a.activeEntryID,...!0===a.archived?{archived:!0}:{},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()})),...!0===a.archived?{archived:!0}:{}}))})),{version:d.version,activeSheetName:d.activeSheetName,sheets:e}})(a,q),[a,q]),y=(0,c.useMemo)(()=>i(x),[x]),z=(0,c.useMemo)(()=>q.fromDate.length>0!=q.toDate.length>0||q.fromDate.length>0&&q.toDate.length>0&&null===(0,j.get_date_range_ms_from_inputs)(q.fromDate,q.toDate),[q.fromDate,q.toDate]),A=a=>{if(v(null),t(null),z)return void v("Choose a valid from and to date, or clear the date filter.");if(0===y)return void v("No entries match the current export filters.");try{let b,c,d,i,j,k=function(a,b,c){if("json"===a)return JSON.stringify(b,null,2);if("csv"===a){let a;return a=b.sheets.flatMap(a=>a.entries.map(b=>{let c=new Date(b.start).toISOString(),d=null===b.end?"":new Date(b.end).toISOString(),f=null===b.end?"":String(Math.max(0,b.end-b.start)/6e4),g=b.notes.map(a=>a.text).join(" | ");return[a.name,String(b.id),b.description,b.tags.join(" "),c,d,f,String(b.notes.length),g].map(e).join(",")})),["sheet_name,entry_id,description,tags,start_iso,end_iso,duration_minutes,note_count,notes",...a].join("\n")}return function(a,b={sheetName:"",tag:"",fromDate:"",toDate:""}){var c;let d,e=[],h=new Date().toISOString(),i=a.sheets.reduce((a,b)=>a+b.entries.length,0);for(let j of(e.push("# super-time-tracker export"),e.push(""),e.push(`- Exported at: ${h}`),e.push(`- Active sheet: ${a.activeSheetName??"none"}`),e.push(`- Sheets: ${a.sheets.length}`),e.push(`- Entries: ${i}`),f(b)&&e.push(`- Scope: ${(c=b,d=[],c.sheetName.trim().length>0&&d.push(`sheet "${c.sheetName.trim()}"`),c.tag.trim().length>0&&d.push(`tag @${c.tag.trim()}`),(c.fromDate.trim().length>0||c.toDate.trim().length>0)&&d.push(`dates ${c.fromDate.trim()||"…"} – ${c.toDate.trim()||"…"}`),d.join(", "))}`),e.push(""),a.sheets)){if(e.push(`## ${j.name}`),e.push(""),e.push(`- Active entry ID: ${j.activeEntryID??"none"}`),e.push(`- Entries: ${j.entries.length}`),e.push(""),0===j.entries.length){e.push("_No entries_"),e.push("");continue}for(let a of(e.push("| ID | Description | Tags | Start | End | Duration | Notes |"),e.push("| --- | --- | --- | --- | --- | --- | --- |"),j.entries)){let b=new Date(a.start).toISOString(),c=null===a.end?"running":new Date(a.end).toISOString(),d=null===a.end?"running":`${Math.max(0,a.end-a.start)/6e4} min`,f=0===a.tags.length?"-":a.tags.map(a=>`@${a}`).join(" "),h=0===a.notes.length?"-":a.notes.map(a=>a.text).join(" / ");e.push(`| ${a.id} | ${g(a.description)} | ${g(f)} | ${b} | ${c} | ${d} | ${g(h)} |`)}e.push("")}return e.join("\n")}(b,c)}(a,x,q),l=(b="json"===a?"json":"csv"===a?"csv":"md",c=function(a){if(!f(a))return"";let b=[];if(a.sheetName.trim().length>0&&b.push(h(a.sheetName)),a.tag.trim().length>0&&b.push(`tag-${h(a.tag)}`),a.fromDate.trim().length>0||a.toDate.trim().length>0){let c=a.fromDate.trim()||"start",d=a.toDate.trim()||"end";b.push(`${c}-to-${d}`)}return b.join("-").slice(0,80)}(q),0===c.length?`super-time-tracker-export.${b}`:`super-time-tracker-export-${c}.${b}`);d=new Blob([k],{type:"json"===a?"application/json":"csv"===a?"text/csv;charset=utf-8":"text/markdown;charset=utf-8"}),i=URL.createObjectURL(d),(j=document.createElement("a")).href=i,j.download=l,j.click(),URL.revokeObjectURL(i),t(`Downloaded ${l}`)}catch(a){v((0,n.message_from_unknown_error)(a,"Export failed"))}},B=f(q)?`${y} of ${w} entries in scope`:`${w} entries ready to export`;return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-4",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:"Database export"}),(0,b.jsxs)("p",{className:"m-0 text-[0.8rem] leading-snug text-muted",children:[a.sheets.length," sheets · ",B]})]}),(0,b.jsx)(d.EntryFacetFiltersPanel,{filters:q,sheet_names:o,tag_names:p,on_change:r}),z?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-danger",children:"Choose both from and to dates, or clear the date filter."}):null,(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)("button",{type:"button",className:(0,l.get_button_class_name)("ghost","small"),disabled:z||0===y,onClick:()=>A("json"),children:"Export JSON"}),(0,b.jsx)("button",{type:"button",className:(0,l.get_button_class_name)("ghost","small"),disabled:z||0===y,onClick:()=>A("csv"),children:"Export CSV"}),(0,b.jsx)("button",{type:"button",className:(0,l.get_button_class_name)("ghost","small"),disabled:z||0===y,onClick:()=>A("markdown"),children:"Export Markdown"})]}),null===s?null:(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-accent",children:s}),null===u?null:(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-danger",children:u})]})}],23470)}];
1
+ module.exports=[85393,a=>{"use strict";var b=a.i(61401),c=a.i(68093),d=a.i(60382);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/quick-actions",label:"Quick actions",match:a=>a.startsWith("/settings/quick-actions")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},16229,a=>{"use strict";a.s(["message_from_unknown_error",0,function(a,b){return a instanceof Error?a.message:"string"==typeof a?a:b}])},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)},75654,a=>{"use strict";var b=a.i(61401);a.s(["SettingsIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),(0,b.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}])},34435,a=>{"use strict";var b=a.i(61401);a.s(["HamburgerIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4 text-muted",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M4 7h16"}),(0,b.jsx)("path",{d:"M4 12h16"}),(0,b.jsx)("path",{d:"M4 17h16"})]})}])},96359,a=>{"use strict";var b=a.i(59021),c=a.i(46299);a.s(["use_escape_to_cancel",0,function(a,d=!0){let e=(0,b.useRef)(a);e.current=a,(0,b.useEffect)(()=>{if(!d)return;let a=a=>{"Escape"!==a.key||(0,c.is_modal_dialog_open)()||(a.preventDefault(),e.current())};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[d])}])},69749,a=>{"use strict";a.s(["get_input_class_name",0,function(a="default"){let b="box-border max-w-full min-w-0 w-full rounded-[0.65rem] border border-panel-border bg-input-bg px-3 py-2.5 font-inherit text-inherit transition-[background-color,border-color] duration-200 focus:border-input-focus-border focus:outline-none";return"compact"===a?`${b} px-2.5 py-2`:b}])},48174,a=>{"use strict";a.s(["format_display_tag",0,function(a){return a.startsWith("@")?a:`@${a}`}])},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}`}])},61802,9357,a=>{"use strict";let b=Symbol.for("constructDateFrom");a.s(["constructFromSymbol",0,b,"millisecondsInDay",0,864e5,"millisecondsInHour",0,36e5,"millisecondsInMinute",0,6e4,"millisecondsInSecond",0,1e3,"millisecondsInWeek",0,6048e5,"minutesInDay",0,1440,"minutesInMonth",0,43200,"minutesInYear",0,525600],9357),a.s(["constructFrom",0,function(a,c){return"function"==typeof a?a(c):a&&"object"==typeof a&&b in a?a[b](c):a instanceof Date?new a.constructor(c):new Date(c)}],61802)},46313,a=>{"use strict";var b=a.i(61802);a.s(["toDate",0,function(a,c){return(0,b.constructFrom)(c||a,a)}])},57487,a=>{"use strict";let b={};a.s(["getDefaultOptions",0,function(){return b}])},44312,a=>{"use strict";var b;let c={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function d(a){return (b={})=>{let c=b.width?String(b.width):a.defaultWidth;return a.formats[c]||a.formats[a.defaultWidth]}}let e={date:d({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:d({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:d({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},f={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function g(a){return(b,c)=>{let d;if("formatting"===(c?.context?String(c.context):"standalone")&&a.formattingValues){let b=a.defaultFormattingWidth||a.defaultWidth,e=c?.width?String(c.width):b;d=a.formattingValues[e]||a.formattingValues[b]}else{let b=a.defaultWidth,e=c?.width?String(c.width):a.defaultWidth;d=a.values[e]||a.values[b]}return d[a.argumentCallback?a.argumentCallback(b):b]}}let h={ordinalNumber:(a,b)=>{let c=Number(a),d=c%100;if(d>20||d<10)switch(d%10){case 1:return c+"st";case 2:return c+"nd";case 3:return c+"rd"}return c+"th"},era:g({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:g({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:a=>a-1}),month:g({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:g({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:g({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function i(a){return(b,c={})=>{let d,e=c.width,f=e&&a.matchPatterns[e]||a.matchPatterns[a.defaultMatchWidth],g=b.match(f);if(!g)return null;let h=g[0],i=e&&a.parsePatterns[e]||a.parsePatterns[a.defaultParseWidth],j=Array.isArray(i)?function(a,b){for(let c=0;c<a.length;c++)if(b(a[c]))return c}(i,a=>a.test(h)):function(a,b){for(let c in a)if(Object.prototype.hasOwnProperty.call(a,c)&&b(a[c]))return c}(i,a=>a.test(h));return d=a.valueCallback?a.valueCallback(j):j,{value:d=c.valueCallback?c.valueCallback(d):d,rest:b.slice(h.length)}}}let j={ordinalNumber:(b={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:a=>parseInt(a,10)},(a,c={})=>{let d=a.match(b.matchPattern);if(!d)return null;let e=d[0],f=a.match(b.parsePattern);if(!f)return null;let g=b.valueCallback?b.valueCallback(f[0]):f[0];return{value:g=c.valueCallback?c.valueCallback(g):g,rest:a.slice(e.length)}}),era:i({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:i({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:a=>a+1}),month:i({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:i({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:i({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};a.s(["defaultLocale",0,{code:"en-US",formatDistance:(a,b,d)=>{let e,f=c[a];if(e="string"==typeof f?f:1===b?f.one:f.other.replace("{{count}}",b.toString()),d?.addSuffix)if(d.comparison&&d.comparison>0)return"in "+e;else return e+" ago";return e},formatLong:e,formatRelative:(a,b,c,d)=>f[a],localize:h,match:j,options:{weekStartsOn:0,firstWeekContainsDate:1}}],44312)},95799,59099,a=>{"use strict";var b=a.i(46313);a.s(["getTimezoneOffsetInMilliseconds",0,function(a){let c=(0,b.toDate)(a),d=new Date(Date.UTC(c.getFullYear(),c.getMonth(),c.getDate(),c.getHours(),c.getMinutes(),c.getSeconds(),c.getMilliseconds()));return d.setUTCFullYear(c.getFullYear()),a-d}],95799);var c=a.i(61802);a.s(["normalizeDates",0,function(a,...b){let d=c.constructFrom.bind(null,a||b.find(a=>"object"==typeof a));return b.map(d)}],59099)},44600,a=>{"use strict";var b=a.i(59021),c=a.i(13964),d=a.i(75215);a.s(["use_confirm_dialog",0,function(){let a=(0,b.useContext)(c.ConfirmDialogContext);if(null!==a)return a;let e=(0,d.get_registered_confirm_dialog)();if(null!==e)return{confirm:e};throw Error("use_confirm_dialog must be used within ConfirmDialogProvider")}])},99467,a=>{"use strict";var b=a.i(56924);a.s(["tags_are_equal",0,function(a,c){try{return(0,b.normalize_stored_tag)(a)===(0,b.normalize_stored_tag)(c)}catch{return!1}}])},20300,23415,a=>{"use strict";var b=a.i(61401),c=a.i(10724),d=a.i(48174),e=a.i(89969),f=a.i(69749),g=a.i(64106);function h(){return{sheetName:"",tag:"",fromDate:"",toDate:""}}a.s(["get_empty_entry_export_filters",0,h],23415),a.s(["EntryFacetFiltersPanel",0,function({filters:a,sheet_names:i,tag_names:j,is_pending:k=!1,clear_label:l="Clear filters",on_change:m,on_clear:n}){let o={from_date:a.fromDate,to_date:a.toDate},p=a.fromDate.length>0!=a.toDate.length>0||a.fromDate.length>0&&a.toDate.length>0&&null===(0,g.get_date_range_ms_from_inputs)(a.fromDate,a.toDate),q=a.sheetName.length>0||a.tag.length>0||a.fromDate.length>0||a.toDate.length>0;return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-3",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2",children:[(0,b.jsxs)("label",{className:"flex min-w-0 flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Sheet"}),(0,b.jsxs)("select",{className:(0,f.get_input_class_name)("compact"),value:a.sheetName,disabled:k,onChange:b=>m({...a,sheetName:b.target.value}),children:[(0,b.jsx)("option",{value:"",children:"All sheets"}),i.map(a=>(0,b.jsx)("option",{value:a,children:a},a))]})]}),(0,b.jsxs)("label",{className:"flex min-w-0 flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Tag"}),(0,b.jsxs)("select",{className:(0,f.get_input_class_name)("compact"),value:a.tag,disabled:k,onChange:b=>m({...a,tag:b.target.value}),children:[(0,b.jsx)("option",{value:"",children:"Any tag"}),j.map(a=>(0,b.jsx)("option",{value:a,children:(0,d.format_display_tag)(a)},a))]})]})]}),(0,b.jsx)(c.ReportingDateRangePicker,{range:o,is_invalid:p,on_range_change:b=>m({...a,fromDate:b.from_date,toDate:b.to_date}),on_clear:()=>m({...a,fromDate:"",toDate:""})}),q?(0,b.jsx)("div",{children:(0,b.jsx)("button",{type:"button",className:(0,e.get_button_class_name)("ghost","small"),disabled:k,onClick:()=>{void 0!==n?n():m(h())},children:l})}):null]})}],20300)},19325,a=>{"use strict";var b=a.i(61401),c=a.i(60382),d=a.i(59021),e=a.i(16229),f=a.i(59659),g=a.i(44600),h=a.i(89969);a.s(["BackupRestoreSetting",0,function({db_path:a}){let i=(0,c.useRouter)(),{confirm:j}=(0,g.use_confirm_dialog)(),k=(0,d.useRef)(null),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(null),[p,q]=(0,d.useState)(!1),[r,s]=(0,d.useState)(!1),t=async()=>{q(!0),m(null),o(null);try{let a=await fetch("/api/backup");if(!a.ok){let b=await a.json();throw Error(b.error??"Download failed")}let b=await a.blob(),c=URL.createObjectURL(b),d=document.createElement("a");d.href=c,d.download="db.json",d.click(),URL.revokeObjectURL(c),o("Backup downloaded.")}catch(a){m((0,e.message_from_unknown_error)(a,"Backup download failed"))}finally{q(!1)}},u=async a=>{let b=a.target.files?.[0];if((a.target.value="",void 0!==b)&&await j({title:"Restore backup?",message:"This will replace your current time tracker data with the uploaded backup file. This cannot be undone.",confirmLabel:"Restore",variant:"danger"})){s(!0),m(null),o(null);try{let a,c=await b.text();try{a=JSON.parse(c)}catch{throw Error("Invalid backup file: file is not valid JSON.")}let d=await fetch("/api/backup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!d.ok){let a=await d.json();throw Error(a.error??"Restore failed")}o("Backup restored. Opening tracker…"),(0,f.push_tracker_db_cloud_after_change)(),i.push("/"),i.refresh()}catch(a){m((0,e.message_from_unknown_error)(a,"Restore failed"))}finally{s(!1)}}},v=p||r;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:"Backup and restore"}),(0,b.jsx)("p",{className:"m-0 text-[0.8rem] leading-snug text-muted",children:"Download a copy of your database or replace it with a previously saved backup file."})]}),(0,b.jsx)("p",{className:"m-0 overflow-wrap-anywhere font-mono text-[0.65rem] leading-snug text-muted",title:a,children:a}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)("button",{type:"button",className:(0,h.get_button_class_name)("ghost","small"),disabled:v,onClick:()=>void t(),children:p?"Downloading…":"Download backup"}),(0,b.jsx)("button",{type:"button",className:(0,h.get_button_class_name)("danger","small"),disabled:v,onClick:()=>{k.current?.click()},children:r?"Restoring…":"Restore from file"}),(0,b.jsx)("input",{ref:k,type:"file",accept:"application/json,.json",className:"hidden",onChange:a=>void u(a)})]}),null===n?null:(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-accent",children:n}),null===l?null:(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-danger",children:l})]})}],19325)},23470,a=>{"use strict";var b=a.i(61401),c=a.i(59021),d=a.i(20300);function e(a){let b=a.replaceAll('"','""');return`"${b}"`}function f(a){return a.sheetName.trim().length>0||a.tag.trim().length>0||a.fromDate.trim().length>0||a.toDate.trim().length>0}function g(a){return a.replaceAll("|","\\|").replaceAll("\n"," ")}function h(a){let b=a.trim().toLowerCase().replaceAll(/[^a-z0-9]+/g,"-").replaceAll(/^-+|-+$/g,"");return b.length>0?b:"scope"}function i(a){return a.sheets.reduce((a,b)=>a+b.entries.length,0)}var j=a.i(64106),k=a.i(99467),l=a.i(89969),m=a.i(23415),n=a.i(16229);a.s(["DbExportSetting",0,function({db:a,sheet_names:o,tag_names:p}){let[q,r]=(0,c.useState)(()=>(0,m.get_empty_entry_export_filters)()),[s,t]=(0,c.useState)(null),[u,v]=(0,c.useState)(null),w=(0,c.useMemo)(()=>i(a),[a]),x=(0,c.useMemo)(()=>(function(a,b,c=Date.now()){var d;let e,f=function(a){let{sheets:b,version:c,activeSheetName:d}=a;return{version:c,activeSheetName:d,sheets:b.map(({name:a,entries:b,tasks:c,activeEntryID:d,archived:e})=>({name:a,activeEntryID:d,...!0===e?{archived:!0}:{},tasks:(c??[]).map(({id:a,title:b,createdAt:c,updatedAt:d,completedAt:e})=>({id:a,title:b,createdAt:new Date(c),updatedAt:new Date(d),completedAt:null===e?null:new Date(e)})),entries:b.map(({id:a,start:b,end:c,description:d,tags:e,notes:f,archived:g})=>({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),...!0===g?{archived:!0}:{}}))}))}}(a),g={query:"",...b},h=b.sheetName.trim(),i=f.sheets.filter(a=>!(h.length>0)||a.name===h).map(a=>({...a,entries:a.entries.filter(b=>(function(a,b,c,d=Date.now()){let e=c.sheetName.trim();if(e.length>0&&b!==e)return!1;let f=c.tag.trim();if(f.length>0&&!a.tags.some(a=>(0,k.tags_are_equal)(a,f)))return!1;let g=(0,j.get_date_range_ms_from_inputs)(c.fromDate.trim(),c.toDate.trim());return null===g||function(a,b,c=Date.now()){let d=a.start.getTime(),e=null===a.end?c:a.end.getTime();return d<=b.endMs&&e>=b.startMs}(a,g,d)})(b,a.name,g,c))})).filter(a=>h.length>0||a.entries.length>0),l=null!==f.activeSheetName&&i.some(a=>a.name===f.activeSheetName)?f.activeSheetName:i[0]?.name??null;return e=(d={version:f.version,activeSheetName:l,sheets:i}).sheets.map(a=>({name:a.name,activeEntryID:a.activeEntryID,...!0===a.archived?{archived:!0}:{},tasks:a.tasks.map(a=>({id:a.id,title:a.title,createdAt:a.createdAt.getTime(),updatedAt:a.updatedAt.getTime(),completedAt:null===a.completedAt?null:a.completedAt.getTime()})),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()})),...!0===a.archived?{archived:!0}:{}}))})),{version:d.version,activeSheetName:d.activeSheetName,sheets:e}})(a,q),[a,q]),y=(0,c.useMemo)(()=>i(x),[x]),z=(0,c.useMemo)(()=>q.fromDate.length>0!=q.toDate.length>0||q.fromDate.length>0&&q.toDate.length>0&&null===(0,j.get_date_range_ms_from_inputs)(q.fromDate,q.toDate),[q.fromDate,q.toDate]),A=a=>{if(v(null),t(null),z)return void v("Choose a valid from and to date, or clear the date filter.");if(0===y)return void v("No entries match the current export filters.");try{let b,c,d,i,j,k=function(a,b,c){if("json"===a)return JSON.stringify(b,null,2);if("csv"===a){let a;return a=b.sheets.flatMap(a=>a.entries.map(b=>{let c=new Date(b.start).toISOString(),d=null===b.end?"":new Date(b.end).toISOString(),f=null===b.end?"":String(Math.max(0,b.end-b.start)/6e4),g=b.notes.map(a=>a.text).join(" | ");return[a.name,String(b.id),b.description,b.tags.join(" "),c,d,f,String(b.notes.length),g].map(e).join(",")})),["sheet_name,entry_id,description,tags,start_iso,end_iso,duration_minutes,note_count,notes",...a].join("\n")}return function(a,b={sheetName:"",tag:"",fromDate:"",toDate:""}){var c;let d,e=[],h=new Date().toISOString(),i=a.sheets.reduce((a,b)=>a+b.entries.length,0);for(let j of(e.push("# super-time-tracker export"),e.push(""),e.push(`- Exported at: ${h}`),e.push(`- Active sheet: ${a.activeSheetName??"none"}`),e.push(`- Sheets: ${a.sheets.length}`),e.push(`- Entries: ${i}`),f(b)&&e.push(`- Scope: ${(c=b,d=[],c.sheetName.trim().length>0&&d.push(`sheet "${c.sheetName.trim()}"`),c.tag.trim().length>0&&d.push(`tag @${c.tag.trim()}`),(c.fromDate.trim().length>0||c.toDate.trim().length>0)&&d.push(`dates ${c.fromDate.trim()||"…"} – ${c.toDate.trim()||"…"}`),d.join(", "))}`),e.push(""),a.sheets)){if(e.push(`## ${j.name}`),e.push(""),e.push(`- Active entry ID: ${j.activeEntryID??"none"}`),e.push(`- Entries: ${j.entries.length}`),e.push(""),0===j.entries.length){e.push("_No entries_"),e.push("");continue}for(let a of(e.push("| ID | Description | Tags | Start | End | Duration | Notes |"),e.push("| --- | --- | --- | --- | --- | --- | --- |"),j.entries)){let b=new Date(a.start).toISOString(),c=null===a.end?"running":new Date(a.end).toISOString(),d=null===a.end?"running":`${Math.max(0,a.end-a.start)/6e4} min`,f=0===a.tags.length?"-":a.tags.map(a=>`@${a}`).join(" "),h=0===a.notes.length?"-":a.notes.map(a=>a.text).join(" / ");e.push(`| ${a.id} | ${g(a.description)} | ${g(f)} | ${b} | ${c} | ${d} | ${g(h)} |`)}e.push("")}return e.join("\n")}(b,c)}(a,x,q),l=(b="json"===a?"json":"csv"===a?"csv":"md",c=function(a){if(!f(a))return"";let b=[];if(a.sheetName.trim().length>0&&b.push(h(a.sheetName)),a.tag.trim().length>0&&b.push(`tag-${h(a.tag)}`),a.fromDate.trim().length>0||a.toDate.trim().length>0){let c=a.fromDate.trim()||"start",d=a.toDate.trim()||"end";b.push(`${c}-to-${d}`)}return b.join("-").slice(0,80)}(q),0===c.length?`super-time-tracker-export.${b}`:`super-time-tracker-export-${c}.${b}`);d=new Blob([k],{type:"json"===a?"application/json":"csv"===a?"text/csv;charset=utf-8":"text/markdown;charset=utf-8"}),i=URL.createObjectURL(d),(j=document.createElement("a")).href=i,j.download=l,j.click(),URL.revokeObjectURL(i),t(`Downloaded ${l}`)}catch(a){v((0,n.message_from_unknown_error)(a,"Export failed"))}},B=f(q)?`${y} of ${w} entries in scope`:`${w} entries ready to export`;return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-4",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:"Database export"}),(0,b.jsxs)("p",{className:"m-0 text-[0.8rem] leading-snug text-muted",children:[a.sheets.length," sheets · ",B]})]}),(0,b.jsx)(d.EntryFacetFiltersPanel,{filters:q,sheet_names:o,tag_names:p,on_change:r}),z?(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-danger",children:"Choose both from and to dates, or clear the date filter."}):null,(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)("button",{type:"button",className:(0,l.get_button_class_name)("ghost","small"),disabled:z||0===y,onClick:()=>A("json"),children:"Export JSON"}),(0,b.jsx)("button",{type:"button",className:(0,l.get_button_class_name)("ghost","small"),disabled:z||0===y,onClick:()=>A("csv"),children:"Export CSV"}),(0,b.jsx)("button",{type:"button",className:(0,l.get_button_class_name)("ghost","small"),disabled:z||0===y,onClick:()=>A("markdown"),children:"Export Markdown"})]}),null===s?null:(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-accent",children:s}),null===u?null:(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-danger",children:u})]})}],23470)}];
2
2
 
3
3
  //# sourceMappingURL=_0e_h4bk._.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}])},48174,a=>{"use strict";a.s(["format_display_tag",0,function(a){return a.startsWith("@")?a:`@${a}`}])},16229,a=>{"use strict";a.s(["message_from_unknown_error",0,function(a,b){return a instanceof Error?a.message:"string"==typeof a?a:b}])},19702,a=>{"use strict";a.s(["ACTIVE_SHEET_COOKIE_NAME",0,"stt-active-sheet","ACTIVE_SHEET_STORAGE_KEY",0,"super-time-tracker-active-sheet","COMPACT_LISTS_STORAGE_KEY",0,"super-time-tracker-compact-lists","DEFAULT_SHEET_FIXED_NAME_COOKIE_NAME",0,"stt-default-sheet-fixed-name","DEFAULT_SHEET_FIXED_NAME_STORAGE_KEY",0,"super-time-tracker-default-sheet-fixed-name","DEFAULT_SHEET_SESSION_MODE_COOKIE_NAME",0,"stt-default-sheet-session-mode","DEFAULT_SHEET_SESSION_MODE_DEFAULT",0,"last_viewed","DEFAULT_SHEET_SESSION_MODE_STORAGE_KEY",0,"super-time-tracker-default-sheet-session-mode","SHEET_TAG_FILTERS_STORAGE_KEY",0,"super-time-tracker-sheet-tag-filters"])},14679,a=>{"use strict";var b=a.i(72958),c=a.i(19702);a.s(["navigate_to_tracker_sheet",0,function(a){let d=a.trim();if(0!==d.length){try{window.localStorage.setItem(c.ACTIVE_SHEET_STORAGE_KEY,d),(0,b.schedule_ui_preferences_cloud_sync)()}catch{}try{let a=encodeURIComponent(d);document.cookie=`${c.ACTIVE_SHEET_COOKIE_NAME}=${a}; Path=/; Max-Age=31536000; SameSite=Lax`}catch{}}}],14679)},85110,42676,6229,40663,30322,34030,a=>{"use strict";var b=a.i(50803);function c(){return[]}a.s(["build_entry_template_description",0,function(a){return(0,b.build_resume_description)(a.description,a.tags??[])}],85110),a.s(["read_entry_templates",0,c],42676);let d=[],e=null;function f(){e=null}a.s(["EMPTY_ENTRY_TEMPLATES",0,d,"get_stable_entry_templates_snapshot",0,function(a){let b=a.map(a=>[a.id,a.name,a.description,a.defaultSheetName??"",a.tags?.join(" ")??"",!0===a.favorite?"1":"0",a.shortcutKey??"",!0===a.pomodoroLinked?"1":"0",a.createdAt??"",a.lastUsedAt??"",String(a.useCount??0)].join("\0")).join("\n");if(null!==e&&e.templates_key===b)return e.snapshot;let c=0===a.length?d:Object.freeze(a.map(a=>({...a})));return e={templates_key:b,snapshot:c},c},"reset_entry_templates_snapshot_cache",0,f],6229);let g=new Set;function h(){f(),g.forEach(a=>{a()})}function i(a){if(void 0!==globalThis.window)try{globalThis.window.localStorage.setItem("super-time-tracker-entry-templates",JSON.stringify(a)),h()}catch{}}a.s(["notify_entry_templates_changed",0,h,"subscribe_entry_templates",0,function(a){return g.add(a),()=>{g.delete(a)}}],40663),a.s(["write_entry_templates",0,i],30322),a.s(["record_entry_template_usage",0,function(a){let b=c(),d=new Date().toISOString(),e=!1,f=b.map(b=>b.id!==a?b:(e=!0,{...b,lastUsedAt:d,useCount:(b.useCount??0)+1}));e&&i(f)}],34030)},59659,5796,a=>{"use strict";var b=a.i(87281);function c(){}function d(){(0,b.is_greedy_cloud_sync_enabled)()&&c()}a.i(63577),a.i(51652),a.i(74365),Promise.resolve(),a.s(["schedule_tracker_db_cloud_sync",0,d],5796),a.s(["push_tracker_db_cloud_after_change",0,function(){(0,b.is_greedy_cloud_sync_enabled)()?d():c()}],59659)},71034,a=>{"use strict";var b=a.i(87281);async function c(a){let b=await fetch("/api/sheet/active",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:a})});if(!b.ok)throw Error((await b.json()).error??"Failed to update active sheet in cloud")}var d=a.i(59659),e=a.i(5796);a.s(["notify_tracker_db_cloud_sync",0,function(a,f){if("/api/sheet"===a&&"object"==typeof f&&null!==f&&!0!==f.delete&&!(0,b.is_greedy_cloud_sync_enabled)()){let a=f.name?.trim()??"";a.length>0&&c(a).catch(()=>{});return}(0,b.is_greedy_cloud_sync_enabled)()?(0,e.schedule_tracker_db_cloud_sync)():(0,d.push_tracker_db_cloud_after_change)()}],71034)},50803,a=>{"use strict";var b=a.i(48174);a.s(["build_resume_description",0,function(a,c){let d=a.trim(),e=d.length>0?d:"Untitled entry",f=c.map(a=>(0,b.format_display_tag)(a)).join(" ");return f.length>0?`${e} ${f}`.trim():e}])},115,a=>{"use strict";var b=a.i(71034);let c=new Set(["/api/note"]);async function d(a,d){let e={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)},f=await fetch(a,e);if(!f.ok){var g,h;let b,d=(await f.json()).error??"Request failed";if(g=a,h=d,c.has(g)&&((b=h.toLowerCase()).includes("duplicate key")||b.includes("unique constraint"))){if(await new Promise(a=>{setTimeout(a,25)}),!(f=await fetch(a,e)).ok)throw Error((await f.json()).error??d)}else throw Error(d)}let i=await f.json();return(0,b.notify_tracker_db_cloud_sync)(a,d),i}a.s(["post_tracker_action",0,d])},33272,a=>{"use strict";a.s(["build_entry_search_href",0,function(a){let b=new URLSearchParams;a.query.trim().length>0&&b.set("q",a.query.trim()),a.sheetName.trim().length>0&&b.set("sheet",a.sheetName.trim()),a.tag.trim().length>0&&b.set("tag",a.tag.trim()),a.fromDate.trim().length>0&&b.set("from",a.fromDate.trim()),a.toDate.trim().length>0&&b.set("to",a.toDate.trim());let c=b.toString();return c.length>0?`/search?${c}`:"/search"}])},38005,a=>{"use strict";let b={query:"",sheetName:"",tag:"",fromDate:"",toDate:""};a.s(["get_empty_entry_search_filters",0,function(){return{...b}}])},2837,a=>{"use strict";var b=a.i(59021);a.s(["use_debounced_value",0,function(a,c){let[d,e]=(0,b.useState)(a);return(0,b.useEffect)(()=>{let b=window.setTimeout(()=>{e(a)},c);return()=>{window.clearTimeout(b)}},[a,c]),d}])},71312,a=>{"use strict";var b=a.i(61401),c=a.i(60382),d=a.i(59021),e=a.i(69749);function f({items:a,query:c,is_loading:g,error:h,on_query_change:i,on_select:j,on_close:k}){var l;let m=(0,d.useId)(),n=(0,d.useRef)(null),o=(0,d.useRef)(null),[p,q]=(0,d.useState)(0),r=(0,d.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=b.get(c.group)??[];a.push(c),b.set(c.group,a)}return Array.from(b.entries()).map(([a,b])=>({label:a,items:b}))})(a),[a]),s=(0,d.useMemo)(()=>r.flatMap(a=>a.items),[r]),t=(0,d.useMemo)(()=>{let a=new Map;return s.forEach((b,c)=>{a.set(b.id,c)}),a},[s]),u=0===s.length?0:Math.min(p,s.length-1),v=(l=s.length,!g&&0===l&&null===h);(0,d.useEffect)(()=>{let a=n.current;if(null!==a&&!a.open)return a.showModal(),()=>{a.open&&a.close()}},[]),(0,d.useEffect)(()=>{o.current?.focus()},[]);let w=()=>{n.current?.close(),k()};return(0,b.jsxs)("dialog",{ref:n,"aria-labelledby":m,"data-command-palette-dialog":"true",className:"fixed inset-0 z-100 m-0 flex max-h-none w-full max-w-none items-start justify-center border-0 bg-transparent p-4 pt-[12vh] backdrop:bg-overlay open:flex sm:p-6 sm:pt-[12vh]",onCancel:a=>{a.preventDefault(),w()},children:[(0,b.jsx)("button",{type:"button",tabIndex:-1,"aria-label":"Close command palette",className:"absolute inset-0 z-0 cursor-default border-0 bg-transparent p-0",onClick:w}),(0,b.jsxs)("div",{className:"relative z-1 flex w-full max-w-xl flex-col overflow-hidden rounded-lg border border-panel-border bg-panel shadow-lg",children:[(0,b.jsx)("p",{id:m,className:"sr-only",children:"Command palette"}),(0,b.jsxs)("div",{className:"border-b border-panel-border px-3 py-3",children:[(0,b.jsx)("label",{className:"sr-only",htmlFor:`${m}-input`,"aria-label":"Search commands",children:"Search commands"}),(0,b.jsx)("input",{ref:o,id:`${m}-input`,type:"search",autoComplete:"off",spellCheck:!1,placeholder:"Search sheets, entries, templates, reporting…",className:(0,e.get_input_class_name)("compact"),value:c,onChange:a=>{var b;return b=a.target.value,void(q(0),i(b))},onKeyDown:a=>{if((a.metaKey||a.ctrlKey)&&!a.altKey&&"k"===a.key.toLowerCase()){a.preventDefault(),a.stopPropagation(),w();return}if("Escape"===a.key){a.preventDefault(),w();return}if("ArrowDown"===a.key){if(a.preventDefault(),0===s.length)return;q(a=>(a+1)%s.length);return}if("ArrowUp"===a.key){if(a.preventDefault(),0===s.length)return;q(a=>0===a?s.length-1:a-1);return}if("Enter"===a.key){a.preventDefault();let b=s[u];void 0!==b&&j(b)}}})]}),(0,b.jsxs)("div",{className:"max-h-[min(24rem,55vh)] overflow-y-auto px-2 py-2","aria-live":"polite",children:[null===h?null:(0,b.jsx)("p",{className:"m-0 px-2 py-3 text-[0.85rem] text-danger",children:h}),g&&0===s.length?(0,b.jsx)("p",{className:"m-0 px-2 py-3 text-[0.85rem] text-muted",children:"Loading…"}):null,v?(0,b.jsx)("p",{className:"m-0 px-2 py-3 text-[0.85rem] text-muted",children:"No matching commands."}):null,r.map(a=>(0,b.jsxs)("section",{className:"mb-2 last:mb-0","aria-label":a.label,children:[(0,b.jsx)("h2",{className:"m-0 px-2 py-1 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:a.label}),(0,b.jsx)("ul",{className:"m-0 list-none p-0",children:a.items.map(a=>{let c=t.get(a.id)??0,d=c===u;return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",className:`flex w-full cursor-pointer flex-col gap-0.5 rounded-md border-0 px-2.5 py-2 text-left font-inherit transition-colors duration-150 ${d?"bg-accent-soft text-foreground":"bg-transparent text-inherit hover:bg-surface-hover"}`,onMouseEnter:()=>q(c),onClick:()=>j(a),children:[(0,b.jsx)("span",{className:"text-[0.9rem] font-semibold",children:a.title}),void 0===a.subtitle?null:(0,b.jsx)("span",{className:"text-[0.78rem] text-muted",children:a.subtitle})]})},a.id)})})]},a.label))]}),(0,b.jsxs)("div",{className:"border-t border-panel-border px-3 py-2 text-[0.72rem] text-muted",children:[(0,b.jsx)("span",{className:"font-mono",children:"↑↓"})," navigate ·"," ",(0,b.jsx)("span",{className:"font-mono",children:"↵"})," select ·"," ",(0,b.jsx)("span",{className:"font-mono",children:"esc"})," close ·"," ",(0,b.jsx)("span",{className:"font-mono",children:"Ctrl+P"})," toggle"]})]})]})}var g=a.i(85110),h=a.i(48174),i=a.i(42676);let j=[{id:"nav-tracker",kind:"navigate",group:"Pages",title:"Open Tracker",keywords:["home","tracker","timer"],href:"/"},{id:"nav-today",kind:"navigate",group:"Pages",title:"Open Today",keywords:["today","focus","daily"],href:"/today"},{id:"nav-review",kind:"navigate",group:"Pages",title:"Open End-of-day Review",keywords:["review","end of day","daily","cleanup","gaps"],href:"/review"},{id:"nav-templates",kind:"navigate",group:"Pages",title:"Open Template Library",keywords:["templates","library","check in","shortcuts"],href:"/templates"},{id:"nav-sheets",kind:"navigate",group:"Pages",title:"Open Sheets",keywords:["sheets","projects","hub"],href:"/sheets"},{id:"nav-tasks",kind:"navigate",group:"Pages",title:"Open Tasks",keywords:["tasks","todo","projects"],href:"/tasks"},{id:"nav-reporting",kind:"navigate",group:"Pages",title:"Open Reporting",keywords:["reporting","stats","analytics"],href:"/reporting"},{id:"nav-search",kind:"navigate",group:"Pages",title:"Search entries",keywords:["search","find","entries","notes","tags"],href:"/search"},{id:"nav-pomodoro",kind:"navigate",group:"Pages",title:"Open Pomodoro",keywords:["pomodoro","focus","timer"],href:"/pomodoro"},{id:"nav-settings",kind:"navigate",group:"Pages",title:"Open Settings",keywords:["settings","preferences"],href:"/settings"}],k=[{shortcut:"today",title:"Reporting: Today",keywords:["today","reporting"]},{shortcut:"yesterday",title:"Reporting: Yesterday",keywords:["yesterday"]},{shortcut:"week",title:"Reporting: This week",keywords:["week","reporting"]},{shortcut:"month",title:"Reporting: This month",keywords:["month","reporting"]},{shortcut:"last_month",title:"Reporting: Last month",keywords:["last month","reporting"]},{shortcut:"year",title:"Reporting: This year",keywords:["year","reporting"]},{shortcut:"last_year",title:"Reporting: Last year",keywords:["last year","reporting"]}];function l(a){let b=a.tags.map(a=>(0,h.format_display_tag)(a)).join(" ");return b.length>0?`${a.sheetName} \xb7 ${b}`:a.sheetName}var m=a.i(33272),n=a.i(38005),o=a.i(50803),p=a.i(14679),q=a.i(97917),r=a.i(97063),s=a.i(115),t=a.i(34030);async function u({item:a,pathname:b,navigate:c}){switch(a.kind){case"navigate":case"reporting_range":if(void 0===a.href)return;c(a.href);return;case"sheet":if(void 0===a.sheetName)return;await v(a.sheetName,b,c);return;case"template_check_in":{let d=a.description?.trim()??"";if(0===d.length)return;await w({description:d,sheet_name:a.sheetName,pathname:b,navigate:c}),void 0!==a.templateId&&(0,t.record_entry_template_usage)(a.templateId);return}case"resume_last":case"resume_entry":{let d=a.description??"",e=a.tags??[];await w({description:(0,o.build_resume_description)(d,e),sheet_name:a.sheetName,pathname:b,navigate:c});return}default:return}}async function v(a,b,c){(0,p.navigate_to_tracker_sheet)(a),await (0,s.post_tracker_action)("/api/sheet",{name:a}),(0,r.notify_tracker_state_sync)(),"/"!==b&&c("/")}async function w({description:a,sheet_name:b,pathname:c,navigate:d}){let e=b?.trim()??"";e.length>0&&((0,p.navigate_to_tracker_sheet)(e),await (0,s.post_tracker_action)("/api/sheet",{name:e}));try{await (0,s.post_tracker_action)("/api/in",{description:a,...e.length>0?{sheetName:e}:{}}),(0,r.notify_tracker_state_sync)(),"/"!==c&&d("/"),(0,q.notify_in_app)({title:"Checked in",body:a})}catch(a){throw(0,q.notify_in_app)({title:"Check-in failed",body:a instanceof Error?a.message:String(a)}),a}}async function x(a){let b=new URLSearchParams;a.trim().length>0&&b.set("q",a.trim());let c=b.size>0?`?${b.toString()}`:"",d=await fetch(`/api/command-palette${c}`,{method:"GET",cache:"no-store"});if(!d.ok)throw Error((await d.json().catch(()=>({}))).error??"Failed to load command palette data");return await d.json()}var y=a.i(46299),z=a.i(80185),A=a.i(16229),B=a.i(2837);let C={activeSheetName:null,sheets:[],lastCompletedEntry:null,matchingEntries:[]};a.s(["CommandPaletteProvider",0,function(){var a;let e=(0,c.useRouter)(),h=(0,c.usePathname)()??"/",[o,p]=(0,d.useState)(!1),[q,r]=(0,d.useState)(""),s=(0,B.use_debounced_value)(q,200),[t,v]=(0,d.useState)(C),[w,D]=(0,d.useState)(!1),[E,F]=(0,d.useState)(null);a=(0,d.useCallback)(()=>{p(a=>(a&&r(""),!a))},[]),(0,d.useEffect)(()=>{let b=b=>{let c=b.target,d=c instanceof HTMLElement&&null!==c.closest('[data-command-palette-dialog="true"]');if((!(0,z.should_ignore_keyboard_shortcut)(b)||d)&&(b.metaKey||b.ctrlKey)&&!b.altKey&&"p"===b.key.toLowerCase()){if(b.preventDefault(),(0,y.is_modal_dialog_open)()&&null===document.querySelector('[data-command-palette-dialog="true"]'))return;a()}};return document.addEventListener("keydown",b),()=>{document.removeEventListener("keydown",b)}},[a]),(0,d.useEffect)(()=>{if(!o)return;let a=!1;return(async()=>{D(!0),F(null);try{let b=await x(s);a||v(b)}catch(b){a||F((0,A.message_from_unknown_error)(b,"Failed to load commands"))}finally{a||D(!1)}})(),()=>{a=!0}},[o,s]);let G=(0,d.useMemo)(()=>{var a;let b,c=(a=function({snapshot:a,include_templates:b=!0}){var c,d;let e=[...j,...k.map(a=>{var b;return{id:`reporting-${a.shortcut}`,kind:"reporting_range",group:"Reporting ranges",title:a.title,keywords:a.keywords,href:(b=a.shortcut,`/reporting?range=${encodeURIComponent(b)}`),reportingRange:a.shortcut}})];return null!==a.lastCompletedEntry&&e.push({id:"resume-last",kind:"resume_last",group:"Recent",title:"Resume last entry",subtitle:l(c=a.lastCompletedEntry),keywords:["resume","last",c.description,c.sheetName,...c.tags],sheetName:c.sheetName,entryId:c.id,description:c.description,tags:c.tags}),e.push(...(d=a,b&&void 0!==globalThis.window?(0,i.read_entry_templates)().map(a=>{let b=(0,g.build_entry_template_description)(a);return{id:`template-${a.id}`,kind:"template_check_in",group:!0===a.favorite?"Favorite templates":"Templates",title:`Check in: ${a.name}`,subtitle:void 0===a.defaultSheetName?b:`${a.defaultSheetName} \xb7 ${b}`,keywords:["check in","template",a.name,b,a.shortcutKey??""],description:b,sheetName:a.defaultSheetName??d.activeSheetName??void 0,templateId:a.id}}):[])),e.push(...a.sheets.map(a=>({id:`sheet-${a.name}`,kind:"sheet",group:"Sheets",title:`Open sheet: ${a.name}`,subtitle:a.hasActiveEntry?"Timer running":void 0,keywords:["sheet",a.name,"project"],sheetName:a.name}))),e.push(...function(a){let b=new Set,c=[];for(let e of a.matchingEntries){var d;let a=`${e.sheetName}:${e.id}`;b.has(a)||(b.add(a),c.push((d=e,{id:`resume-${d.sheetName}-${d.id}`,kind:"resume_entry",group:"Entries",title:`Resume: ${d.description||"Untitled entry"}`,subtitle:l(d),keywords:["resume",d.description,d.sheetName,...d.tags],sheetName:d.sheetName,entryId:d.id,description:d.description,tags:d.tags})))}return c}(a)),e}({snapshot:t}),0===(b=q.trim().toLowerCase()).length?a:a.filter(a=>[a.title,a.subtitle??"",...a.keywords].join(" ").toLowerCase().includes(b))),d=q.trim();return 0===d.length?c:[{id:"search-all-entries",kind:"navigate",group:"Search",title:`Search all entries for "${d}"`,subtitle:"Open search with filters",keywords:["search",d],href:(0,m.build_entry_search_href)({...(0,n.get_empty_entry_search_filters)(),query:d})},...c]},[t,q]),H=(0,d.useCallback)(async a=>{p(!1),r("");try{await u({item:a,pathname:h,navigate:a=>{e.push(a)}})}catch{}},[h,e]),I=(0,d.useCallback)(()=>{p(!1),r("")},[]);return o?(0,b.jsx)(f,{items:G,query:q,is_loading:w,error:E,on_query_change:r,on_select:a=>{H(a)},on_close:I}):null}],71312)},68524,a=>{a.n(a.i(71312))}];
2
+
3
+ //# sourceMappingURL=_0lp.vd1._.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"])},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)},61802,9357,a=>{"use strict";let b=Symbol.for("constructDateFrom");a.s(["constructFromSymbol",0,b,"millisecondsInDay",0,864e5,"millisecondsInHour",0,36e5,"millisecondsInMinute",0,6e4,"millisecondsInSecond",0,1e3,"millisecondsInWeek",0,6048e5,"minutesInDay",0,1440,"minutesInMonth",0,43200,"minutesInYear",0,525600],9357),a.s(["constructFrom",0,function(a,c){return"function"==typeof a?a(c):a&&"object"==typeof a&&b in a?a[b](c):a instanceof Date?new a.constructor(c):new Date(c)}],61802)},44312,a=>{"use strict";var b;let c={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function d(a){return (b={})=>{let c=b.width?String(b.width):a.defaultWidth;return a.formats[c]||a.formats[a.defaultWidth]}}let e={date:d({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:d({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:d({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},f={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function g(a){return(b,c)=>{let d;if("formatting"===(c?.context?String(c.context):"standalone")&&a.formattingValues){let b=a.defaultFormattingWidth||a.defaultWidth,e=c?.width?String(c.width):b;d=a.formattingValues[e]||a.formattingValues[b]}else{let b=a.defaultWidth,e=c?.width?String(c.width):a.defaultWidth;d=a.values[e]||a.values[b]}return d[a.argumentCallback?a.argumentCallback(b):b]}}let h={ordinalNumber:(a,b)=>{let c=Number(a),d=c%100;if(d>20||d<10)switch(d%10){case 1:return c+"st";case 2:return c+"nd";case 3:return c+"rd"}return c+"th"},era:g({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:g({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:a=>a-1}),month:g({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:g({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:g({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function i(a){return(b,c={})=>{let d,e=c.width,f=e&&a.matchPatterns[e]||a.matchPatterns[a.defaultMatchWidth],g=b.match(f);if(!g)return null;let h=g[0],i=e&&a.parsePatterns[e]||a.parsePatterns[a.defaultParseWidth],j=Array.isArray(i)?function(a,b){for(let c=0;c<a.length;c++)if(b(a[c]))return c}(i,a=>a.test(h)):function(a,b){for(let c in a)if(Object.prototype.hasOwnProperty.call(a,c)&&b(a[c]))return c}(i,a=>a.test(h));return d=a.valueCallback?a.valueCallback(j):j,{value:d=c.valueCallback?c.valueCallback(d):d,rest:b.slice(h.length)}}}let j={ordinalNumber:(b={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:a=>parseInt(a,10)},(a,c={})=>{let d=a.match(b.matchPattern);if(!d)return null;let e=d[0],f=a.match(b.parsePattern);if(!f)return null;let g=b.valueCallback?b.valueCallback(f[0]):f[0];return{value:g=c.valueCallback?c.valueCallback(g):g,rest:a.slice(e.length)}}),era:i({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:i({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:a=>a+1}),month:i({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:i({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:i({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};a.s(["defaultLocale",0,{code:"en-US",formatDistance:(a,b,d)=>{let e,f=c[a];if(e="string"==typeof f?f:1===b?f.one:f.other.replace("{{count}}",b.toString()),d?.addSuffix)if(d.comparison&&d.comparison>0)return"in "+e;else return e+" ago";return e},formatLong:e,formatRelative:(a,b,c,d)=>f[a],localize:h,match:j,options:{weekStartsOn:0,firstWeekContainsDate:1}}],44312)},57487,a=>{"use strict";let b={};a.s(["getDefaultOptions",0,function(){return b}])},46313,a=>{"use strict";var b=a.i(61802);a.s(["toDate",0,function(a,c){return(0,b.constructFrom)(c||a,a)}])},95799,59099,a=>{"use strict";var b=a.i(46313);a.s(["getTimezoneOffsetInMilliseconds",0,function(a){let c=(0,b.toDate)(a),d=new Date(Date.UTC(c.getFullYear(),c.getMonth(),c.getDate(),c.getHours(),c.getMinutes(),c.getSeconds(),c.getMilliseconds()));return d.setUTCFullYear(c.getFullYear()),a-d}],95799);var c=a.i(61802);a.s(["normalizeDates",0,function(a,...b){let d=c.constructFrom.bind(null,a||b.find(a=>"object"==typeof a));return b.map(d)}],59099)},75654,a=>{"use strict";var b=a.i(61401);a.s(["SettingsIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),(0,b.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}])},34435,a=>{"use strict";var b=a.i(61401);a.s(["HamburgerIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4 text-muted",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M4 7h16"}),(0,b.jsx)("path",{d:"M4 12h16"}),(0,b.jsx)("path",{d:"M4 17h16"})]})}])},96359,a=>{"use strict";var b=a.i(59021),c=a.i(46299);a.s(["use_escape_to_cancel",0,function(a,d=!0){let e=(0,b.useRef)(a);e.current=a,(0,b.useEffect)(()=>{if(!d)return;let a=a=>{"Escape"!==a.key||(0,c.is_modal_dialog_open)()||(a.preventDefault(),e.current())};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[d])}])},59659,5796,a=>{"use strict";var b=a.i(87281);function c(){}function d(){(0,b.is_greedy_cloud_sync_enabled)()&&c()}a.i(63577),a.i(51652),a.i(74365),Promise.resolve(),a.s(["schedule_tracker_db_cloud_sync",0,d],5796),a.s(["push_tracker_db_cloud_after_change",0,function(){(0,b.is_greedy_cloud_sync_enabled)()?d():c()}],59659)},71034,a=>{"use strict";var b=a.i(87281);async function c(a){let b=await fetch("/api/sheet/active",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:a})});if(!b.ok)throw Error((await b.json()).error??"Failed to update active sheet in cloud")}var d=a.i(59659),e=a.i(5796);a.s(["notify_tracker_db_cloud_sync",0,function(a,f){if("/api/sheet"===a&&"object"==typeof f&&null!==f&&!0!==f.delete&&!(0,b.is_greedy_cloud_sync_enabled)()){let a=f.name?.trim()??"";a.length>0&&c(a).catch(()=>{});return}(0,b.is_greedy_cloud_sync_enabled)()?(0,e.schedule_tracker_db_cloud_sync)():(0,d.push_tracker_db_cloud_after_change)()}],71034)},57377,a=>{"use strict";var b=a.i(71034);let c=new Set(["/api/note"]);async function d(a,d){let e={method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)},f=await fetch(a,e);if(!f.ok){var g,h;let b,d=(await f.json()).error??"Request failed";if(g=a,h=d,c.has(g)&&((b=h.toLowerCase()).includes("duplicate key")||b.includes("unique constraint"))){if(await new Promise(a=>{setTimeout(a,25)}),!(f=await fetch(a,e)).ok)throw Error((await f.json()).error??d)}else throw Error(d)}let i=await f.json();return(0,b.notify_tracker_db_cloud_sync)(a,d),i}a.s(["patch_tracker_action",0,d])},86663,17603,a=>{"use strict";let b=new Set,c=[],d=null;function e(){return[]}function f(a){}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,f],86663),a.s(["toggle_pinned_sheet_name",0,function(a){let b=a.trim();if(0===b.length)return;let c=e(),d=c.indexOf(b);d>=0?f([...c.slice(0,d),...c.slice(d+1)]):f([...c,b])}],17603)},57589,a=>{"use strict";var b=a.i(61401),c=a.i(59021),d=a.i(60382),e=a.i(85752),f=a.i(61802),g=a.i(44312),h=a.i(57487),i=a.i(95799),j=a.i(59099),k=a.i(46313),l=a.i(9357);function m(a){var b;if(null===a)return"No activity";let c=new Date(a);return Number.isNaN(+c)?"No activity":(b={addSuffix:!0,roundingMethod:"floor"},function(a,b,c){var d;let e,f,m=(0,h.getDefaultOptions)(),n=c?.locale??m.locale??g.defaultLocale,o=(f=(0,k.toDate)(a)-(0,k.toDate)(b))<0?-1:f>0?1:f;if(isNaN(o))throw RangeError("Invalid time value");let p=Object.assign({},c,{addSuffix:c?.addSuffix,comparison:o}),[q,r]=(0,j.normalizeDates)(c?.in,...o>0?[b,a]:[a,b]),s=(d=c?.roundingMethod??"round",a=>{let b=(d?Math[d]:Math.trunc)(a);return 0===b?0:b}),t=r.getTime()-q.getTime(),u=t/l.millisecondsInMinute,v=(t-((0,i.getTimezoneOffsetInMilliseconds)(r)-(0,i.getTimezoneOffsetInMilliseconds)(q)))/l.millisecondsInMinute,w=c?.unit;if("second"===(e=w||(u<1?"second":u<60?"minute":u<l.minutesInDay?"hour":v<l.minutesInMonth?"day":v<l.minutesInYear?"month":"year"))){let a=s(t/1e3);return n.formatDistance("xSeconds",a,p)}if("minute"===e){let a=s(u);return n.formatDistance("xMinutes",a,p)}if("hour"===e){let a=s(u/60);return n.formatDistance("xHours",a,p)}if("day"===e){let a=s(v/l.minutesInDay);return n.formatDistance("xDays",a,p)}if("month"===e){let a=s(v/l.minutesInMonth);return 12===a&&"month"!==w?n.formatDistance("xYears",1,p):n.formatDistance("xMonths",a,p)}else{let a=s(v/l.minutesInYear);return n.formatDistance("xYears",a,p)}}(c,(0,f.constructFrom)(c,Date.now()),b))}var n=a.i(89969),o=a.i(57377);function p({rows:a,duration_format:f}){let g=(0,d.useRouter)(),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(null);if(0===a.length)return null;let l=async a=>{k(a);try{await (0,o.patch_tracker_action)("/api/sheet",{name:a,archived:!1}),g.refresh()}finally{k(null)}};return(0,b.jsxs)("section",{className:"flex w-full flex-col gap-2 border-t border-panel-border pt-6",children:[(0,b.jsxs)("button",{type:"button",className:`${(0,n.get_button_class_name)("ghost")} w-full justify-between`,"aria-expanded":h,onClick:()=>i(a=>!a),children:[(0,b.jsxs)("span",{children:["Archived sheets (",a.length,")"]}),(0,b.jsx)("span",{className:"text-muted",children:h?"▾":"▸"})]}),h?(0,b.jsx)("ul",{className:"m-0 flex list-none flex-col gap-2 p-0","aria-label":"Archived sheets",children:a.map(a=>(0,b.jsx)("li",{className:"rounded-md border border-panel-border bg-surface-raised p-3",children:(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,b.jsxs)("div",{className:"min-w-0",children:[(0,b.jsx)("h2",{className:"m-0 truncate text-[0.95rem] font-semibold text-muted",children:a.sheetName}),(0,b.jsxs)("p",{className:"m-0 mt-1 text-[0.82rem] text-muted",children:[m(a.lastActivityAt)," ·"," ",a.entryCount," ",1===a.entryCount?"entry":"entries"," ·"," ",(0,e.format_duration)(a.monthTotalMs,f)," this month"]})]}),(0,b.jsx)("button",{type:"button",className:(0,n.get_button_class_name)("ghost","small"),disabled:null!==j,onClick:()=>void l(a.sheetName),children:j===a.sheetName?"Restoring…":"Restore"})]})},a.sheetName))}):null]})}var q=a.i(68093),r=a.i(14679);function s({row:a,duration_format:c,is_pinned:d,on_toggle_pin:f}){let g=m(a.lastActivityAt);return(0,b.jsxs)("li",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,b.jsx)("h2",{className:"m-0 min-w-0 truncate text-[1rem] font-semibold",children:a.sheetName}),a.hasActiveEntry?(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-accent px-2 py-0.5 text-[0.68rem] font-bold uppercase leading-none tracking-wider text-accent-text-on",children:"Tracking"}):null]}),(0,b.jsxs)("p",{className:"m-0 mt-1.5 flex flex-wrap gap-x-3 gap-y-0.5 text-[0.82rem] text-muted",children:[(0,b.jsx)("span",{children:g}),(0,b.jsxs)("span",{children:[a.entryCount," ",1===a.entryCount?"entry":"entries"]})]})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,b.jsx)("button",{type:"button",className:"cursor-pointer rounded-md border-0 bg-transparent px-2 py-1 text-[0.9rem] text-muted hover:bg-surface-hover hover:text-foreground","aria-pressed":d,"aria-label":d?`Unpin ${a.sheetName}`:`Pin ${a.sheetName}`,onClick:f,children:d?"★":"☆"}),(0,b.jsx)(q.default,{href:"/",className:"rounded-md px-2.5 py-1 text-[0.82rem] font-semibold text-accent no-underline hover:bg-accent-soft",onClick:()=>(0,r.navigate_to_tracker_sheet)(a.sheetName),children:"Open"})]})]}),(0,b.jsxs)("div",{className:"mt-3 grid grid-cols-2 gap-2",children:[(0,b.jsxs)("div",{className:"rounded-md bg-surface-raised px-2.5 py-2",children:[(0,b.jsx)("p",{className:"m-0 text-[0.68rem] font-semibold uppercase tracking-[0.05em] text-muted",children:"This week"}),(0,b.jsx)("p",{className:"m-0 mt-0.5 font-mono text-[0.9rem] font-semibold text-accent",children:(0,e.format_duration)(a.weekTotalMs,c)})]}),(0,b.jsxs)("div",{className:"rounded-md bg-surface-raised px-2.5 py-2",children:[(0,b.jsx)("p",{className:"m-0 text-[0.68rem] font-semibold uppercase tracking-[0.05em] text-muted",children:"This month"}),(0,b.jsx)("p",{className:"m-0 mt-0.5 font-mono text-[0.9rem] font-semibold text-accent",children:(0,e.format_duration)(a.monthTotalMs,c)})]})]})]})}var t=a.i(98790),u=a.i(86663),v=a.i(17603),w=a.i(65162);a.s(["SheetHubView",0,function({rows:a,archived_rows:d}){let e=(0,w.use_duration_format)(),f=new Set((0,c.useSyncExternalStore)(u.subscribe_pinned_sheet_names,u.get_pinned_sheet_names_snapshot,u.get_pinned_sheet_names_server_snapshot)),g=(0,c.useMemo)(()=>[...a].sort((a,b)=>{if(a.hasActiveEntry!==b.hasActiveEntry)return a.hasActiveEntry?-1:1;let c=null===a.lastActivityAt?0:+new Date(a.lastActivityAt);return(null===b.lastActivityAt?0:+new Date(b.lastActivityAt))-c}),[a]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.TrackerTopbar,{breadcrumb:{current:"Sheets"}}),(0,b.jsxs)("main",{className:"mx-auto flex w-full max-w-2xl flex-col items-center gap-6 px-5 pb-12 pt-6",children:[(0,b.jsxs)("header",{className:"flex w-full flex-col gap-2 text-center",children:[(0,b.jsx)("h1",{className:"m-0 text-[1.5rem] font-[650] tracking-tight",children:"Sheets"}),(0,b.jsx)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:"Quick overview of every project. Pin sheets to filter the Today view."})]}),0===g.length?(0,b.jsx)("p",{className:"m-0 text-center text-[0.9rem] text-muted",children:"No sheets yet. Create one from the tracker."}):(0,b.jsx)("ul",{className:"m-0 flex w-full list-none flex-col gap-2 p-0","aria-label":"Sheet summaries",children:g.map(a=>(0,b.jsx)(s,{row:a,duration_format:e,is_pinned:f.has(a.sheetName),on_toggle_pin:()=>(0,v.toggle_pinned_sheet_name)(a.sheetName)},a.sheetName))}),(0,b.jsx)(p,{rows:d,duration_format:e})]})]})}],57589)}];
2
+
3
+ //# sourceMappingURL=_0mdf7jn._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[75654,a=>{"use strict";var b=a.i(61401);a.s(["SettingsIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),(0,b.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}])},34435,a=>{"use strict";var b=a.i(61401);a.s(["HamburgerIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4 text-muted",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M4 7h16"}),(0,b.jsx)("path",{d:"M4 12h16"}),(0,b.jsx)("path",{d:"M4 17h16"})]})}])},96359,a=>{"use strict";var b=a.i(59021),c=a.i(46299);a.s(["use_escape_to_cancel",0,function(a,d=!0){let e=(0,b.useRef)(a);e.current=a,(0,b.useEffect)(()=>{if(!d)return;let a=a=>{"Escape"!==a.key||(0,c.is_modal_dialog_open)()||(a.preventDefault(),e.current())};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[d])}])},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(61401),c=a.i(68093),d=a.i(60382);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/quick-actions",label:"Quick actions",match:a=>a.startsWith("/settings/quick-actions")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},85930,a=>{"use strict";var b=a.i(61401),c=a.i(85393),d=a.i(98790);a.s(["SettingsPageLayout",0,function({breadcrumb:a,title:e,description:f,children:g}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.TrackerTopbar,{breadcrumb:a}),(0,b.jsxs)("main",{className:"mx-auto grid w-full max-w-[1120px] grid-cols-[minmax(12rem,16rem)_minmax(0,1fr)] gap-4 px-4 pb-10 pt-5 sm:gap-6 sm:px-5 sm:pt-6 max-[860px]:grid-cols-1",children:[(0,b.jsxs)("aside",{className:"flex flex-col gap-2",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Settings"}),(0,b.jsx)(c.SettingsNav,{})]}),(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-4",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h1",{className:"m-0 text-[1.35rem] font-[650] tracking-tight",children:e}),void 0!==f?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:f}):null]}),g]})]})]})}])},64723,a=>{"use strict";var b=a.i(61401),c=a.i(59021);let d="inline-flex shrink-0 cursor-pointer items-center gap-1.5";a.s(["Checkbox",0,function({checked:a,disabled:e=!1,indeterminate:f=!1,nested:g=!1,on_change:h,label:i,aria_label:j,className:k}){let l=(0,c.useRef)(null);(0,c.useEffect)(()=>{null!==l.current&&(l.current.indeterminate=f)},[f]);let m=void 0===k?d:`${d} ${k}`,n=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("input",{ref:l,type:"checkbox",className:"peer absolute m-0 h-px w-px overflow-hidden opacity-0",checked:a,disabled:e,"aria-label":g&&void 0===i?j:void 0,onChange:h}),(0,b.jsx)("span",{className:'relative block h-[0.85rem] w-[0.85rem] shrink-0 rounded-[0.2rem] border border-panel-border bg-input-bg box-border transition-[background-color,border-color] duration-150 peer-checked:border-accent peer-checked:bg-accent peer-indeterminate:border-accent peer-indeterminate:bg-accent peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-input-focus-border peer-focus-visible:outline-offset-1 peer-disabled:cursor-not-allowed peer-disabled:opacity-55 after:absolute after:left-1/2 after:top-[44%] after:hidden after:h-[0.28rem] after:w-[0.45rem] after:-translate-x-1/2 after:-translate-y-[60%] after:rotate-[-45deg] after:border-b-[1.5px] after:border-l-[1.5px] after:border-accent-text-on after:content-[""] peer-checked:after:block peer-indeterminate:after:top-1/2 peer-indeterminate:after:block peer-indeterminate:after:h-[1.5px] peer-indeterminate:after:w-[0.45rem] peer-indeterminate:after:-translate-x-1/2 peer-indeterminate:after:-translate-y-1/2 peer-indeterminate:after:rotate-0 peer-indeterminate:after:border-0 peer-indeterminate:after:bg-accent-text-on',"aria-hidden":"true"})]});return g?(0,b.jsx)("span",{className:m,children:n}):(0,b.jsxs)("label",{className:m,"aria-label":void 0===i?j:void 0,children:[n,void 0===i?null:(0,b.jsx)("span",{className:"select-none text-[0.8rem] leading-tight text-muted",children:i})]})}])},6e3,a=>{"use strict";var b=a.i(61401),c=a.i(59021),d=a.i(64723),e=a.i(85930),f=a.i(69749),g=a.i(7048),h=a.i(44404),i=a.i(11937),j=a.i(26749),k=a.i(54212),l=a.i(75049);let m={help:"Show keyboard shortcuts","check-in":"Check in","check-out":"Check out","edit-entry":"Edit active entry","add-note":"Add note",pomodoro:"Open Pomodoro","previous-sheet":"Previous sheet","next-sheet":"Next sheet","zen-mode":"Toggle Zen Mode focus engine"},n={today:"Today",review:"Review",templates:"Template library",search:"Search entries",sheets:"Sheets",reporting:"Reporting",pomodoro:"Pomodoro","manage-tags":"Tag management","sync-settings":"Sync settings"};a.s(["QuickActionsSettingsView",0,function(){let[a,o]=(0,c.useState)(!1),p=(0,c.useSyncExternalStore)(k.tracker_shortcut_map_preference.subscribe,k.tracker_shortcut_map_preference.get_snapshot,k.tracker_shortcut_map_preference.get_server_snapshot),q=(0,c.useSyncExternalStore)(j.topbar_quick_actions_preference.subscribe,j.topbar_quick_actions_preference.get_snapshot,j.topbar_quick_actions_preference.get_server_snapshot),r=(0,c.useMemo)(()=>(0,i.parse_tracker_shortcut_map)(p),[p]),s=(0,c.useMemo)(()=>(0,h.parse_topbar_quick_actions)(q),[q]),[t,u]=(0,c.useState)(r);(0,c.useEffect)(()=>{o(!0)},[]),(0,c.useEffect)(()=>{u(r)},[r]);let v=(0,c.useMemo)(()=>{let a=new Map;for(let b of l.tracker_shortcut_action_ids){let c=r[b];a.set(c,(a.get(c)??0)+1)}return new Set(Array.from(a.entries()).filter(([,a])=>a>1).map(([a])=>a))},[r]);return a?(0,b.jsx)(e.SettingsPageLayout,{breadcrumb:{current:"Quick actions",parent:{label:"Settings",href:"/settings"}},title:"Quick actions config",description:"Customize keyboard shortcuts and topbar shortcuts.",children:(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("section",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Keyboard shortcuts"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.8rem] leading-snug text-muted",children:"Choose one key per action. If a key is reused, only the first matching action will trigger."}),(0,b.jsx)("div",{className:"mt-3 grid grid-cols-1 gap-2 md:grid-cols-2",children:l.tracker_shortcut_action_ids.map(a=>{var c,d,e,h;let i=r[a],j=t[a]??i,l=v.has(i),n=j!==i,o=(c=l,d=n,c?"text-danger":d?"text-muted":"text-transparent"),p=(e=l,h=n,e?"Duplicate":h?"Press Enter to save":"Ready");return(0,b.jsxs)("div",{className:"grid min-h-20 content-center grid-cols-[minmax(0,1fr)_3.5rem] items-center gap-2 rounded-md border border-panel-border px-2.5 py-2",children:[(0,b.jsx)("span",{className:"text-[0.86rem]",children:m[a]}),(0,b.jsx)("input",{type:"text",className:`${(0,f.get_input_class_name)("compact")} h-8 w-14 justify-self-end px-2 text-center`,value:"?"===j?"?":j.toUpperCase(),readOnly:!0,onKeyDown:b=>((a,b)=>{if("Enter"===b.key){let c;b.preventDefault();let d=t[a];1===d.length&&(c={...r,[a]:d},k.tracker_shortcut_map_preference.write(JSON.stringify(c)),k.tracker_shortcut_map_preference.notify(),(0,g.notify_settings_saved)("Quick actions updated"));return}if("Escape"===b.key){b.preventDefault(),u(b=>({...b,[a]:r[a]}));return}if(1!==b.key.length)return;let c=b.key.toLowerCase();"abcdefghijklmnopqrstuvwxyz[]?".includes(c)&&(b.preventDefault(),u(b=>({...b,[a]:c})))})(a,b),onFocus:a=>a.currentTarget.select(),"aria-label":`${m[a]} shortcut`}),(0,b.jsx)("span",{className:`col-span-2 text-[0.72rem] ${o}`,children:p})]},a)})})]}),(0,b.jsxs)("section",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Topbar shortcuts"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.8rem] leading-snug text-muted",children:"Show quick links in the topbar on larger screens."}),(0,b.jsx)("div",{className:"mt-3 flex flex-wrap gap-3",children:l.topbar_quick_action_ids.map(a=>(0,b.jsx)(d.Checkbox,{checked:s.includes(a),on_change:()=>{let b;return b=s.includes(a)?s.filter(b=>b!==a):[...s,a],void(j.topbar_quick_actions_preference.write(JSON.stringify(b)),j.topbar_quick_actions_preference.notify(),(0,g.notify_settings_saved)("Topbar shortcuts updated"))},label:n[a]},a))})]})]})}):(0,b.jsx)(e.SettingsPageLayout,{breadcrumb:{current:"Quick actions",parent:{label:"Settings",href:"/settings"}},title:"Quick actions config",description:"Customize keyboard shortcuts and topbar shortcuts.",children:(0,b.jsx)("p",{className:"m-0 text-[0.85rem] text-muted",children:"Loading quick action settings…"})})}])}];
1
+ module.exports=[75654,a=>{"use strict";var b=a.i(61401);a.s(["SettingsIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),(0,b.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}])},34435,a=>{"use strict";var b=a.i(61401);a.s(["HamburgerIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4 text-muted",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M4 7h16"}),(0,b.jsx)("path",{d:"M4 12h16"}),(0,b.jsx)("path",{d:"M4 17h16"})]})}])},96359,a=>{"use strict";var b=a.i(59021),c=a.i(46299);a.s(["use_escape_to_cancel",0,function(a,d=!0){let e=(0,b.useRef)(a);e.current=a,(0,b.useEffect)(()=>{if(!d)return;let a=a=>{"Escape"!==a.key||(0,c.is_modal_dialog_open)()||(a.preventDefault(),e.current())};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[d])}])},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(61401),c=a.i(68093),d=a.i(60382);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/quick-actions",label:"Quick actions",match:a=>a.startsWith("/settings/quick-actions")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},85930,a=>{"use strict";var b=a.i(61401),c=a.i(85393),d=a.i(98790);a.s(["SettingsPageLayout",0,function({breadcrumb:a,title:e,description:f,children:g}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.TrackerTopbar,{breadcrumb:a}),(0,b.jsxs)("main",{className:"mx-auto grid w-full max-w-[1120px] grid-cols-[minmax(12rem,16rem)_minmax(0,1fr)] gap-4 px-4 pb-10 pt-5 sm:gap-6 sm:px-5 sm:pt-6 max-[860px]:grid-cols-1",children:[(0,b.jsxs)("aside",{className:"flex flex-col gap-2",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Settings"}),(0,b.jsx)(c.SettingsNav,{})]}),(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-4",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,b.jsx)("h1",{className:"m-0 text-[1.35rem] font-[650] tracking-tight",children:e}),void 0!==f?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:f}):null]}),g]})]})]})}])},64723,a=>{"use strict";var b=a.i(61401),c=a.i(59021);let d="inline-flex shrink-0 cursor-pointer items-center gap-1.5";a.s(["Checkbox",0,function({checked:a,disabled:e=!1,indeterminate:f=!1,nested:g=!1,on_change:h,label:i,aria_label:j,className:k}){let l=(0,c.useRef)(null);(0,c.useEffect)(()=>{null!==l.current&&(l.current.indeterminate=f)},[f]);let m=void 0===k?d:`${d} ${k}`,n=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("input",{ref:l,type:"checkbox",className:"peer absolute m-0 h-px w-px overflow-hidden opacity-0",checked:a,disabled:e,"aria-label":g&&void 0===i?j:void 0,onChange:h}),(0,b.jsx)("span",{className:'relative block h-[0.85rem] w-[0.85rem] shrink-0 rounded-[0.2rem] border border-panel-border bg-input-bg box-border transition-[background-color,border-color] duration-150 peer-checked:border-accent peer-checked:bg-accent peer-indeterminate:border-accent peer-indeterminate:bg-accent peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-input-focus-border peer-focus-visible:outline-offset-1 peer-disabled:cursor-not-allowed peer-disabled:opacity-55 after:absolute after:left-1/2 after:top-[44%] after:hidden after:h-[0.28rem] after:w-[0.45rem] after:-translate-x-1/2 after:-translate-y-[60%] after:rotate-[-45deg] after:border-b-[1.5px] after:border-l-[1.5px] after:border-accent-text-on after:content-[""] peer-checked:after:block peer-indeterminate:after:top-1/2 peer-indeterminate:after:block peer-indeterminate:after:h-[1.5px] peer-indeterminate:after:w-[0.45rem] peer-indeterminate:after:-translate-x-1/2 peer-indeterminate:after:-translate-y-1/2 peer-indeterminate:after:rotate-0 peer-indeterminate:after:border-0 peer-indeterminate:after:bg-accent-text-on',"aria-hidden":"true"})]});return g?(0,b.jsx)("span",{className:m,children:n}):(0,b.jsxs)("label",{className:m,"aria-label":void 0===i?j:void 0,children:[n,void 0===i?null:(0,b.jsx)("span",{className:"select-none text-[0.8rem] leading-tight text-muted",children:i})]})}])},6e3,a=>{"use strict";var b=a.i(61401),c=a.i(59021),d=a.i(64723),e=a.i(85930),f=a.i(69749),g=a.i(7048),h=a.i(44404),i=a.i(11937),j=a.i(26749),k=a.i(54212),l=a.i(75049);let m={help:"Show keyboard shortcuts","check-in":"Check in","check-out":"Check out","edit-entry":"Edit active entry","add-note":"Add note",pomodoro:"Open Pomodoro","previous-sheet":"Previous sheet","next-sheet":"Next sheet","zen-mode":"Toggle Zen Mode focus engine"},n={today:"Today",review:"Review",templates:"Template library",search:"Search entries",sheets:"Sheets",tasks:"Tasks",reporting:"Reporting",pomodoro:"Pomodoro","manage-tags":"Tag management","sync-settings":"Sync settings"};a.s(["QuickActionsSettingsView",0,function(){let[a,o]=(0,c.useState)(!1),p=(0,c.useSyncExternalStore)(k.tracker_shortcut_map_preference.subscribe,k.tracker_shortcut_map_preference.get_snapshot,k.tracker_shortcut_map_preference.get_server_snapshot),q=(0,c.useSyncExternalStore)(j.topbar_quick_actions_preference.subscribe,j.topbar_quick_actions_preference.get_snapshot,j.topbar_quick_actions_preference.get_server_snapshot),r=(0,c.useMemo)(()=>(0,i.parse_tracker_shortcut_map)(p),[p]),s=(0,c.useMemo)(()=>(0,h.parse_topbar_quick_actions)(q),[q]),[t,u]=(0,c.useState)(r);(0,c.useEffect)(()=>{o(!0)},[]),(0,c.useEffect)(()=>{u(r)},[r]);let v=(0,c.useMemo)(()=>{let a=new Map;for(let b of l.tracker_shortcut_action_ids){let c=r[b];a.set(c,(a.get(c)??0)+1)}return new Set(Array.from(a.entries()).filter(([,a])=>a>1).map(([a])=>a))},[r]);return a?(0,b.jsx)(e.SettingsPageLayout,{breadcrumb:{current:"Quick actions",parent:{label:"Settings",href:"/settings"}},title:"Quick actions config",description:"Customize keyboard shortcuts and topbar shortcuts.",children:(0,b.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("section",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Keyboard shortcuts"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.8rem] leading-snug text-muted",children:"Choose one key per action. If a key is reused, only the first matching action will trigger."}),(0,b.jsx)("div",{className:"mt-3 grid grid-cols-1 gap-2 md:grid-cols-2",children:l.tracker_shortcut_action_ids.map(a=>{var c,d,e,h;let i=r[a],j=t[a]??i,l=v.has(i),n=j!==i,o=(c=l,d=n,c?"text-danger":d?"text-muted":"text-transparent"),p=(e=l,h=n,e?"Duplicate":h?"Press Enter to save":"Ready");return(0,b.jsxs)("div",{className:"grid min-h-20 content-center grid-cols-[minmax(0,1fr)_3.5rem] items-center gap-2 rounded-md border border-panel-border px-2.5 py-2",children:[(0,b.jsx)("span",{className:"text-[0.86rem]",children:m[a]}),(0,b.jsx)("input",{type:"text",className:`${(0,f.get_input_class_name)("compact")} h-8 w-14 justify-self-end px-2 text-center`,value:"?"===j?"?":j.toUpperCase(),readOnly:!0,onKeyDown:b=>((a,b)=>{if("Enter"===b.key){let c;b.preventDefault();let d=t[a];1===d.length&&(c={...r,[a]:d},k.tracker_shortcut_map_preference.write(JSON.stringify(c)),k.tracker_shortcut_map_preference.notify(),(0,g.notify_settings_saved)("Quick actions updated"));return}if("Escape"===b.key){b.preventDefault(),u(b=>({...b,[a]:r[a]}));return}if(1!==b.key.length)return;let c=b.key.toLowerCase();"abcdefghijklmnopqrstuvwxyz[]?".includes(c)&&(b.preventDefault(),u(b=>({...b,[a]:c})))})(a,b),onFocus:a=>a.currentTarget.select(),"aria-label":`${m[a]} shortcut`}),(0,b.jsx)("span",{className:`col-span-2 text-[0.72rem] ${o}`,children:p})]},a)})})]}),(0,b.jsxs)("section",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Topbar shortcuts"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.8rem] leading-snug text-muted",children:"Show quick links in the topbar on larger screens."}),(0,b.jsx)("div",{className:"mt-3 flex flex-wrap gap-3",children:l.topbar_quick_action_ids.map(a=>(0,b.jsx)(d.Checkbox,{checked:s.includes(a),on_change:()=>{let b;return b=s.includes(a)?s.filter(b=>b!==a):[...s,a],void(j.topbar_quick_actions_preference.write(JSON.stringify(b)),j.topbar_quick_actions_preference.notify(),(0,g.notify_settings_saved)("Topbar shortcuts updated"))},label:n[a]},a))})]})]})}):(0,b.jsx)(e.SettingsPageLayout,{breadcrumb:{current:"Quick actions",parent:{label:"Settings",href:"/settings"}},title:"Quick actions config",description:"Customize keyboard shortcuts and topbar shortcuts.",children:(0,b.jsx)("p",{className:"m-0 text-[0.85rem] text-muted",children:"Loading quick action settings…"})})}])}];
2
2
 
3
3
  //# sourceMappingURL=_0sic8ed._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[28958,a=>{"use strict";a.s(["write_document_preference_cookies",0,function(a){if("u"<typeof document)return;let b="path=/; max-age=31536000; SameSite=Lax";void 0!==a.theme_mode&&(document.cookie=`stt-theme-mode=${a.theme_mode}; ${b}`),void 0!==a.theme&&(document.cookie=`stt-theme=${a.theme}; ${b}`),void 0!==a.palette&&(document.cookie=`stt-palette=${a.palette}; ${b}`),void 0!==a.compact_lists&&(document.cookie=`stt-compact-lists=${a.compact_lists?"true":"false"}; ${b}`)}],28958)},26846,a=>{"use strict";var b=a.i(60382),c=a.i(59021),d=a.i(9301),e=a.i(63577),f=a.i(7048);a.s(["use_supabase_auth_session",0,function(){let a=(0,b.useRouter)(),[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(!1),k=(0,e.is_supabase_configured)();return(0,c.useEffect)(()=>{if(!k)return;let a=(0,d.create_browser_supabase_client)();a.auth.getSession().then(({data:{session:a}})=>{h(a?.user.email??null)}).catch(()=>{h(null)});let{data:{subscription:b}}=a.auth.onAuthStateChange((a,b)=>{h(b?.user.email??null)});return()=>{b.unsubscribe()}},[k]),{is_configured:k,email:g,is_pending:i,sign_out:(0,c.useCallback)(async()=>{j(!0);try{await fetch("/api/auth/signout",{method:"POST"});let b=(0,d.create_browser_supabase_client)();await b.auth.signOut().catch(()=>{}),(0,f.notify_settings_saved)("Signed out"),a.refresh()}finally{j(!1)}},[a])}}])},41615,a=>{"use strict";a.s(["build_auth_page_href",0,function(a,b){let c="sign_in"===a?"/login":"/register",d=b.trim();return 0===d.length||"/"===d?c:`${c}?next=${encodeURIComponent(d)}`}])},81764,34569,a=>{"use strict";a.s(["apply_theme",0,function(a){document.documentElement.setAttribute("data-theme",a)}],81764);var b=a.i(72958);a.s(["write_stored_theme",0,function(a){try{window.localStorage.setItem("super-time-tracker-theme",a),(0,b.schedule_ui_preferences_cloud_sync)()}catch{}}],34569)},98790,44404,a=>{"use strict";var b=a.i(61401),c=a.i(68093),d=a.i(60382);let e=[{href:"/",label:"Tracker",match:a=>"/"===a}];function f(){let a=(0,d.usePathname)()??"/";return(0,b.jsx)("div",{className:"scrollbar-none flex min-w-0 flex-1 items-center gap-1 overflow-x-auto whitespace-nowrap py-0.5 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden min-[980px]:overflow-visible",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)(c.default,{className:`rounded-full px-3 py-1.5 text-[0.85rem] font-semibold no-underline transition-colors duration-150 shrink-0 ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,href:d.href,"aria-current":e?"page":void 0,children:d.label},d.href)})})}function g(){return(0,b.jsx)("svg",{className:"block h-4 w-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,b.jsx)("path",{d:"M17.5 19a4.5 4.5 0 0 0 0-9 6.5 6.5 0 0 0-12.6 1.5A4 4 0 0 0 6 19h11.5z"})})}var h=a.i(26846);function i(){let{email:a,is_configured:c}=(0,h.use_supabase_auth_session)();return c&&null!==a?(0,b.jsxs)("div",{className:"group relative flex items-center",children:[(0,b.jsx)("span",{className:"inline-flex h-8 w-8 items-center justify-center rounded-full border border-panel-border bg-ghost-bg text-accent","aria-label":`Cloud sync active for ${a}`,role:"img",children:(0,b.jsx)(g,{})}),(0,b.jsx)("div",{role:"tooltip",className:"pointer-events-none absolute right-0 top-full z-50 mt-1.5 w-max max-w-[min(18rem,calc(100vw-2.5rem))] opacity-0 transition-opacity duration-150 group-hover:opacity-100 group-focus-within:opacity-100",children:(0,b.jsxs)("div",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-1.5 shadow-md",children:[(0,b.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.04em] text-muted",children:"Signed in as"}),(0,b.jsx)("p",{className:"m-0 max-w-[16rem] truncate text-[0.82rem] font-medium",title:a,children:a})]})})]}):null}var j=a.i(59021),k=a.i(34435),l=a.i(41615),m=a.i(7048),n=a.i(75049);let o=new Set(n.topbar_quick_action_ids),p=["today","review","templates","search","reporting","pomodoro"];function q(a){try{let b=JSON.parse(a);if(!Array.isArray(b))return p;let c=b.filter(a=>"string"==typeof a&&o.has(a));return Array.from(new Set(c))}catch{return p}}a.s(["parse_topbar_quick_actions",0,q],44404);var r=a.i(11937),s=a.i(52345),t=a.i(70827);let u=(0,s.create_ui_preference_store)({storage_key:t.CLOUD_SYNC_ENABLED_STORAGE_KEY,default_value:t.CLOUD_SYNC_ENABLED_DEFAULT,is_valid:a=>"true"===a||"false"===a});var v=a.i(26749),w=a.i(54212),x=a.i(74365);function y(){return"u"<typeof document?"dark":"light"===document.documentElement.getAttribute("data-theme")?"light":"dark"}function z(){return y()}function A(){return"dark"}var B=a.i(44103),C=a.i(81764),D=a.i(29698),E=a.i(28958),F=a.i(34569),G=a.i(96359);let H="block w-full cursor-pointer rounded-[0.45rem] border-0 bg-transparent px-2.5 py-1.5 text-left font-inherit text-[0.85rem] text-inherit no-underline hover:bg-surface-hover disabled:cursor-not-allowed disabled:opacity-55",I={today:{href:"/today",label:"Today"},review:{href:"/review",label:"Review"},templates:{href:"/templates",label:"Templates"},search:{href:"/search",label:"Search"},sheets:{href:"/sheets",label:"Sheets"},reporting:{href:"/reporting",label:"Reporting"},pomodoro:{href:"/pomodoro",label:"Pomodoro"},"manage-tags":{href:"/settings/tags",label:"Manage tags"},"sync-settings":{href:"/settings/cloud-sync",label:"Sync settings"}},J=new Set(["manage-tags","pomodoro","templates","sync-settings"]);function K(){let a=(0,d.useRouter)(),e=(0,d.usePathname)()??"/",f=(0,j.useSyncExternalStore)(B.subscribe_theme,z,A),g=(0,j.useSyncExternalStore)(u.subscribe,u.get_snapshot,u.get_server_snapshot),i=(0,j.useSyncExternalStore)(w.tracker_shortcut_map_preference.subscribe,w.tracker_shortcut_map_preference.get_snapshot,w.tracker_shortcut_map_preference.get_server_snapshot),o=(0,j.useSyncExternalStore)(v.topbar_quick_actions_preference.subscribe,v.topbar_quick_actions_preference.get_snapshot,v.topbar_quick_actions_preference.get_server_snapshot),p=(0,r.parse_tracker_shortcut_map)(i),s=new Set(q(o)),t=n.topbar_quick_action_ids.filter(a=>!s.has(a)),K=Array.from(new Set([...Array.from(J),...t])),{email:L,is_configured:M,is_pending:N,sign_out:O}=(0,h.use_supabase_auth_session)(),[P,Q]=(0,j.useState)(!1),R=(0,j.useRef)(null);(0,j.useEffect)(()=>{if(!P)return;let a=a=>{null===R.current||R.current.contains(a.target)||Q(!1)};return document.addEventListener("pointerdown",a),()=>{document.removeEventListener("pointerdown",a)}},[P]);let S=()=>{Q(!1)};return(0,G.use_escape_to_cancel)(S,P),(0,b.jsxs)("div",{className:"relative shrink-0",ref:R,children:[(0,b.jsx)("button",{type:"button",className:"inline-flex h-8 w-8 cursor-pointer items-center justify-center rounded-full border border-panel-border bg-ghost-bg text-muted hover:bg-surface-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent","aria-label":"Open menu","aria-expanded":P,"aria-haspopup":"menu",onClick:()=>Q(a=>!a),children:(0,b.jsx)(k.HamburgerIcon,{})}),P?(0,b.jsxs)("ul",{className:"absolute right-0 top-full z-50 mt-1.5 min-w-56 list-none rounded-md border border-panel-border bg-panel p-1.5 shadow-md",role:"menu",children:[M&&null!==L?(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("p",{className:"m-0 truncate px-2.5 py-1 text-[0.72rem] uppercase tracking-[0.04em] text-muted",title:L,children:L})}):null,K.map(a=>{let d=I[a];return(0,b.jsx)("li",{role:"none",children:(0,b.jsx)(c.default,{href:d.href,className:H,role:"menuitem",onClick:S,children:d.label})},a)}),M?(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:H,role:"menuitemcheckbox","aria-checked":"true"===g,onClick:()=>{let a="true"===g?"false":"true";u.write(a),u.notify(),(0,m.notify_settings_saved)("true"===a?"Cloud sync enabled":"Cloud sync disabled"),"true"===a&&null!==L&&(0,x.run_tracker_db_cloud_sync)({merge_on_load:!0}).catch(()=>{})},children:(0,b.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,b.jsx)("span",{children:"true"===g?"Pause cloud sync":"Resume cloud sync"}),(0,b.jsx)("span",{className:"text-muted","aria-hidden":"true",children:"true"===g?"On":"Off"})]})})}):null,(0,b.jsx)("li",{className:"my-1 border-t border-panel-border",role:"separator","aria-hidden":"true"}),(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:H,role:"menuitem",onClick:()=>{let a;S(),a="dark"===y()?"light":"dark",(0,C.apply_theme)(a),(0,F.write_stored_theme)(a),D.theme_mode_preference.write(a),(0,E.write_document_preference_cookies)({theme_mode:a,theme:a}),D.theme_mode_preference.notify(),(0,B.notify_theme_subscribers)(),(0,m.notify_settings_saved)()},suppressHydrationWarning:!0,children:(0,b.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,b.jsxs)("span",{children:["dark"===f?"Dark":"Light"," theme"]}),(0,b.jsx)("span",{"aria-hidden":"true",children:"dark"===f?"☾":"☀"})]})})}),(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:H,role:"menuitem",onClick:()=>{let a;S(),a=p.help,document.dispatchEvent(new KeyboardEvent("keydown",{key:a,shiftKey:"?"===a,bubbles:!0}))},children:(0,b.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,b.jsx)("span",{children:"Keyboard shortcuts"}),(0,b.jsx)("span",{className:"text-muted","aria-hidden":"true",children:"(?)"})]})})}),M?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("li",{className:"my-1 border-t border-panel-border",role:"separator","aria-hidden":"true"}),null===L?(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:H,role:"menuitem",onClick:()=>{S(),a.push((0,l.build_auth_page_href)("sign_in",e))},children:"Sign in"})}):(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:`${H} text-danger`,role:"menuitem",disabled:N,onClick:()=>{S(),O()},children:N?"Signing out…":"Sign out"})})]}):null]}):null]})}let L=[{id:"today",href:"/today",label:"Today"},{id:"review",href:"/review",label:"Review"},{id:"templates",href:"/templates",label:"Templates"},{id:"search",href:"/search",label:"Search"},{id:"sheets",href:"/sheets",label:"Sheets"},{id:"reporting",href:"/reporting",label:"Reporting"},{id:"pomodoro",href:"/pomodoro",label:"Pomodoro"},{id:"manage-tags",href:"/settings/tags",label:"Tags"},{id:"sync-settings",href:"/settings/cloud-sync",label:"Sync"}];function M(){let a=(0,d.usePathname)()??"/",e=(0,j.useSyncExternalStore)(v.topbar_quick_actions_preference.subscribe,v.topbar_quick_actions_preference.get_snapshot,v.topbar_quick_actions_preference.get_server_snapshot),f=(0,j.useMemo)(()=>q(e),[e]);if(0===f.length)return null;let g=L.filter(a=>f.includes(a.id));return 0===g.length?null:(0,b.jsx)("div",{className:"hidden items-center gap-1 min-[980px]:flex",children:g.map(d=>{let e=a.startsWith(d.href);return(0,b.jsx)(c.default,{href:d.href,className:`rounded-full px-2.5 py-1 text-[0.78rem] font-semibold no-underline transition-colors duration-150 ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,"aria-current":e?"page":void 0,children:d.label},d.id)})})}var N=a.i(75654);function O(){let a=((0,d.usePathname)()??"/").startsWith("/settings");return(0,b.jsx)(c.default,{href:"/settings",className:`inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-panel-border bg-ghost-bg text-muted no-underline hover:bg-surface-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent${a?" border-accent-border text-foreground":""}`,"aria-label":"Settings","aria-current":a?"page":void 0,children:(0,b.jsx)(N.SettingsIcon,{})})}function P({current:a,parent:d}){return(0,b.jsx)("nav",{"aria-label":"Breadcrumb",className:"min-w-0 text-left",children:(0,b.jsxs)("ol",{className:"m-0 flex min-w-0 list-none flex-wrap items-center gap-1.5 p-0 text-[0.85rem]",children:[(0,b.jsx)("li",{children:(0,b.jsx)(c.default,{className:"text-muted no-underline hover:text-foreground",href:"/",children:"Tracker"})}),void 0!==d?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("li",{className:"text-muted","aria-hidden":"true",children:"/"}),(0,b.jsx)("li",{children:void 0!==d.href?(0,b.jsx)(c.default,{className:"max-w-44 truncate text-muted no-underline hover:text-foreground sm:max-w-none",href:d.href,children:d.label}):(0,b.jsx)("span",{className:"max-w-44 truncate text-muted sm:max-w-none",children:d.label})})]}):null,(0,b.jsx)("li",{className:"text-muted","aria-hidden":"true",children:"/"}),(0,b.jsx)("li",{className:"max-w-44 truncate font-medium text-foreground sm:max-w-none","aria-current":"page",children:a})]})})}a.s(["TrackerTopbar",0,function({breadcrumb:a}={}){return(0,b.jsx)("header",{className:"relative z-1 border-b border-panel-border bg-[color-mix(in_srgb,var(--panel)_92%,var(--background))] shadow-sm backdrop-blur-[10px]",children:(0,b.jsxs)("div",{className:"mx-auto flex max-w-[1120px] min-h-13 flex-wrap items-center gap-x-4 gap-y-2 px-4 py-2 sm:px-5",children:[(0,b.jsx)("span",{className:"inline-flex min-w-0 shrink items-center font-mono text-[0.72rem] font-semibold uppercase leading-tight tracking-[0.08em] text-accent whitespace-nowrap",children:"super-time-tracker"}),void 0!==a?(0,b.jsx)("div",{className:"min-w-0 flex-1",children:(0,b.jsx)(P,{current:a.current,parent:a.parent})}):null,(0,b.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 min-[980px]:ml-auto min-[980px]:w-auto min-[980px]:justify-end",children:[(0,b.jsx)(f,{}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center justify-end gap-2",children:[(0,b.jsx)(M,{}),(0,b.jsx)(i,{}),(0,b.jsx)(O,{}),(0,b.jsx)(K,{})]})]})]})})}],98790)}];
1
+ module.exports=[28958,a=>{"use strict";a.s(["write_document_preference_cookies",0,function(a){if("u"<typeof document)return;let b="path=/; max-age=31536000; SameSite=Lax";void 0!==a.theme_mode&&(document.cookie=`stt-theme-mode=${a.theme_mode}; ${b}`),void 0!==a.theme&&(document.cookie=`stt-theme=${a.theme}; ${b}`),void 0!==a.palette&&(document.cookie=`stt-palette=${a.palette}; ${b}`),void 0!==a.compact_lists&&(document.cookie=`stt-compact-lists=${a.compact_lists?"true":"false"}; ${b}`)}],28958)},26846,a=>{"use strict";var b=a.i(60382),c=a.i(59021),d=a.i(9301),e=a.i(63577),f=a.i(7048);a.s(["use_supabase_auth_session",0,function(){let a=(0,b.useRouter)(),[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(!1),k=(0,e.is_supabase_configured)();return(0,c.useEffect)(()=>{if(!k)return;let a=(0,d.create_browser_supabase_client)();a.auth.getSession().then(({data:{session:a}})=>{h(a?.user.email??null)}).catch(()=>{h(null)});let{data:{subscription:b}}=a.auth.onAuthStateChange((a,b)=>{h(b?.user.email??null)});return()=>{b.unsubscribe()}},[k]),{is_configured:k,email:g,is_pending:i,sign_out:(0,c.useCallback)(async()=>{j(!0);try{await fetch("/api/auth/signout",{method:"POST"});let b=(0,d.create_browser_supabase_client)();await b.auth.signOut().catch(()=>{}),(0,f.notify_settings_saved)("Signed out"),a.refresh()}finally{j(!1)}},[a])}}])},41615,a=>{"use strict";a.s(["build_auth_page_href",0,function(a,b){let c="sign_in"===a?"/login":"/register",d=b.trim();return 0===d.length||"/"===d?c:`${c}?next=${encodeURIComponent(d)}`}])},81764,34569,a=>{"use strict";a.s(["apply_theme",0,function(a){document.documentElement.setAttribute("data-theme",a)}],81764);var b=a.i(72958);a.s(["write_stored_theme",0,function(a){try{window.localStorage.setItem("super-time-tracker-theme",a),(0,b.schedule_ui_preferences_cloud_sync)()}catch{}}],34569)},98790,44404,a=>{"use strict";var b=a.i(61401),c=a.i(68093),d=a.i(60382);let e=[{href:"/",label:"Tracker",match:a=>"/"===a},{href:"/tasks",label:"Tasks",match:a=>"/tasks"===a}];function f(){let a=(0,d.usePathname)()??"/";return(0,b.jsx)("div",{className:"scrollbar-none flex min-w-0 flex-1 items-center gap-1 overflow-x-auto whitespace-nowrap py-0.5 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden min-[980px]:overflow-visible",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)(c.default,{className:`rounded-full px-3 py-1.5 text-[0.85rem] font-semibold no-underline transition-colors duration-150 shrink-0 ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,href:d.href,"aria-current":e?"page":void 0,children:d.label},d.href)})})}function g(){return(0,b.jsx)("svg",{className:"block h-4 w-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,b.jsx)("path",{d:"M17.5 19a4.5 4.5 0 0 0 0-9 6.5 6.5 0 0 0-12.6 1.5A4 4 0 0 0 6 19h11.5z"})})}var h=a.i(26846);function i(){let{email:a,is_configured:c}=(0,h.use_supabase_auth_session)();return c&&null!==a?(0,b.jsxs)("div",{className:"group relative flex items-center",children:[(0,b.jsx)("span",{className:"inline-flex h-8 w-8 items-center justify-center rounded-full border border-panel-border bg-ghost-bg text-accent","aria-label":`Cloud sync active for ${a}`,role:"img",children:(0,b.jsx)(g,{})}),(0,b.jsx)("div",{role:"tooltip",className:"pointer-events-none absolute right-0 top-full z-50 mt-1.5 w-max max-w-[min(18rem,calc(100vw-2.5rem))] opacity-0 transition-opacity duration-150 group-hover:opacity-100 group-focus-within:opacity-100",children:(0,b.jsxs)("div",{className:"rounded-md border border-panel-border bg-panel px-2.5 py-1.5 shadow-md",children:[(0,b.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.04em] text-muted",children:"Signed in as"}),(0,b.jsx)("p",{className:"m-0 max-w-[16rem] truncate text-[0.82rem] font-medium",title:a,children:a})]})})]}):null}var j=a.i(59021),k=a.i(34435),l=a.i(41615),m=a.i(7048),n=a.i(75049);let o=new Set(n.topbar_quick_action_ids),p=["today","review","templates","search","reporting","pomodoro"];function q(a){try{let b=JSON.parse(a);if(!Array.isArray(b))return p;let c=b.filter(a=>"string"==typeof a&&o.has(a));return Array.from(new Set(c))}catch{return p}}a.s(["parse_topbar_quick_actions",0,q],44404);var r=a.i(11937),s=a.i(52345),t=a.i(70827);let u=(0,s.create_ui_preference_store)({storage_key:t.CLOUD_SYNC_ENABLED_STORAGE_KEY,default_value:t.CLOUD_SYNC_ENABLED_DEFAULT,is_valid:a=>"true"===a||"false"===a});var v=a.i(26749),w=a.i(54212),x=a.i(74365);function y(){return"u"<typeof document?"dark":"light"===document.documentElement.getAttribute("data-theme")?"light":"dark"}function z(){return y()}function A(){return"dark"}var B=a.i(44103),C=a.i(81764),D=a.i(29698),E=a.i(28958),F=a.i(34569),G=a.i(96359);let H="block w-full cursor-pointer rounded-[0.45rem] border-0 bg-transparent px-2.5 py-1.5 text-left font-inherit text-[0.85rem] text-inherit no-underline hover:bg-surface-hover disabled:cursor-not-allowed disabled:opacity-55",I={today:{href:"/today",label:"Today"},review:{href:"/review",label:"Review"},templates:{href:"/templates",label:"Templates"},search:{href:"/search",label:"Search"},sheets:{href:"/sheets",label:"Sheets"},tasks:{href:"/tasks",label:"Tasks"},reporting:{href:"/reporting",label:"Reporting"},pomodoro:{href:"/pomodoro",label:"Pomodoro"},"manage-tags":{href:"/settings/tags",label:"Manage tags"},"sync-settings":{href:"/settings/cloud-sync",label:"Sync settings"}},J=new Set(["manage-tags","pomodoro","templates","sync-settings"]);function K(){let a=(0,d.useRouter)(),e=(0,d.usePathname)()??"/",f=(0,j.useSyncExternalStore)(B.subscribe_theme,z,A),g=(0,j.useSyncExternalStore)(u.subscribe,u.get_snapshot,u.get_server_snapshot),i=(0,j.useSyncExternalStore)(w.tracker_shortcut_map_preference.subscribe,w.tracker_shortcut_map_preference.get_snapshot,w.tracker_shortcut_map_preference.get_server_snapshot),o=(0,j.useSyncExternalStore)(v.topbar_quick_actions_preference.subscribe,v.topbar_quick_actions_preference.get_snapshot,v.topbar_quick_actions_preference.get_server_snapshot),p=(0,r.parse_tracker_shortcut_map)(i),s=new Set(q(o)),t=n.topbar_quick_action_ids.filter(a=>!s.has(a)),K=Array.from(new Set([...Array.from(J),...t])),{email:L,is_configured:M,is_pending:N,sign_out:O}=(0,h.use_supabase_auth_session)(),[P,Q]=(0,j.useState)(!1),R=(0,j.useRef)(null);(0,j.useEffect)(()=>{if(!P)return;let a=a=>{null===R.current||R.current.contains(a.target)||Q(!1)};return document.addEventListener("pointerdown",a),()=>{document.removeEventListener("pointerdown",a)}},[P]);let S=()=>{Q(!1)};return(0,G.use_escape_to_cancel)(S,P),(0,b.jsxs)("div",{className:"relative shrink-0",ref:R,children:[(0,b.jsx)("button",{type:"button",className:"inline-flex h-8 w-8 cursor-pointer items-center justify-center rounded-full border border-panel-border bg-ghost-bg text-muted hover:bg-surface-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent","aria-label":"Open menu","aria-expanded":P,"aria-haspopup":"menu",onClick:()=>Q(a=>!a),children:(0,b.jsx)(k.HamburgerIcon,{})}),P?(0,b.jsxs)("ul",{className:"absolute right-0 top-full z-50 mt-1.5 min-w-56 list-none rounded-md border border-panel-border bg-panel p-1.5 shadow-md",role:"menu",children:[M&&null!==L?(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("p",{className:"m-0 truncate px-2.5 py-1 text-[0.72rem] uppercase tracking-[0.04em] text-muted",title:L,children:L})}):null,K.map(a=>{let d=I[a];return(0,b.jsx)("li",{role:"none",children:(0,b.jsx)(c.default,{href:d.href,className:H,role:"menuitem",onClick:S,children:d.label})},a)}),M?(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:H,role:"menuitemcheckbox","aria-checked":"true"===g,onClick:()=>{let a="true"===g?"false":"true";u.write(a),u.notify(),(0,m.notify_settings_saved)("true"===a?"Cloud sync enabled":"Cloud sync disabled"),"true"===a&&null!==L&&(0,x.run_tracker_db_cloud_sync)({merge_on_load:!0}).catch(()=>{})},children:(0,b.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,b.jsx)("span",{children:"true"===g?"Pause cloud sync":"Resume cloud sync"}),(0,b.jsx)("span",{className:"text-muted","aria-hidden":"true",children:"true"===g?"On":"Off"})]})})}):null,(0,b.jsx)("li",{className:"my-1 border-t border-panel-border",role:"separator","aria-hidden":"true"}),(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:H,role:"menuitem",onClick:()=>{let a;S(),a="dark"===y()?"light":"dark",(0,C.apply_theme)(a),(0,F.write_stored_theme)(a),D.theme_mode_preference.write(a),(0,E.write_document_preference_cookies)({theme_mode:a,theme:a}),D.theme_mode_preference.notify(),(0,B.notify_theme_subscribers)(),(0,m.notify_settings_saved)()},suppressHydrationWarning:!0,children:(0,b.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,b.jsxs)("span",{children:["dark"===f?"Dark":"Light"," theme"]}),(0,b.jsx)("span",{"aria-hidden":"true",children:"dark"===f?"☾":"☀"})]})})}),(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:H,role:"menuitem",onClick:()=>{let a;S(),a=p.help,document.dispatchEvent(new KeyboardEvent("keydown",{key:a,shiftKey:"?"===a,bubbles:!0}))},children:(0,b.jsxs)("span",{className:"inline-flex w-full items-center justify-between gap-2",children:[(0,b.jsx)("span",{children:"Keyboard shortcuts"}),(0,b.jsx)("span",{className:"text-muted","aria-hidden":"true",children:"(?)"})]})})}),M?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("li",{className:"my-1 border-t border-panel-border",role:"separator","aria-hidden":"true"}),null===L?(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:H,role:"menuitem",onClick:()=>{S(),a.push((0,l.build_auth_page_href)("sign_in",e))},children:"Sign in"})}):(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:`${H} text-danger`,role:"menuitem",disabled:N,onClick:()=>{S(),O()},children:N?"Signing out…":"Sign out"})})]}):null]}):null]})}let L=[{id:"today",href:"/today",label:"Today"},{id:"review",href:"/review",label:"Review"},{id:"templates",href:"/templates",label:"Templates"},{id:"search",href:"/search",label:"Search"},{id:"sheets",href:"/sheets",label:"Sheets"},{id:"tasks",href:"/tasks",label:"Tasks"},{id:"reporting",href:"/reporting",label:"Reporting"},{id:"pomodoro",href:"/pomodoro",label:"Pomodoro"},{id:"manage-tags",href:"/settings/tags",label:"Tags"},{id:"sync-settings",href:"/settings/cloud-sync",label:"Sync"}];function M(){let a=(0,d.usePathname)()??"/",e=(0,j.useSyncExternalStore)(v.topbar_quick_actions_preference.subscribe,v.topbar_quick_actions_preference.get_snapshot,v.topbar_quick_actions_preference.get_server_snapshot),f=(0,j.useMemo)(()=>q(e),[e]);if(0===f.length)return null;let g=L.filter(a=>f.includes(a.id));return 0===g.length?null:(0,b.jsx)("div",{className:"hidden items-center gap-1 min-[980px]:flex",children:g.map(d=>{let e=a.startsWith(d.href);return(0,b.jsx)(c.default,{href:d.href,className:`rounded-full px-2.5 py-1 text-[0.78rem] font-semibold no-underline transition-colors duration-150 ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,"aria-current":e?"page":void 0,children:d.label},d.id)})})}var N=a.i(75654);function O(){let a=((0,d.usePathname)()??"/").startsWith("/settings");return(0,b.jsx)(c.default,{href:"/settings",className:`inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-panel-border bg-ghost-bg text-muted no-underline hover:bg-surface-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent${a?" border-accent-border text-foreground":""}`,"aria-label":"Settings","aria-current":a?"page":void 0,children:(0,b.jsx)(N.SettingsIcon,{})})}function P({current:a,parent:d}){return(0,b.jsx)("nav",{"aria-label":"Breadcrumb",className:"min-w-0 text-left",children:(0,b.jsxs)("ol",{className:"m-0 flex min-w-0 list-none flex-wrap items-center gap-1.5 p-0 text-[0.85rem]",children:[(0,b.jsx)("li",{children:(0,b.jsx)(c.default,{className:"text-muted no-underline hover:text-foreground",href:"/",children:"Tracker"})}),void 0!==d?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("li",{className:"text-muted","aria-hidden":"true",children:"/"}),(0,b.jsx)("li",{children:void 0!==d.href?(0,b.jsx)(c.default,{className:"max-w-44 truncate text-muted no-underline hover:text-foreground sm:max-w-none",href:d.href,children:d.label}):(0,b.jsx)("span",{className:"max-w-44 truncate text-muted sm:max-w-none",children:d.label})})]}):null,(0,b.jsx)("li",{className:"text-muted","aria-hidden":"true",children:"/"}),(0,b.jsx)("li",{className:"max-w-44 truncate font-medium text-foreground sm:max-w-none","aria-current":"page",children:a})]})})}a.s(["TrackerTopbar",0,function({breadcrumb:a}={}){return(0,b.jsx)("header",{className:"relative z-1 border-b border-panel-border bg-[color-mix(in_srgb,var(--panel)_92%,var(--background))] shadow-sm backdrop-blur-[10px]",children:(0,b.jsxs)("div",{className:"mx-auto flex max-w-[1120px] min-h-13 flex-wrap items-center gap-x-4 gap-y-2 px-4 py-2 sm:px-5",children:[(0,b.jsx)("span",{className:"inline-flex min-w-0 shrink items-center font-mono text-[0.72rem] font-semibold uppercase leading-tight tracking-[0.08em] text-accent whitespace-nowrap",children:"super-time-tracker"}),void 0!==a?(0,b.jsx)("div",{className:"min-w-0 flex-1",children:(0,b.jsx)(P,{current:a.current,parent:a.parent})}):null,(0,b.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 min-[980px]:ml-auto min-[980px]:w-auto min-[980px]:justify-end",children:[(0,b.jsx)(f,{}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center justify-end gap-2",children:[(0,b.jsx)(M,{}),(0,b.jsx)(i,{}),(0,b.jsx)(O,{}),(0,b.jsx)(K,{})]})]})]})})}],98790)}];
2
2
 
3
3
  //# sourceMappingURL=_0t7z076._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[85393,a=>{"use strict";var b=a.i(61401),c=a.i(68093),d=a.i(60382);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/quick-actions",label:"Quick actions",match:a=>a.startsWith("/settings/quick-actions")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},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)},16229,a=>{"use strict";a.s(["message_from_unknown_error",0,function(a,b){return a instanceof Error?a.message:"string"==typeof a?a:b}])},44600,a=>{"use strict";var b=a.i(59021),c=a.i(13964),d=a.i(75215);a.s(["use_confirm_dialog",0,function(){let a=(0,b.useContext)(c.ConfirmDialogContext);if(null!==a)return a;let e=(0,d.get_registered_confirm_dialog)();if(null!==e)return{confirm:e};throw Error("use_confirm_dialog must be used within ConfirmDialogProvider")}])},75654,a=>{"use strict";var b=a.i(61401);a.s(["SettingsIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),(0,b.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}])},34435,a=>{"use strict";var b=a.i(61401);a.s(["HamburgerIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4 text-muted",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M4 7h16"}),(0,b.jsx)("path",{d:"M4 12h16"}),(0,b.jsx)("path",{d:"M4 17h16"})]})}])},96359,a=>{"use strict";var b=a.i(59021),c=a.i(46299);a.s(["use_escape_to_cancel",0,function(a,d=!0){let e=(0,b.useRef)(a);e.current=a,(0,b.useEffect)(()=>{if(!d)return;let a=a=>{"Escape"!==a.key||(0,c.is_modal_dialog_open)()||(a.preventDefault(),e.current())};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[d])}])},69749,a=>{"use strict";a.s(["get_input_class_name",0,function(a="default"){let b="box-border max-w-full min-w-0 w-full rounded-[0.65rem] border border-panel-border bg-input-bg px-3 py-2.5 font-inherit text-inherit transition-[background-color,border-color] duration-200 focus:border-input-focus-border focus:outline-none";return"compact"===a?`${b} px-2.5 py-2`:b}])},48174,a=>{"use strict";a.s(["format_display_tag",0,function(a){return a.startsWith("@")?a:`@${a}`}])},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}`}])},30354,a=>{"use strict";var b=a.i(61401),c=a.i(59021),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",role:"combobox",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(61401),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(61401),c=a.i(59021),d=a.i(44600),e=a.i(16229),f=a.i(85930),g=a.i(30354),h=a.i(48174),i=a.i(89969),j=a.i(69749);function k(a,b,c){let d=a.map(a=>(0,h.format_display_tag)(a)).join(", "),e=(0,h.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 l=a.i(59659);a.s(["TagManagementView",0,function({initial_tags:a}){let{confirm:m}=(0,d.use_confirm_dialog)(),[n,o]=(0,c.useState)(a),[p,q]=(0,c.useState)(()=>new Set),[r,s]=(0,c.useState)({}),[t,u]=(0,c.useState)(""),[v,w]=(0,c.useState)(null),[x,y]=(0,c.useState)(null),[z,A]=(0,c.useState)(!1),B=(0,c.useMemo)(()=>n.map(a=>a.name),[n]),C=n.filter(a=>p.has(a.name)).reduce((a,b)=>a+b.entryCount,0),D=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();o(c.tags),q(new Set),y(1===c.entries_updated?"Updated 1 entry.":`Updated ${c.entries_updated} entries.`),(0,l.push_tracker_db_cloud_after_change)()},E=async a=>{let b=r[a]?.trim()??"";if(0===b.length)return void w("Enter a new tag name.");let c=n.find(b=>b.name===a);if(void 0===c)return;let d=n.find(a=>(0,h.format_display_tag)(a.name)===(0,h.format_display_tag)(b)),f=void 0!==d&&d.name!==a?c.entryCount+d.entryCount:c.entryCount;if(await m(k([a],b,f))){A(!0),w(null),y(null);try{await D({action:"rename",fromTag:a,toTag:b}),s(b=>{let c={...b};return delete c[a],c})}catch(a){w((0,e.message_from_unknown_error)(a,"Tag rename failed"))}finally{A(!1)}}},F=async()=>{let a=[...p];if(a.length<2)return void w("Select at least two tags to merge.");if(0===t.trim().length)return void w("Enter a target tag for the merge.");if(await m(k(a,t,C))){A(!0),w(null),y(null);try{await D({action:"merge",sourceTags:a,targetTag:t}),u("")}catch(a){w((0,e.message_from_unknown_error)(a,"Tag merge failed"))}finally{A(!1)}}};return(0,b.jsxs)(f.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)(g.TagAutocompleteInput,{id:"merge-target-tag",value:t,known_tags:B,placeholder:"e.g. @project",disabled:z,on_change:u})]}),(0,b.jsxs)("button",{type:"button",className:`${(0,i.get_button_class_name)("primary","small")} mt-3`,disabled:z||p.size<2,onClick:()=>void F(),children:["Merge ",p.size," tags"]})]}),0===n.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:n.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(),E(a.name)},children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:p.has(a.name),disabled:z,"aria-label":`Select ${(0,h.format_display_tag)(a.name)}`,onChange:()=>{var b;return b=a.name,void q(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,h.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,j.get_input_class_name)("compact"),value:r[a.name]??"",placeholder:"Rename to…","aria-label":`Rename ${(0,h.format_display_tag)(a.name)}`,disabled:z,onChange:b=>s(c=>({...c,[a.name]:b.target.value}))}),(0,b.jsx)("button",{type:"submit",className:`${(0,i.get_button_class_name)("ghost","small")} shrink-0`,disabled:z||(r[a.name]?.trim().length??0)===0,children:"Rename"})]})]})},a.name))}),null===x?null:(0,b.jsx)("p",{className:"m-0 text-[0.9rem] text-accent",children:x}),null===v?null:(0,b.jsx)("p",{className:"m-0 text-[0.9rem] text-danger",children:v})]})}],53372)}];
1
+ module.exports=[85393,a=>{"use strict";var b=a.i(61401),c=a.i(68093),d=a.i(60382);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/quick-actions",label:"Quick actions",match:a=>a.startsWith("/settings/quick-actions")},{href:"/settings/goals",label:"Goals",match:a=>a.startsWith("/settings/goals")},{href:"/settings/pomodoro",label:"Pomodoro",match:a=>a.startsWith("/settings/pomodoro")},{href:"/settings/notifications",label:"Notifications",match:a=>a.startsWith("/settings/notifications")},{href:"/settings/ai-suggestions",label:"AI suggestions",match:a=>a.startsWith("/settings/ai-suggestions")},{href:"/settings/cloud-sync",label:"Sync",match:a=>a.startsWith("/settings/cloud-sync")},{href:"/settings/data",label:"Data & backup",match:a=>a.startsWith("/settings/data")},{href:"/settings/tags",label:"Tag management",match:a=>a.startsWith("/settings/tags")}];a.s(["SettingsNav",0,function(){let a=(0,d.usePathname)()??"/settings";return(0,b.jsx)("nav",{"aria-label":"Settings sections",className:"w-full",children:(0,b.jsx)("ul",{className:"scrollbar-none m-0 flex w-full list-none gap-1 overflow-x-auto p-0 pb-1 [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden max-[860px]:flex-row min-[861px]:flex-col min-[861px]:gap-0.5 min-[861px]:overflow-visible min-[861px]:pb-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{className:"shrink-0 min-[861px]:shrink",children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block whitespace-nowrap rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 min-[861px]:whitespace-normal ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},16229,a=>{"use strict";a.s(["message_from_unknown_error",0,function(a,b){return a instanceof Error?a.message:"string"==typeof a?a:b}])},44600,a=>{"use strict";var b=a.i(59021),c=a.i(13964),d=a.i(75215);a.s(["use_confirm_dialog",0,function(){let a=(0,b.useContext)(c.ConfirmDialogContext);if(null!==a)return a;let e=(0,d.get_registered_confirm_dialog)();if(null!==e)return{confirm:e};throw Error("use_confirm_dialog must be used within ConfirmDialogProvider")}])},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)},75654,a=>{"use strict";var b=a.i(61401);a.s(["SettingsIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),(0,b.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}])},34435,a=>{"use strict";var b=a.i(61401);a.s(["HamburgerIcon",0,function(){return(0,b.jsxs)("svg",{className:"block h-4 w-4 text-muted",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M4 7h16"}),(0,b.jsx)("path",{d:"M4 12h16"}),(0,b.jsx)("path",{d:"M4 17h16"})]})}])},96359,a=>{"use strict";var b=a.i(59021),c=a.i(46299);a.s(["use_escape_to_cancel",0,function(a,d=!0){let e=(0,b.useRef)(a);e.current=a,(0,b.useEffect)(()=>{if(!d)return;let a=a=>{"Escape"!==a.key||(0,c.is_modal_dialog_open)()||(a.preventDefault(),e.current())};return document.addEventListener("keydown",a),()=>{document.removeEventListener("keydown",a)}},[d])}])},69749,a=>{"use strict";a.s(["get_input_class_name",0,function(a="default"){let b="box-border max-w-full min-w-0 w-full rounded-[0.65rem] border border-panel-border bg-input-bg px-3 py-2.5 font-inherit text-inherit transition-[background-color,border-color] duration-200 focus:border-input-focus-border focus:outline-none";return"compact"===a?`${b} px-2.5 py-2`:b}])},48174,a=>{"use strict";a.s(["format_display_tag",0,function(a){return a.startsWith("@")?a:`@${a}`}])},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}`}])},30354,a=>{"use strict";var b=a.i(61401),c=a.i(59021),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",role:"combobox",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(61401),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(61401),c=a.i(59021),d=a.i(44600),e=a.i(16229),f=a.i(85930),g=a.i(30354),h=a.i(48174),i=a.i(89969),j=a.i(69749);function k(a,b,c){let d=a.map(a=>(0,h.format_display_tag)(a)).join(", "),e=(0,h.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 l=a.i(59659);a.s(["TagManagementView",0,function({initial_tags:a}){let{confirm:m}=(0,d.use_confirm_dialog)(),[n,o]=(0,c.useState)(a),[p,q]=(0,c.useState)(()=>new Set),[r,s]=(0,c.useState)({}),[t,u]=(0,c.useState)(""),[v,w]=(0,c.useState)(null),[x,y]=(0,c.useState)(null),[z,A]=(0,c.useState)(!1),B=(0,c.useMemo)(()=>n.map(a=>a.name),[n]),C=n.filter(a=>p.has(a.name)).reduce((a,b)=>a+b.entryCount,0),D=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();o(c.tags),q(new Set),y(1===c.entries_updated?"Updated 1 entry.":`Updated ${c.entries_updated} entries.`),(0,l.push_tracker_db_cloud_after_change)()},E=async a=>{let b=r[a]?.trim()??"";if(0===b.length)return void w("Enter a new tag name.");let c=n.find(b=>b.name===a);if(void 0===c)return;let d=n.find(a=>(0,h.format_display_tag)(a.name)===(0,h.format_display_tag)(b)),f=void 0!==d&&d.name!==a?c.entryCount+d.entryCount:c.entryCount;if(await m(k([a],b,f))){A(!0),w(null),y(null);try{await D({action:"rename",fromTag:a,toTag:b}),s(b=>{let c={...b};return delete c[a],c})}catch(a){w((0,e.message_from_unknown_error)(a,"Tag rename failed"))}finally{A(!1)}}},F=async()=>{let a=[...p];if(a.length<2)return void w("Select at least two tags to merge.");if(0===t.trim().length)return void w("Enter a target tag for the merge.");if(await m(k(a,t,C))){A(!0),w(null),y(null);try{await D({action:"merge",sourceTags:a,targetTag:t}),u("")}catch(a){w((0,e.message_from_unknown_error)(a,"Tag merge failed"))}finally{A(!1)}}};return(0,b.jsxs)(f.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)(g.TagAutocompleteInput,{id:"merge-target-tag",value:t,known_tags:B,placeholder:"e.g. @project",disabled:z,on_change:u})]}),(0,b.jsxs)("button",{type:"button",className:`${(0,i.get_button_class_name)("primary","small")} mt-3`,disabled:z||p.size<2,onClick:()=>void F(),children:["Merge ",p.size," tags"]})]}),0===n.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:n.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(),E(a.name)},children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:p.has(a.name),disabled:z,"aria-label":`Select ${(0,h.format_display_tag)(a.name)}`,onChange:()=>{var b;return b=a.name,void q(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,h.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,j.get_input_class_name)("compact"),value:r[a.name]??"",placeholder:"Rename to…","aria-label":`Rename ${(0,h.format_display_tag)(a.name)}`,disabled:z,onChange:b=>s(c=>({...c,[a.name]:b.target.value}))}),(0,b.jsx)("button",{type:"submit",className:`${(0,i.get_button_class_name)("ghost","small")} shrink-0`,disabled:z||(r[a.name]?.trim().length??0)===0,children:"Rename"})]})]})},a.name))}),null===x?null:(0,b.jsx)("p",{className:"m-0 text-[0.9rem] text-accent",children:x}),null===v?null:(0,b.jsx)("p",{className:"m-0 text-[0.9rem] text-danger",children:v})]})}],53372)}];
2
2
 
3
- //# sourceMappingURL=_028bo2r._.js.map
3
+ //# sourceMappingURL=_0~6f4kw._.js.map