super-time-tracker-ui 0.1.42 → 0.1.45
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.
- package/dist/standalone/next-output/BUILD_ID +1 -1
- package/dist/standalone/next-output/build-manifest.json +3 -3
- package/dist/standalone/next-output/server/app/_global-error.html +1 -1
- package/dist/standalone/next-output/server/app/_global-error.rsc +1 -1
- package/dist/standalone/next-output/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/next-output/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/standalone/next-output/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/standalone/next-output/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/standalone/next-output/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/standalone/next-output/server/app/_not-found/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/login/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/login/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/login/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/offline/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/offline/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/offline/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/page/react-loadable-manifest.json +2 -2
- package/dist/standalone/next-output/server/app/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/pomodoro/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/pomodoro/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/pomodoro/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/register/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/register/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/register/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/reporting/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/reporting/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/reporting/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/review/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/review/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/review/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/search/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/search/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/search/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/settings/ai-suggestions/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/settings/ai-suggestions/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/settings/ai-suggestions/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/settings/cloud-sync/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/settings/cloud-sync/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/settings/cloud-sync/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/settings/data/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/settings/data/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/settings/data/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/settings/display/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/settings/display/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/settings/display/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/settings/goals/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/settings/goals/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/settings/goals/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/settings/notifications/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/settings/notifications/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/settings/notifications/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/settings/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/settings/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/settings/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/settings/pomodoro/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/settings/pomodoro/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/settings/pomodoro/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/settings/quick-actions/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/settings/quick-actions/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/settings/quick-actions/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/settings/tags/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/settings/tags/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/settings/tags/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/sheets/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/sheets/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/sheets/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/templates/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/templates/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/templates/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/app/today/page/react-loadable-manifest.json +1 -1
- package/dist/standalone/next-output/server/app/today/page.js.nft.json +1 -1
- package/dist/standalone/next-output/server/app/today/page_client-reference-manifest.js +1 -1
- package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0sx0ra6._.js +1 -1
- package/dist/standalone/next-output/server/chunks/ssr/_0-4oz91._.js +1 -1
- package/dist/standalone/next-output/server/chunks/ssr/{_05ydjrh._.js → _0d1s~8c._.js} +2 -2
- package/dist/standalone/next-output/server/chunks/ssr/_0ja6w18._.js +3 -0
- package/dist/standalone/next-output/server/chunks/ssr/{_10utgt7._.js → _0rhx88g._.js} +2 -2
- package/dist/standalone/next-output/server/chunks/ssr/_0sic8ed._.js +1 -1
- package/dist/standalone/next-output/server/chunks/ssr/components_end-of-day-review-view_tsx_0t6snsb._.js +1 -1
- package/dist/standalone/next-output/server/chunks/ssr/components_reporting-view_tsx_0-0ofcv._.js +1 -1
- package/dist/standalone/next-output/server/middleware-build-manifest.js +3 -3
- package/dist/standalone/next-output/server/pages/500.html +1 -1
- package/dist/standalone/next-output/static/chunks/0-niex.k_xqnu.js +1 -0
- package/dist/standalone/next-output/static/chunks/01_obgfd_d0-5.js +1 -0
- package/dist/standalone/next-output/static/chunks/{141j1htu_qj-p.js → 0feo1c5hcq~fw.js} +1 -1
- package/dist/standalone/next-output/static/chunks/{0io.jffavun5t.js → 0lbfeprw3roep.js} +1 -1
- package/dist/standalone/next-output/static/chunks/{0t3hajznk~j44.js → 0q_cw2e3uj20q.js} +1 -1
- package/dist/standalone/next-output/static/chunks/0wd.8~gqkz5cp.css +3 -0
- package/dist/standalone/next-output/static/chunks/{09lddf9c4kn~5.js → 0ya1a.o~xsixd.js} +1 -1
- package/dist/standalone/next-output/static/chunks/{0gv5y9hez6j.f.js → 11~k89a6fiu2w.js} +1 -1
- package/dist/standalone/package.json +1 -1
- package/package.json +1 -1
- package/dist/standalone/next-output/server/chunks/ssr/_02l2ykc._.js +0 -3
- package/dist/standalone/next-output/static/chunks/01op4gs840x6z.js +0 -1
- package/dist/standalone/next-output/static/chunks/05m~ilvrxjj14.css +0 -3
- package/dist/standalone/next-output/static/chunks/0yc_so6bvu6on.js +0 -1
- /package/dist/standalone/next-output/static/{l_mfwvHxStSDpzw8cKLu3 → y7QrkWDtEEq8SX6iBgDNU}/_buildManifest.js +0 -0
- /package/dist/standalone/next-output/static/{l_mfwvHxStSDpzw8cKLu3 → y7QrkWDtEEq8SX6iBgDNU}/_clientMiddlewareManifest.js +0 -0
- /package/dist/standalone/next-output/static/{l_mfwvHxStSDpzw8cKLu3 → y7QrkWDtEEq8SX6iBgDNU}/_ssgManifest.js +0 -0
|
@@ -1,3 +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"])},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)},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])},84365,a=>{"use strict";a.s(["get_serialized_entries_total_ms",0,function(a){return a.reduce((a,b)=>a+b.durationMs,0)}])},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}}])},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}])},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)}])},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)},76767,20537,a=>{"use strict";var b=a.i(93301);a.s(["format_time",0,function(a,c="12h"){return(0,b.format)(new Date(a),"24h"===c?"HH:mm":"h:mm a")}],76767);var c=a.i(59021),d=a.i(50825);a.s(["use_time_format",0,function(){return(0,c.useSyncExternalStore)(d.time_format_preference.subscribe,d.time_format_preference.get_snapshot,d.time_format_preference.get_server_snapshot)}],20537)},49656,a=>{"use strict";var b=a.i(93301);a.s(["format_datetime_hint",0,function(a){return(0,b.format)(new Date(a),"MMM d, h:mm a")}])},98831,40420,6962,45273,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.CLAUDE_API_KEY_STORAGE_KEY,default_value:c.CLAUDE_API_KEY_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["claude_api_key_preference",0,d],98831);let e=(0,b.create_ui_preference_store)({storage_key:c.ENTRY_SUGGESTION_PROVIDER_STORAGE_KEY,default_value:c.ENTRY_SUGGESTION_PROVIDER_DEFAULT,is_valid:a=>"none"===a||"openai"===a||"claude"===a||"google_ai"===a});a.s(["entry_suggestion_provider_preference",0,e],40420);let f=(0,b.create_ui_preference_store)({storage_key:c.GOOGLE_AI_API_KEY_STORAGE_KEY,default_value:c.GOOGLE_AI_API_KEY_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["google_ai_api_key_preference",0,f],6962);let g=(0,b.create_ui_preference_store)({storage_key:c.OPENAI_API_KEY_STORAGE_KEY,default_value:c.OPENAI_API_KEY_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["openai_api_key_preference",0,g],45273)},30004,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DEBUG_LOGGING_STORAGE_KEY,default_value:c.DEBUG_LOGGING_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["debug_logging_preference",0,d])},98495,a=>{"use strict";var b=a.i(61401);a.s(["TrashIcon",0,function(){return(0,b.jsxs)("svg",{className:"h-[0.85rem] w-[0.85rem]",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:"M3 6h18"}),(0,b.jsx)("path",{d:"M8 6V4h8v2"}),(0,b.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}),(0,b.jsx)("path",{d:"M10 11v6"}),(0,b.jsx)("path",{d:"M14 11v6"})]})}])},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}}])},78537,a=>{"use strict";var b=a.i(97917);a.s(["notify_desktop",0,function(a){(0,b.notify_in_app)({title:a.title,body:a.body})},"supports_desktop_notifications",0,function(){return!1}])},77963,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DESKTOP_NOTIFICATIONS_STORAGE_KEY,default_value:c.DESKTOP_NOTIFICATIONS_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["desktop_notifications_preference",0,d])},18734,a=>{"use strict";a.s(["clear_pomodoro_task_entry_marker",0,function(){},"is_pomodoro_task_entry",0,function(a){return!1},"mark_pomodoro_task_entry",0,function(a){}])},23541,a=>{"use strict";var b=a.i(61401),c=a.i(59021),d=a.i(89969),e=a.i(69749),f=a.i(96359);a.s(["NoteForm",0,function({on_submit:a,on_cancel:g,is_pending:h,in_active_panel:i=!1,in_bar:j=!1,allow_at:k=!1}){let[l,m]=(0,c.useState)(""),[n,o]=(0,c.useState)("");return(0,f.use_escape_to_cancel)(()=>g?.(),void 0!==g),(0,b.jsxs)("form",{className:`flex flex-col gap-2 ${i&&!j?"border-t border-accent-border pt-4":j?"border-t border-[color-mix(in_srgb,var(--accent-border)_65%,var(--panel-border))] pt-3.5":""}`,onSubmit:b=>{b.preventDefault();let c=l.trim();if(0===c.length)return;let d=n.trim();a(c,d.length>0?d:void 0),m(""),o("")},children:[(0,b.jsx)("label",{className:"text-[0.85rem] text-muted",htmlFor:"note-text",children:"Add note"}),(0,b.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] gap-2 max-[860px]:grid-cols-1",children:[(0,b.jsx)("input",{id:"note-text",className:(0,e.get_input_class_name)(),value:l,onChange:a=>m(a.target.value),placeholder:"Pair with alice on the widget",disabled:h,autoFocus:!0}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 max-[860px]:w-full",children:[(0,b.jsx)("button",{type:"submit",className:(0,d.get_button_class_name)("ghost"),disabled:h||0===l.trim().length,children:"Save note"}),void 0===g?null:(0,b.jsx)("button",{type:"button",className:(0,d.get_button_class_name)("ghost"),disabled:h,onClick:g,children:"Cancel"})]})]}),k?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("label",{className:"text-[0.85rem] text-muted",htmlFor:"note-at",children:["Note time"," ",(0,b.jsx)("span",{className:"font-normal opacity-85",children:"(optional, natural language)"})]}),(0,b.jsx)("input",{id:"note-at",className:(0,e.get_input_class_name)(),value:n,onChange:a=>o(a.target.value),placeholder:"e.g. 30 minutes ago",disabled:h})]}):null]})}],23541)},34030,42676,6229,40663,30322,a=>{"use strict";function b(){return[]}a.s(["read_entry_templates",0,b],42676);let c=[],d=null;function e(){d=null}a.s(["EMPTY_ENTRY_TEMPLATES",0,c,"get_stable_entry_templates_snapshot",0,function(a){let b=a.map(a=>[a.id,a.name,a.description,a.defaultSheetName??"",a.tags?.join(" ")??"",!0===a.favorite?"1":"0",a.shortcutKey??"",!0===a.pomodoroLinked?"1":"0",a.createdAt??"",a.lastUsedAt??"",String(a.useCount??0)].join("\0")).join("\n");if(null!==d&&d.templates_key===b)return d.snapshot;let e=0===a.length?c:Object.freeze(a.map(a=>({...a})));return d={templates_key:b,snapshot:e},e},"reset_entry_templates_snapshot_cache",0,e],6229);let f=new Set;function g(){e(),f.forEach(a=>{a()})}function h(a){if(void 0!==globalThis.window)try{globalThis.window.localStorage.setItem("super-time-tracker-entry-templates",JSON.stringify(a)),g()}catch{}}a.s(["notify_entry_templates_changed",0,g,"subscribe_entry_templates",0,function(a){return f.add(a),()=>{f.delete(a)}}],40663),a.s(["write_entry_templates",0,h],30322),a.s(["record_entry_template_usage",0,function(a){let c=b(),d=new Date().toISOString(),e=!1,f=c.map(b=>b.id!==a?b:(e=!0,{...b,lastUsedAt:d,useCount:(b.useCount??0)+1}));e&&h(f)}],34030)},13898,85110,21907,23520,a=>{"use strict";var b=a.i(61401);a.s(["SaveIcon",0,function(){return(0,b.jsxs)("svg",{className:"h-[0.85rem] w-[0.85rem]",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:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),(0,b.jsx)("path",{d:"M17 21v-8H7v8"}),(0,b.jsx)("path",{d:"M7 3v5h8"})]})}],13898);var c=a.i(50803);a.s(["build_entry_template_description",0,function(a){return(0,c.build_resume_description)(a.description,a.tags??[])}],85110);var d=a.i(69749);a.s(["get_select_class_name",0,function(a="default"){let b="compact"===a?"bg-[position:right_0.55rem_center]":"bg-[position:right_0.65rem_center]",c="compact"===a?"!pe-8":"!pe-9";return`${(0,d.get_input_class_name)(a)} cursor-pointer appearance-none bg-size-[1rem] bg-no-repeat ${c} bg-[image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")] ${b}`}],21907);var e=a.i(59021),f=a.i(6229),g=a.i(42676);function h(){return(0,f.get_stable_entry_templates_snapshot)((0,g.read_entry_templates)())}function i(){return f.EMPTY_ENTRY_TEMPLATES}var j=a.i(40663);a.s(["use_entry_templates",0,function(){return(0,e.useSyncExternalStore)(j.subscribe_entry_templates,h,i)}],23520)},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])},68070,a=>{"use strict";a.s(["build_check_out_request_payload",0,function(a,b){let c={sheetName:a},d=b?.at?.trim(),e=b?.note?.trim();return void 0!==d&&d.length>0&&(c.at=d),void 0!==e&&e.length>0&&(c.note=e),c}])},26336,77328,38842,a=>{"use strict";var b=a.i(59021),c=a.i(44600);function d(a){let b=a?.at?.trim()??"",c=a?.note?.trim()??"",d=b.length>0,e=c.length>0,f="Stop the active timer and save this entry?";return d&&e?f=`Stop the timer at "${b}" and save a checkout note?`:d?f=`Stop the timer and check out at "${b}"?`:e&&(f="Stop the timer and save this entry with your checkout note?"),{title:"Check out?",message:f,confirmLabel:"Check out",variant:"danger"}}a.s(["get_check_out_confirm_dialog",0,d],77328);var e=a.i(40947);function f(){return"true"===(0,b.useSyncExternalStore)(e.confirm_before_checkout_preference.subscribe,e.confirm_before_checkout_preference.get_snapshot,e.confirm_before_checkout_preference.get_server_snapshot)}a.s(["use_confirm_before_checkout",0,f],38842),a.s(["useCheckOutAction",0,function(a){let{confirm:e}=(0,c.use_confirm_dialog)(),g=f();return(0,b.useCallback)(async b=>(!g||!!await e(d(b)))&&(a(b),!0),[e,g,a])}],26336)},61566,a=>{"use strict";a.s(["prompt_check_out_at",0,function(){let a=window.prompt("Check out at what time?","30 minutes ago");if(null===a)return null;let b=a.trim();return 0===b.length?null:b}])},68225,a=>{"use strict";a.s(["finish_running_pomodoro_timer",0,function(){}])},15940,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0y9lue.._.js","server/chunks/ssr/components_entry-list_tsx_02.v.ur._.js"].map(b=>a.l(b))).then(()=>b(94573)))},51967,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0-4oz91._.js"].map(b=>a.l(b))).then(()=>b(72174)))}];
|
|
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"])},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)},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])},84365,a=>{"use strict";a.s(["get_serialized_entries_total_ms",0,function(a){return a.reduce((a,b)=>a+b.durationMs,0)}])},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}}])},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}])},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)}])},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)},76767,20537,a=>{"use strict";var b=a.i(93301);a.s(["format_time",0,function(a,c="12h"){return(0,b.format)(new Date(a),"24h"===c?"HH:mm":"h:mm a")}],76767);var c=a.i(59021),d=a.i(50825);a.s(["use_time_format",0,function(){return(0,c.useSyncExternalStore)(d.time_format_preference.subscribe,d.time_format_preference.get_snapshot,d.time_format_preference.get_server_snapshot)}],20537)},49656,a=>{"use strict";var b=a.i(93301);a.s(["format_datetime_hint",0,function(a){return(0,b.format)(new Date(a),"MMM d, h:mm a")}])},98831,40420,6962,45273,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.CLAUDE_API_KEY_STORAGE_KEY,default_value:c.CLAUDE_API_KEY_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["claude_api_key_preference",0,d],98831);let e=(0,b.create_ui_preference_store)({storage_key:c.ENTRY_SUGGESTION_PROVIDER_STORAGE_KEY,default_value:c.ENTRY_SUGGESTION_PROVIDER_DEFAULT,is_valid:a=>"none"===a||"openai"===a||"claude"===a||"google_ai"===a});a.s(["entry_suggestion_provider_preference",0,e],40420);let f=(0,b.create_ui_preference_store)({storage_key:c.GOOGLE_AI_API_KEY_STORAGE_KEY,default_value:c.GOOGLE_AI_API_KEY_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["google_ai_api_key_preference",0,f],6962);let g=(0,b.create_ui_preference_store)({storage_key:c.OPENAI_API_KEY_STORAGE_KEY,default_value:c.OPENAI_API_KEY_DEFAULT,is_valid:a=>a.trim().length>0});a.s(["openai_api_key_preference",0,g],45273)},30004,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DEBUG_LOGGING_STORAGE_KEY,default_value:c.DEBUG_LOGGING_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["debug_logging_preference",0,d])},98495,a=>{"use strict";var b=a.i(61401);a.s(["TrashIcon",0,function(){return(0,b.jsxs)("svg",{className:"h-[0.85rem] w-[0.85rem]",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:"M3 6h18"}),(0,b.jsx)("path",{d:"M8 6V4h8v2"}),(0,b.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}),(0,b.jsx)("path",{d:"M10 11v6"}),(0,b.jsx)("path",{d:"M14 11v6"})]})}])},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}}])},78537,a=>{"use strict";var b=a.i(97917);a.s(["notify_desktop",0,function(a){(0,b.notify_in_app)({title:a.title,body:a.body})},"supports_desktop_notifications",0,function(){return!1}])},77963,a=>{"use strict";var b=a.i(52345),c=a.i(70827);let d=(0,b.create_ui_preference_store)({storage_key:c.DESKTOP_NOTIFICATIONS_STORAGE_KEY,default_value:c.DESKTOP_NOTIFICATIONS_DEFAULT,is_valid:a=>"true"===a||"false"===a});a.s(["desktop_notifications_preference",0,d])},18734,a=>{"use strict";a.s(["clear_pomodoro_task_entry_marker",0,function(){},"is_pomodoro_task_entry",0,function(a){return!1},"mark_pomodoro_task_entry",0,function(a){}])},23541,a=>{"use strict";var b=a.i(61401),c=a.i(59021),d=a.i(89969),e=a.i(69749),f=a.i(96359);a.s(["NoteForm",0,function({on_submit:a,on_cancel:g,is_pending:h,in_active_panel:i=!1,in_bar:j=!1,allow_at:k=!1}){let[l,m]=(0,c.useState)(""),[n,o]=(0,c.useState)("");return(0,f.use_escape_to_cancel)(()=>g?.(),void 0!==g),(0,b.jsxs)("form",{className:`flex flex-col gap-2 ${i&&!j?"border-t border-accent-border pt-4":j?"border-t border-[color-mix(in_srgb,var(--accent-border)_65%,var(--panel-border))] pt-3.5":""}`,onSubmit:b=>{b.preventDefault();let c=l.trim();if(0===c.length)return;let d=n.trim();a(c,d.length>0?d:void 0),m(""),o("")},children:[(0,b.jsx)("label",{className:"text-[0.85rem] text-muted",htmlFor:"note-text",children:"Add note"}),(0,b.jsxs)("div",{className:"grid grid-cols-[minmax(0,1fr)_auto] gap-2 max-[860px]:grid-cols-1",children:[(0,b.jsx)("input",{id:"note-text",className:(0,e.get_input_class_name)(),value:l,onChange:a=>m(a.target.value),placeholder:"Pair with alice on the widget",disabled:h,autoFocus:!0}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 max-[860px]:w-full",children:[(0,b.jsx)("button",{type:"submit",className:(0,d.get_button_class_name)("ghost"),disabled:h||0===l.trim().length,children:"Save note"}),void 0===g?null:(0,b.jsx)("button",{type:"button",className:(0,d.get_button_class_name)("ghost"),disabled:h,onClick:g,children:"Cancel"})]})]}),k?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("label",{className:"text-[0.85rem] text-muted",htmlFor:"note-at",children:["Note time"," ",(0,b.jsx)("span",{className:"font-normal opacity-85",children:"(optional, natural language)"})]}),(0,b.jsx)("input",{id:"note-at",className:(0,e.get_input_class_name)(),value:n,onChange:a=>o(a.target.value),placeholder:"e.g. 30 minutes ago",disabled:h})]}):null]})}],23541)},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)},13898,21907,23520,a=>{"use strict";var b=a.i(61401);a.s(["SaveIcon",0,function(){return(0,b.jsxs)("svg",{className:"h-[0.85rem] w-[0.85rem]",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:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"}),(0,b.jsx)("path",{d:"M17 21v-8H7v8"}),(0,b.jsx)("path",{d:"M7 3v5h8"})]})}],13898);var c=a.i(69749);a.s(["get_select_class_name",0,function(a="default"){let b="compact"===a?"bg-[position:right_0.55rem_center]":"bg-[position:right_0.65rem_center]",d="compact"===a?"!pe-8":"!pe-9";return`${(0,c.get_input_class_name)(a)} cursor-pointer appearance-none bg-size-[1rem] bg-no-repeat ${d} bg-[image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")] ${b}`}],21907);var d=a.i(59021),e=a.i(6229),f=a.i(42676);function g(){return(0,e.get_stable_entry_templates_snapshot)((0,f.read_entry_templates)())}function h(){return e.EMPTY_ENTRY_TEMPLATES}var i=a.i(40663);a.s(["use_entry_templates",0,function(){return(0,d.useSyncExternalStore)(i.subscribe_entry_templates,g,h)}],23520)},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])},68070,a=>{"use strict";a.s(["build_check_out_request_payload",0,function(a,b){let c={sheetName:a},d=b?.at?.trim(),e=b?.note?.trim();return void 0!==d&&d.length>0&&(c.at=d),void 0!==e&&e.length>0&&(c.note=e),c}])},26336,77328,38842,a=>{"use strict";var b=a.i(59021),c=a.i(44600);function d(a){let b=a?.at?.trim()??"",c=a?.note?.trim()??"",d=b.length>0,e=c.length>0,f="Stop the active timer and save this entry?";return d&&e?f=`Stop the timer at "${b}" and save a checkout note?`:d?f=`Stop the timer and check out at "${b}"?`:e&&(f="Stop the timer and save this entry with your checkout note?"),{title:"Check out?",message:f,confirmLabel:"Check out",variant:"danger"}}a.s(["get_check_out_confirm_dialog",0,d],77328);var e=a.i(40947);function f(){return"true"===(0,b.useSyncExternalStore)(e.confirm_before_checkout_preference.subscribe,e.confirm_before_checkout_preference.get_snapshot,e.confirm_before_checkout_preference.get_server_snapshot)}a.s(["use_confirm_before_checkout",0,f],38842),a.s(["useCheckOutAction",0,function(a){let{confirm:e}=(0,c.use_confirm_dialog)(),g=f();return(0,b.useCallback)(async b=>(!g||!!await e(d(b)))&&(a(b),!0),[e,g,a])}],26336)},61566,a=>{"use strict";a.s(["prompt_check_out_at",0,function(){let a=window.prompt("Check out at what time?","30 minutes ago");if(null===a)return null;let b=a.trim();return 0===b.length?null:b}])},68225,a=>{"use strict";a.s(["finish_running_pomodoro_timer",0,function(){}])},15940,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0y9lue.._.js","server/chunks/ssr/components_entry-list_tsx_02.v.ur._.js"].map(b=>a.l(b))).then(()=>b(94573)))},51967,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0-4oz91._.js"].map(b=>a.l(b))).then(()=>b(72174)))}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=_0rhx88g._.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:"End-of-day 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=>{let c=r[a],d=t[a]??c,e=v.has(c),h=d!==c;return(0,b.jsxs)("div",{className:"grid min-h-20 content-center grid-cols-[minmax(0,1fr)_3.5rem] items-center gap-2 rounded-md border border-panel-border px-2.5 py-2",children:[(0,b.jsx)("span",{className:"text-[0.86rem]",children:m[a]}),(0,b.jsx)("input",{type:"text",className:`${(0,f.get_input_class_name)("compact")} h-8 w-14 justify-self-end px-2 text-center`,value:"?"===d?"?":d.toUpperCase(),readOnly:!0,onKeyDown:b=>((a,b)=>{if("Enter"===b.key){let c;b.preventDefault();let d=t[a];1===d.length&&(c={...r,[a]:d},k.tracker_shortcut_map_preference.write(JSON.stringify(c)),k.tracker_shortcut_map_preference.notify(),(0,g.notify_settings_saved)("Quick actions updated"));return}if("Escape"===b.key){b.preventDefault(),u(b=>({...b,[a]:r[a]}));return}if(1!==b.key.length)return;let c=b.key.toLowerCase();/^[a-z\[\]\?]$/.test(c)&&(b.preventDefault(),u(b=>({...b,[a]:c})))})(a,b),onFocus:a=>a.currentTarget.select(),"aria-label":`${m[a]} shortcut`}),(0,b.jsx)("span",{className:`col-span-2 text-[0.72rem] ${e?"text-danger":h?"text-muted":"text-transparent"}`,children:e?"Duplicate":h?"Press Enter to save":"Ready"})]},a)})})]}),(0,b.jsxs)("section",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.95rem] font-semibold",children:"Topbar shortcuts"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.8rem] leading-snug text-muted",children:"Show quick links in the topbar on larger screens."}),(0,b.jsx)("div",{className:"mt-3 flex flex-wrap gap-3",children:l.topbar_quick_action_ids.map(a=>(0,b.jsx)(d.Checkbox,{checked:s.includes(a),on_change:()=>{let b;return b=s.includes(a)?s.filter(b=>b!==a):[...s,a],void(j.topbar_quick_actions_preference.write(JSON.stringify(b)),j.topbar_quick_actions_preference.notify(),(0,g.notify_settings_saved)("Topbar shortcuts updated"))},label:n[a]},a))})]})]})}):(0,b.jsx)(e.SettingsPageLayout,{breadcrumb:{current:"Quick actions",parent:{label:"Settings",href:"/settings"}},title:"Quick actions config",description:"Customize keyboard shortcuts and topbar shortcuts.",children:(0,b.jsx)("p",{className:"m-0 text-[0.85rem] text-muted",children:"Loading quick action settings…"})})}])}];
|
|
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…"})})}])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_0sic8ed._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[14831,a=>{"use strict";var b=a.i(61401),c=a.i(60382),d=a.i(59021),e=a.i(49656),f=a.i(76767),g=a.i(23541),h=a.i(30354),i=a.i(98790),j=a.i(68070),k=a.i(50803),l=a.i(48174),m=a.i(85752),n=a.i(89969),o=a.i(69749),p=a.i(16229),q=a.i(57377),r=a.i(115),s=a.i(65162),t=a.i(20537);let u="w-full rounded-md border border-panel-border bg-panel p-4 shadow-sm";function v({label:a,value:c,tone:d="default"}){return(0,b.jsxs)("article",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,b.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:a}),(0,b.jsx)("p",{className:`m-0 mt-1 text-[1.1rem] font-[650] ${"accent"===d?"text-accent":"danger"===d?"text-danger":"text-foreground"}`,children:c})]})}function w({label:a,count:c,active:d,on_click:e}){return(0,b.jsxs)("button",{type:"button",className:`flex cursor-pointer items-center justify-between gap-2 rounded-md border-0 px-2.5 py-2 text-left font-inherit text-[0.86rem] ${d?"bg-accent-soft text-foreground":"bg-transparent text-muted hover:bg-surface-hover hover:text-foreground"}`,onClick:e,children:[(0,b.jsx)("span",{className:"font-semibold",children:a}),(0,b.jsx)("span",{className:"rounded-full bg-background px-2 py-0.5 text-[0.72rem] text-muted",children:c})]})}function x({entries:a,is_pending:c,on_close:d}){return(0,b.jsxs)("section",{className:u,"aria-label":"Running timers",children:[(0,b.jsx)(G,{title:"Close running timers",description:"Set an end time and optional checkout note before wrapping the day."}),0===a.length?(0,b.jsx)(H,{message:"No timers are running."}):(0,b.jsx)("ul",{className:"m-0 mt-4 flex list-none flex-col gap-3 p-0",children:a.map(a=>(0,b.jsx)(y,{entry:a,is_pending:c,on_close:d},`${a.sheetName}-${a.id}`))})]})}function y({entry:a,is_pending:c,on_close:e}){let[g,h]=(0,d.useState)(""),[i,j]=(0,d.useState)(""),k=(0,s.use_duration_format)(),l=(0,t.use_time_format)();return(0,b.jsxs)("li",{className:"rounded-md border border-panel-border bg-background p-3",children:[(0,b.jsx)(F,{entry:a,duration_ms:a.durationMs}),(0,b.jsxs)("p",{className:"m-0 mt-1 text-[0.8rem] text-muted",children:["Started ",(0,f.format_time)(a.start,l),". Running for"," ",(0,m.format_duration)(a.durationMs,k),"."]}),(0,b.jsxs)("div",{className:"mt-3 grid grid-cols-1 gap-2 md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto]",children:[(0,b.jsx)("input",{className:(0,o.get_input_class_name)("compact"),value:g,disabled:c,placeholder:"End time, e.g. now or 5pm","aria-label":"Checkout time",onChange:a=>h(a.target.value)}),(0,b.jsx)("input",{className:(0,o.get_input_class_name)("compact"),value:i,disabled:c,placeholder:"Checkout note","aria-label":"Checkout note",onChange:a=>j(a.target.value)}),(0,b.jsx)("button",{type:"button",className:(0,n.get_button_class_name)("primary","small"),disabled:c,onClick:()=>e(a,g.trim().length>0?g.trim():void 0,i.trim().length>0?i.trim():void 0),children:"Close timer"})]})]})}function z({entries:a,threshold_ms:c,known_tags:d,is_pending:e,on_save:f}){let g=(0,s.use_duration_format)();return(0,b.jsxs)("section",{className:u,"aria-label":"Long entries",children:[(0,b.jsx)(G,{title:"Review suspiciously long entries",description:`Entries at or above ${(0,m.format_duration)(c,g)} are listed here for correction.`}),0===a.length?(0,b.jsx)(H,{message:"No long entries need review."}):(0,b.jsx)("ul",{className:"m-0 mt-4 flex list-none flex-col gap-3 p-0",children:a.map(a=>(0,b.jsx)(D,{entry:a,known_tags:d,is_pending:e,show_times:!0,on_save:f},`${a.sheetName}-${a.id}`))})]})}function A({gaps:a,sheet_names:c,known_tags:d,is_pending:e,on_create:f}){return(0,b.jsxs)("section",{className:u,"aria-label":"Idle gaps",children:[(0,b.jsx)(G,{title:"Fill idle gaps",description:"Create completed entries for untracked time between today's logged blocks."}),0===a.length?(0,b.jsx)(H,{message:"No idle gaps found between entries."}):(0,b.jsx)("ul",{className:"m-0 mt-4 flex list-none flex-col gap-3 p-0",children:a.map(a=>(0,b.jsx)(B,{gap:a,sheet_names:c,known_tags:d,is_pending:e,on_create:f},a.id))})]})}function B({gap:a,sheet_names:c,known_tags:e,is_pending:g,on_create:i}){let j=(0,t.use_time_format)(),k=(0,s.use_duration_format)(),l=a.previousEntry?.sheetName??c[0]??"",[p,q]=(0,d.useState)(l),[r,u]=(0,d.useState)(""),[v,w]=(0,d.useState)("");return(0,b.jsxs)("li",{className:"rounded-md border border-panel-border bg-background p-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-2",children:[(0,b.jsxs)("p",{className:"m-0 font-semibold",children:[(0,f.format_time)(a.start,j)," to"," ",(0,f.format_time)(a.end,j)]}),(0,b.jsx)("span",{className:"font-mono text-[0.86rem] font-semibold text-accent",children:(0,m.format_duration)(a.durationMs,k)})]}),(0,b.jsxs)("p",{className:"m-0 mt-1 text-[0.8rem] text-muted",children:["Between ",a.previousEntry?.description||"the previous entry"," and"," ",a.nextEntry?.description||"the next entry","."]}),(0,b.jsxs)("div",{className:"mt-3 grid grid-cols-1 gap-2 md:grid-cols-[11rem_minmax(0,1fr)]",children:[(0,b.jsx)("select",{className:(0,o.get_input_class_name)("compact"),value:p,disabled:g,"aria-label":"Gap sheet",onChange:a=>q(a.target.value),children:c.map(a=>(0,b.jsx)("option",{value:a,children:a},a))}),(0,b.jsx)(h.TagAutocompleteInput,{id:`gap-description-${a.id}`,value:r,known_tags:e,placeholder:"What filled this gap? Add @tags",disabled:g,on_change:u}),(0,b.jsx)("input",{className:`${(0,o.get_input_class_name)("compact")} md:col-span-2`,value:v,disabled:g,placeholder:"Optional note","aria-label":"Gap note",onChange:a=>w(a.target.value)})]}),(0,b.jsx)("button",{type:"button",className:`${(0,n.get_button_class_name)("primary","small")} mt-3`,disabled:g||0===p.length||0===r.trim().length,onClick:()=>i(a,p,r.trim(),v.trim().length>0?v.trim():void 0),children:"Create entry"})]})}function C({issues:a,known_tags:c,is_pending:d,on_save:e}){return(0,b.jsxs)("section",{className:u,"aria-label":"Tag issues",children:[(0,b.jsx)(G,{title:"Normalize tags",description:"Add missing tags and clean up tag casing on today's entries."}),0===a.length?(0,b.jsx)(H,{message:"No tag cleanup needed."}):(0,b.jsx)("ul",{className:"m-0 mt-4 flex list-none flex-col gap-3 p-0",children:a.map(a=>(0,b.jsx)(D,{entry:a.entry,known_tags:c,is_pending:d,issue_label:a.kinds.map(a=>"missing_tags"===a?"Missing tags":"Tag casing differs").join(" and "),on_save:(a,b)=>{void 0!==b&&e(a,b)}},`${a.entry.sheetName}-${a.entry.id}`))})]})}function D({entry:a,known_tags:c,is_pending:f,issue_label:g,show_times:i=!1,on_save:j}){let[l,m]=(0,d.useState)((0,k.build_resume_description)(a.description,a.tags)),[p,q]=(0,d.useState)(""),[r,s]=(0,d.useState)(""),t=l.trim()!==(0,k.build_resume_description)(a.description,a.tags).trim()||p.trim().length>0||r.trim().length>0;return(0,b.jsxs)("li",{className:"rounded-md border border-panel-border bg-background p-3",children:[(0,b.jsx)(F,{entry:a,duration_ms:a.reviewDurationMs}),void 0===g?null:(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.8rem] text-muted",children:g}),(0,b.jsxs)("div",{className:"mt-3 flex flex-col gap-2",children:[(0,b.jsx)(h.TagAutocompleteInput,{id:`review-entry-${a.sheetName}-${a.id}`,value:l,known_tags:c,disabled:f,placeholder:"Description with @tags",on_change:m}),i?(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:[(0,b.jsx)("input",{className:(0,o.get_input_class_name)("compact"),value:p,disabled:f,placeholder:`Start: ${(0,e.format_datetime_hint)(a.start)}`,"aria-label":"Entry start",onChange:a=>q(a.target.value)}),(0,b.jsx)("input",{className:(0,o.get_input_class_name)("compact"),value:r,disabled:f,placeholder:null===a.end?"End: still running":`End: ${(0,e.format_datetime_hint)(a.end)}`,"aria-label":"Entry end",onChange:a=>s(a.target.value)})]}):null,(0,b.jsx)("button",{type:"button",className:`${(0,n.get_button_class_name)("primary","small")} w-fit`,disabled:f||!t,onClick:()=>j(a,l.trim(),p.trim().length>0?p.trim():void 0,r.trim().length>0?r.trim():void 0),children:"Save changes"})]})]})}function E({entries:a,is_pending:c,on_add_note:d}){return(0,b.jsxs)("section",{className:u,"aria-label":"Review notes",children:[(0,b.jsx)(G,{title:"Add handoff notes",description:"Attach details to entries while the work is still fresh."}),0===a.length?(0,b.jsx)(H,{message:"No entries today."}):(0,b.jsx)("ul",{className:"m-0 mt-4 flex list-none flex-col gap-3 p-0",children:a.map(a=>(0,b.jsxs)("li",{className:"rounded-md border border-panel-border bg-background p-3",children:[(0,b.jsx)(F,{entry:a,duration_ms:a.reviewDurationMs}),a.notes.length>0?(0,b.jsxs)("p",{className:"m-0 mt-1 text-[0.8rem] text-muted",children:[a.notes.length," ",1===a.notes.length?"note":"notes"," already added."]}):null,(0,b.jsx)("div",{className:"mt-3",children:(0,b.jsx)(g.NoteForm,{is_pending:c,allow_at:!0,on_submit:(b,c)=>d(a,b,c)})})]},`${a.sheetName}-${a.id}`))})]})}function F({entry:a,duration_ms:c}){let d=(0,s.use_duration_format)();return(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)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.04em] text-muted",children:a.sheetName}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.95rem] font-semibold",children:a.description||"Untitled entry"}),a.tags.length>0?(0,b.jsx)("ul",{className:"m-0 mt-2 flex list-none flex-wrap gap-1.5 p-0",children:a.tags.map(a=>(0,b.jsx)("li",{className:"rounded-full bg-tag-bg px-2 py-0.5 text-xs text-tag-text",children:(0,l.format_display_tag)(a)},a))}):null]}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-[0.88rem] font-semibold text-accent",children:(0,m.format_duration)(c,d)})]})}function G({title:a,description:c}){return(0,b.jsxs)("header",{children:[(0,b.jsx)("h2",{className:"m-0 text-[1rem] font-semibold",children:a}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.86rem] leading-relaxed text-muted",children:c})]})}function H({message:a}){return(0,b.jsx)("p",{className:"m-0 mt-4 text-[0.9rem] text-muted",children:a})}a.s(["EndOfDayReviewView",0,function({initial_data:a}){let e=(0,c.useRouter)(),[f,g]=(0,d.useState)(a),[h,k]=(0,d.useState)("running"),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(null),[s,t]=(0,d.useState)(!1);(0,d.useEffect)(()=>{g(a)},[a]);let u=(0,d.useMemo)(()=>[0===f.runningEntries.length,0===f.longEntries.length,0===f.idleGaps.length,0===f.tagIssues.length].filter(Boolean).length,[f]),y=async(a,b)=>{t(!0),m(null),o(null);try{await a(),o(b),e.refresh()}catch(a){m((0,p.message_from_unknown_error)(a,"Review action failed"))}finally{t(!1)}};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.TrackerTopbar,{breadcrumb:{current:"Review"}}),(0,b.jsxs)("main",{className:"mx-auto flex w-full max-w-5xl flex-col gap-6 px-5 pb-12 pt-6",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-2 text-center",children:[(0,b.jsx)("h1",{className:"m-0 text-[1.5rem] font-[650] tracking-tight",children:"End-of-day review"}),(0,b.jsxs)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:[f.dateLabel,". Close timers, fill gaps, normalize tags, and add handoff notes."]})]}),null===l?null:(0,b.jsx)("p",{className:"m-0 rounded-md border border-danger-border bg-danger-soft px-3 py-2 text-[0.85rem] text-danger",children:l}),null===n?null:(0,b.jsx)("p",{className:"m-0 rounded-md border border-accent-border bg-accent-soft px-3 py-2 text-[0.85rem] text-accent",children:n}),(0,b.jsxs)("section",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4","aria-label":"Review summary",children:[(0,b.jsx)(v,{label:"Checklist",value:`${u}/4 clear`,tone:4===u?"accent":"default"}),(0,b.jsx)(v,{label:"Running",value:String(f.runningEntries.length),tone:f.runningEntries.length>0?"danger":"accent"}),(0,b.jsx)(v,{label:"Entries today",value:String(f.entries.length)}),(0,b.jsx)(v,{label:"Gaps",value:String(f.idleGaps.length),tone:f.idleGaps.length>0?"warning":"accent"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-[14rem_minmax(0,1fr)] gap-4 max-[760px]:grid-cols-1",children:[(0,b.jsxs)("nav",{className:"flex h-fit flex-col gap-1 rounded-md border border-panel-border bg-panel p-1.5 shadow-sm","aria-label":"Review sections",children:[(0,b.jsx)(w,{label:"Running timers",count:f.runningEntries.length,active:"running"===h,on_click:()=>k("running")}),(0,b.jsx)(w,{label:"Long entries",count:f.longEntries.length,active:"long"===h,on_click:()=>k("long")}),(0,b.jsx)(w,{label:"Idle gaps",count:f.idleGaps.length,active:"gaps"===h,on_click:()=>k("gaps")}),(0,b.jsx)(w,{label:"Tags",count:f.tagIssues.length,active:"tags"===h,on_click:()=>k("tags")}),(0,b.jsx)(w,{label:"Notes",count:f.entries.length,active:"notes"===h,on_click:()=>k("notes")})]}),(0,b.jsxs)("div",{className:"min-w-0",children:["running"===h?(0,b.jsx)(x,{entries:f.runningEntries,is_pending:s,on_close:(a,b,c)=>y(()=>(0,r.post_tracker_action)("/api/out",(0,j.build_check_out_request_payload)(a.sheetName,{at:b,note:c})),"Timer closed.")}):null,"long"===h?(0,b.jsx)(z,{entries:f.longEntries,threshold_ms:f.longEntryThresholdMs,known_tags:f.knownTags,is_pending:s,on_save:(a,b,c,d)=>y(()=>(0,q.patch_tracker_action)("/api/entry",{sheetName:a.sheetName,entryId:a.id,description:b,start:c,end:d}),"Entry updated.")}):null,"gaps"===h?(0,b.jsx)(A,{gaps:f.idleGaps,sheet_names:f.sheetNames,known_tags:f.knownTags,is_pending:s,on_create:(a,b,c,d)=>y(()=>(0,r.post_tracker_action)("/api/entry/completed",{sheetName:b,description:c,start:a.start,end:a.end,note:d}),"Gap filled.")}):null,"tags"===h?(0,b.jsx)(C,{issues:f.tagIssues,known_tags:f.knownTags,is_pending:s,on_save:(a,b)=>y(()=>(0,q.patch_tracker_action)("/api/entry",{sheetName:a.sheetName,entryId:a.id,description:b}),"Tags updated.")}):null,"notes"===h?(0,b.jsx)(E,{entries:f.entries,is_pending:s,on_add_note:(a,b,c)=>y(()=>(0,r.post_tracker_action)("/api/note",{sheetName:a.sheetName,entryId:a.id,text:b,at:c}),"Note added.")}):null]})]})]})]})}])}];
|
|
1
|
+
module.exports=[14831,a=>{"use strict";var b=a.i(61401),c=a.i(60382),d=a.i(59021),e=a.i(49656),f=a.i(76767),g=a.i(23541),h=a.i(30354),i=a.i(98790),j=a.i(68070),k=a.i(50803),l=a.i(48174),m=a.i(85752),n=a.i(89969),o=a.i(69749),p=a.i(16229),q=a.i(57377),r=a.i(115),s=a.i(65162),t=a.i(20537);let u="w-full rounded-md border border-panel-border bg-panel p-4 shadow-sm";function v({label:a,value:c,tone:d="default"}){var e;let f="accent"===(e=d)?"text-accent":"danger"===e?"text-danger":"text-foreground";return(0,b.jsxs)("article",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,b.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:a}),(0,b.jsx)("p",{className:`m-0 mt-1 text-[1.1rem] font-[650] ${f}`,children:c})]})}function w({label:a,count:c,active:d,on_click:e}){return(0,b.jsxs)("button",{type:"button",className:`flex cursor-pointer items-center justify-between gap-2 rounded-md border-0 px-2.5 py-2 text-left font-inherit text-[0.86rem] ${d?"bg-accent-soft text-foreground":"bg-transparent text-muted hover:bg-surface-hover hover:text-foreground"}`,onClick:e,children:[(0,b.jsx)("span",{className:"font-semibold",children:a}),(0,b.jsx)("span",{className:"rounded-full bg-background px-2 py-0.5 text-[0.72rem] text-muted",children:c})]})}function x({entries:a,is_pending:c,on_close:d}){return(0,b.jsxs)("section",{className:u,"aria-label":"Running timers",children:[(0,b.jsx)(G,{title:"Close running timers",description:"Set an end time and optional checkout note before wrapping the day."}),0===a.length?(0,b.jsx)(H,{message:"No timers are running."}):(0,b.jsx)("ul",{className:"m-0 mt-4 flex list-none flex-col gap-3 p-0",children:a.map(a=>(0,b.jsx)(y,{entry:a,is_pending:c,on_close:d},`${a.sheetName}-${a.id}`))})]})}function y({entry:a,is_pending:c,on_close:e}){let[g,h]=(0,d.useState)(""),[i,j]=(0,d.useState)(""),k=(0,s.use_duration_format)(),l=(0,t.use_time_format)();return(0,b.jsxs)("li",{className:"rounded-md border border-panel-border bg-background p-3",children:[(0,b.jsx)(F,{entry:a,duration_ms:a.durationMs}),(0,b.jsxs)("p",{className:"m-0 mt-1 text-[0.8rem] text-muted",children:["Started ",(0,f.format_time)(a.start,l),". Running for"," ",(0,m.format_duration)(a.durationMs,k),"."]}),(0,b.jsxs)("div",{className:"mt-3 grid grid-cols-1 gap-2 md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto]",children:[(0,b.jsx)("input",{className:(0,o.get_input_class_name)("compact"),value:g,disabled:c,placeholder:"End time, e.g. now or 5pm","aria-label":"Checkout time",onChange:a=>h(a.target.value)}),(0,b.jsx)("input",{className:(0,o.get_input_class_name)("compact"),value:i,disabled:c,placeholder:"Checkout note","aria-label":"Checkout note",onChange:a=>j(a.target.value)}),(0,b.jsx)("button",{type:"button",className:(0,n.get_button_class_name)("primary","small"),disabled:c,onClick:()=>e(a,g.trim().length>0?g.trim():void 0,i.trim().length>0?i.trim():void 0),children:"Close timer"})]})]})}function z({entries:a,threshold_ms:c,known_tags:d,is_pending:e,on_save:f}){let g=(0,s.use_duration_format)();return(0,b.jsxs)("section",{className:u,"aria-label":"Long entries",children:[(0,b.jsx)(G,{title:"Review suspiciously long entries",description:`Entries at or above ${(0,m.format_duration)(c,g)} are listed here for correction.`}),0===a.length?(0,b.jsx)(H,{message:"No long entries need review."}):(0,b.jsx)("ul",{className:"m-0 mt-4 flex list-none flex-col gap-3 p-0",children:a.map(a=>(0,b.jsx)(D,{entry:a,known_tags:d,is_pending:e,show_times:!0,on_save:f},`${a.sheetName}-${a.id}`))})]})}function A({gaps:a,sheet_names:c,known_tags:d,is_pending:e,on_create:f}){return(0,b.jsxs)("section",{className:u,"aria-label":"Idle gaps",children:[(0,b.jsx)(G,{title:"Fill idle gaps",description:"Create completed entries for untracked time between today's logged blocks."}),0===a.length?(0,b.jsx)(H,{message:"No idle gaps found between entries."}):(0,b.jsx)("ul",{className:"m-0 mt-4 flex list-none flex-col gap-3 p-0",children:a.map(a=>(0,b.jsx)(B,{gap:a,sheet_names:c,known_tags:d,is_pending:e,on_create:f},a.id))})]})}function B({gap:a,sheet_names:c,known_tags:e,is_pending:g,on_create:i}){let j=(0,t.use_time_format)(),k=(0,s.use_duration_format)(),l=a.previousEntry?.sheetName??c[0]??"",[p,q]=(0,d.useState)(l),[r,u]=(0,d.useState)(""),[v,w]=(0,d.useState)("");return(0,b.jsxs)("li",{className:"rounded-md border border-panel-border bg-background p-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-2",children:[(0,b.jsxs)("p",{className:"m-0 font-semibold",children:[(0,f.format_time)(a.start,j)," to"," ",(0,f.format_time)(a.end,j)]}),(0,b.jsx)("span",{className:"font-mono text-[0.86rem] font-semibold text-accent",children:(0,m.format_duration)(a.durationMs,k)})]}),(0,b.jsxs)("p",{className:"m-0 mt-1 text-[0.8rem] text-muted",children:["Between ",a.previousEntry?.description||"the previous entry"," and"," ",a.nextEntry?.description||"the next entry","."]}),(0,b.jsxs)("div",{className:"mt-3 grid grid-cols-1 gap-2 md:grid-cols-[11rem_minmax(0,1fr)]",children:[(0,b.jsx)("select",{className:(0,o.get_input_class_name)("compact"),value:p,disabled:g,"aria-label":"Gap sheet",onChange:a=>q(a.target.value),children:c.map(a=>(0,b.jsx)("option",{value:a,children:a},a))}),(0,b.jsx)(h.TagAutocompleteInput,{id:`gap-description-${a.id}`,value:r,known_tags:e,placeholder:"What filled this gap? Add @tags",disabled:g,on_change:u}),(0,b.jsx)("input",{className:`${(0,o.get_input_class_name)("compact")} md:col-span-2`,value:v,disabled:g,placeholder:"Optional note","aria-label":"Gap note",onChange:a=>w(a.target.value)})]}),(0,b.jsx)("button",{type:"button",className:`${(0,n.get_button_class_name)("primary","small")} mt-3`,disabled:g||0===p.length||0===r.trim().length,onClick:()=>i(a,p,r.trim(),v.trim().length>0?v.trim():void 0),children:"Create entry"})]})}function C({issues:a,known_tags:c,is_pending:d,on_save:e}){return(0,b.jsxs)("section",{className:u,"aria-label":"Tag issues",children:[(0,b.jsx)(G,{title:"Normalize tags",description:"Add missing tags and clean up tag casing on today's entries."}),0===a.length?(0,b.jsx)(H,{message:"No tag cleanup needed."}):(0,b.jsx)("ul",{className:"m-0 mt-4 flex list-none flex-col gap-3 p-0",children:a.map(a=>(0,b.jsx)(D,{entry:a.entry,known_tags:c,is_pending:d,issue_label:a.kinds.map(a=>"missing_tags"===a?"Missing tags":"Tag casing differs").join(" and "),on_save:(a,b)=>{void 0!==b&&e(a,b)}},`${a.entry.sheetName}-${a.entry.id}`))})]})}function D({entry:a,known_tags:c,is_pending:f,issue_label:g,show_times:i=!1,on_save:j}){let[l,m]=(0,d.useState)((0,k.build_resume_description)(a.description,a.tags)),[p,q]=(0,d.useState)(""),[r,s]=(0,d.useState)(""),t=l.trim()!==(0,k.build_resume_description)(a.description,a.tags).trim()||p.trim().length>0||r.trim().length>0;return(0,b.jsxs)("li",{className:"rounded-md border border-panel-border bg-background p-3",children:[(0,b.jsx)(F,{entry:a,duration_ms:a.reviewDurationMs}),void 0===g?null:(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.8rem] text-muted",children:g}),(0,b.jsxs)("div",{className:"mt-3 flex flex-col gap-2",children:[(0,b.jsx)(h.TagAutocompleteInput,{id:`review-entry-${a.sheetName}-${a.id}`,value:l,known_tags:c,disabled:f,placeholder:"Description with @tags",on_change:m}),i?(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:[(0,b.jsx)("input",{className:(0,o.get_input_class_name)("compact"),value:p,disabled:f,placeholder:`Start: ${(0,e.format_datetime_hint)(a.start)}`,"aria-label":"Entry start",onChange:a=>q(a.target.value)}),(0,b.jsx)("input",{className:(0,o.get_input_class_name)("compact"),value:r,disabled:f,placeholder:null===a.end?"End: still running":`End: ${(0,e.format_datetime_hint)(a.end)}`,"aria-label":"Entry end",onChange:a=>s(a.target.value)})]}):null,(0,b.jsx)("button",{type:"button",className:`${(0,n.get_button_class_name)("primary","small")} w-fit`,disabled:f||!t,onClick:()=>j(a,l.trim(),p.trim().length>0?p.trim():void 0,r.trim().length>0?r.trim():void 0),children:"Save changes"})]})]})}function E({entries:a,is_pending:c,on_add_note:d}){return(0,b.jsxs)("section",{className:u,"aria-label":"Review notes",children:[(0,b.jsx)(G,{title:"Add handoff notes",description:"Attach details to entries while the work is still fresh."}),0===a.length?(0,b.jsx)(H,{message:"No entries today."}):(0,b.jsx)("ul",{className:"m-0 mt-4 flex list-none flex-col gap-3 p-0",children:a.map(a=>(0,b.jsxs)("li",{className:"rounded-md border border-panel-border bg-background p-3",children:[(0,b.jsx)(F,{entry:a,duration_ms:a.reviewDurationMs}),a.notes.length>0?(0,b.jsxs)("p",{className:"m-0 mt-1 text-[0.8rem] text-muted",children:[a.notes.length," ",1===a.notes.length?"note":"notes"," already added."]}):null,(0,b.jsx)("div",{className:"mt-3",children:(0,b.jsx)(g.NoteForm,{is_pending:c,allow_at:!0,on_submit:(b,c)=>d(a,b,c)})})]},`${a.sheetName}-${a.id}`))})]})}function F({entry:a,duration_ms:c}){let d=(0,s.use_duration_format)();return(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)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.04em] text-muted",children:a.sheetName}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.95rem] font-semibold",children:a.description||"Untitled entry"}),a.tags.length>0?(0,b.jsx)("ul",{className:"m-0 mt-2 flex list-none flex-wrap gap-1.5 p-0",children:a.tags.map(a=>(0,b.jsx)("li",{className:"rounded-full bg-tag-bg px-2 py-0.5 text-xs text-tag-text",children:(0,l.format_display_tag)(a)},a))}):null]}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-[0.88rem] font-semibold text-accent",children:(0,m.format_duration)(c,d)})]})}function G({title:a,description:c}){return(0,b.jsxs)("header",{children:[(0,b.jsx)("h2",{className:"m-0 text-[1rem] font-semibold",children:a}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.86rem] leading-relaxed text-muted",children:c})]})}function H({message:a}){return(0,b.jsx)("p",{className:"m-0 mt-4 text-[0.9rem] text-muted",children:a})}a.s(["EndOfDayReviewView",0,function({initial_data:a}){let e=(0,c.useRouter)(),[f,g]=(0,d.useState)(a),[h,k]=(0,d.useState)("running"),[l,m]=(0,d.useState)(null),[n,o]=(0,d.useState)(null),[s,t]=(0,d.useState)(!1);(0,d.useEffect)(()=>{g(a)},[a]);let u=(0,d.useMemo)(()=>[0===f.runningEntries.length,0===f.longEntries.length,0===f.idleGaps.length,0===f.tagIssues.length].filter(Boolean).length,[f]),y=async(a,b)=>{t(!0),m(null),o(null);try{await a(),o(b),e.refresh()}catch(a){m((0,p.message_from_unknown_error)(a,"Review action failed"))}finally{t(!1)}};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(i.TrackerTopbar,{breadcrumb:{current:"Review"}}),(0,b.jsxs)("main",{className:"mx-auto flex w-full max-w-5xl flex-col gap-6 px-5 pb-12 pt-6",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-2 text-center",children:[(0,b.jsx)("h1",{className:"m-0 text-[1.5rem] font-[650] tracking-tight",children:"End-of-day review"}),(0,b.jsxs)("p",{className:"m-0 text-[0.9rem] leading-relaxed text-muted",children:[f.dateLabel,". Close timers, fill gaps, normalize tags, and add handoff notes."]})]}),null===l?null:(0,b.jsx)("p",{className:"m-0 rounded-md border border-danger-border bg-danger-soft px-3 py-2 text-[0.85rem] text-danger",children:l}),null===n?null:(0,b.jsx)("p",{className:"m-0 rounded-md border border-accent-border bg-accent-soft px-3 py-2 text-[0.85rem] text-accent",children:n}),(0,b.jsxs)("section",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4","aria-label":"Review summary",children:[(0,b.jsx)(v,{label:"Checklist",value:`${u}/4 clear`,tone:4===u?"accent":"default"}),(0,b.jsx)(v,{label:"Running",value:String(f.runningEntries.length),tone:f.runningEntries.length>0?"danger":"accent"}),(0,b.jsx)(v,{label:"Entries today",value:String(f.entries.length)}),(0,b.jsx)(v,{label:"Gaps",value:String(f.idleGaps.length),tone:f.idleGaps.length>0?"warning":"accent"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-[14rem_minmax(0,1fr)] gap-4 max-[760px]:grid-cols-1",children:[(0,b.jsxs)("nav",{className:"flex h-fit flex-col gap-1 rounded-md border border-panel-border bg-panel p-1.5 shadow-sm","aria-label":"Review sections",children:[(0,b.jsx)(w,{label:"Running timers",count:f.runningEntries.length,active:"running"===h,on_click:()=>k("running")}),(0,b.jsx)(w,{label:"Long entries",count:f.longEntries.length,active:"long"===h,on_click:()=>k("long")}),(0,b.jsx)(w,{label:"Idle gaps",count:f.idleGaps.length,active:"gaps"===h,on_click:()=>k("gaps")}),(0,b.jsx)(w,{label:"Tags",count:f.tagIssues.length,active:"tags"===h,on_click:()=>k("tags")}),(0,b.jsx)(w,{label:"Notes",count:f.entries.length,active:"notes"===h,on_click:()=>k("notes")})]}),(0,b.jsxs)("div",{className:"min-w-0",children:["running"===h?(0,b.jsx)(x,{entries:f.runningEntries,is_pending:s,on_close:(a,b,c)=>y(()=>(0,r.post_tracker_action)("/api/out",(0,j.build_check_out_request_payload)(a.sheetName,{at:b,note:c})),"Timer closed.")}):null,"long"===h?(0,b.jsx)(z,{entries:f.longEntries,threshold_ms:f.longEntryThresholdMs,known_tags:f.knownTags,is_pending:s,on_save:(a,b,c,d)=>y(()=>(0,q.patch_tracker_action)("/api/entry",{sheetName:a.sheetName,entryId:a.id,description:b,start:c,end:d}),"Entry updated.")}):null,"gaps"===h?(0,b.jsx)(A,{gaps:f.idleGaps,sheet_names:f.sheetNames,known_tags:f.knownTags,is_pending:s,on_create:(a,b,c,d)=>y(()=>(0,r.post_tracker_action)("/api/entry/completed",{sheetName:b,description:c,start:a.start,end:a.end,note:d}),"Gap filled.")}):null,"tags"===h?(0,b.jsx)(C,{issues:f.tagIssues,known_tags:f.knownTags,is_pending:s,on_save:(a,b)=>y(()=>(0,q.patch_tracker_action)("/api/entry",{sheetName:a.sheetName,entryId:a.id,description:b}),"Tags updated.")}):null,"notes"===h?(0,b.jsx)(E,{entries:f.entries,is_pending:s,on_add_note:(a,b,c)=>y(()=>(0,r.post_tracker_action)("/api/note",{sheetName:a.sheetName,entryId:a.id,text:b,at:c}),"Note added.")}):null]})]})]})]})}])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=components_end-of-day-review-view_tsx_0t6snsb._.js.map
|
package/dist/standalone/next-output/server/chunks/ssr/components_reporting-view_tsx_0-0ofcv._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[81209,a=>{"use strict";var b=a.i(61401),c=a.i(60382),d=a.i(59021),e=a.i(85752),f=a.i(20396);let g=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],h=[0,6,12,18];function i({heatmap:a,duration_format:c,week_starts_on:e}){let g=(0,f.week_starts_on_to_index)(e),m=(0,d.useMemo)(()=>Array.from({length:7},(a,b)=>(g+b)%7),[g]),n=(0,d.useMemo)(()=>{let b=new Map;for(let c of a)b.set(`${c.weekdayIndex}-${c.hourIndex}`,c.totalMs);return b},[a]),o=(0,d.useMemo)(()=>a.reduce((a,b)=>Math.max(a,b.totalMs),0),[a]),p=(0,d.useMemo)(()=>a.reduce((a,b)=>a+b.totalMs,0),[a]);return(0,b.jsxs)("section",{className:"flex w-full flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:"Activity heatmap"}),(0,b.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:"When during the week you usually track time."})]}),0===p?(0,b.jsx)("p",{className:"m-0 py-6 text-center text-[0.85rem] text-muted",children:"Once you start logging time, your weekly rhythm appears here."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsx)("div",{className:"min-w-[420px] pb-1",children:(0,b.jsxs)("div",{className:"grid grid-cols-[2rem_1fr] gap-x-2",children:[(0,b.jsx)("div",{}),(0,b.jsx)("div",{className:"relative h-3.5 w-full",children:h.map(a=>(0,b.jsx)("span",{className:"absolute -translate-x-1/2 text-[0.65rem] font-medium uppercase tracking-[0.06em] text-muted",style:{left:`${a/24*100}%`},children:k(a)},a))}),m.map(a=>(0,b.jsx)(j,{weekday_index:a,cell_lookup:n,max_cell_ms:o,duration_format:c},a))]})})}),(0,b.jsxs)("footer",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1 text-[0.72rem] text-muted",children:[(0,b.jsx)("span",{children:"Less"}),(0,b.jsx)("div",{className:"flex items-center gap-1",children:[.15,.35,.6,.85,1].map(a=>(0,b.jsx)("span",{className:"inline-block h-3 w-4 rounded-sm",style:{backgroundColor:l(a)}},a))}),(0,b.jsx)("span",{children:"More"})]})]})}function j({weekday_index:a,cell_lookup:c,max_cell_ms:d,duration_format:f}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"self-center text-[0.7rem] font-medium uppercase tracking-[0.06em] text-muted",children:g[a]}),(0,b.jsx)("div",{className:"grid gap-[2px]",style:{gridTemplateColumns:"repeat(24, minmax(0, 1fr))"},children:Array.from({length:24},(h,i)=>{let j=c.get(`${a}-${i}`)??0;return(0,b.jsx)("span",{className:"block aspect-square min-h-[14px] rounded-[3px]",style:{backgroundColor:l(d>0?j/d:0)},title:`${g[a]} ${k(i)}: ${(0,e.format_duration)(j,f)}`},i)})})]})}function k(a){return 0===a?"12a":12===a?"12p":a<12?`${a}a`:`${a-12}p`}function l(a){if(a<=0)return"color-mix(in srgb, var(--surface-raised) 80%, transparent)";let b=Math.min(100,Math.round(90*a)+10);return`color-mix(in srgb, var(--accent) ${b}%, transparent)`}function m(a){return Math.round(100*a)/100}function n({daily_buckets:a,duration_format:c,title:f="Time over days",subtitle:g}){let h=(0,d.useMemo)(()=>a.slice(-60),[a]),i=(0,d.useMemo)(()=>h.reduce((a,b)=>Math.max(a,b.totalMs),0),[h]),j=(0,d.useMemo)(()=>h.reduce((a,b)=>a+b.totalMs,0),[h]),k=(0,d.useMemo)(()=>{let a=h.filter(a=>a.totalMs>0).length;return 0===a?0:j/a},[h,j]),l=g??(0===h.length?"No data in this period.":`${h.length} day${1===h.length?"":"s"} \xb7 avg ${(0,e.format_duration)(k,c)} on active days`);return(0,b.jsxs)("section",{className:"flex w-full flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:f}),(0,b.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:l})]}),0===h.length?(0,b.jsx)("p",{className:"m-0 py-6 text-center text-[0.85rem] text-muted",children:"Track time to populate this chart."}):(0,b.jsx)("div",{className:"flex h-44 items-end gap-[3px] overflow-x-auto pb-2",children:h.map(a=>{let d=i>0?m(a.totalMs/i*100):0,f=0===a.weekdayIndex||6===a.weekdayIndex,g=a.totalMs>0;return(0,b.jsx)("div",{className:"flex h-full min-w-[6px] flex-1 flex-col justify-end",title:`${a.dateLabel} \xb7 ${(0,e.format_duration)(a.totalMs,c)}`,role:"img","aria-label":`${a.dateLabel}: ${(0,e.format_duration)(a.totalMs,c)}`,children:(0,b.jsx)("div",{className:`w-full rounded-t-sm transition-all ${g?f?"bg-accent/60":"bg-accent":"bg-surface-raised"}`,style:{height:g?`${Math.max(2,d)}%`:"2px"}})},a.dateMs)})}),(0,b.jsxs)("footer",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1 text-[0.72rem] text-muted",children:[(0,b.jsx)("span",{children:h.length>0?`${h[0].dateLabel} → ${h[h.length-1].dateLabel}`:""}),(0,b.jsxs)("span",{children:["Total ",(0,e.format_duration)(j,c)," · Peak"," ",(0,e.format_duration)(i,c)]})]})]})}var o=a.i(10724);function p({stats:a,duration_format:c}){let d=Math.round(100*(a.daysInMonth>0?a.trackedDays/a.daysInMonth:0));return(0,b.jsxs)("section",{className:"flex w-full flex-col gap-5 rounded-md border border-panel-border bg-panel p-5 shadow-sm","aria-label":"Month in review",style:{backgroundImage:"linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 60%, transparent) 0%, transparent 70%)"},children:[(0,b.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.7rem] font-semibold uppercase tracking-[0.08em] text-accent",children:"Month in review"}),(0,b.jsx)("h2",{className:"m-0 text-[1.25rem] font-[650] tracking-tight",children:a.monthLabel}),(0,b.jsx)("p",{className:"m-0 text-[0.85rem] text-muted",children:0===a.totalMs?"No time tracked this month yet — start a timer to fill this in.":`Tracked on ${a.trackedDays} of ${a.daysInMonth} days (${d}%).`})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[(0,b.jsx)(q,{label:"Total this month",value:(0,e.format_duration)(a.totalMs,c),detail:0===a.totalMs?"—":`${(0,e.format_duration)(a.averageActiveDayMs,c)} per active day`}),(0,b.jsx)(q,{label:"Best day",value:0===a.bestDayMs?"—":(0,e.format_duration)(a.bestDayMs,c),detail:a.bestDayLabel??"No tracked days yet"}),(0,b.jsx)(q,{label:"Top sheet",value:a.topSheetName??"—",detail:0===a.topSheetMs?"No tracked sheets":(0,e.format_duration)(a.topSheetMs,c)}),(0,b.jsx)(q,{label:"Top tag",value:a.topTag??"—",detail:0===a.topTagMs?"Tag entries to surface":(0,e.format_duration)(a.topTagMs,c)})]}),(0,b.jsxs)("ul",{className:"m-0 grid grid-cols-1 gap-2 p-0 text-[0.85rem] sm:grid-cols-3",children:[(0,b.jsx)(r,{label:"Current streak",value:`${a.currentStreakDays} day${1===a.currentStreakDays?"":"s"}`}),(0,b.jsx)(r,{label:"Longest streak",value:`${a.longestStreakDays} day${1===a.longestStreakDays?"":"s"}`}),(0,b.jsx)(r,{label:"Longest entry",value:0===a.longestEntryMs?"—":(0,e.format_duration)(a.longestEntryMs,c)}),(0,b.jsx)(r,{label:"Entries logged",value:String(a.totalEntries)}),(0,b.jsx)(r,{label:"Tracked days",value:`${a.trackedDays} / ${a.daysInMonth}`}),(0,b.jsx)(r,{label:"Coverage",value:`${d}%`})]})]})}function q({label:a,value:c,detail:d}){return(0,b.jsxs)("div",{className:"flex flex-col gap-1 rounded-md border border-panel-border bg-surface-raised/60 p-3.5",children:[(0,b.jsx)("span",{className:"text-[0.7rem] font-semibold uppercase tracking-[0.06em] text-muted",children:a}),(0,b.jsx)("span",{className:"truncate font-mono text-[1.05rem] font-semibold",children:c}),(0,b.jsx)("span",{className:"text-[0.78rem] text-muted",children:d})]})}function r({label:a,value:c}){return(0,b.jsxs)("li",{className:"flex items-center justify-between gap-2 rounded-md border border-panel-border/60 bg-surface-raised/40 px-3 py-2",children:[(0,b.jsx)("span",{className:"text-[0.78rem] text-muted",children:a}),(0,b.jsx)("span",{className:"font-mono font-semibold",children:c})]})}var s=a.i(89969);let t=[{value:"duration",label:"Duration"},{value:"name",label:"Name"},{value:"entry_count",label:"Entries"},{value:"active_first",label:"Active first"}];function u({sort:a,on_sort_change:c}){return(0,b.jsxs)("fieldset",{className:"m-0 flex w-full max-w-2xl flex-col gap-2 border-0 p-0",children:[(0,b.jsx)("legend",{className:"mb-2 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Sort by"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",role:"group","aria-label":"Sort sheets by",children:t.map(d=>{let e=a===d.value;return(0,b.jsx)("button",{type:"button",className:`${(0,s.get_button_class_name)("ghost","small")} ${e?"border-accent-border bg-accent-soft text-foreground":""}`,"aria-pressed":e,onClick:()=>c(d.value),children:d.label},d.value)})})]})}let v=["#2dd4bf","#60a5fa","#a78bfa","#f472b6","#fb923c","#facc15","#34d399","#22d3ee","#f87171","#c084fc","#fbbf24","#4ade80"];function w(a){return Math.round(100*a)/100}function x({tag_breakdown:a,duration_format:c}){let f=(0,d.useMemo)(()=>(function(a){let b=a.reduce((a,b)=>a+b.totalMs,0);if(0===b)return[];let c=[],d=0;return a.forEach((a,e)=>{var f,g,h;let i,j,k,l,m;if(a.totalMs<=0)return;let n=a.totalMs/b,o=d*Math.PI*2,p=(d+n)*Math.PI*2;d+=n,c.push({tag:a.tag,color:(f=a.tag,"Untagged"===f?"#64748b":v[e%v.length]),ratio:n,total_ms:a.totalMs,path_data:(g=o,h=p,i=A(g,70),j=A(h,70),k=A(h,38),l=A(g,38),m=+(h-g>Math.PI),`M ${i.x} ${i.y} A 70 70 0 ${m} 1 ${j.x} ${j.y} L ${k.x} ${k.y} A 38 38 0 ${m} 0 ${l.x} ${l.y} Z`)})}),c})(a),[a]),g=(0,d.useMemo)(()=>a.reduce((a,b)=>a+b.totalMs,0),[a]),h=f.slice(0,8),i=Math.max(0,f.length-8);return 0===f.length||0===g?(0,b.jsx)(y,{title:"Time by tag",subtitle:"No tagged time in this period.",children:(0,b.jsx)(z,{})}):(0,b.jsx)(y,{title:"Time by tag",subtitle:"Multi-tag entries are split evenly across their tags.",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-4 sm:flex-row sm:items-start",children:[(0,b.jsxs)("div",{className:"relative shrink-0",children:[(0,b.jsx)("svg",{viewBox:"0 0 160 160",className:"h-40 w-40",role:"img","aria-label":"Tag time distribution",children:1===f.length?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("circle",{cx:80,cy:80,r:70,fill:f[0].color}),(0,b.jsx)("circle",{cx:80,cy:80,r:38,fill:"var(--panel)"})]}):f.map(a=>(0,b.jsx)("path",{d:a.path_data,fill:a.color},a.tag))}),(0,b.jsxs)("div",{className:"pointer-events-none absolute inset-0 flex flex-col items-center justify-center text-center",children:[(0,b.jsx)("span",{className:"text-[0.65rem] font-semibold uppercase tracking-[0.08em] text-muted",children:"Total"}),(0,b.jsx)("span",{className:"font-mono text-[0.85rem] font-semibold",children:(0,e.format_duration)(g,c)})]})]}),(0,b.jsxs)("ul",{className:"m-0 flex w-full flex-col gap-1.5 p-0",children:[h.map(a=>(0,b.jsxs)("li",{className:"flex items-center gap-2 text-[0.82rem]",children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"inline-block h-2.5 w-2.5 shrink-0 rounded-sm",style:{backgroundColor:a.color}}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-medium",children:a.tag}),(0,b.jsxs)("span",{className:"shrink-0 font-mono text-muted",children:[Math.round(100*a.ratio),"%"]}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-foreground",children:(0,e.format_duration)(a.total_ms,c)})]},a.tag)),i>0?(0,b.jsxs)("li",{className:"text-[0.78rem] text-muted",children:["+ ",i," more ",1===i?"tag":"tags"]}):null]})]})})}function y({title:a,subtitle:c,children:d}){return(0,b.jsxs)("section",{className:"flex w-full flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:a}),void 0!==c?(0,b.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:c}):null]}),d]})}function z(){return(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 py-3 text-center",children:[(0,b.jsx)("svg",{viewBox:"0 0 160 160",className:"h-28 w-28 opacity-40",role:"presentation",children:(0,b.jsx)("circle",{cx:80,cy:80,r:70,fill:"none",stroke:"var(--panel-border)",strokeWidth:32})}),(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-muted",children:"Tag your entries to see time distribution here."})]})}function A(a,b){return{x:w(80+b*Math.sin(a)),y:w(80-b*Math.cos(a))}}function B({trend:a,duration_format:c,current_label:d,previous_label:f}){var g;let h=(g=a.deltaMs)>0?{symbol:"▲",badge_class:"bg-accent-soft text-accent border border-accent-border"}:g<0?{symbol:"▼",badge_class:"bg-danger-soft text-danger border border-danger-border"}:{symbol:"—",badge_class:"bg-ghost-bg text-muted border border-panel-border"},i=function(a){if(0===a.previousMs)return 0===a.currentMs?"0%":"New";let b=100*Math.abs(a.deltaRatio);return b<.5?"~0%":`${b>=100?b.toFixed(0):b.toFixed(1)}%`}(a);return(0,b.jsxs)("div",{className:"flex flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,b.jsxs)("header",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:a.label}),(0,b.jsxs)("span",{className:`shrink-0 rounded-full px-2 py-0.5 text-[0.7rem] font-semibold ${h.badge_class}`,children:[h.symbol," ",i]})]}),(0,b.jsxs)("dl",{className:"m-0 grid grid-cols-2 gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("dt",{className:"m-0 text-[0.7rem] font-semibold uppercase tracking-[0.06em] text-muted",children:d}),(0,b.jsx)("dd",{className:"m-0 font-mono text-[1.05rem] font-semibold",children:(0,e.format_duration)(a.currentMs,c)})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("dt",{className:"m-0 text-[0.7rem] font-semibold uppercase tracking-[0.06em] text-muted",children:f}),(0,b.jsx)("dd",{className:"m-0 font-mono text-[1.05rem] font-semibold text-muted",children:(0,e.format_duration)(a.previousMs,c)})]})]}),(0,b.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:function(a,b){if(0===a.previousMs&&0===a.currentMs)return"No tracked time in either period.";if(0===a.previousMs)return`${(0,e.format_duration)(a.currentMs,b)} more than last period.`;if(0===a.deltaMs)return"Identical to the previous period.";let c=a.deltaMs>0?"more":"less";return`${(0,e.format_duration)(Math.abs(a.deltaMs),b)} ${c} than the previous period.`}(a,c)})]})}let C=[{value:"dashboard",label:"Dashboard"},{value:"sheets",label:"Sheets"}];function D({active_tab:a,on_change:c}){return(0,b.jsx)("div",{role:"tablist","aria-label":"Reporting view",className:"inline-flex w-full max-w-2xl items-center gap-1 self-center rounded-full border border-panel-border bg-surface-raised/50 p-1",children:C.map(d=>{let e=d.value===a;return(0,b.jsx)("button",{type:"button",role:"tab","aria-selected":e,className:`${(0,s.get_button_class_name)("ghost","small")} flex-1 rounded-full border-transparent ${e?"bg-accent text-accent-text-on":"bg-transparent text-muted"}`,onClick:()=>c(d.value),children:d.label},d.value)})})}function E({weekday_distribution:a,duration_format:c}){let f=(0,d.useMemo)(()=>a.reduce((a,b)=>Math.max(a,b.totalMs),0),[a]),g=(0,d.useMemo)(()=>a.reduce((a,b)=>a+b.totalMs,0),[a]);return(0,b.jsxs)("section",{className:"flex w-full flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:"Day of week"}),(0,b.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:"Where your week tends to lean."})]}),0===g?(0,b.jsx)("p",{className:"m-0 py-4 text-center text-[0.85rem] text-muted",children:"No tracked time in this period."}):(0,b.jsx)("ul",{className:"m-0 flex flex-col gap-1.5 p-0",children:a.map(a=>{let d=f>0?m(a.totalMs/f*100):0;return(0,b.jsxs)("li",{className:"grid grid-cols-[2.25rem_1fr_auto] items-center gap-2 text-[0.82rem]",children:[(0,b.jsx)("span",{className:"font-mono text-[0.78rem] text-muted",children:a.weekdayLabel}),(0,b.jsx)("span",{className:"block h-2 overflow-hidden rounded-full bg-surface-raised",role:"presentation",children:(0,b.jsx)("span",{className:"block h-full rounded-full bg-accent",style:{width:`${Math.max(d,4*(a.totalMs>0))}%`}})}),(0,b.jsx)("span",{className:"font-mono text-foreground",children:(0,e.format_duration)(a.totalMs,c)})]},a.weekdayIndex)})})]})}var F=a.i(98790),G=a.i(22094),H=a.i(12325),I=a.i(95625),J=a.i(95507),K=a.i(46313);function L(a,b){return(0,K.toDate)(a,b?.in).getDay()}function M(a,b,c,d=Date.now()){let e=+a.start;return Math.max(0,Math.min(null===a.end?d:+a.end,c)-Math.max(e,b))}function N(a){let b=[];for(let c=0;c<7;c+=1)for(let d=0;d<24;d+=1){let e=`${c}-${d}`;b.push({weekdayIndex:c,hourIndex:d,totalMs:a.get(e)??0})}return b}var O=a.i(93301);function P(a,b,c,d=Date.now()){let e=[],f=(0,H.startOfDay)(new Date(b)),g=(0,H.startOfDay)(new Date(c));if(+f>+g)return e;let h=f;for(;+h<=+g;){let b=+(0,H.startOfDay)(h),c=+(0,J.endOfDay)(h),f=0;for(let e of a)for(let a of e.entries)f+=M(a,b,c,d);e.push({dateMs:b,dateLabel:(0,O.format)(h,"MMM d"),weekdayIndex:L(h),totalMs:f}),h=(0,G.addDays)(h,1)}return e}var Q=a.i(45250),R=a.i(61802),S=a.i(66472);function T(a,b,c,d=Date.now()){let e=0;for(let f of a)for(let a of f.entries)e+=M(a,b,c,d);return e}var U=a.i(56924);let V="Untagged";function W(a,b,c,d=Date.now()){let e=new Map,f=0;for(let g of a)for(let a of g.entries){let g=M(a,b,c,d);if(g<=0)continue;let h=[];for(let b of a.tags)try{h.push((0,U.normalize_stored_tag)(b))}catch{continue}let i=[...new Set(h)];if(f+=g,0===i.length){e.set(V,(e.get(V)??0)+g);continue}let j=g/i.length;for(let a of i)e.set(a,(e.get(a)??0)+j)}let g=[...e.entries()].map(([a,b])=>({tag:a,totalMs:b,ratio:f>0?b/f:0}));return g.sort((a,b)=>a.tag===V?1:b.tag===V?-1:b.totalMs-a.totalMs),g}var X=a.i(33235),Y=a.i(54910),Z=a.i(3715);function $(a,b,c=new Date,d=Date.now(),e=1){var f;let g=_(b,c,e),h="week"===b?(f=void 0,(0,G.addDays)(c,-7,f)):(0,Z.subMonths)(c,1),i=_(b,h,e),j=T(a,g.start,g.end,d),k=T(a,i.start,i.end,d),l=j-k;return{label:"week"===b?"This week vs last week":"This month vs last month",currentMs:j,previousMs:k,deltaMs:l,deltaRatio:k>0?l/k:0}}function _(a,b,c){return"week"===a?{start:+(0,Y.startOfWeek)(b,{weekStartsOn:c}),end:+(0,X.endOfWeek)(b,{weekStartsOn:c})}:{start:+(0,S.startOfMonth)(b),end:+(0,Q.endOfMonth)(b)}}function aa(a,b){return 0===b?0:a/b}function ab(a,b=new Date,c=1){switch(a){case"week":return{startMs:+(0,Y.startOfWeek)(b,{weekStartsOn:c}),endMs:+(0,X.endOfWeek)(b,{weekStartsOn:c})};case"month":return{startMs:+(0,S.startOfMonth)(b),endMs:+(0,Q.endOfMonth)(b)};default:return{startMs:+(0,H.startOfDay)(b),endMs:+(0,J.endOfDay)(b)}}}var ac=a.i(84365);function ad(a,b){let c=new Set,d=[];for(let e of[...a,...b]){let a=`${e.timestamp.getTime()}:${e.text}`;c.has(a)||(c.add(a),d.push(e))}return d.sort((a,b)=>a.timestamp.getTime()-b.timestamp.getTime()),d}var ae=a.i(13532),af=a.i(64106),ag=a.i(50824),ah=a.i(97460);let ai={from_date:"",to_date:""},aj=["today","yesterday","week","month","last_month","year","last_year"];function ak(a,b){let c=[...a];switch(b){case"name":c.sort((a,b)=>a.sheetName.localeCompare(b.sheetName));break;case"entry_count":c.sort((a,b)=>b.entryCount!==a.entryCount?b.entryCount-a.entryCount:b.totalMs-a.totalMs);break;case"active_first":c.sort((a,b)=>a.hasActiveEntry!==b.hasActiveEntry?a.hasActiveEntry?-1:1:b.totalMs-a.totalMs);break;default:c.sort((a,b)=>b.totalMs-a.totalMs)}return c}var al=a.i(65162),am=a.i(50640);let an={from_date:"",to_date:""};function ao({children:a}){return(0,b.jsx)("div",{className:"flex w-full max-w-5xl flex-col gap-5",children:a})}function ap({children:a}){return(0,b.jsx)("div",{className:"flex w-full max-w-2xl flex-col items-center gap-4",children:a})}function aq({label:a,value:c}){return(0,b.jsxs)("div",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,b.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:a}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[1.1rem] font-[650] tracking-tight",children:c})]})}function ar({title:a,aria_label:c,muted:d=!1,children:e}){return(0,b.jsxs)("section",{className:"flex w-full max-w-2xl flex-col gap-2",children:[(0,b.jsx)("h2",{className:`m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] ${d?"text-muted":"text-foreground"}`,children:a}),(0,b.jsx)("ul",{className:"m-0 flex list-none flex-col gap-2 p-0","aria-label":c,children:e})]})}function as({sheet:a,grand_total_ms:c,duration_format:d}){let f=c>0?Math.round(a.totalMs/c*100):0,g=c>0?m(a.totalMs/c*100):0;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-baseline justify-between gap-2",children:[(0,b.jsx)("h2",{className:"m-0 min-w-0 truncate text-[1rem] font-semibold",children:a.sheetName}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-[0.95rem] font-semibold text-accent",children:(0,e.format_duration)(a.totalMs,d)})]}),(0,b.jsx)("div",{className:"mt-2.5 h-1.5 overflow-hidden rounded-full bg-surface-raised",role:"presentation",children:(0,b.jsx)("div",{className:"h-full rounded-full bg-accent",style:{width:`${g}%`}})}),(0,b.jsxs)("p",{className:"m-0 mt-2 flex flex-wrap gap-x-3 gap-y-0.5 text-[0.82rem] text-muted",children:[(0,b.jsxs)("span",{children:[f,"% of total"]}),(0,b.jsxs)("span",{children:[a.entryCount," ",1===a.entryCount?"entry":"entries"]}),(0,b.jsx)("span",{children:0===a.entryCount?"No average":`${(0,e.format_duration)(a.averageEntryMs,d)} avg`}),a.hasActiveEntry?(0,b.jsx)("span",{className:"text-accent",children:"Timer running"}):null]})]})}function at({sheet:a,in_range:c}){let d=c?"No time in range":0===a.entryCount?"No entries":"No tracked time";return(0,b.jsxs)("li",{className:"rounded-md border border-dashed border-panel-border bg-surface-raised/60 px-3.5 py-2.5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-2",children:[(0,b.jsx)("h3",{className:"m-0 min-w-0 truncate text-[0.95rem] font-medium text-muted",children:a.sheetName}),(0,b.jsx)("span",{className:"shrink-0 text-[0.82rem] text-muted",children:d})]}),a.hasActiveEntry?(0,b.jsx)("p",{className:"m-0 mt-1.5 text-[0.82rem] text-accent",children:"Timer running"}):null]})}a.s(["ReportingView",0,function({source_sheets:a,reference_now:g}){let h=(0,c.useSearchParams)(),j=(0,al.use_duration_format)(),k=(0,am.use_week_starts_on)(),[l,m]=(0,d.useState)("dashboard"),[q,r]=(0,d.useState)(()=>ae.default_reporting_sort_preference.get_server_snapshot()),[s,t]=(0,d.useState)(an),[v,w]=(0,d.useState)(g);(0,d.useEffect)(()=>{t(function(a=ag.default_reporting_range_preference.read(),b="monday"){return"none"===a?ai:(0,ah.get_reporting_date_range_shortcut_inputs)(a,new Date,(0,f.week_starts_on_to_index)(b))}(void 0,k)),r(ae.default_reporting_sort_preference.read())},[k]),(0,d.useEffect)(()=>{let a=function(a){if(null===a)return null;let b=a.trim().toLowerCase();return aj.includes(b)?b:null}(h.get("range"));null!==a&&t((0,ah.get_reporting_date_range_shortcut_inputs)(a,new Date,(0,f.week_starts_on_to_index)(k)))},[h,k]),(0,d.useEffect)(()=>{w(g)},[g]),(0,d.useEffect)(()=>{w(Date.now())},[s,a,k]);let y=(0,d.useMemo)(()=>a.map(a=>({name:a.name,activeEntryID:a.activeEntryID,entries:a.entries.map(a=>({id:a.id,start:new Date(a.start),end:null===a.end?null:new Date(a.end),description:"",tags:a.tags,notes:[]}))})),[a]),z=(0,d.useMemo)(()=>(0,af.get_date_range_ms_from_inputs)(s.from_date,s.to_date),[s]),A=s.from_date.length>0!=s.to_date.length>0||s.from_date.length>0&&s.to_date.length>0&&null===z,C=(0,f.week_starts_on_to_index)(k),{stats:U,analytics:V}=(0,d.useMemo)(()=>({stats:function(a,b=null,c=Date.now(),d=1){let e=a.map(a=>{let d,e,f;return null===b?(d=function(a){let{activeEntryID:b,entries:c,name:d}=a;return(function(a){let b=new Map;for(let c of a){let a=b.get(c.id);if(void 0===a){b.set(c.id,c);continue}if(null===c.end&&null!==a.end){b.set(c.id,{...c,notes:ad(c.notes,a.notes)});continue}if(null===a.end&&null!==c.end){b.set(c.id,{...a,notes:ad(a.notes,c.notes)});continue}b.set(c.id,{...a,notes:ad(a.notes,c.notes)})}return[...b.values()].sort((a,b)=>a.id-b.id)})(c).map(a=>{var c;return c=b===a.id&&null===a.end,{id:a.id,description:a.description,start:a.start.toISOString(),end:null===a.end?null:a.end.toISOString(),tags:a.tags,notes:a.notes.map(({timestamp:a,text:b})=>({timestamp:a.toISOString(),text:b})),sheetName:d,durationMs:function(a,b=Date.now()){let{end:c,start:d}=a;return Math.max(0,(null===c?b:+c)-d)}(a),isActive:c,...!0===a.archived?{archived:!0}:{}}})}(a),e=a.entries.length,f=(0,ac.get_serialized_entries_total_ms)(d),{sheetName:a.name,totalMs:f,entryCount:e,averageEntryMs:aa(f,e),hasActiveEntry:null!==a.activeEntryID}):function(a,b,c,d=Date.now()){let e=0,f=0,g=!1;for(let h of a.entries){let i=M(h,b,c,d);i<=0||(e+=i,f+=1,a.activeEntryID===h.id&&null===h.end&&(g=!0))}return{sheetName:a.name,totalMs:e,entryCount:f,averageEntryMs:aa(e,f),hasActiveEntry:g}}(a,b.startMs,b.endMs,c)}),{activeSheets:f,idleSheets:g}=function(a){let b=[],c=[];for(let d of a)0===d.entryCount||0===d.totalMs?c.push(d):b.push(d);return{activeSheets:b,idleSheets:c}}(e),h=e.reduce((a,b)=>a+b.totalMs,0),i=e.reduce((a,b)=>a+b.entryCount,0);return{activeSheets:f,idleSheets:g,grandTotalMs:h,totalEntryCount:i,grandAverageEntryMs:aa(h,i),periodTotals:null===b?function(a,b=new Date,c=Date.now(),d=1){let e=ab("today",b,d),f=ab("week",b,d),g=ab("month",b,d);return{todayMs:T(a,e.startMs,e.endMs,c),weekMs:T(a,f.startMs,f.endMs,c),monthMs:T(a,g.startMs,g.endMs,c)}}(a,new Date(c),c,d):{todayMs:0,weekMs:0,monthMs:0}}}(y,z,v,C),analytics:function(a,b,c=Date.now(),d=1){let e=new Date(c),f=(0,G.addDays)((0,H.startOfDay)(e),1)-1,g=+(0,H.startOfDay)((0,I.subDays)(e,29)),h=null===b?g:b.startMs,i=null===b?f:b.endMs,j=P(a,h,i,c),k=W(a,h,i,c),l=function(a,b=1){let c=Array(7).fill(0);for(let b of a)c[b.weekdayIndex]+=b.totalMs;let d=(0,Y.startOfWeek)(new Date,{weekStartsOn:b});return Array.from({length:7},(a,e)=>{let f=(0,G.addDays)(d,e),g=(b+e)%7;return{weekdayIndex:g,weekdayLabel:(0,O.format)(f,"EEE"),totalMs:c[g]}})}(j,d);return{dailyBuckets:j,tagBreakdown:k,weekdayDistribution:l,heatmap:function(a,b,c,d=Date.now()){let e=new Map,f=(0,H.startOfDay)(new Date(b)),g=(0,H.startOfDay)(new Date(c));if(+f>+g)return N(e);let h=f;for(;+h<=+g;){let b=L(h),c=+h,f=+(0,J.endOfDay)(h);for(let g=0;g<24;g+=1){let h=c+36e5*g,i=Math.min(h+36e5-1,f),j=0;for(let b of a)for(let a of b.entries)j+=M(a,h,i,d);if(j<=0)continue;let k=`${b}-${g}`;e.set(k,(e.get(k)??0)+j)}h=(0,G.addDays)(h,1)}return N(e)}(a,h,i,c),weekTrend:$(a,"week",e,c,d),monthTrend:$(a,"month",e,c,d),monthInReview:function(a,b=new Date,c=Date.now()){let d,e,f,g,h=(0,S.startOfMonth)(b),i=(0,Q.endOfMonth)(b),j=(0,O.format)(h,"MMMM yyyy"),k=(e=(d=(0,K.toDate)(h,void 0)).getFullYear(),f=d.getMonth(),(g=(0,R.constructFrom)(d,0)).setFullYear(e,f+1,0),g.setHours(0,0,0,0),g.getDate()),l=P(a,+h,+i,c),m=W(a,+h,+i,c),n=0,o=0,p=0,q=-1;l.forEach((a,b)=>{n+=a.totalMs,a.totalMs>0&&(o+=1),a.totalMs>p&&(p=a.totalMs,q=b)});let r=0,s=0,t=new Map;for(let b of a){let a=0;for(let d of b.entries){let b=M(d,+h,+i,c);!(b<=0)&&(r+=1,a+=b,b>s&&(s=b))}a>0&&t.set(b.name,a)}let u=null,v=0;for(let[a,b]of t)b>v&&(v=b,u=a);let w=null,x=0;for(let a of m)"Untagged"!==a.tag&&a.totalMs>x&&(x=a.totalMs,w=a.tag);let y=function(a,b=new Date,c=Date.now()){let d=(0,H.startOfDay)(b);0>=T(a,+d,+(0,J.endOfDay)(d),c)&&(d=(0,I.subDays)(d,1));let e=0;for(let b=0;b<3660&&!(0>=T(a,+(0,H.startOfDay)(d),+(0,J.endOfDay)(d),c));b+=1){;e+=1,d=(0,I.subDays)(d,1)}return e}(a,b,c),z=function(a){let b=0,c=0;for(let d of a)d.totalMs>0?(c+=1,b=Math.max(b,c)):c=0;return b}(l),A=-1===q?null:(0,O.format)(new Date(l[q].dateMs),"EEE, MMM d"),B=o>0?n/o:0;return{monthLabel:j,totalMs:n,trackedDays:o,daysInMonth:k,bestDayMs:p,bestDayLabel:A,longestEntryMs:s,totalEntries:r,topSheetName:u,topSheetMs:v,topTag:w,topTagMs:x,currentStreakDays:y,longestStreakDays:z,averageActiveDayMs:B}}(a,e,c)}}(y,z,v,C)}),[y,z,C,v]),{activeSheets:X,grandAverageEntryMs:Z,grandTotalMs:_,idleSheets:au,periodTotals:av,totalEntryCount:aw}=U,ax=X.length+au.length,ay=null===z,az=(0,d.useMemo)(()=>ak(X,q),[X,q]),aA=(0,d.useMemo)(()=>ak(au,q),[au,q]),aB=null===z?"Last 30 days of activity.":`${V.dailyBuckets.length} days in the selected range.`;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(F.TrackerTopbar,{breadcrumb:{current:"Reporting"}}),(0,b.jsxs)("main",{className:"mx-auto flex w-full max-w-[1120px] flex-col items-center gap-6 px-5 pb-12 pt-6",children:[(0,b.jsxs)("header",{className:"flex w-full max-w-2xl flex-col gap-3",children:[(0,b.jsx)("h1",{className:"m-0 text-center text-[1.5rem] font-[650] tracking-tight",children:"Reporting"}),(0,b.jsx)("p",{className:"m-0 max-w-md self-center text-center text-[0.9rem] leading-relaxed text-muted",children:null===z?"A snapshot of where your time has been going.":"Metrics filtered to the selected date range."})]}),(0,b.jsx)(D,{active_tab:l,on_change:m}),(0,b.jsx)(o.ReportingDateRangePicker,{range:s,is_invalid:A,on_range_change:t,on_clear:()=>t(an)}),(0,b.jsxs)("section",{className:"grid w-full max-w-5xl grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4","aria-label":"Summary",children:[(0,b.jsx)(aq,{label:null===z?"Total tracked":"In range",value:(0,e.format_duration)(_,j)}),(0,b.jsx)(aq,{label:"Avg per entry",value:(0,e.format_duration)(Z,j)}),(0,b.jsx)(aq,{label:"Sheets",value:String(ax)}),(0,b.jsx)(aq,{label:"Entries",value:String(aw)})]}),ay?(0,b.jsxs)("section",{className:"grid w-full max-w-5xl grid-cols-1 gap-2 sm:grid-cols-3","aria-label":"Period totals",children:[(0,b.jsx)(aq,{label:"Today",value:(0,e.format_duration)(av.todayMs,j)}),(0,b.jsx)(aq,{label:"This week",value:(0,e.format_duration)(av.weekMs,j)}),(0,b.jsx)(aq,{label:"This month",value:(0,e.format_duration)(av.monthMs,j)})]}):null,0===ax?(0,b.jsx)("p",{className:"m-0 w-full max-w-2xl text-center text-[0.9rem] text-muted",children:"No sheets yet. Create a sheet on the tracker to start logging time."}):A?(0,b.jsx)("p",{className:"m-0 w-full max-w-2xl text-center text-[0.9rem] text-muted",children:"Choose both dates to filter metrics, or clear the range to see all time."}):"dashboard"===l?(0,b.jsxs)(ao,{children:[(0,b.jsx)(p,{stats:V.monthInReview,duration_format:j}),(0,b.jsxs)("div",{className:"grid w-full grid-cols-1 gap-3 lg:grid-cols-2",children:[(0,b.jsx)(B,{trend:V.weekTrend,duration_format:j,current_label:"This week",previous_label:"Last week"}),(0,b.jsx)(B,{trend:V.monthTrend,duration_format:j,current_label:"This month",previous_label:"Last month"})]}),(0,b.jsx)(n,{daily_buckets:V.dailyBuckets,duration_format:j,subtitle:aB}),(0,b.jsxs)("div",{className:"grid w-full grid-cols-1 gap-3 lg:grid-cols-2",children:[(0,b.jsx)(x,{tag_breakdown:V.tagBreakdown,duration_format:j}),(0,b.jsx)(E,{weekday_distribution:V.weekdayDistribution,duration_format:j})]}),(0,b.jsx)(i,{heatmap:V.heatmap,duration_format:j,week_starts_on:k})]}):(0,b.jsxs)(ap,{children:[(0,b.jsx)(u,{sort:q,on_sort_change:r}),0===X.length?(0,b.jsx)("p",{className:"m-0 w-full max-w-2xl text-center text-[0.9rem] text-muted",children:null===z?"No tracked time yet. Check in on a sheet to see stats here.":"No tracked time in this date range."}):(0,b.jsx)(ar,{title:"Tracked sheets",aria_label:"Tracked sheet statistics",children:az.map(a=>(0,b.jsx)(as,{sheet:a,grand_total_ms:_,duration_format:j},a.sheetName))}),au.length>0?(0,b.jsx)(ar,{title:null===z?"Empty sheets":"Sheets in range",aria_label:"Sheets without time in range",muted:!0,children:aA.map(a=>(0,b.jsx)(at,{sheet:a,in_range:null!==z},a.sheetName))}):null]})]})]})}],81209)}];
|
|
1
|
+
module.exports=[81209,a=>{"use strict";var b=a.i(61401),c=a.i(60382),d=a.i(59021),e=a.i(85752),f=a.i(20396);let g=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],h=[0,6,12,18];function i({heatmap:a,duration_format:c,week_starts_on:e}){let g=(0,f.week_starts_on_to_index)(e),m=(0,d.useMemo)(()=>Array.from({length:7},(a,b)=>(g+b)%7),[g]),n=(0,d.useMemo)(()=>{let b=new Map;for(let c of a)b.set(`${c.weekdayIndex}-${c.hourIndex}`,c.totalMs);return b},[a]),o=(0,d.useMemo)(()=>a.reduce((a,b)=>Math.max(a,b.totalMs),0),[a]),p=(0,d.useMemo)(()=>a.reduce((a,b)=>a+b.totalMs,0),[a]);return(0,b.jsxs)("section",{className:"flex w-full flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:"Activity heatmap"}),(0,b.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:"When during the week you usually track time."})]}),0===p?(0,b.jsx)("p",{className:"m-0 py-6 text-center text-[0.85rem] text-muted",children:"Once you start logging time, your weekly rhythm appears here."}):(0,b.jsx)("div",{className:"overflow-x-auto",children:(0,b.jsx)("div",{className:"min-w-[420px] pb-1",children:(0,b.jsxs)("div",{className:"grid grid-cols-[2rem_1fr] gap-x-2",children:[(0,b.jsx)("div",{}),(0,b.jsx)("div",{className:"relative h-3.5 w-full",children:h.map(a=>(0,b.jsx)("span",{className:"absolute -translate-x-1/2 text-[0.65rem] font-medium uppercase tracking-[0.06em] text-muted",style:{left:`${a/24*100}%`},children:k(a)},a))}),m.map(a=>(0,b.jsx)(j,{weekday_index:a,cell_lookup:n,max_cell_ms:o,duration_format:c},a))]})})}),(0,b.jsxs)("footer",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1 text-[0.72rem] text-muted",children:[(0,b.jsx)("span",{children:"Less"}),(0,b.jsx)("div",{className:"flex items-center gap-1",children:[.15,.35,.6,.85,1].map(a=>(0,b.jsx)("span",{className:"inline-block h-3 w-4 rounded-sm",style:{backgroundColor:l(a)}},a))}),(0,b.jsx)("span",{children:"More"})]})]})}function j({weekday_index:a,cell_lookup:c,max_cell_ms:d,duration_format:f}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"self-center text-[0.7rem] font-medium uppercase tracking-[0.06em] text-muted",children:g[a]}),(0,b.jsx)("div",{className:"grid gap-[2px]",style:{gridTemplateColumns:"repeat(24, minmax(0, 1fr))"},children:Array.from({length:24},(h,i)=>{let j=c.get(`${a}-${i}`)??0;return(0,b.jsx)("span",{className:"block aspect-square min-h-[14px] rounded-[3px]",style:{backgroundColor:l(d>0?j/d:0)},title:`${g[a]} ${k(i)}: ${(0,e.format_duration)(j,f)}`},i)})})]})}function k(a){return 0===a?"12a":12===a?"12p":a<12?`${a}a`:`${a-12}p`}function l(a){if(a<=0)return"color-mix(in srgb, var(--surface-raised) 80%, transparent)";let b=Math.min(100,Math.round(90*a)+10);return`color-mix(in srgb, var(--accent) ${b}%, transparent)`}function m(a){return Math.round(100*a)/100}function n({daily_buckets:a,duration_format:c,title:f="Time over days",subtitle:g}){let h=(0,d.useMemo)(()=>a.slice(-60),[a]),i=(0,d.useMemo)(()=>h.reduce((a,b)=>Math.max(a,b.totalMs),0),[h]),j=(0,d.useMemo)(()=>h.reduce((a,b)=>a+b.totalMs,0),[h]),k=(0,d.useMemo)(()=>{let a=h.filter(a=>a.totalMs>0).length;return 0===a?0:j/a},[h,j]),l=g??(0===h.length?"No data in this period.":`${h.length} day${1===h.length?"":"s"} \xb7 avg ${(0,e.format_duration)(k,c)} on active days`);return(0,b.jsxs)("section",{className:"flex w-full flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:f}),(0,b.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:l})]}),0===h.length?(0,b.jsx)("p",{className:"m-0 py-6 text-center text-[0.85rem] text-muted",children:"Track time to populate this chart."}):(0,b.jsx)("div",{className:"flex h-44 items-end gap-[3px] overflow-x-auto pb-2",children:h.map(a=>{let d=i>0?m(a.totalMs/i*100):0,f=0===a.weekdayIndex||6===a.weekdayIndex,g=a.totalMs>0;return(0,b.jsx)("div",{className:"flex h-full min-w-[6px] flex-1 flex-col justify-end",title:`${a.dateLabel} \xb7 ${(0,e.format_duration)(a.totalMs,c)}`,role:"img","aria-label":`${a.dateLabel}: ${(0,e.format_duration)(a.totalMs,c)}`,children:(0,b.jsx)("div",{className:`w-full rounded-t-sm transition-all ${g?f?"bg-accent/60":"bg-accent":"bg-surface-raised"}`,style:{height:g?`${Math.max(2,d)}%`:"2px"}})},a.dateMs)})}),(0,b.jsxs)("footer",{className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1 text-[0.72rem] text-muted",children:[(0,b.jsx)("span",{children:h.length>0?`${h[0].dateLabel} → ${h[h.length-1].dateLabel}`:""}),(0,b.jsxs)("span",{children:["Total ",(0,e.format_duration)(j,c)," · Peak"," ",(0,e.format_duration)(i,c)]})]})]})}var o=a.i(10724);function p({insights:a,duration_format:c}){return(0,b.jsxs)("section",{className:"flex w-full flex-col gap-4 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:"Focus pattern insights"}),(0,b.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:"Heuristics from starts, gaps, sheet changes, and long focus blocks."})]}),0===a.activeDayCount?(0,b.jsx)("p",{className:"m-0 py-4 text-center text-[0.85rem] text-muted",children:"No tracked time in this period."}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[(0,b.jsx)(q,{label:"Interruptions",value:String(a.interruptionCount),detail:`${u(a.interruptionFrequencyPerDay)} / active day`}),(0,b.jsx)(q,{label:"Context switches",value:String(a.contextSwitchCount),detail:`${u(a.contextSwitchesPerDay)} / active day`}),(0,b.jsx)(q,{label:"Deep-work streak",value:a.longestDeepWorkStreakMs>0?(0,e.format_duration)(a.longestDeepWorkStreakMs,c):"None",detail:a.longestDeepWorkStreakEntryCount>0?`${a.longestDeepWorkStreakEntryCount} focused entries`:`${(0,e.format_duration)(a.deepWorkThresholdMs,c)}+ entries`})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 lg:grid-cols-2",children:[(0,b.jsx)(r,{title:"Best focus hours",children:0===a.bestFocusHours.length?(0,b.jsx)(t,{label:"No strong focus hour yet."}):a.bestFocusHours.map(a=>(0,b.jsx)(s,{label:a.hourLabel,value:(0,e.format_duration)(a.totalMs,c),detail:`${a.entryCount} touched entries`},a.hourIndex))}),(0,b.jsx)(r,{title:"Recurring idle windows",children:0===a.recurringIdleWindows.length?(0,b.jsx)(t,{label:"No recurring idle window found."}):a.recurringIdleWindows.map(a=>(0,b.jsx)(s,{label:a.hourLabel,value:`${a.dayCount} days`,detail:`${(0,e.format_duration)(a.totalIdleMs,c)} idle`},a.hourIndex))})]}),(0,b.jsx)(r,{title:"Usual project starts",children:0===a.sheetStartSuggestions.length?(0,b.jsx)(t,{label:"Not enough repeated project starts yet."}):a.sheetStartSuggestions.map(a=>(0,b.jsx)(s,{label:`You usually start ${a.sheetName} around ${a.hourLabel}`,value:`${Math.round(100*a.confidence)}%`,detail:`${a.startCount} starts in this hour`},`${a.sheetName}-${a.hourIndex}`))})]})]})}function q({label:a,value:c,detail:d}){return(0,b.jsxs)("article",{className:"rounded-md border border-panel-border bg-background p-3",children:[(0,b.jsx)("p",{className:"m-0 text-[0.68rem] font-semibold uppercase tracking-[0.06em] text-muted",children:a}),(0,b.jsx)("p",{className:"m-0 mt-1 font-mono text-[1.05rem] font-semibold text-accent",children:c}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.78rem] text-muted",children:d})]})}function r({title:a,children:c}){return(0,b.jsxs)("section",{className:"rounded-md border border-panel-border bg-background p-3",children:[(0,b.jsx)("h4",{className:"m-0 text-[0.82rem] font-semibold",children:a}),(0,b.jsx)("ul",{className:"m-0 mt-2 flex list-none flex-col gap-2 p-0",children:c})]})}function s({label:a,value:c,detail:d}){return(0,b.jsxs)("li",{className:"flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1 text-[0.82rem]",children:[(0,b.jsx)("span",{className:"min-w-0 font-medium",children:a}),(0,b.jsx)("span",{className:"font-mono font-semibold text-accent",children:c}),(0,b.jsx)("span",{className:"basis-full text-[0.76rem] text-muted",children:d})]})}function t({label:a}){return(0,b.jsx)("li",{className:"text-[0.82rem] text-muted",children:a})}function u(a){return 0===a?"0":a<10?a.toFixed(1):a.toFixed(0)}function v({stats:a,duration_format:c}){let d=Math.round(100*(a.daysInMonth>0?a.trackedDays/a.daysInMonth:0));return(0,b.jsxs)("section",{className:"flex w-full flex-col gap-5 rounded-md border border-panel-border bg-panel p-5 shadow-sm","aria-label":"Month in review",style:{backgroundImage:"linear-gradient(135deg, color-mix(in srgb, var(--accent-soft) 60%, transparent) 0%, transparent 70%)"},children:[(0,b.jsxs)("header",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.7rem] font-semibold uppercase tracking-[0.08em] text-accent",children:"Month in review"}),(0,b.jsx)("h2",{className:"m-0 text-[1.25rem] font-[650] tracking-tight",children:a.monthLabel}),(0,b.jsx)("p",{className:"m-0 text-[0.85rem] text-muted",children:0===a.totalMs?"No time tracked this month yet — start a timer to fill this in.":`Tracked on ${a.trackedDays} of ${a.daysInMonth} days (${d}%).`})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-4",children:[(0,b.jsx)(w,{label:"Total this month",value:(0,e.format_duration)(a.totalMs,c),detail:0===a.totalMs?"—":`${(0,e.format_duration)(a.averageActiveDayMs,c)} per active day`}),(0,b.jsx)(w,{label:"Best day",value:0===a.bestDayMs?"—":(0,e.format_duration)(a.bestDayMs,c),detail:a.bestDayLabel??"No tracked days yet"}),(0,b.jsx)(w,{label:"Top sheet",value:a.topSheetName??"—",detail:0===a.topSheetMs?"No tracked sheets":(0,e.format_duration)(a.topSheetMs,c)}),(0,b.jsx)(w,{label:"Top tag",value:a.topTag??"—",detail:0===a.topTagMs?"Tag entries to surface":(0,e.format_duration)(a.topTagMs,c)})]}),(0,b.jsxs)("ul",{className:"m-0 grid grid-cols-1 gap-2 p-0 text-[0.85rem] sm:grid-cols-3",children:[(0,b.jsx)(x,{label:"Current streak",value:`${a.currentStreakDays} day${1===a.currentStreakDays?"":"s"}`}),(0,b.jsx)(x,{label:"Longest streak",value:`${a.longestStreakDays} day${1===a.longestStreakDays?"":"s"}`}),(0,b.jsx)(x,{label:"Longest entry",value:0===a.longestEntryMs?"—":(0,e.format_duration)(a.longestEntryMs,c)}),(0,b.jsx)(x,{label:"Entries logged",value:String(a.totalEntries)}),(0,b.jsx)(x,{label:"Tracked days",value:`${a.trackedDays} / ${a.daysInMonth}`}),(0,b.jsx)(x,{label:"Coverage",value:`${d}%`})]})]})}function w({label:a,value:c,detail:d}){return(0,b.jsxs)("div",{className:"flex flex-col gap-1 rounded-md border border-panel-border bg-surface-raised/60 p-3.5",children:[(0,b.jsx)("span",{className:"text-[0.7rem] font-semibold uppercase tracking-[0.06em] text-muted",children:a}),(0,b.jsx)("span",{className:"truncate font-mono text-[1.05rem] font-semibold",children:c}),(0,b.jsx)("span",{className:"text-[0.78rem] text-muted",children:d})]})}function x({label:a,value:c}){return(0,b.jsxs)("li",{className:"flex items-center justify-between gap-2 rounded-md border border-panel-border/60 bg-surface-raised/40 px-3 py-2",children:[(0,b.jsx)("span",{className:"text-[0.78rem] text-muted",children:a}),(0,b.jsx)("span",{className:"font-mono font-semibold",children:c})]})}var y=a.i(89969);let z=[{value:"duration",label:"Duration"},{value:"name",label:"Name"},{value:"entry_count",label:"Entries"},{value:"active_first",label:"Active first"}];function A({sort:a,on_sort_change:c}){return(0,b.jsxs)("fieldset",{className:"m-0 flex w-full max-w-2xl flex-col gap-2 border-0 p-0",children:[(0,b.jsx)("legend",{className:"mb-2 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Sort by"}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",role:"group","aria-label":"Sort sheets by",children:z.map(d=>{let e=a===d.value;return(0,b.jsx)("button",{type:"button",className:`${(0,y.get_button_class_name)("ghost","small")} ${e?"border-accent-border bg-accent-soft text-foreground":""}`,"aria-pressed":e,onClick:()=>c(d.value),children:d.label},d.value)})})]})}let B=["#2dd4bf","#60a5fa","#a78bfa","#f472b6","#fb923c","#facc15","#34d399","#22d3ee","#f87171","#c084fc","#fbbf24","#4ade80"];function C(a){return Math.round(100*a)/100}function D({tag_breakdown:a,duration_format:c}){let f=(0,d.useMemo)(()=>(function(a){let b=a.reduce((a,b)=>a+b.totalMs,0);if(0===b)return[];let c=[],d=0;return a.forEach((a,e)=>{var f,g,h;let i,j,k,l,m;if(a.totalMs<=0)return;let n=a.totalMs/b,o=d*Math.PI*2,p=(d+n)*Math.PI*2;d+=n,c.push({tag:a.tag,color:(f=a.tag,"Untagged"===f?"#64748b":B[e%B.length]),ratio:n,total_ms:a.totalMs,path_data:(g=o,h=p,i=G(g,70),j=G(h,70),k=G(h,38),l=G(g,38),m=+(h-g>Math.PI),`M ${i.x} ${i.y} A 70 70 0 ${m} 1 ${j.x} ${j.y} L ${k.x} ${k.y} A 38 38 0 ${m} 0 ${l.x} ${l.y} Z`)})}),c})(a),[a]),g=(0,d.useMemo)(()=>a.reduce((a,b)=>a+b.totalMs,0),[a]),h=f.slice(0,8),i=Math.max(0,f.length-8);return 0===f.length||0===g?(0,b.jsx)(E,{title:"Time by tag",subtitle:"No tagged time in this period.",children:(0,b.jsx)(F,{})}):(0,b.jsx)(E,{title:"Time by tag",subtitle:"Multi-tag entries are split evenly across their tags.",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-4 sm:flex-row sm:items-start",children:[(0,b.jsxs)("div",{className:"relative shrink-0",children:[(0,b.jsx)("svg",{viewBox:"0 0 160 160",className:"h-40 w-40",role:"img","aria-label":"Tag time distribution",children:1===f.length?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("circle",{cx:80,cy:80,r:70,fill:f[0].color}),(0,b.jsx)("circle",{cx:80,cy:80,r:38,fill:"var(--panel)"})]}):f.map(a=>(0,b.jsx)("path",{d:a.path_data,fill:a.color},a.tag))}),(0,b.jsxs)("div",{className:"pointer-events-none absolute inset-0 flex flex-col items-center justify-center text-center",children:[(0,b.jsx)("span",{className:"text-[0.65rem] font-semibold uppercase tracking-[0.08em] text-muted",children:"Total"}),(0,b.jsx)("span",{className:"font-mono text-[0.85rem] font-semibold",children:(0,e.format_duration)(g,c)})]})]}),(0,b.jsxs)("ul",{className:"m-0 flex w-full flex-col gap-1.5 p-0",children:[h.map(a=>(0,b.jsxs)("li",{className:"flex items-center gap-2 text-[0.82rem]",children:[(0,b.jsx)("span",{"aria-hidden":!0,className:"inline-block h-2.5 w-2.5 shrink-0 rounded-sm",style:{backgroundColor:a.color}}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-medium",children:a.tag}),(0,b.jsxs)("span",{className:"shrink-0 font-mono text-muted",children:[Math.round(100*a.ratio),"%"]}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-foreground",children:(0,e.format_duration)(a.total_ms,c)})]},a.tag)),i>0?(0,b.jsxs)("li",{className:"text-[0.78rem] text-muted",children:["+ ",i," more ",1===i?"tag":"tags"]}):null]})]})})}function E({title:a,subtitle:c,children:d}){return(0,b.jsxs)("section",{className:"flex w-full flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:a}),void 0!==c?(0,b.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:c}):null]}),d]})}function F(){return(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2 py-3 text-center",children:[(0,b.jsx)("svg",{viewBox:"0 0 160 160",className:"h-28 w-28 opacity-40",role:"presentation",children:(0,b.jsx)("circle",{cx:80,cy:80,r:70,fill:"none",stroke:"var(--panel-border)",strokeWidth:32})}),(0,b.jsx)("p",{className:"m-0 text-[0.82rem] text-muted",children:"Tag your entries to see time distribution here."})]})}function G(a,b){return{x:C(80+b*Math.sin(a)),y:C(80-b*Math.cos(a))}}function H({trend:a,duration_format:c,current_label:d,previous_label:f}){var g;let h=(g=a.deltaMs)>0?{symbol:"▲",badge_class:"bg-accent-soft text-accent border border-accent-border"}:g<0?{symbol:"▼",badge_class:"bg-danger-soft text-danger border border-danger-border"}:{symbol:"—",badge_class:"bg-ghost-bg text-muted border border-panel-border"},i=function(a){if(0===a.previousMs)return 0===a.currentMs?"0%":"New";let b=100*Math.abs(a.deltaRatio);return b<.5?"~0%":`${b>=100?b.toFixed(0):b.toFixed(1)}%`}(a);return(0,b.jsxs)("div",{className:"flex flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,b.jsxs)("header",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:a.label}),(0,b.jsxs)("span",{className:`shrink-0 rounded-full px-2 py-0.5 text-[0.7rem] font-semibold ${h.badge_class}`,children:[h.symbol," ",i]})]}),(0,b.jsxs)("dl",{className:"m-0 grid grid-cols-2 gap-3",children:[(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("dt",{className:"m-0 text-[0.7rem] font-semibold uppercase tracking-[0.06em] text-muted",children:d}),(0,b.jsx)("dd",{className:"m-0 font-mono text-[1.05rem] font-semibold",children:(0,e.format_duration)(a.currentMs,c)})]}),(0,b.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("dt",{className:"m-0 text-[0.7rem] font-semibold uppercase tracking-[0.06em] text-muted",children:f}),(0,b.jsx)("dd",{className:"m-0 font-mono text-[1.05rem] font-semibold text-muted",children:(0,e.format_duration)(a.previousMs,c)})]})]}),(0,b.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:function(a,b){if(0===a.previousMs&&0===a.currentMs)return"No tracked time in either period.";if(0===a.previousMs)return`${(0,e.format_duration)(a.currentMs,b)} more than last period.`;if(0===a.deltaMs)return"Identical to the previous period.";let c=a.deltaMs>0?"more":"less";return`${(0,e.format_duration)(Math.abs(a.deltaMs),b)} ${c} than the previous period.`}(a,c)})]})}let I=[{value:"dashboard",label:"Dashboard"},{value:"sheets",label:"Sheets"}];function J({active_tab:a,on_change:c}){return(0,b.jsx)("div",{role:"tablist","aria-label":"Reporting view",className:"inline-flex w-full max-w-2xl items-center gap-1 self-center rounded-full border border-panel-border bg-surface-raised/50 p-1",children:I.map(d=>{let e=d.value===a;return(0,b.jsx)("button",{type:"button",role:"tab","aria-selected":e,className:`${(0,y.get_button_class_name)("ghost","small")} flex-1 rounded-full border-transparent ${e?"bg-accent text-accent-text-on":"bg-transparent text-muted"}`,onClick:()=>c(d.value),children:d.label},d.value)})})}function K({weekday_distribution:a,duration_format:c}){let f=(0,d.useMemo)(()=>a.reduce((a,b)=>Math.max(a,b.totalMs),0),[a]),g=(0,d.useMemo)(()=>a.reduce((a,b)=>a+b.totalMs,0),[a]);return(0,b.jsxs)("section",{className:"flex w-full flex-col gap-3 rounded-md border border-panel-border bg-panel p-4 shadow-sm",children:[(0,b.jsxs)("header",{className:"flex flex-col gap-0.5",children:[(0,b.jsx)("h3",{className:"m-0 text-[0.95rem] font-semibold",children:"Day of week"}),(0,b.jsx)("p",{className:"m-0 text-[0.78rem] text-muted",children:"Where your week tends to lean."})]}),0===g?(0,b.jsx)("p",{className:"m-0 py-4 text-center text-[0.85rem] text-muted",children:"No tracked time in this period."}):(0,b.jsx)("ul",{className:"m-0 flex flex-col gap-1.5 p-0",children:a.map(a=>{let d=f>0?m(a.totalMs/f*100):0;return(0,b.jsxs)("li",{className:"grid grid-cols-[2.25rem_1fr_auto] items-center gap-2 text-[0.82rem]",children:[(0,b.jsx)("span",{className:"font-mono text-[0.78rem] text-muted",children:a.weekdayLabel}),(0,b.jsx)("span",{className:"block h-2 overflow-hidden rounded-full bg-surface-raised",role:"presentation",children:(0,b.jsx)("span",{className:"block h-full rounded-full bg-accent",style:{width:`${Math.max(d,4*(a.totalMs>0))}%`}})}),(0,b.jsx)("span",{className:"font-mono text-foreground",children:(0,e.format_duration)(a.totalMs,c)})]},a.weekdayIndex)})})]})}var L=a.i(98790),M=a.i(22094),N=a.i(12325),O=a.i(95625),P=a.i(95507),Q=a.i(46313);function R(a,b){return(0,Q.toDate)(a,b?.in).getDay()}function S(a,b,c,d=Date.now()){let e=+a.start;return Math.max(0,Math.min(null===a.end?d:+a.end,c)-Math.max(e,b))}function T(a){let b=[];for(let c=0;c<7;c+=1)for(let d=0;d<24;d+=1){let e=`${c}-${d}`;b.push({weekdayIndex:c,hourIndex:d,totalMs:a.get(e)??0})}return b}var U=a.i(93301);function V(a,b,c,d=Date.now()){let e=[],f=(0,N.startOfDay)(new Date(b)),g=(0,N.startOfDay)(new Date(c));if(+f>+g)return e;let h=f;for(;+h<=+g;){let b=+(0,N.startOfDay)(h),c=+(0,P.endOfDay)(h),f=0;for(let e of a)for(let a of e.entries)f+=S(a,b,c,d);e.push({dateMs:b,dateLabel:(0,U.format)(h,"MMM d"),weekdayIndex:R(h),totalMs:f}),h=(0,M.addDays)(h,1)}return e}function W(a){let b=[];for(let c=1;c<a.length;c+=1){let d=a[c-1],e=a[c];if(void 0===d||void 0===e||!X(d.endMs,e.startMs))continue;let f=e.startMs-d.endMs;f<=0||b.push({startMs:d.endMs,endMs:e.startMs,durationMs:f})}return b}function X(a,b){let c=new Date(a),d=new Date(b);return+(0,N.startOfDay)(c)==+(0,N.startOfDay)(d)}function Y(a){let b=new Date(a);return b.setMinutes(0,0,0),b.getTime()}function Z(a){let b=new Date;return b.setHours(a,0,0,0),(0,U.format)(b,"haaa")}var $=a.i(45250),_=a.i(61802),aa=a.i(66472);function ab(a,b,c,d=Date.now()){let e=0;for(let f of a)for(let a of f.entries)e+=S(a,b,c,d);return e}var ac=a.i(56924);let ad="Untagged";function ae(a,b,c,d=Date.now()){let e=new Map,f=0;for(let g of a)for(let a of g.entries){let g=S(a,b,c,d);if(g<=0)continue;let h=[];for(let b of a.tags)try{h.push((0,ac.normalize_stored_tag)(b))}catch{continue}let i=[...new Set(h)];if(f+=g,0===i.length){e.set(ad,(e.get(ad)??0)+g);continue}let j=g/i.length;for(let a of i)e.set(a,(e.get(a)??0)+j)}let g=[...e.entries()].map(([a,b])=>({tag:a,totalMs:b,ratio:f>0?b/f:0}));return g.sort((a,b)=>a.tag===ad?1:b.tag===ad?-1:b.totalMs-a.totalMs),g}var af=a.i(33235),ag=a.i(54910),ah=a.i(3715);function ai(a,b,c=new Date,d=Date.now(),e=1){var f;let g=aj(b,c,e),h="week"===b?(f=void 0,(0,M.addDays)(c,-7,f)):(0,ah.subMonths)(c,1),i=aj(b,h,e),j=ab(a,g.start,g.end,d),k=ab(a,i.start,i.end,d),l=j-k;return{label:"week"===b?"This week vs last week":"This month vs last month",currentMs:j,previousMs:k,deltaMs:l,deltaRatio:k>0?l/k:0}}function aj(a,b,c){return"week"===a?{start:+(0,ag.startOfWeek)(b,{weekStartsOn:c}),end:+(0,af.endOfWeek)(b,{weekStartsOn:c})}:{start:+(0,aa.startOfMonth)(b),end:+(0,$.endOfMonth)(b)}}function ak(a,b){return 0===b?0:a/b}function al(a,b=new Date,c=1){switch(a){case"week":return{startMs:+(0,ag.startOfWeek)(b,{weekStartsOn:c}),endMs:+(0,af.endOfWeek)(b,{weekStartsOn:c})};case"month":return{startMs:+(0,aa.startOfMonth)(b),endMs:+(0,$.endOfMonth)(b)};default:return{startMs:+(0,N.startOfDay)(b),endMs:+(0,P.endOfDay)(b)}}}var am=a.i(84365);function an(a,b){let c=new Set,d=[];for(let e of[...a,...b]){let a=`${e.timestamp.getTime()}:${e.text}`;c.has(a)||(c.add(a),d.push(e))}return d.sort((a,b)=>a.timestamp.getTime()-b.timestamp.getTime()),d}var ao=a.i(13532),ap=a.i(64106),aq=a.i(50824),ar=a.i(97460);let as={from_date:"",to_date:""},at=["today","yesterday","week","month","last_month","year","last_year"];function au(a,b){let c=[...a];switch(b){case"name":c.sort((a,b)=>a.sheetName.localeCompare(b.sheetName));break;case"entry_count":c.sort((a,b)=>b.entryCount!==a.entryCount?b.entryCount-a.entryCount:b.totalMs-a.totalMs);break;case"active_first":c.sort((a,b)=>a.hasActiveEntry!==b.hasActiveEntry?a.hasActiveEntry?-1:1:b.totalMs-a.totalMs);break;default:c.sort((a,b)=>b.totalMs-a.totalMs)}return c}var av=a.i(65162),aw=a.i(50640);let ax={from_date:"",to_date:""};function ay({children:a}){return(0,b.jsx)("div",{className:"flex w-full max-w-5xl flex-col gap-5",children:a})}function az({children:a}){return(0,b.jsx)("div",{className:"flex w-full max-w-2xl flex-col items-center gap-4",children:a})}function aA({label:a,value:c}){return(0,b.jsxs)("div",{className:"rounded-md border border-panel-border bg-panel p-3.5 shadow-sm",children:[(0,b.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:a}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[1.1rem] font-[650] tracking-tight",children:c})]})}function aB({title:a,aria_label:c,muted:d=!1,children:e}){return(0,b.jsxs)("section",{className:"flex w-full max-w-2xl flex-col gap-2",children:[(0,b.jsx)("h2",{className:`m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] ${d?"text-muted":"text-foreground"}`,children:a}),(0,b.jsx)("ul",{className:"m-0 flex list-none flex-col gap-2 p-0","aria-label":c,children:e})]})}function aC({sheet:a,grand_total_ms:c,duration_format:d}){let f=c>0?Math.round(a.totalMs/c*100):0,g=c>0?m(a.totalMs/c*100):0;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-baseline justify-between gap-2",children:[(0,b.jsx)("h2",{className:"m-0 min-w-0 truncate text-[1rem] font-semibold",children:a.sheetName}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-[0.95rem] font-semibold text-accent",children:(0,e.format_duration)(a.totalMs,d)})]}),(0,b.jsx)("div",{className:"mt-2.5 h-1.5 overflow-hidden rounded-full bg-surface-raised",role:"presentation",children:(0,b.jsx)("div",{className:"h-full rounded-full bg-accent",style:{width:`${g}%`}})}),(0,b.jsxs)("p",{className:"m-0 mt-2 flex flex-wrap gap-x-3 gap-y-0.5 text-[0.82rem] text-muted",children:[(0,b.jsxs)("span",{children:[f,"% of total"]}),(0,b.jsxs)("span",{children:[a.entryCount," ",1===a.entryCount?"entry":"entries"]}),(0,b.jsx)("span",{children:0===a.entryCount?"No average":`${(0,e.format_duration)(a.averageEntryMs,d)} avg`}),a.hasActiveEntry?(0,b.jsx)("span",{className:"text-accent",children:"Timer running"}):null]})]})}function aD({sheet:a,in_range:c}){let d=c?"No time in range":0===a.entryCount?"No entries":"No tracked time";return(0,b.jsxs)("li",{className:"rounded-md border border-dashed border-panel-border bg-surface-raised/60 px-3.5 py-2.5",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-2",children:[(0,b.jsx)("h3",{className:"m-0 min-w-0 truncate text-[0.95rem] font-medium text-muted",children:a.sheetName}),(0,b.jsx)("span",{className:"shrink-0 text-[0.82rem] text-muted",children:d})]}),a.hasActiveEntry?(0,b.jsx)("p",{className:"m-0 mt-1.5 text-[0.82rem] text-accent",children:"Timer running"}):null]})}a.s(["ReportingView",0,function({source_sheets:a,reference_now:g}){let h=(0,c.useSearchParams)(),j=(0,av.use_duration_format)(),k=(0,aw.use_week_starts_on)(),[l,m]=(0,d.useState)("dashboard"),[q,r]=(0,d.useState)(()=>ao.default_reporting_sort_preference.get_server_snapshot()),[s,t]=(0,d.useState)(ax),[u,w]=(0,d.useState)(g);(0,d.useEffect)(()=>{t(function(a=aq.default_reporting_range_preference.read(),b="monday"){return"none"===a?as:(0,ar.get_reporting_date_range_shortcut_inputs)(a,new Date,(0,f.week_starts_on_to_index)(b))}(void 0,k)),r(ao.default_reporting_sort_preference.read())},[k]),(0,d.useEffect)(()=>{let a=function(a){if(null===a)return null;let b=a.trim().toLowerCase();return at.includes(b)?b:null}(h.get("range"));null!==a&&t((0,ar.get_reporting_date_range_shortcut_inputs)(a,new Date,(0,f.week_starts_on_to_index)(k)))},[h,k]),(0,d.useEffect)(()=>{w(g)},[g]),(0,d.useEffect)(()=>{w(Date.now())},[s,a,k]);let x=(0,d.useMemo)(()=>a.map(a=>({name:a.name,activeEntryID:a.activeEntryID,entries:a.entries.map(a=>({id:a.id,start:new Date(a.start),end:null===a.end?null:new Date(a.end),description:"",tags:a.tags,notes:[]}))})),[a]),y=(0,d.useMemo)(()=>(0,ap.get_date_range_ms_from_inputs)(s.from_date,s.to_date),[s]),z=s.from_date.length>0!=s.to_date.length>0||s.from_date.length>0&&s.to_date.length>0&&null===y,B=(0,f.week_starts_on_to_index)(k),{stats:C,analytics:E}=(0,d.useMemo)(()=>({stats:function(a,b=null,c=Date.now(),d=1){let e=a.map(a=>{let d,e,f;return null===b?(d=function(a){let{activeEntryID:b,entries:c,name:d}=a;return(function(a){let b=new Map;for(let c of a){let a=b.get(c.id);if(void 0===a){b.set(c.id,c);continue}if(null===c.end&&null!==a.end){b.set(c.id,{...c,notes:an(c.notes,a.notes)});continue}if(null===a.end&&null!==c.end){b.set(c.id,{...a,notes:an(a.notes,c.notes)});continue}b.set(c.id,{...a,notes:an(a.notes,c.notes)})}return[...b.values()].sort((a,b)=>a.id-b.id)})(c).map(a=>{var c;return c=b===a.id&&null===a.end,{id:a.id,description:a.description,start:a.start.toISOString(),end:null===a.end?null:a.end.toISOString(),tags:a.tags,notes:a.notes.map(({timestamp:a,text:b})=>({timestamp:a.toISOString(),text:b})),sheetName:d,durationMs:function(a,b=Date.now()){let{end:c,start:d}=a;return Math.max(0,(null===c?b:+c)-d)}(a),isActive:c,...!0===a.archived?{archived:!0}:{}}})}(a),e=a.entries.length,f=(0,am.get_serialized_entries_total_ms)(d),{sheetName:a.name,totalMs:f,entryCount:e,averageEntryMs:ak(f,e),hasActiveEntry:null!==a.activeEntryID}):function(a,b,c,d=Date.now()){let e=0,f=0,g=!1;for(let h of a.entries){let i=S(h,b,c,d);i<=0||(e+=i,f+=1,a.activeEntryID===h.id&&null===h.end&&(g=!0))}return{sheetName:a.name,totalMs:e,entryCount:f,averageEntryMs:ak(e,f),hasActiveEntry:g}}(a,b.startMs,b.endMs,c)}),{activeSheets:f,idleSheets:g}=function(a){let b=[],c=[];for(let d of a)0===d.entryCount||0===d.totalMs?c.push(d):b.push(d);return{activeSheets:b,idleSheets:c}}(e),h=e.reduce((a,b)=>a+b.totalMs,0),i=e.reduce((a,b)=>a+b.entryCount,0);return{activeSheets:f,idleSheets:g,grandTotalMs:h,totalEntryCount:i,grandAverageEntryMs:ak(h,i),periodTotals:null===b?function(a,b=new Date,c=Date.now(),d=1){let e=al("today",b,d),f=al("week",b,d),g=al("month",b,d);return{todayMs:ab(a,e.startMs,e.endMs,c),weekMs:ab(a,f.startMs,f.endMs,c),monthMs:ab(a,g.startMs,g.endMs,c)}}(a,new Date(c),c,d):{todayMs:0,weekMs:0,monthMs:0}}}(x,y,u,B),analytics:function(a,b,c=Date.now(),d=1){let e=new Date(c),f=(0,M.addDays)((0,N.startOfDay)(e),1)-1,g=+(0,N.startOfDay)((0,O.subDays)(e,29)),h=null===b?g:b.startMs,i=null===b?f:b.endMs,j=V(a,h,i,c),k=ae(a,h,i,c),l=function(a,b=1){let c=Array(7).fill(0);for(let b of a)c[b.weekdayIndex]+=b.totalMs;let d=(0,ag.startOfWeek)(new Date,{weekStartsOn:b});return Array.from({length:7},(a,e)=>{let f=(0,M.addDays)(d,e),g=(b+e)%7;return{weekdayIndex:g,weekdayLabel:(0,U.format)(f,"EEE"),totalMs:c[g]}})}(j,d);return{dailyBuckets:j,tagBreakdown:k,weekdayDistribution:l,heatmap:function(a,b,c,d=Date.now()){let e=new Map,f=(0,N.startOfDay)(new Date(b)),g=(0,N.startOfDay)(new Date(c));if(+f>+g)return T(e);let h=f;for(;+h<=+g;){let b=R(h),c=+h,f=+(0,P.endOfDay)(h);for(let g=0;g<24;g+=1){let h=c+36e5*g,i=Math.min(h+36e5-1,f),j=0;for(let b of a)for(let a of b.entries)j+=S(a,h,i,d);if(j<=0)continue;let k=`${b}-${g}`;e.set(k,(e.get(k)??0)+j)}h=(0,M.addDays)(h,1)}return T(e)}(a,h,i,c),weekTrend:ai(a,"week",e,c,d),monthTrend:ai(a,"month",e,c,d),monthInReview:function(a,b=new Date,c=Date.now()){let d,e,f,g,h=(0,aa.startOfMonth)(b),i=(0,$.endOfMonth)(b),j=(0,U.format)(h,"MMMM yyyy"),k=(e=(d=(0,Q.toDate)(h,void 0)).getFullYear(),f=d.getMonth(),(g=(0,_.constructFrom)(d,0)).setFullYear(e,f+1,0),g.setHours(0,0,0,0),g.getDate()),l=V(a,+h,+i,c),m=ae(a,+h,+i,c),n=0,o=0,p=0,q=-1;l.forEach((a,b)=>{n+=a.totalMs,a.totalMs>0&&(o+=1),a.totalMs>p&&(p=a.totalMs,q=b)});let r=0,s=0,t=new Map;for(let b of a){let a=0;for(let d of b.entries){let b=S(d,+h,+i,c);!(b<=0)&&(r+=1,a+=b,b>s&&(s=b))}a>0&&t.set(b.name,a)}let u=null,v=0;for(let[a,b]of t)b>v&&(v=b,u=a);let w=null,x=0;for(let a of m)"Untagged"!==a.tag&&a.totalMs>x&&(x=a.totalMs,w=a.tag);let y=function(a,b=new Date,c=Date.now()){let d=(0,N.startOfDay)(b);0>=ab(a,+d,+(0,P.endOfDay)(d),c)&&(d=(0,O.subDays)(d,1));let e=0;for(let b=0;b<3660&&!(0>=ab(a,+(0,N.startOfDay)(d),+(0,P.endOfDay)(d),c));b+=1){;e+=1,d=(0,O.subDays)(d,1)}return e}(a,b,c),z=function(a){let b=0,c=0;for(let d of a)d.totalMs>0?(c+=1,b=Math.max(b,c)):c=0;return b}(l),A=-1===q?null:(0,U.format)(new Date(l[q].dateMs),"EEE, MMM d"),B=o>0?n/o:0;return{monthLabel:j,totalMs:n,trackedDays:o,daysInMonth:k,bestDayMs:p,bestDayLabel:A,longestEntryMs:s,totalEntries:r,topSheetName:u,topSheetMs:v,topTag:w,topTagMs:x,currentStreakDays:y,longestStreakDays:z,averageActiveDayMs:B}}(a,e,c),focusInsights:function(a,b,c=Date.now()){var d,e,f,g;let h=function(a,b,c){let d=[];for(let e of a)for(let a of e.entries){let f=null===a.end?c:a.end.getTime(),g=Math.max(a.start.getTime(),b.startMs),h=Math.min(f,b.endMs);h<=g||d.push({sheetName:e.name,startMs:g,endMs:h,durationMs:h-g})}return d.sort((a,b)=>a.startMs-b.startMs)}(a,b,c),i=new Set(h.map(a=>+(0,N.startOfDay)(a.startMs))).size,j=W(h).filter(a=>a.durationMs>0&&a.durationMs<=9e5),k=function(a){let b=0;for(let c=1;c<a.length;c+=1){let d=a[c-1],e=a[c];void 0!==d&&void 0!==e&&d.sheetName!==e.sheetName&&X(d.endMs,e.startMs)&&(b+=1)}return b}(h),l=function(a){let b=0,c=0,d=null,e=0,f=0;for(let g of a){if(g.durationMs<27e5){b>e&&(e=b,f=c),b=0,c=0,d=null;continue}null!==d&&g.startMs-d<=9e5&&X(d,g.startMs)||(b>e&&(e=b,f=c),b=0,c=0),b+=g.durationMs,c+=1,d=g.endMs}return b>e&&(e=b,f=c),{totalMs:e,entryCount:f}}(h);return{activeDayCount:i,bestFocusHours:function(a){let b=new Map;for(let c of a){let a=Y(c.startMs);for(;a<c.endMs;){let d=new Date(a).getHours(),e=a+36e5,f=Math.max(c.startMs,a),g=Math.max(0,Math.min(c.endMs,e)-f);if(g>0){let a=b.get(d)??{hourIndex:d,totalMs:0,entryKeys:new Set};a.totalMs+=g,a.entryKeys.add(`${c.sheetName}:${c.startMs}:${c.endMs}`),b.set(d,a)}a=e}}return Array.from(b.values()).sort((a,b)=>b.totalMs-a.totalMs).slice(0,3).map(a=>({hourIndex:a.hourIndex,hourLabel:Z(a.hourIndex),totalMs:a.totalMs,entryCount:a.entryKeys.size}))}(h),interruptionCount:j.length,interruptionFrequencyPerDay:(d=j.length,(e=i)>0?d/e:0),contextSwitchCount:k,contextSwitchesPerDay:(f=k,(g=i)>0?f/g:0),longestDeepWorkStreakMs:l.totalMs,longestDeepWorkStreakEntryCount:l.entryCount,recurringIdleWindows:function(a){let b=W(a).filter(a=>a.durationMs>=18e5),c=new Map;for(let a of b){let b=Y(a.startMs);for(;b<a.endMs;){let d=new Date(b).getHours(),e=b+36e5,f=Math.max(a.startMs,b),g=Math.max(0,Math.min(a.endMs,e)-f);if(g>0){let b=c.get(d)??{hourIndex:d,dayKeys:new Set,totalIdleMs:0};b.dayKeys.add(+(0,N.startOfDay)(new Date(a.startMs))),b.totalIdleMs+=g,c.set(d,b)}b=e}}return Array.from(c.values()).filter(a=>a.dayKeys.size>=2).sort((a,b)=>b.dayKeys.size!==a.dayKeys.size?b.dayKeys.size-a.dayKeys.size:b.totalIdleMs-a.totalIdleMs).slice(0,3).map(a=>({hourIndex:a.hourIndex,hourLabel:Z(a.hourIndex),dayCount:a.dayKeys.size,totalIdleMs:a.totalIdleMs}))}(h),sheetStartSuggestions:function(a){let b=new Map;for(let c of a){let a=new Date(c.startMs).getHours(),d=b.get(c.sheetName)??new Map;d.set(a,(d.get(a)??0)+1),b.set(c.sheetName,d)}let c=[];for(let[a,d]of b){let b=Array.from(d.values()).reduce((a,b)=>a+b,0);if(b<3)continue;let[e,f]=Array.from(d.entries()).sort((a,b)=>b[1]-a[1])[0]??[0,0];f<2||c.push({sheetName:a,hourIndex:e,hourLabel:Z(e),startCount:f,confidence:f/b})}return c.sort((a,b)=>b.confidence!==a.confidence?b.confidence-a.confidence:b.startCount-a.startCount).slice(0,3)}(h),deepWorkThresholdMs:27e5,interruptionGapThresholdMs:9e5,idleWindowThresholdMs:18e5}}(a,{startMs:h,endMs:i},c)}}(x,y,u,B)}),[x,y,B,u]),{activeSheets:F,grandAverageEntryMs:G,grandTotalMs:I,idleSheets:ac,periodTotals:ad,totalEntryCount:af}=C,ah=F.length+ac.length,aj=null===y,aE=(0,d.useMemo)(()=>au(F,q),[F,q]),aF=(0,d.useMemo)(()=>au(ac,q),[ac,q]),aG=null===y?"Last 30 days of activity.":`${E.dailyBuckets.length} days in the selected range.`;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L.TrackerTopbar,{breadcrumb:{current:"Reporting"}}),(0,b.jsxs)("main",{className:"mx-auto flex w-full max-w-[1120px] flex-col items-center gap-6 px-5 pb-12 pt-6",children:[(0,b.jsxs)("header",{className:"flex w-full max-w-2xl flex-col gap-3",children:[(0,b.jsx)("h1",{className:"m-0 text-center text-[1.5rem] font-[650] tracking-tight",children:"Reporting"}),(0,b.jsx)("p",{className:"m-0 max-w-md self-center text-center text-[0.9rem] leading-relaxed text-muted",children:null===y?"A snapshot of where your time has been going.":"Metrics filtered to the selected date range."})]}),(0,b.jsx)(J,{active_tab:l,on_change:m}),(0,b.jsx)(o.ReportingDateRangePicker,{range:s,is_invalid:z,on_range_change:t,on_clear:()=>t(ax)}),(0,b.jsxs)("section",{className:"grid w-full max-w-5xl grid-cols-1 gap-2 sm:grid-cols-2 lg:grid-cols-4","aria-label":"Summary",children:[(0,b.jsx)(aA,{label:null===y?"Total tracked":"In range",value:(0,e.format_duration)(I,j)}),(0,b.jsx)(aA,{label:"Avg per entry",value:(0,e.format_duration)(G,j)}),(0,b.jsx)(aA,{label:"Sheets",value:String(ah)}),(0,b.jsx)(aA,{label:"Entries",value:String(af)})]}),aj?(0,b.jsxs)("section",{className:"grid w-full max-w-5xl grid-cols-1 gap-2 sm:grid-cols-3","aria-label":"Period totals",children:[(0,b.jsx)(aA,{label:"Today",value:(0,e.format_duration)(ad.todayMs,j)}),(0,b.jsx)(aA,{label:"This week",value:(0,e.format_duration)(ad.weekMs,j)}),(0,b.jsx)(aA,{label:"This month",value:(0,e.format_duration)(ad.monthMs,j)})]}):null,0===ah?(0,b.jsx)("p",{className:"m-0 w-full max-w-2xl text-center text-[0.9rem] text-muted",children:"No sheets yet. Create a sheet on the tracker to start logging time."}):z?(0,b.jsx)("p",{className:"m-0 w-full max-w-2xl text-center text-[0.9rem] text-muted",children:"Choose both dates to filter metrics, or clear the range to see all time."}):"dashboard"===l?(0,b.jsxs)(ay,{children:[(0,b.jsx)(v,{stats:E.monthInReview,duration_format:j}),(0,b.jsxs)("div",{className:"grid w-full grid-cols-1 gap-3 lg:grid-cols-2",children:[(0,b.jsx)(H,{trend:E.weekTrend,duration_format:j,current_label:"This week",previous_label:"Last week"}),(0,b.jsx)(H,{trend:E.monthTrend,duration_format:j,current_label:"This month",previous_label:"Last month"})]}),(0,b.jsx)(n,{daily_buckets:E.dailyBuckets,duration_format:j,subtitle:aG}),(0,b.jsx)(p,{insights:E.focusInsights,duration_format:j}),(0,b.jsxs)("div",{className:"grid w-full grid-cols-1 gap-3 lg:grid-cols-2",children:[(0,b.jsx)(D,{tag_breakdown:E.tagBreakdown,duration_format:j}),(0,b.jsx)(K,{weekday_distribution:E.weekdayDistribution,duration_format:j})]}),(0,b.jsx)(i,{heatmap:E.heatmap,duration_format:j,week_starts_on:k})]}):(0,b.jsxs)(az,{children:[(0,b.jsx)(A,{sort:q,on_sort_change:r}),0===F.length?(0,b.jsx)("p",{className:"m-0 w-full max-w-2xl text-center text-[0.9rem] text-muted",children:null===y?"No tracked time yet. Check in on a sheet to see stats here.":"No tracked time in this date range."}):(0,b.jsx)(aB,{title:"Tracked sheets",aria_label:"Tracked sheet statistics",children:aE.map(a=>(0,b.jsx)(aC,{sheet:a,grand_total_ms:I,duration_format:j},a.sheetName))}),ac.length>0?(0,b.jsx)(aB,{title:null===y?"Empty sheets":"Sheets in range",aria_label:"Sheets without time in range",muted:!0,children:aF.map(a=>(0,b.jsx)(aD,{sheet:a,in_range:null!==y},a.sheetName))}):null]})]})]})}],81209)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=components_reporting-view_tsx_0-0ofcv._.js.map
|
|
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
|
|
|
7
7
|
"static/chunks/03~yq9q893hmn.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
12
|
-
"static/
|
|
10
|
+
"static/y7QrkWDtEEq8SX6iBgDNU/_buildManifest.js",
|
|
11
|
+
"static/y7QrkWDtEEq8SX6iBgDNU/_ssgManifest.js",
|
|
12
|
+
"static/y7QrkWDtEEq8SX6iBgDNU/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
15
|
"static/chunks/0~_1hgycum995.js",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0~_1hgycum995.js"/><script src="/_next/static/chunks/039umyocrekqe.js" async=""></script><script src="/_next/static/chunks/0mp37.c08~r3d.js" async=""></script><script src="/_next/static/chunks/05q3gfx1e8sea.js" async=""></script><script src="/_next/static/chunks/0k8-u5fk80qxa.js" async=""></script><script src="/_next/static/chunks/turbopack-0qr4v3fex9a4_.js" async=""></script><script src="/_next/static/chunks/0zgfiedjtpgpd.js" async=""></script><script src="/_next/static/chunks/135kauph632_p.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0~_1hgycum995.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[79456,[\"/_next/static/chunks/0zgfiedjtpgpd.js\",\"/_next/static/chunks/135kauph632_p.js\"],\"default\"]\n3:I[11532,[\"/_next/static/chunks/0zgfiedjtpgpd.js\",\"/_next/static/chunks/135kauph632_p.js\"],\"default\"]\n4:I[78602,[\"/_next/static/chunks/0zgfiedjtpgpd.js\",\"/_next/static/chunks/135kauph632_p.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[78602,[\"/_next/static/chunks/0zgfiedjtpgpd.js\",\"/_next/static/chunks/135kauph632_p.js\"],\"ViewportBoundary\"]\na:I[78602,[\"/_next/static/chunks/0zgfiedjtpgpd.js\",\"/_next/static/chunks/135kauph632_p.js\"],\"MetadataBoundary\"]\nc:I[86451,[\"/_next/static/chunks/0zgfiedjtpgpd.js\",\"/_next/static/chunks/135kauph632_p.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"
|
|
1
|
+
<!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/0~_1hgycum995.js"/><script src="/_next/static/chunks/039umyocrekqe.js" async=""></script><script src="/_next/static/chunks/0mp37.c08~r3d.js" async=""></script><script src="/_next/static/chunks/05q3gfx1e8sea.js" async=""></script><script src="/_next/static/chunks/0k8-u5fk80qxa.js" async=""></script><script src="/_next/static/chunks/turbopack-0qr4v3fex9a4_.js" async=""></script><script src="/_next/static/chunks/0zgfiedjtpgpd.js" async=""></script><script src="/_next/static/chunks/135kauph632_p.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/0~_1hgycum995.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[79456,[\"/_next/static/chunks/0zgfiedjtpgpd.js\",\"/_next/static/chunks/135kauph632_p.js\"],\"default\"]\n3:I[11532,[\"/_next/static/chunks/0zgfiedjtpgpd.js\",\"/_next/static/chunks/135kauph632_p.js\"],\"default\"]\n4:I[78602,[\"/_next/static/chunks/0zgfiedjtpgpd.js\",\"/_next/static/chunks/135kauph632_p.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[78602,[\"/_next/static/chunks/0zgfiedjtpgpd.js\",\"/_next/static/chunks/135kauph632_p.js\"],\"ViewportBoundary\"]\na:I[78602,[\"/_next/static/chunks/0zgfiedjtpgpd.js\",\"/_next/static/chunks/135kauph632_p.js\"],\"MetadataBoundary\"]\nc:I[86451,[\"/_next/static/chunks/0zgfiedjtpgpd.js\",\"/_next/static/chunks/135kauph632_p.js\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"y7QrkWDtEEq8SX6iBgDNU\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"e:I[4810,[\"/_next/static/chunks/0zgfiedjtpgpd.js\",\"/_next/static/chunks/135kauph632_p.js\"],\"IconMark\"]\n6:null\nb:[[\"$\",\"link\",\"0\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$Le\",\"1\",{}]]\n"])</script></body></html>
|