super-time-tracker-ui 0.1.9 → 0.1.13

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 (115) hide show
  1. package/bin/stt-ui.js +2 -1
  2. package/dist/standalone/next-output/BUILD_ID +1 -1
  3. package/dist/standalone/next-output/build-manifest.json +3 -3
  4. package/dist/standalone/next-output/server/app/_global-error.html +1 -1
  5. package/dist/standalone/next-output/server/app/_global-error.rsc +1 -1
  6. package/dist/standalone/next-output/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/dist/standalone/next-output/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/dist/standalone/next-output/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/dist/standalone/next-output/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/dist/standalone/next-output/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/dist/standalone/next-output/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/dist/standalone/next-output/server/app/_not-found.html +1 -1
  13. package/dist/standalone/next-output/server/app/_not-found.rsc +3 -3
  14. package/dist/standalone/next-output/server/app/_not-found.segments/_full.segment.rsc +3 -3
  15. package/dist/standalone/next-output/server/app/_not-found.segments/_head.segment.rsc +1 -1
  16. package/dist/standalone/next-output/server/app/_not-found.segments/_index.segment.rsc +2 -2
  17. package/dist/standalone/next-output/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  18. package/dist/standalone/next-output/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  19. package/dist/standalone/next-output/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/dist/standalone/next-output/server/app/api/entry/route.js +1 -1
  21. package/dist/standalone/next-output/server/app/api/entry/route.js.nft.json +1 -1
  22. package/dist/standalone/next-output/server/app/api/in/route.js +1 -1
  23. package/dist/standalone/next-output/server/app/api/in/route.js.nft.json +1 -1
  24. package/dist/standalone/next-output/server/app/page.js.nft.json +1 -1
  25. package/dist/standalone/next-output/server/app/page_client-reference-manifest.js +1 -1
  26. package/dist/standalone/next-output/server/app/reporting/page_client-reference-manifest.js +1 -1
  27. package/dist/standalone/next-output/server/app/reporting.html +1 -1
  28. package/dist/standalone/next-output/server/app/reporting.rsc +5 -5
  29. package/dist/standalone/next-output/server/app/reporting.segments/_full.segment.rsc +5 -5
  30. package/dist/standalone/next-output/server/app/reporting.segments/_head.segment.rsc +1 -1
  31. package/dist/standalone/next-output/server/app/reporting.segments/_index.segment.rsc +2 -2
  32. package/dist/standalone/next-output/server/app/reporting.segments/_tree.segment.rsc +2 -2
  33. package/dist/standalone/next-output/server/app/reporting.segments/reporting/__PAGE__.segment.rsc +2 -2
  34. package/dist/standalone/next-output/server/app/reporting.segments/reporting.segment.rsc +1 -1
  35. package/dist/standalone/next-output/server/app/settings/data/page.js.nft.json +1 -1
  36. package/dist/standalone/next-output/server/app/settings/data/page_client-reference-manifest.js +1 -1
  37. package/dist/standalone/next-output/server/app/settings/data.html +1 -1
  38. package/dist/standalone/next-output/server/app/settings/data.rsc +9 -9
  39. package/dist/standalone/next-output/server/app/settings/data.segments/_full.segment.rsc +9 -9
  40. package/dist/standalone/next-output/server/app/settings/data.segments/_head.segment.rsc +1 -1
  41. package/dist/standalone/next-output/server/app/settings/data.segments/_index.segment.rsc +2 -2
  42. package/dist/standalone/next-output/server/app/settings/data.segments/_tree.segment.rsc +2 -2
  43. package/dist/standalone/next-output/server/app/settings/data.segments/settings/data/__PAGE__.segment.rsc +6 -6
  44. package/dist/standalone/next-output/server/app/settings/data.segments/settings/data.segment.rsc +1 -1
  45. package/dist/standalone/next-output/server/app/settings/data.segments/settings.segment.rsc +1 -1
  46. package/dist/standalone/next-output/server/app/settings/display/page.js.nft.json +1 -1
  47. package/dist/standalone/next-output/server/app/settings/display/page_client-reference-manifest.js +1 -1
  48. package/dist/standalone/next-output/server/app/settings/display.html +1 -1
  49. package/dist/standalone/next-output/server/app/settings/display.rsc +20 -20
  50. package/dist/standalone/next-output/server/app/settings/display.segments/_full.segment.rsc +20 -20
  51. package/dist/standalone/next-output/server/app/settings/display.segments/_head.segment.rsc +1 -1
  52. package/dist/standalone/next-output/server/app/settings/display.segments/_index.segment.rsc +2 -2
  53. package/dist/standalone/next-output/server/app/settings/display.segments/_tree.segment.rsc +2 -2
  54. package/dist/standalone/next-output/server/app/settings/display.segments/settings/display/__PAGE__.segment.rsc +17 -17
  55. package/dist/standalone/next-output/server/app/settings/display.segments/settings/display.segment.rsc +1 -1
  56. package/dist/standalone/next-output/server/app/settings/display.segments/settings.segment.rsc +1 -1
  57. package/dist/standalone/next-output/server/app/settings/page.js.nft.json +1 -1
  58. package/dist/standalone/next-output/server/app/settings/page_client-reference-manifest.js +1 -1
  59. package/dist/standalone/next-output/server/app/settings/tags/page.js.nft.json +1 -1
  60. package/dist/standalone/next-output/server/app/settings/tags/page_client-reference-manifest.js +1 -1
  61. package/dist/standalone/next-output/server/app/settings/tags.html +1 -1
  62. package/dist/standalone/next-output/server/app/settings/tags.rsc +5 -5
  63. package/dist/standalone/next-output/server/app/settings/tags.segments/_full.segment.rsc +5 -5
  64. package/dist/standalone/next-output/server/app/settings/tags.segments/_head.segment.rsc +1 -1
  65. package/dist/standalone/next-output/server/app/settings/tags.segments/_index.segment.rsc +2 -2
  66. package/dist/standalone/next-output/server/app/settings/tags.segments/_tree.segment.rsc +2 -2
  67. package/dist/standalone/next-output/server/app/settings/tags.segments/settings/tags/__PAGE__.segment.rsc +2 -2
  68. package/dist/standalone/next-output/server/app/settings/tags.segments/settings/tags.segment.rsc +1 -1
  69. package/dist/standalone/next-output/server/app/settings/tags.segments/settings.segment.rsc +1 -1
  70. package/dist/standalone/next-output/server/app/settings.html +1 -1
  71. package/dist/standalone/next-output/server/app/settings.rsc +11 -11
  72. package/dist/standalone/next-output/server/app/settings.segments/_full.segment.rsc +11 -11
  73. package/dist/standalone/next-output/server/app/settings.segments/_head.segment.rsc +1 -1
  74. package/dist/standalone/next-output/server/app/settings.segments/_index.segment.rsc +2 -2
  75. package/dist/standalone/next-output/server/app/settings.segments/_tree.segment.rsc +2 -2
  76. package/dist/standalone/next-output/server/app/settings.segments/settings/__PAGE__.segment.rsc +8 -8
  77. package/dist/standalone/next-output/server/app/settings.segments/settings.segment.rsc +1 -1
  78. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0_vmm81._.js +3 -0
  79. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0y8pcoc._.js +3 -0
  80. package/dist/standalone/next-output/server/chunks/ssr/{_0gz6nul._.js → _02-gx7.._.js} +2 -2
  81. package/dist/standalone/next-output/server/chunks/ssr/_02_~c39._.js +1 -1
  82. package/dist/standalone/next-output/server/chunks/ssr/_0hg~x6b._.js +1 -1
  83. package/dist/standalone/next-output/server/chunks/ssr/_0ll5ibs._.js +3 -0
  84. package/dist/standalone/next-output/server/chunks/ssr/{_0wjdrek._.js → _0ui3u54._.js} +2 -2
  85. package/dist/standalone/next-output/server/chunks/ssr/{_02pv8kk._.js → _0w8k735._.js} +2 -2
  86. package/dist/standalone/next-output/server/chunks/ssr/{_0ct61hc._.js → _12t56ma._.js} +2 -2
  87. package/dist/standalone/next-output/server/chunks/ssr/components_109-aj4._.js +1 -1
  88. package/dist/standalone/next-output/server/chunks/ssr/components_tracker-app_tsx_0qs9.7y._.js +1 -1
  89. package/dist/standalone/next-output/server/middleware-build-manifest.js +3 -3
  90. package/dist/standalone/next-output/server/pages/404.html +1 -1
  91. package/dist/standalone/next-output/server/pages/500.html +1 -1
  92. package/dist/standalone/next-output/static/chunks/002_cxi.67d5i.js +1 -0
  93. package/dist/standalone/next-output/static/chunks/00gppo5nrk9ov.js +1 -0
  94. package/dist/standalone/next-output/static/chunks/04~lsgqjxciw_.js +1 -0
  95. package/dist/standalone/next-output/static/chunks/0e8tmpq~qz.dz.js +1 -0
  96. package/dist/standalone/next-output/static/chunks/0ewk7kj3yfts~.css +3 -0
  97. package/dist/standalone/next-output/static/chunks/0js9~7rlpndqf.js +1 -0
  98. package/dist/standalone/next-output/static/chunks/0ytd28-7d8.21.js +1 -0
  99. package/dist/standalone/next-output/static/chunks/14dlpcnjaw-zw.js +1 -0
  100. package/dist/standalone/package.json +1 -1
  101. package/package.json +1 -1
  102. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0d1w0cs._.js +0 -3
  103. package/dist/standalone/next-output/server/chunks/[root-of-the-server]__0qmw9wb._.js +0 -3
  104. package/dist/standalone/next-output/server/chunks/ssr/_07raa2f._.js +0 -3
  105. package/dist/standalone/next-output/static/chunks/0-4qto4zejzdf.js +0 -1
  106. package/dist/standalone/next-output/static/chunks/05zy2m..vwhne.js +0 -1
  107. package/dist/standalone/next-output/static/chunks/09__rtwky2ffd.js +0 -1
  108. package/dist/standalone/next-output/static/chunks/0c9knh~t~22o1.js +0 -1
  109. package/dist/standalone/next-output/static/chunks/0ev966.breqju.js +0 -1
  110. package/dist/standalone/next-output/static/chunks/0fx83q6t~ep.v.js +0 -1
  111. package/dist/standalone/next-output/static/chunks/0g2ra41_1p6y6.js +0 -1
  112. package/dist/standalone/next-output/static/chunks/0sqkcyb268i44.css +0 -3
  113. /package/dist/standalone/next-output/static/{nCFHHujcYM5EFaWSlUj2N → wHoiBM1uMbUIrfXkizlyC}/_buildManifest.js +0 -0
  114. /package/dist/standalone/next-output/static/{nCFHHujcYM5EFaWSlUj2N → wHoiBM1uMbUIrfXkizlyC}/_clientMiddlewareManifest.js +0 -0
  115. /package/dist/standalone/next-output/static/{nCFHHujcYM5EFaWSlUj2N → wHoiBM1uMbUIrfXkizlyC}/_ssgManifest.js +0 -0
@@ -1,12 +1,12 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[17446,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/09__rtwky2ffd.js"],"SettingsSavedToast"]
3
- 3:I[75404,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/09__rtwky2ffd.js"],"TrackerTopbar"]
4
- 4:I[42800,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/09__rtwky2ffd.js"],"SettingsNav"]
5
- 5:I[62344,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/09__rtwky2ffd.js"],"DefaultSheetSessionSetting"]
6
- 6:I[98295,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/09__rtwky2ffd.js"],"ConfirmBeforeCheckoutSetting"]
7
- 7:I[256,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/09__rtwky2ffd.js"],"ConfirmDestructiveActionsSetting"]
8
- 8:I[91653,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/09__rtwky2ffd.js"],"ClearTagFiltersOnSheetChangeSetting"]
2
+ 2:I[17446,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/0ytd28-7d8.21.js"],"SettingsSavedToast"]
3
+ 3:I[75404,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/0ytd28-7d8.21.js"],"TrackerTopbar"]
4
+ 4:I[42800,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/0ytd28-7d8.21.js"],"SettingsNav"]
5
+ 5:I[62344,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/0ytd28-7d8.21.js"],"DefaultSheetSessionSetting"]
6
+ 6:I[98295,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/0ytd28-7d8.21.js"],"ConfirmBeforeCheckoutSetting"]
7
+ 7:I[256,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/0ytd28-7d8.21.js"],"ConfirmDestructiveActionsSetting"]
8
+ 8:I[91653,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js","/_next/static/chunks/0ytd28-7d8.21.js"],"ClearTagFiltersOnSheetChangeSetting"]
9
9
  9:I[83775,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js"],"OutletBoundary"]
10
10
  a:"$Sreact.suspense"
11
- 0:{"rsc":["$","$1","c",{"children":[[["$","$L2",null,{}],["$","$L3",null,{"breadcrumb":{"current":"General","parent":{"label":"Settings"}}}],["$","main",null,{"className":"mx-auto grid w-full max-w-[1120px] grid-cols-[minmax(12rem,16rem)_minmax(0,1fr)] gap-6 px-5 pb-10 pt-6 max-[860px]:grid-cols-1","children":[["$","aside",null,{"className":"flex flex-col gap-2","children":[["$","h2",null,{"className":"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted","children":"Settings"}],["$","$L4",null,{}]]}],["$","section",null,{"className":"flex min-w-0 flex-col gap-4","children":[["$","header",null,{"className":"flex flex-col gap-1","children":[["$","h1",null,{"className":"m-0 text-[1.35rem] font-[650] tracking-tight","children":"General"}],["$","p",null,{"className":"m-0 text-[0.9rem] leading-relaxed text-muted","children":"Tracker startup, confirmations, and session behavior."}]]}],["$","ul",null,{"className":"m-0 flex w-full list-none flex-col gap-2 p-0","aria-label":"General settings","children":[["$","li",null,{"className":"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm","children":["$","$L5",null,{"sheet_names":["main","super-time-tracker-ui","muzical-ui","super-time-tracker","nova-paper"]}]}],["$","li",null,{"className":"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm","children":["$","$L6",null,{}]}],["$","li",null,{"className":"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm","children":["$","$L7",null,{}]}],["$","li",null,{"className":"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm","children":["$","$L8",null,{}]}]]}]]}]]}]],[["$","script","script-0",{"src":"/_next/static/chunks/09__rtwky2ffd.js","async":true}]],["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"nCFHHujcYM5EFaWSlUj2N"}
11
+ 0:{"rsc":["$","$1","c",{"children":[[["$","$L2",null,{}],["$","$L3",null,{"breadcrumb":{"current":"General","parent":{"label":"Settings"}}}],["$","main",null,{"className":"mx-auto grid w-full max-w-[1120px] grid-cols-[minmax(12rem,16rem)_minmax(0,1fr)] gap-6 px-5 pb-10 pt-6 max-[860px]:grid-cols-1","children":[["$","aside",null,{"className":"flex flex-col gap-2","children":[["$","h2",null,{"className":"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted","children":"Settings"}],["$","$L4",null,{}]]}],["$","section",null,{"className":"flex min-w-0 flex-col gap-4","children":[["$","header",null,{"className":"flex flex-col gap-1","children":[["$","h1",null,{"className":"m-0 text-[1.35rem] font-[650] tracking-tight","children":"General"}],["$","p",null,{"className":"m-0 text-[0.9rem] leading-relaxed text-muted","children":"Tracker startup, confirmations, and session behavior."}]]}],["$","ul",null,{"className":"m-0 flex w-full list-none flex-col gap-2 p-0","aria-label":"General settings","children":[["$","li",null,{"className":"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm","children":["$","$L5",null,{"sheet_names":["main","super-time-tracker-ui","muzical-ui","super-time-tracker","nova-paper"]}]}],["$","li",null,{"className":"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm","children":["$","$L6",null,{}]}],["$","li",null,{"className":"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm","children":["$","$L7",null,{}]}],["$","li",null,{"className":"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm","children":["$","$L8",null,{}]}]]}]]}]]}]],[["$","script","script-0",{"src":"/_next/static/chunks/0ytd28-7d8.21.js","async":true}]],["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"wHoiBM1uMbUIrfXkizlyC"}
12
12
  b:null
@@ -2,4 +2,4 @@
2
2
  2:I[5233,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js"],"default"]
3
3
  3:I[73632,["/_next/static/chunks/0zwqf-1atzont.js","/_next/static/chunks/0n~v8~rri7~t2.js"],"default"]
4
4
  4:[]
5
- 0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"nCFHHujcYM5EFaWSlUj2N"}
5
+ 0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"wHoiBM1uMbUIrfXkizlyC"}
@@ -0,0 +1,3 @@
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},68194,e=>{"use strict";var t=e.i(82214);e.s(["api_error_response",0,function(e,r=400){let n=e instanceof Error?e.message:String(e);return t.NextResponse.json({error:n},{status:r})}])},72507,e=>{"use strict";var t=e.i(60526),r=e.i(50227);let n="db.json",i=r.default.join(t.default.homedir(),".super-time-tracker"),a=r.default.join(i,n);e.s(["DB_FILE_NAME",0,n,"DB_PATH",0,a,"DB_VERSION",0,3,"DEFAULT_SHEET_NAME",0,"main"])},72127,30853,e=>{"use strict";e.s(["convert_json_db",0,function(e){let{sheets:t,version:r,activeSheetName:n}=e;return{version:r,activeSheetName:n,sheets:t.map(({name:e,entries:t,activeEntryID:r})=>({name:e,activeEntryID:r,entries:t.map(({id:e,start:t,end:r,description:n,tags:i,notes:a})=>({id:e,description:n,tags:i,notes:a.map(({timestamp:e,text:t})=>({text:t,timestamp:new Date(e)})),start:new Date(t),end:null===r?null:new Date(r)}))}))}}],72127);var t=e.i(2157);async function r(e){try{await t.promises.mkdir(e,{recursive:!0})}catch(e){if("EEXIST"!==(null!==e&&"object"==typeof e&&"code"in e&&"string"==typeof e.code?e.code:null))throw e}}e.s(["ensure_dir_exists",0,r],30853)},93361,e=>{"use strict";var t=e.i(72507);function r(e,t=[],n=null){if(0===e.length)throw Error("New sheet name must not be empty");if(null!==n&&void 0===t.find(({id:e})=>e===n))throw Error("New sheet active entry does not exist");return{name:e,entries:t,activeEntryID:n}}e.s(["gen_db",0,function(){return{version:t.DB_VERSION,sheets:[r(t.DEFAULT_SHEET_NAME)],activeSheetName:t.DEFAULT_SHEET_NAME}},"gen_sheet",0,r])},27440,24507,18212,e=>{"use strict";var t=e.i(50227),r=e.i(2157),n=e.i(72507),i=e.i(72127),a=e.i(30853),s=e.i(93361);let o={2:function(e){let{sheets:t,version:r,activeSheetName:n}=e;if(1!==r&&void 0!==r)throw Error(`DB is version ${r}, cannot migrate to version 2.`);return{version:2,activeSheetName:n,sheets:t.map(({name:e,entries:t,activeEntryID:r})=>({name:e,activeEntryID:r,entries:t.map(({id:e,start:t,end:r,description:n})=>({tags:[],notes:[],id:e,end:r,start:t,description:n}))}))}},3:function(e){let{sheets:t,version:r,activeSheetName:n}=e;if(2!==r&&void 0!==r)throw Error(`DB is version ${r}, cannot migrate to version 3.`);return{version:3,activeSheetName:n,sheets:t.map(({name:e,entries:t,activeEntryID:r})=>({name:e,activeEntryID:r,entries:t.map(({id:e,start:t,end:r,description:n,tags:i})=>({notes:[],tags:i,id:e,end:r,start:t,description:n}))}))}}};function l(e){let t=e,r=!1,i=void 0===t.version?1:t.version;if(i>n.DB_VERSION||i<1)throw Error(`Unknown DB version ${t.version}, cannot load.`);for(;i<n.DB_VERSION;){let e=i+1,n=o[e];if(void 0===n)throw Error(`Missing migration from version ${i} to ${e}.`);if((t=n(t)).version!==e)throw Error(`Invalid migration output for version ${e}.`);i=e,r=!0}return{json_db:t,did_migrate:r}}async function d(e,t=n.DB_PATH){let i=JSON.stringify(e);try{await r.promises.writeFile(t,i)}catch(e){throw Error(`Failed to save DB: ${String(e)}`,{cause:e})}}async function u(e=n.DB_PATH){let o,c=t.default.dirname(e);await (0,a.ensure_dir_exists)(c);try{await r.promises.access(e)}catch{let t=(0,s.gen_db)();return await d(t,e),t}let p=await r.promises.readFile(e,"utf-8");try{o=JSON.parse(p)}catch(t){throw Error(`DB at ${e} is invalid JSON: ${String(t)}`,{cause:t})}let h=l(o);o=h.json_db;let v=(0,i.convert_json_db)(o);return h.did_migrate&&await d(v,e),v}e.s(["migrate_json_db",0,l],24507),e.s(["write_db",0,d],18212),e.s(["read_db",0,u],27440)},93204,e=>{"use strict";e.s(["get_sheet",0,function(e,t){let r=e.sheets.find(({name:e})=>e===t);if(void 0===r)throw Error(`Sheet ${t} not found`);return r}])},81207,e=>{"use strict";e.s(["collect_known_tags",0,function(e){let t=new Set;for(let r of e.sheets)for(let e of r.entries)for(let r of e.tags){let e=r.trim();e.length>0&&t.add(e)}return[...t].sort((e,t)=>e.localeCompare(t))}])},4760,95634,e=>{"use strict";var t=e.i(81207),r=e.i(72507),n=e.i(93204),i=e.i(27440);function a(e,t,r){return{id:e.id,description:e.description,start:e.start.toISOString(),end:null===e.end?null:e.end.toISOString(),tags:e.tags,notes:e.notes.map(({timestamp:e,text:t})=>({timestamp:e.toISOString(),text:t})),sheetName:t,durationMs:function(e,t=Date.now()){let{end:r,start:n}=e;return Math.max(0,(null===r?t:+r)-n)}(e),isActive:r}}var s=e.i(93361),o=e.i(18212);async function l(e){let t=await (0,i.read_db)();t.sheets.some(({name:t})=>t===e)||t.sheets.push((0,s.gen_sheet)(e)),t.activeSheetName=e,await (0,o.write_db)(t)}async function d(e){let s=await (0,i.read_db)(),o=function(e,t){let n=t?.trim()??"";if(n.length>0&&e.sheets.some(e=>e.name===n))return n;if(null!==e.activeSheetName&&e.sheets.some(t=>t.name===e.activeSheetName))return e.activeSheetName;let i=e.sheets.find(e=>null!==e.activeEntryID);return void 0!==i?i.name:e.sheets[0]?.name??r.DEFAULT_SHEET_NAME}(s,e);s.activeSheetName!==o&&(await l(o),s.activeSheetName=o);let{activeSheetName:d,sheets:u}=s,c=[];null!==d&&(c=function(e,t){let r=[...e];switch(t){case"oldest":return r.sort((e,t)=>new Date(e.start).getTime()-new Date(t.start).getTime());case"duration":return r.sort((e,t)=>t.durationMs-e.durationMs);case"description":return r.sort((e,t)=>{let r=e.description.trim()||"Untitled entry",n=t.description.trim()||"Untitled entry";return r.localeCompare(n)});default:return r.sort((e,t)=>new Date(t.start).getTime()-new Date(e.start).getTime())}}(function(e){let{activeEntryID:t,entries:r,name:n}=e;return r.map(e=>a(e,n,t===e.id&&null===e.end))}((0,n.get_sheet)(s,d)),"newest"));let p=null!==d?function(e,t){let r=e.sheets.find(({name:e})=>e===t);if(void 0===r)return null;let{activeEntryID:n,entries:i,name:s}=r;if(null===n)return null;let o=i.find(({id:e})=>e===n);return void 0===o?null:a(o,s,null===o.end)}(s,d):null,h=function(e){let t=[];for(let r of e.sheets){let{activeEntryID:e,entries:n,name:i}=r;if(null===e)continue;let s=n.find(({id:t})=>t===e);void 0!==s&&null===s.end&&t.push(a(s,i,!0))}return t}(s),v=p??h[0]??null;return{dbPath:r.DB_PATH,activeSheetName:d,knownTags:(0,t.collect_known_tags)(s),sheets:u.map(e=>({name:e.name,activeEntryID:e.activeEntryID,entryCount:e.entries.length,isActive:e.name===d,hasActiveEntry:null!==e.activeEntryID})),activeEntry:p,runningEntry:v,runningEntries:h,activeSheetEntries:c,activeSheetTotalMs:c.reduce((e,t)=>e+t.durationMs,0)}}e.s(["set_active_sheet",0,l],95634),e.s(["get_tracker_state",0,d],4760)},6341,e=>{"use strict";e.s(["validate_entry_times",0,function(e,t){if(null!==t&&+e>=+t)throw Error("Start must be before end")}])},95688,e=>{"use strict";e.s(["parse_entry_from_input",0,function(e,t,r,n){return{id:e,tags:t.match(/@\w+/g)??[],notes:[],description:t.split(/@\w+/).join(" ").trim(),start:r??new Date,end:n??null}}])},3763,e=>{"use strict";var t=e.i(973),r=e.i(39210),n=e.i(13132),i=e.i(14579),a=e.i(47092),s=e.i(34740),o=e.i(77667),l=e.i(11979),d=e.i(54202),u=e.i(39093),c=e.i(95106),p=e.i(57255),h=e.i(96492),v=e.i(27930),m=e.i(24131),f=e.i(93695);e.i(20216);var _=e.i(84975),g=e.i(82214),E=e.i(68194),w=e.i(93204),y=e.i(27440),x=e.i(18212);async function R(e){let{entry_id:t,sheet_name:r}=e,n=await (0,y.read_db)(),i=(0,w.get_sheet)(n,r),a=i.entries.findIndex(({id:e})=>e===t);if(-1===a)throw Error(`Entry ${t} not found in sheet ${r}`);i.activeEntryID===t&&(i.activeEntryID=null),i.entries.splice(a,1),await (0,x.write_db)(n)}function S(e){return void 0!==e&&e.trim().length>0}var N=e.i(95688),D=e.i(64562),b=e.i(6341);async function A(e){let{description:t,end:r,entry_id:n,sheet_name:i,start:a}=e,s=await (0,y.read_db)(),o=(0,w.get_sheet)(s,i).entries.find(({id:e})=>e===n);if(void 0===o)throw Error(`Entry ${n} not found in sheet ${i}`);let l=!1;if(S(t)){let e=(0,N.parse_entry_from_input)(o.id,t,o.start,o.end);o.description=e.description.length>0?e.description:t.trim(),o.tags=e.tags,l=!0}if(S(a)&&(o.start=(0,D.parse_natural_language_date)(a),l=!0),S(r)&&(o.end=(0,D.parse_natural_language_date)(r),l=!0),!l)throw Error("No changes provided");return(0,b.validate_entry_times)(o.start,o.end),await (0,x.write_db)(s),o}var T=e.i(4760);async function I(e){try{let t=await e.json(),r=t.sheetName?.trim()??"",n=t.entryId;if(0===r.length)return(0,E.api_error_response)(Error("Sheet name is required"));if(void 0===n||!Number.isFinite(n))return(0,E.api_error_response)(Error("Entry id is required"));await R({sheet_name:r,entry_id:n});let i=await (0,T.get_tracker_state)();return g.NextResponse.json(i)}catch(e){return(0,E.api_error_response)(e)}}async function C(e){try{let t=await e.json(),r=t.sheetName?.trim()??"",n=t.entryId;if(0===r.length)return(0,E.api_error_response)(Error("Sheet name is required"));if(void 0===n||!Number.isFinite(n))return(0,E.api_error_response)(Error("Entry id is required"));await A({sheet_name:r,entry_id:n,start:t.start,end:t.end,description:t.description});let i=await (0,T.get_tracker_state)();return g.NextResponse.json(i)}catch(e){return(0,E.api_error_response)(e)}}e.s(["PATCH",0,C,"POST",0,I],58581);var O=e.i(58581);let j=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/entry/route",pathname:"/api/entry",filename:"route",bundlePath:""},distDir:"next-output",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/entry/route.ts",nextConfigOutput:"standalone",userland:O,...{}}),{workAsyncStorage:q,workUnitAsyncStorage:P,serverHooks:k}=j;async function M(e,t,n){n.requestMeta&&(0,i.setRequestMeta)(e,n.requestMeta),j.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/entry/route";g=g.replace(/\/index$/,"")||"/";let E=await j.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:w,deploymentId:y,params:x,nextConfig:R,parsedUrl:S,isDraftMode:N,prerenderManifest:D,routerServerContext:b,isOnDemandRevalidate:A,revalidateOnlyGenerated:T,resolvedPathname:I,clientReferenceManifest:C,serverActionsManifest:O}=E,q=(0,o.normalizeAppPath)(g),P=!!(D.dynamicRoutes[q]||D.routes[I]),k=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,S,!1):t.end("This page could not be found"),null);if(P&&!N){let e=!!D.routes[I],t=D.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await k();throw new f.NoFallbackError}}let M=null;!P||j.isDev||N||(M="/index"===(M=I)?"/":M);let H=!0===j.isDev||!P,U=P&&!H;O&&C&&(0,s.setManifestsSingleton)({page:g,clientReferenceManifest:C,serverActionsManifest:O});let $=e.method||"GET",B=(0,a.getTracer)(),F=B.getActiveScopeSpan(),L=!!(null==b?void 0:b.isWrappedByNextServer),K=!!(0,i.getRequestMeta)(e,"minimalMode"),V=(0,i.getRequestMeta)(e,"incrementalCache")||await j.getIncrementalCache(e,R,D,K);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let X={params:x,previewProps:D.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:H,incrementalCache:V,cacheLifeProfiles:R.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,i)=>j.onRequestError(e,t,n,i,b)},sharedContext:{buildId:w,deploymentId:y}},G=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest(G,(0,d.signalFromNodeResponse)(t));try{let i,s=async e=>j.handle(W,X).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${$} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${$} ${g}`)}),o=async i=>{var a,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&A&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(i);e.fetchMetrics=X.renderOpts.fetchMetrics;let o=X.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=X.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(G,J,a,X.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,n=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:X.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await j.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,b),t}},d=await j.handleResponse({req:e,nextConfig:R,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:D,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:K});if(!P)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",A?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return K&&P||u.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,v.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(G,J,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};L&&F?await o(F):(i=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(u.BaseServerSpan.handleRequest,{spanName:`${$} ${g}`,kind:a.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},o),void 0,!L))}catch(t){if(t instanceof f.NoFallbackError||await j.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:A})},!1,b),P)throw t;return await (0,p.sendResponse)(G,J,new Response(null,{status:500})),null}}e.s(["handler",0,M,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:q,workUnitAsyncStorage:P})},"routeModule",0,j,"serverHooks",0,k,"workAsyncStorage",0,q,"workUnitAsyncStorage",0,P],3763)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0_vmm81._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},68194,e=>{"use strict";var t=e.i(82214);e.s(["api_error_response",0,function(e,r=400){let n=e instanceof Error?e.message:String(e);return t.NextResponse.json({error:n},{status:r})}])},72507,e=>{"use strict";var t=e.i(60526),r=e.i(50227);let n="db.json",i=r.default.join(t.default.homedir(),".super-time-tracker"),a=r.default.join(i,n);e.s(["DB_FILE_NAME",0,n,"DB_PATH",0,a,"DB_VERSION",0,3,"DEFAULT_SHEET_NAME",0,"main"])},93361,e=>{"use strict";var t=e.i(72507);function r(e,t=[],n=null){if(0===e.length)throw Error("New sheet name must not be empty");if(null!==n&&void 0===t.find(({id:e})=>e===n))throw Error("New sheet active entry does not exist");return{name:e,entries:t,activeEntryID:n}}e.s(["gen_db",0,function(){return{version:t.DB_VERSION,sheets:[r(t.DEFAULT_SHEET_NAME)],activeSheetName:t.DEFAULT_SHEET_NAME}},"gen_sheet",0,r])},72127,30853,e=>{"use strict";e.s(["convert_json_db",0,function(e){let{sheets:t,version:r,activeSheetName:n}=e;return{version:r,activeSheetName:n,sheets:t.map(({name:e,entries:t,activeEntryID:r})=>({name:e,activeEntryID:r,entries:t.map(({id:e,start:t,end:r,description:n,tags:i,notes:a})=>({id:e,description:n,tags:i,notes:a.map(({timestamp:e,text:t})=>({text:t,timestamp:new Date(e)})),start:new Date(t),end:null===r?null:new Date(r)}))}))}}],72127);var t=e.i(2157);async function r(e){try{await t.promises.mkdir(e,{recursive:!0})}catch(e){if("EEXIST"!==(null!==e&&"object"==typeof e&&"code"in e&&"string"==typeof e.code?e.code:null))throw e}}e.s(["ensure_dir_exists",0,r],30853)},27440,24507,18212,e=>{"use strict";var t=e.i(50227),r=e.i(2157),n=e.i(72507),i=e.i(72127),a=e.i(30853),s=e.i(93361);let o={2:function(e){let{sheets:t,version:r,activeSheetName:n}=e;if(1!==r&&void 0!==r)throw Error(`DB is version ${r}, cannot migrate to version 2.`);return{version:2,activeSheetName:n,sheets:t.map(({name:e,entries:t,activeEntryID:r})=>({name:e,activeEntryID:r,entries:t.map(({id:e,start:t,end:r,description:n})=>({tags:[],notes:[],id:e,end:r,start:t,description:n}))}))}},3:function(e){let{sheets:t,version:r,activeSheetName:n}=e;if(2!==r&&void 0!==r)throw Error(`DB is version ${r}, cannot migrate to version 3.`);return{version:3,activeSheetName:n,sheets:t.map(({name:e,entries:t,activeEntryID:r})=>({name:e,activeEntryID:r,entries:t.map(({id:e,start:t,end:r,description:n,tags:i})=>({notes:[],tags:i,id:e,end:r,start:t,description:n}))}))}}};function l(e){let t=e,r=!1,i=void 0===t.version?1:t.version;if(i>n.DB_VERSION||i<1)throw Error(`Unknown DB version ${t.version}, cannot load.`);for(;i<n.DB_VERSION;){let e=i+1,n=o[e];if(void 0===n)throw Error(`Missing migration from version ${i} to ${e}.`);if((t=n(t)).version!==e)throw Error(`Invalid migration output for version ${e}.`);i=e,r=!0}return{json_db:t,did_migrate:r}}async function u(e,t=n.DB_PATH){let i=JSON.stringify(e);try{await r.promises.writeFile(t,i)}catch(e){throw Error(`Failed to save DB: ${String(e)}`,{cause:e})}}async function d(e=n.DB_PATH){let o,c=t.default.dirname(e);await (0,a.ensure_dir_exists)(c);try{await r.promises.access(e)}catch{let t=(0,s.gen_db)();return await u(t,e),t}let p=await r.promises.readFile(e,"utf-8");try{o=JSON.parse(p)}catch(t){throw Error(`DB at ${e} is invalid JSON: ${String(t)}`,{cause:t})}let h=l(o);o=h.json_db;let v=(0,i.convert_json_db)(o);return h.did_migrate&&await u(v,e),v}e.s(["migrate_json_db",0,l],24507),e.s(["write_db",0,u],18212),e.s(["read_db",0,d],27440)},93204,e=>{"use strict";e.s(["get_sheet",0,function(e,t){let r=e.sheets.find(({name:e})=>e===t);if(void 0===r)throw Error(`Sheet ${t} not found`);return r}])},81207,e=>{"use strict";e.s(["collect_known_tags",0,function(e){let t=new Set;for(let r of e.sheets)for(let e of r.entries)for(let r of e.tags){let e=r.trim();e.length>0&&t.add(e)}return[...t].sort((e,t)=>e.localeCompare(t))}])},4760,95634,e=>{"use strict";var t=e.i(81207),r=e.i(72507),n=e.i(93204),i=e.i(27440);function a(e,t,r){return{id:e.id,description:e.description,start:e.start.toISOString(),end:null===e.end?null:e.end.toISOString(),tags:e.tags,notes:e.notes.map(({timestamp:e,text:t})=>({timestamp:e.toISOString(),text:t})),sheetName:t,durationMs:function(e,t=Date.now()){let{end:r,start:n}=e;return Math.max(0,(null===r?t:+r)-n)}(e),isActive:r}}var s=e.i(93361),o=e.i(18212);async function l(e){let t=await (0,i.read_db)();t.sheets.some(({name:t})=>t===e)||t.sheets.push((0,s.gen_sheet)(e)),t.activeSheetName=e,await (0,o.write_db)(t)}async function u(e){let s=await (0,i.read_db)(),o=function(e,t){let n=t?.trim()??"";if(n.length>0&&e.sheets.some(e=>e.name===n))return n;if(null!==e.activeSheetName&&e.sheets.some(t=>t.name===e.activeSheetName))return e.activeSheetName;let i=e.sheets.find(e=>null!==e.activeEntryID);return void 0!==i?i.name:e.sheets[0]?.name??r.DEFAULT_SHEET_NAME}(s,e);s.activeSheetName!==o&&(await l(o),s.activeSheetName=o);let{activeSheetName:u,sheets:d}=s,c=[];null!==u&&(c=function(e,t){let r=[...e];switch(t){case"oldest":return r.sort((e,t)=>new Date(e.start).getTime()-new Date(t.start).getTime());case"duration":return r.sort((e,t)=>t.durationMs-e.durationMs);case"description":return r.sort((e,t)=>{let r=e.description.trim()||"Untitled entry",n=t.description.trim()||"Untitled entry";return r.localeCompare(n)});default:return r.sort((e,t)=>new Date(t.start).getTime()-new Date(e.start).getTime())}}(function(e){let{activeEntryID:t,entries:r,name:n}=e;return r.map(e=>a(e,n,t===e.id&&null===e.end))}((0,n.get_sheet)(s,u)),"newest"));let p=null!==u?function(e,t){let r=e.sheets.find(({name:e})=>e===t);if(void 0===r)return null;let{activeEntryID:n,entries:i,name:s}=r;if(null===n)return null;let o=i.find(({id:e})=>e===n);return void 0===o?null:a(o,s,null===o.end)}(s,u):null,h=function(e){let t=[];for(let r of e.sheets){let{activeEntryID:e,entries:n,name:i}=r;if(null===e)continue;let s=n.find(({id:t})=>t===e);void 0!==s&&null===s.end&&t.push(a(s,i,!0))}return t}(s),v=p??h[0]??null;return{dbPath:r.DB_PATH,activeSheetName:u,knownTags:(0,t.collect_known_tags)(s),sheets:d.map(e=>({name:e.name,activeEntryID:e.activeEntryID,entryCount:e.entries.length,isActive:e.name===u,hasActiveEntry:null!==e.activeEntryID})),activeEntry:p,runningEntry:v,runningEntries:h,activeSheetEntries:c,activeSheetTotalMs:c.reduce((e,t)=>e+t.durationMs,0)}}e.s(["set_active_sheet",0,l],95634),e.s(["get_tracker_state",0,u],4760)},95688,e=>{"use strict";e.s(["parse_entry_from_input",0,function(e,t,r,n){return{id:e,tags:t.match(/@\w+/g)??[],notes:[],description:t.split(/@\w+/).join(" ").trim(),start:r??new Date,end:n??null}}])},24087,e=>{"use strict";var t=e.i(973),r=e.i(39210),n=e.i(13132),i=e.i(14579),a=e.i(47092),s=e.i(34740),o=e.i(77667),l=e.i(11979),u=e.i(54202),d=e.i(39093),c=e.i(95106),p=e.i(57255),h=e.i(96492),v=e.i(27930),m=e.i(24131),f=e.i(93695);e.i(20216);var g=e.i(84975),E=e.i(82214),w=e.i(68194),_=e.i(93361),x=e.i(93204),y=e.i(95688),R=e.i(64562),S=e.i(27440),N=e.i(18212);async function D(e){var t,r;let n,{at:i,description:a,note:s,sheet_name:o}=e,l=await (0,S.read_db)(),u=l.activeSheetName,d=void 0===o||0===o.length?u:o;if(null===d)throw Error("No active sheet");let c=l.sheets.some(({name:e})=>e===d)?(0,x.get_sheet)(l,d):(t=l,r=d,n=(0,_.gen_sheet)(r),t.sheets.push(n),n);if(null!==c.activeEntryID){let e=c.entries.find(({id:e})=>e===c.activeEntryID);if(void 0!==e)throw Error(`An entry is already active (${e.id}): ${e.description}`);c.activeEntryID=null}let p=void 0===i||0===i.trim().length?new Date:(0,R.parse_natural_language_date)(i),h=c.entries.length,v=(0,y.parse_entry_from_input)(h,a,p),m={...v,description:v.description.length>0?v.description:a.trim()};return void 0!==s&&s.length>0&&m.notes.push({timestamp:new Date,text:s}),c.entries.push(m),c.activeEntryID=h,l.activeSheetName=c.name,await (0,N.write_db)(l),m}var A=e.i(4760);async function b(e){try{let t=await e.json(),r=t.description?.trim()??"";if(0===r.length)return(0,w.api_error_response)(Error("Description is required"));await D({description:r,sheet_name:t.sheetName,note:t.note,at:t.at});let n=await (0,A.get_tracker_state)();return E.NextResponse.json(n)}catch(e){return(0,w.api_error_response)(e)}}e.s(["POST",0,b],18532);var T=e.i(18532);let I=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/in/route",pathname:"/api/in",filename:"route",bundlePath:""},distDir:"next-output",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/in/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:O,serverHooks:P}=I;async function j(e,t,n){n.requestMeta&&(0,i.setRequestMeta)(e,n.requestMeta),I.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/in/route";E=E.replace(/\/index$/,"")||"/";let w=await I.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:_,deploymentId:x,params:y,nextConfig:R,parsedUrl:S,isDraftMode:N,prerenderManifest:D,routerServerContext:A,isOnDemandRevalidate:b,revalidateOnlyGenerated:T,resolvedPathname:C,clientReferenceManifest:O,serverActionsManifest:P}=w,j=(0,o.normalizeAppPath)(E),k=!!(D.dynamicRoutes[j]||D.routes[C]),q=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,S,!1):t.end("This page could not be found"),null);if(k&&!N){let e=!!D.routes[C],t=D.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await q();throw new f.NoFallbackError}}let M=null;!k||I.isDev||N||(M="/index"===(M=C)?"/":M);let H=!0===I.isDev||!k,U=k&&!H;P&&O&&(0,s.setManifestsSingleton)({page:E,clientReferenceManifest:O,serverActionsManifest:P});let $=e.method||"GET",B=(0,a.getTracer)(),F=B.getActiveScopeSpan(),L=!!(null==A?void 0:A.isWrappedByNextServer),K=!!(0,i.getRequestMeta)(e,"minimalMode"),V=(0,i.getRequestMeta)(e,"incrementalCache")||await I.getIncrementalCache(e,R,D,K);null==V||V.resetRequestCache(),globalThis.__incrementalCache=V;let X={params:y,previewProps:D.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:H,incrementalCache:V,cacheLifeProfiles:R.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,i)=>I.onRequestError(e,t,n,i,A)},sharedContext:{buildId:_,deploymentId:x}},G=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let i,s=async e=>I.handle(W,X).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${$} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",n),i.updateName(t))}else e.updateName(`${$} ${E}`)}),o=async i=>{var a,o;let l=async({previousCacheEntry:r})=>{try{if(!K&&b&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await s(i);e.fetchMetrics=X.renderOpts.fetchMetrics;let o=X.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let l=X.renderOpts.collectedTags;if(!k)return await (0,p.sendResponse)(G,J,a,X.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,n=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:X.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await I.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:b})},!1,A),t}},u=await I.handleResponse({req:e,nextConfig:R,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:D,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:K});if(!k)return null;if((null==u||null==(a=u.value)?void 0:a.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(o=u.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",b?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&k||d.delete(m.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,v.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(G,J,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};L&&F?await o(F):(i=B.getActiveScopeSpan(),await B.withPropagatedContext(e.headers,()=>B.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${E}`,kind:a.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},o),void 0,!L))}catch(t){if(t instanceof f.NoFallbackError||await I.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:b})},!1,A),k)throw t;return await (0,p.sendResponse)(G,J,new Response(null,{status:500})),null}}e.s(["handler",0,j,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:O})},"routeModule",0,I,"serverHooks",0,P,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,O],24087)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0y8pcoc._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[69749,a=>{"use strict";a.s(["get_input_class_name",0,function(a="default"){let b="box-border max-w-full min-w-0 w-full rounded-[0.65rem] border border-panel-border bg-input-bg px-3 py-2.5 font-inherit text-inherit transition-[background-color,border-color] duration-200 focus:border-input-focus-border focus:outline-none";return"compact"===a?`${b} px-2.5 py-2`:b}])},85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/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:"m-0 flex w-full list-none flex-col gap-0.5 p-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},7048,a=>{"use strict";let b=new Set,c="Settings saved";a.s(["SETTINGS_SAVED_DEFAULT_MESSAGE",0,c,"notify_settings_saved",0,function(a=c){},"subscribe_settings_saved",0,function(a){return b.add(a),()=>{b.delete(a)}}])},78823,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(7048);a.s(["SettingsSavedToast",0,function(){let[a,e]=(0,c.useState)(null);return((0,c.useEffect)(()=>{let a=null,b=(0,d.subscribe_settings_saved)(b=>{e(b),null!==a&&clearTimeout(a),a=setTimeout(()=>{e(null),a=null},2800)});return()=>{b(),null!==a&&clearTimeout(a)}},[]),null===a)?null:(0,b.jsx)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"pointer-events-none fixed bottom-6 left-1/2 z-50 -translate-x-1/2 rounded-md border border-accent-border bg-panel px-4 py-2.5 text-[0.88rem] font-medium text-foreground shadow-md transition-[opacity,transform] duration-200",children:a||d.SETTINGS_SAVED_DEFAULT_MESSAGE})}])},30354,48174,a=>{"use strict";var b=a.i(39752),c=a.i(34542);function d(a){return a.startsWith("@")?a:`@${a}`}a.s(["format_display_tag",0,d],48174);var e=a.i(69749);a.s(["TagAutocompleteInput",0,function({id:a,value:f,known_tags:g,placeholder:h,disabled:i=!1,autoFocus:j=!1,on_change:k}){let l=(0,c.useRef)(null),m=(0,c.useRef)(null),n=(0,c.useRef)(null),[o,p]=(0,c.useState)(0),[q,r]=(0,c.useState)(0),s=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}}(f,o),t=null===s?[]: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)}(g,s.query),u=null!==s&&t.length>0&&!i;(0,c.useLayoutEffect)(()=>{null!==n.current&&null!==l.current&&(l.current.setSelectionRange(n.current,n.current),p(n.current),n.current=null)},[f]),(0,c.useEffect)(()=>{r(0)},[f,o,t.length]);let v=()=>{p(l.current?.selectionStart??f.length)},w=()=>{r(0)},x=a=>{let b,c,e;if(null===s)return;let{next_text:g,next_cursor:h}=(b=d(a),c=f.slice(0,s.start_index),e=f.slice(s.end_index),{next_text:`${c}${b}${e}`,next_cursor:c.length+b.length});n.current=h,k(g),w()};return(0,b.jsxs)("div",{className:"relative min-w-0",children:[(0,b.jsx)("input",{ref:l,id:a,type:"text",className:(0,e.get_input_class_name)(),value:f,placeholder:h,disabled:i,autoFocus:j,autoComplete:"off","aria-autocomplete":"list","aria-expanded":u,"aria-controls":u?`${a}-tag-suggestions`:void 0,onChange:a=>{k(a.target.value),p(a.target.selectionStart??a.target.value.length)},onClick:v,onKeyUp:v,onKeyDown:a=>{if(u){if("ArrowDown"===a.key){a.preventDefault(),r(a=>(a+1)%t.length);return}if("ArrowUp"===a.key){a.preventDefault(),r(a=>(a-1+t.length)%t.length);return}if("Enter"===a.key||"Tab"===a.key){a.preventDefault();let b=t[q];void 0!==b&&x(b);return}"Escape"===a.key&&(a.preventDefault(),w())}},onBlur:()=>{window.setTimeout(w,120)}}),u?(0,b.jsx)("ul",{ref:m,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:t.map((a,c)=>(0,b.jsx)("li",{role:"option","aria-selected":c===q,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===q?"bg-surface-hover":""}`,onMouseDown:b=>{b.preventDefault(),x(a)},children:d(a)})},a))}):null]})}],30354)},53372,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(53030),e=a.i(85393),f=a.i(78823),g=a.i(98790);function h({breadcrumb:a,title:c,description:d,children:i}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.SettingsSavedToast,{}),(0,b.jsx)(g.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-6 px-5 pb-10 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)(e.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:c}),void 0!==d?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:d}):null]}),i]})]})]})}var i=a.i(30354),j=a.i(48174),k=a.i(89969),l=a.i(69749);function m(a,b,c){let d=a.map(a=>(0,j.format_display_tag)(a)).join(", "),e=(0,j.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"}}a.s(["TagManagementView",0,function({initial_tags:a}){let{confirm:e}=(0,d.use_confirm_dialog)(),[f,g]=(0,c.useState)(a),[n,o]=(0,c.useState)(()=>new Set),[p,q]=(0,c.useState)({}),[r,s]=(0,c.useState)(""),[t,u]=(0,c.useState)(null),[v,w]=(0,c.useState)(null),[x,y]=(0,c.useState)(!1),z=(0,c.useMemo)(()=>f.map(a=>a.name),[f]),A=f.filter(a=>n.has(a.name)).reduce((a,b)=>a+b.entryCount,0),B=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();g(c.tags),o(new Set),w(1===c.entries_updated?"Updated 1 entry.":`Updated ${c.entries_updated} entries.`)},C=async a=>{let b=p[a]?.trim()??"";if(0===b.length)return void u("Enter a new tag name.");let c=f.find(b=>b.name===a);if(void 0===c)return;let d=f.find(a=>(0,j.format_display_tag)(a.name)===(0,j.format_display_tag)(b)),g=void 0!==d&&d.name!==a?c.entryCount+d.entryCount:c.entryCount;if(await e(m([a],b,g))){y(!0),u(null),w(null);try{await B({action:"rename",fromTag:a,toTag:b}),q(b=>{let c={...b};return delete c[a],c})}catch(a){u(a instanceof Error?a.message:String(a))}finally{y(!1)}}},D=async()=>{let a=[...n];if(a.length<2)return void u("Select at least two tags to merge.");if(0===r.trim().length)return void u("Enter a target tag for the merge.");if(await e(m(a,r,A))){y(!0),u(null),w(null);try{await B({action:"merge",sourceTags:a,targetTag:r}),s("")}catch(a){u(a instanceof Error?a.message:String(a))}finally{y(!1)}}};return(0,b.jsxs)(h,{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)(i.TagAutocompleteInput,{id:"merge-target-tag",value:r,known_tags:z,placeholder:"e.g. @project",disabled:x,on_change:s})]}),(0,b.jsxs)("button",{type:"button",className:`${(0,k.get_button_class_name)("primary","small")} mt-3`,disabled:x||n.size<2,onClick:()=>void D(),children:["Merge ",n.size," tags"]})]}),0===f.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:f.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(),C(a.name)},children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:n.has(a.name),disabled:x,"aria-label":`Select ${(0,j.format_display_tag)(a.name)}`,onChange:()=>{var b;return b=a.name,void o(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,j.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,l.get_input_class_name)("compact"),value:p[a.name]??"",placeholder:"Rename to…","aria-label":`Rename ${(0,j.format_display_tag)(a.name)}`,disabled:x,onChange:b=>q(c=>({...c,[a.name]:b.target.value}))}),(0,b.jsx)("button",{type:"submit",className:`${(0,k.get_button_class_name)("ghost","small")} shrink-0`,disabled:x||(p[a.name]?.trim().length??0)===0,children:"Rename"})]})]})},a.name))}),null!==v?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] text-accent",children:v}):null,null!==t?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] text-danger",children:t}):null]})}],53372)}];
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}])},7048,a=>{"use strict";let b=new Set,c="Settings saved";a.s(["SETTINGS_SAVED_DEFAULT_MESSAGE",0,c,"notify_settings_saved",0,function(a=c){},"subscribe_settings_saved",0,function(a){return b.add(a),()=>{b.delete(a)}}])},85393,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(82508);let e=[{href:"/settings",label:"General",match:a=>"/settings"===a},{href:"/settings/display",label:"Display & layout",match:a=>a.startsWith("/settings/display")},{href:"/settings/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:"m-0 flex w-full list-none flex-col gap-0.5 p-0",children:e.map(d=>{let e=d.match(a);return(0,b.jsx)("li",{children:(0,b.jsx)(c.default,{href:d.href,"aria-current":e?"page":void 0,className:`block rounded-md px-3 py-2 text-[0.9rem] no-underline transition-colors duration-150 ${e?"bg-accent-soft text-foreground":"text-muted hover:bg-surface-hover hover:text-foreground"}`,children:d.label})},d.href)})})})}])},78823,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(7048);a.s(["SettingsSavedToast",0,function(){let[a,e]=(0,c.useState)(null);return((0,c.useEffect)(()=>{let a=null,b=(0,d.subscribe_settings_saved)(b=>{e(b),null!==a&&clearTimeout(a),a=setTimeout(()=>{e(null),a=null},2800)});return()=>{b(),null!==a&&clearTimeout(a)}},[]),null===a)?null:(0,b.jsx)("div",{role:"status","aria-live":"polite","aria-atomic":"true",className:"pointer-events-none fixed bottom-6 left-1/2 z-50 -translate-x-1/2 rounded-md border border-accent-border bg-panel px-4 py-2.5 text-[0.88rem] font-medium text-foreground shadow-md transition-[opacity,transform] duration-200",children:a||d.SETTINGS_SAVED_DEFAULT_MESSAGE})}])},30354,48174,a=>{"use strict";var b=a.i(39752),c=a.i(34542);function d(a){return a.startsWith("@")?a:`@${a}`}a.s(["format_display_tag",0,d],48174);var e=a.i(69749);a.s(["TagAutocompleteInput",0,function({id:a,value:f,known_tags:g,placeholder:h,disabled:i=!1,autoFocus:j=!1,on_change:k}){let l=(0,c.useRef)(null),m=(0,c.useRef)(null),n=(0,c.useRef)(null),[o,p]=(0,c.useState)(0),[q,r]=(0,c.useState)(0),s=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}}(f,o),t=null===s?[]: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)}(g,s.query),u=null!==s&&t.length>0&&!i;(0,c.useLayoutEffect)(()=>{null!==n.current&&null!==l.current&&(l.current.setSelectionRange(n.current,n.current),p(n.current),n.current=null)},[f]),(0,c.useEffect)(()=>{r(0)},[f,o,t.length]);let v=()=>{p(l.current?.selectionStart??f.length)},w=()=>{r(0)},x=a=>{let b,c,e;if(null===s)return;let{next_text:g,next_cursor:h}=(b=d(a),c=f.slice(0,s.start_index),e=f.slice(s.end_index),{next_text:`${c}${b}${e}`,next_cursor:c.length+b.length});n.current=h,k(g),w()};return(0,b.jsxs)("div",{className:"relative min-w-0",children:[(0,b.jsx)("input",{ref:l,id:a,type:"text",className:(0,e.get_input_class_name)(),value:f,placeholder:h,disabled:i,autoFocus:j,autoComplete:"off","aria-autocomplete":"list","aria-expanded":u,"aria-controls":u?`${a}-tag-suggestions`:void 0,onChange:a=>{k(a.target.value),p(a.target.selectionStart??a.target.value.length)},onClick:v,onKeyUp:v,onKeyDown:a=>{if(u){if("ArrowDown"===a.key){a.preventDefault(),r(a=>(a+1)%t.length);return}if("ArrowUp"===a.key){a.preventDefault(),r(a=>(a-1+t.length)%t.length);return}if("Enter"===a.key||"Tab"===a.key){a.preventDefault();let b=t[q];void 0!==b&&x(b);return}"Escape"===a.key&&(a.preventDefault(),w())}},onBlur:()=>{window.setTimeout(w,120)}}),u?(0,b.jsx)("ul",{ref:m,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:t.map((a,c)=>(0,b.jsx)("li",{role:"option","aria-selected":c===q,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===q?"bg-surface-hover":""}`,onMouseDown:b=>{b.preventDefault(),x(a)},children:d(a)})},a))}):null]})}],30354)},53372,a=>{"use strict";var b=a.i(39752),c=a.i(34542),d=a.i(53030),e=a.i(85393),f=a.i(78823),g=a.i(98790);function h({breadcrumb:a,title:c,description:d,children:i}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.SettingsSavedToast,{}),(0,b.jsx)(g.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-6 px-5 pb-10 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)(e.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:c}),void 0!==d?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:d}):null]}),i]})]})]})}var i=a.i(30354),j=a.i(48174),k=a.i(89969),l=a.i(69749);function m(a,b,c){let d=a.map(a=>(0,j.format_display_tag)(a)).join(", "),e=(0,j.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"}}a.s(["TagManagementView",0,function({initial_tags:a}){let{confirm:e}=(0,d.use_confirm_dialog)(),[f,g]=(0,c.useState)(a),[n,o]=(0,c.useState)(()=>new Set),[p,q]=(0,c.useState)({}),[r,s]=(0,c.useState)(""),[t,u]=(0,c.useState)(null),[v,w]=(0,c.useState)(null),[x,y]=(0,c.useState)(!1),z=(0,c.useMemo)(()=>f.map(a=>a.name),[f]),A=f.filter(a=>n.has(a.name)).reduce((a,b)=>a+b.entryCount,0),B=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();g(c.tags),o(new Set),w(1===c.entries_updated?"Updated 1 entry.":`Updated ${c.entries_updated} entries.`)},C=async a=>{let b=p[a]?.trim()??"";if(0===b.length)return void u("Enter a new tag name.");let c=f.find(b=>b.name===a);if(void 0===c)return;let d=f.find(a=>(0,j.format_display_tag)(a.name)===(0,j.format_display_tag)(b)),g=void 0!==d&&d.name!==a?c.entryCount+d.entryCount:c.entryCount;if(await e(m([a],b,g))){y(!0),u(null),w(null);try{await B({action:"rename",fromTag:a,toTag:b}),q(b=>{let c={...b};return delete c[a],c})}catch(a){u(a instanceof Error?a.message:String(a))}finally{y(!1)}}},D=async()=>{let a=[...n];if(a.length<2)return void u("Select at least two tags to merge.");if(0===r.trim().length)return void u("Enter a target tag for the merge.");if(await e(m(a,r,A))){y(!0),u(null),w(null);try{await B({action:"merge",sourceTags:a,targetTag:r}),s("")}catch(a){u(a instanceof Error?a.message:String(a))}finally{y(!1)}}};return(0,b.jsxs)(h,{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)(i.TagAutocompleteInput,{id:"merge-target-tag",value:r,known_tags:z,placeholder:"e.g. @project",disabled:x,on_change:s})]}),(0,b.jsxs)("button",{type:"button",className:`${(0,k.get_button_class_name)("primary","small")} mt-3`,disabled:x||n.size<2,onClick:()=>void D(),children:["Merge ",n.size," tags"]})]}),0===f.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:f.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(),C(a.name)},children:[(0,b.jsx)("input",{type:"checkbox",className:"shrink-0",checked:n.has(a.name),disabled:x,"aria-label":`Select ${(0,j.format_display_tag)(a.name)}`,onChange:()=>{var b;return b=a.name,void o(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,j.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,l.get_input_class_name)("compact"),value:p[a.name]??"",placeholder:"Rename to…","aria-label":`Rename ${(0,j.format_display_tag)(a.name)}`,disabled:x,onChange:b=>q(c=>({...c,[a.name]:b.target.value}))}),(0,b.jsx)("button",{type:"submit",className:`${(0,k.get_button_class_name)("ghost","small")} shrink-0`,disabled:x||(p[a.name]?.trim().length??0)===0,children:"Rename"})]})]})},a.name))}),null!==v?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] text-accent",children:v}):null,null!==t?(0,b.jsx)("p",{className:"m-0 text-[0.9rem] text-danger",children:t}):null]})}],53372)}];
2
2
 
3
- //# sourceMappingURL=_0gz6nul._.js.map
3
+ //# sourceMappingURL=_02-gx7.._.js.map