super-time-tracker-ui 0.1.33 → 0.1.34
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.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.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.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.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.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.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.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/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.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.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.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.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.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.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.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.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.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.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.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/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]__0fzz02j._.js +3 -0
- package/dist/standalone/next-output/server/chunks/ssr/_0fzq9xc._.js +3 -0
- package/dist/standalone/next-output/server/chunks/ssr/_0hy_8.b._.js +3 -0
- package/dist/standalone/next-output/server/chunks/ssr/_0ntfdc9._.js +3 -0
- package/dist/standalone/next-output/server/chunks/ssr/_0p5_u-y._.js +1 -1
- package/dist/standalone/next-output/server/chunks/ssr/_0q214m8._.js +3 -0
- package/dist/standalone/next-output/server/chunks/ssr/{_0-a9ia4._.js → _0syjj1b._.js} +2 -2
- package/dist/standalone/next-output/server/chunks/ssr/{_10c-dv7._.js → _0zfyg1r._.js} +2 -2
- package/dist/standalone/next-output/server/chunks/ssr/_11je2nt._.js +1 -1
- package/dist/standalone/next-output/server/chunks/ssr/components_0isp.qn._.js +1 -1
- package/dist/standalone/next-output/server/chunks/ssr/components_tracker-app_tsx_0qs9.7y._.js +1 -1
- package/dist/standalone/next-output/server/middleware-build-manifest.js +3 -3
- package/dist/standalone/next-output/server/middleware-manifest.json +1 -1
- package/dist/standalone/next-output/server/pages/500.html +1 -1
- package/dist/standalone/next-output/static/chunks/03dh~3.gq~kw7.js +1 -0
- package/dist/standalone/next-output/static/chunks/{049ufrw2rog87.js → 0aru5x_.qsjc3.js} +1 -1
- package/dist/standalone/next-output/static/chunks/0c0i5ey6h8qet.js +1 -0
- package/dist/standalone/next-output/static/chunks/{0ufz8oxu3.gqp.js → 0c2088mpz.z.3.js} +1 -1
- package/dist/standalone/next-output/static/chunks/0jn1~13s4qy3c.js +1 -0
- package/dist/standalone/next-output/static/chunks/0jwrz3zhj9oat.js +1 -0
- package/dist/standalone/next-output/static/chunks/0mcmtes_owmfo.js +1 -0
- package/dist/standalone/next-output/static/chunks/{0yd454vuc8vdt.js → 0njpt~3f0nhto.js} +1 -1
- package/dist/standalone/next-output/static/chunks/{03lov4c0_c3q~.js → 0s5i31vj2y6n7.js} +1 -1
- package/dist/standalone/package.json +1 -1
- package/package.json +1 -1
- package/dist/standalone/next-output/server/chunks/ssr/[root-of-the-server]__0qwn._e._.js +0 -3
- package/dist/standalone/next-output/server/chunks/ssr/_00x~ete._.js +0 -3
- package/dist/standalone/next-output/server/chunks/ssr/_01m_4io._.js +0 -3
- package/dist/standalone/next-output/server/chunks/ssr/_0l~yvzl._.js +0 -3
- package/dist/standalone/next-output/server/chunks/ssr/_0t2td71._.js +0 -3
- package/dist/standalone/next-output/static/chunks/0ahw3noqs1atp.js +0 -1
- package/dist/standalone/next-output/static/chunks/0hse41v5a2z.p.js +0 -1
- package/dist/standalone/next-output/static/chunks/0q1lqhczpaxed.js +0 -1
- package/dist/standalone/next-output/static/chunks/0xalmh45.srx..js +0 -1
- package/dist/standalone/next-output/static/chunks/0xeacy6yprulb.js +0 -1
- package/dist/standalone/next-output/static/chunks/10hpcjpra-dzn.js +0 -1
- /package/dist/standalone/next-output/static/{X1tXHWU8OQsHkaFGwq5aW → o0yrmO-jZI10Gicr4syI_}/_buildManifest.js +0 -0
- /package/dist/standalone/next-output/static/{X1tXHWU8OQsHkaFGwq5aW → o0yrmO-jZI10Gicr4syI_}/_clientMiddlewareManifest.js +0 -0
- /package/dist/standalone/next-output/static/{X1tXHWU8OQsHkaFGwq5aW → o0yrmO-jZI10Gicr4syI_}/_ssgManifest.js +0 -0
package/dist/standalone/next-output/server/chunks/ssr/components_tracker-app_tsx_0qs9.7y._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[12584,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(34542),e=a.i(30354),f=a.i(71586),g=a.i(89969),h=a.i(69749),i=a.i(98831),j=a.i(40420),k=a.i(6962),l=a.i(45273),m=a.i(54393);function n(a){}function o({known_tags:a,on_submit:c,is_pending:p}){let[q,r]=(0,d.useState)([]),[s,t]=(0,d.useState)(""),[u,v]=(0,d.useState)(""),[w,x]=(0,d.useState)(""),[y,z]=(0,d.useState)(null),[A,B]=(0,d.useState)(!1),C=(0,d.useSyncExternalStore)(j.entry_suggestion_provider_preference.subscribe,j.entry_suggestion_provider_preference.get_snapshot,j.entry_suggestion_provider_preference.get_server_snapshot),D=(0,d.useSyncExternalStore)(l.openai_api_key_preference.subscribe,l.openai_api_key_preference.get_snapshot,l.openai_api_key_preference.get_server_snapshot),E=(0,d.useSyncExternalStore)(i.claude_api_key_preference.subscribe,i.claude_api_key_preference.get_snapshot,i.claude_api_key_preference.get_server_snapshot),F=(0,d.useSyncExternalStore)(k.google_ai_api_key_preference.subscribe,k.google_ai_api_key_preference.get_snapshot,k.google_ai_api_key_preference.get_server_snapshot),G=(0,f.get_api_key_for_suggestion_provider)(C,{openai:D,claude:E,google_ai:F}),H="none"!==C&&G.trim().length>0;(0,d.useEffect)(()=>{r([])},[]);let I=(0,d.useMemo)(()=>q.find(a=>a.id===s)??null,[q,s]),J=async()=>{if(H){B(!0),z(null);try{let a=await (0,m.request_ai_entry_description_suggestion)({provider:C,api_key:G,context:u,notes:""});v(a)}catch(a){z(a instanceof Error?a.message:String(a))}finally{B(!1)}}};return(0,b.jsxs)("form",{className:"flex flex-col gap-2 border border-panel-border bg-panel p-[1.1rem] shadow-sm",onSubmit:a=>{a.preventDefault();let b=u.trim();if(0===b.length)return;let d=w.trim();c({description:b,...d.length>0?{at:d}:{}}),v(""),x("")},children:[(0,b.jsx)("label",{className:"text-[0.85rem] text-muted",htmlFor:"check-in-description",children:"What are you working on?"}),(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-[minmax(0,1fr)_auto_auto]",children:[(0,b.jsxs)("select",{className:(0,h.get_input_class_name)(),value:s,disabled:p||0===q.length,onChange:a=>{let b=a.target.value;t(b);let c=q.find(a=>a.id===b)??null;null!==c&&v(c.description)},children:[(0,b.jsx)("option",{value:"",children:0===q.length?"No templates":"Use a template…"}),q.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost"),disabled:p||0===u.trim().length,onClick:()=>{let a=u.trim();if(0===a.length)return;let b=a.slice(0,40),c=globalThis.prompt("Template name",b.length>0?b:"New template");if(null===c)return;let d=c.trim();if(0===d.length)return;let e="u">typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`,f=[...q,{id:e,name:d,description:a}];r(f),t(e),n(f)},children:"Save template"}),(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost"),disabled:p||null===I,onClick:()=>{if(null===I)return;let a=q.filter(a=>a.id!==I.id);r(a),t(""),n(a)},children:"Delete template"})]}),(0,b.jsxs)("div",{className:`grid gap-2 max-[860px]:grid-cols-1 ${H?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]"}`,children:[(0,b.jsx)(e.TagAutocompleteInput,{id:"check-in-description",value:u,known_tags:a,placeholder:"e.g. crafting something @design",disabled:p,autoFocus:!0,on_change:v}),H?(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost"),disabled:p||A,onClick:()=>void J(),title:"Suggest description with AI",children:A?"Suggesting…":"Suggest"}):null,(0,b.jsx)("button",{type:"submit",className:(0,g.get_button_class_name)("primary"),disabled:p||0===u.trim().length,children:"Check in"})]}),null===y?null:(0,b.jsx)("p",{className:"m-0 text-[0.8rem] text-danger",children:y}),(0,b.jsxs)("label",{className:"text-[0.85rem] text-muted",htmlFor:"check-in-at",children:["Start time"," ",(0,b.jsx)("span",{className:"font-normal opacity-85",children:"(optional, natural language)"})]}),(0,b.jsx)("input",{id:"check-in-at",className:(0,h.get_input_class_name)(),value:w,onChange:a=>x(a.target.value),placeholder:"e.g. 30 minutes ago",disabled:p})]})}var p=a.i(14244);let q=(0,d.forwardRef)(function({known_tags:a,is_pending:c,on_submit:e,trailing:f},h){let i="true"===(0,d.useSyncExternalStore)(p.check_in_form_collapsed_preference.subscribe,p.check_in_form_collapsed_preference.get_snapshot,p.check_in_form_collapsed_preference.get_server_snapshot),[j,k]=(0,d.useState)(!i);return((0,d.useImperativeHandle)(h,()=>({expand_and_focus:()=>{k(!0),globalThis.requestAnimationFrame(()=>{let a=document.getElementById("check-in-description");a instanceof HTMLElement&&a.focus()})}}),[]),i&&!j)?(0,b.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-3",children:[(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("primary"),disabled:c,onClick:()=>k(!0),children:"Check in"}),f]}):(0,b.jsx)(o,{known_tags:a,is_pending:c,on_submit:a=>{e(a),i&&k(!1)}})});var r=a.i(53030),s=a.i(75654),t=a.i(85752),u=a.i(50762),v=a.i(39744),w=a.i(13870),x=a.i(16777),y=a.i(18558),z=a.i(80805),A=a.i(9818),B=a.i(72327),C=a.i(40395),D=a.i(76121),E=a.i(62082),F=a.i(64617),G=a.i(65162);function H({on_check_in_shortcut:a,has_running_timer:c=!1}){var e;let f=(0,G.use_duration_format)(),g=(0,d.useSyncExternalStore)(B.focus_nudges_enabled_preference.subscribe,B.focus_nudges_enabled_preference.get_snapshot,B.focus_nudges_enabled_preference.get_server_snapshot),h=(0,d.useSyncExternalStore)(v.daily_focus_target_minutes_preference.subscribe,v.daily_focus_target_minutes_preference.get_snapshot,v.daily_focus_target_minutes_preference.get_server_snapshot),i=(0,d.useSyncExternalStore)(E.weekly_focus_target_minutes_preference.subscribe,E.weekly_focus_target_minutes_preference.get_snapshot,E.weekly_focus_target_minutes_preference.get_server_snapshot),j=(0,d.useSyncExternalStore)(C.no_log_reminder_minutes_preference.subscribe,C.no_log_reminder_minutes_preference.get_snapshot,C.no_log_reminder_minutes_preference.get_server_snapshot),k=(0,d.useSyncExternalStore)(D.overwork_alert_hours_preference.subscribe,D.overwork_alert_hours_preference.get_snapshot,D.overwork_alert_hours_preference.get_server_snapshot),l=(0,d.useSyncExternalStore)(w.focus_goal_scope_preference.subscribe,w.focus_goal_scope_preference.get_snapshot,w.focus_goal_scope_preference.get_server_snapshot),m=(0,d.useSyncExternalStore)(x.focus_goal_sheet_name_preference.subscribe,x.focus_goal_sheet_name_preference.get_snapshot,x.focus_goal_sheet_name_preference.get_server_snapshot),n=(0,d.useSyncExternalStore)(y.focus_goal_tag_name_preference.subscribe,y.focus_goal_tag_name_preference.get_snapshot,y.focus_goal_tag_name_preference.get_server_snapshot),o=(0,d.useSyncExternalStore)(z.focus_goals_per_sheet_preference.subscribe,z.focus_goals_per_sheet_preference.get_snapshot,z.focus_goals_per_sheet_preference.get_server_snapshot),p=(0,d.useSyncExternalStore)(A.focus_goals_per_tag_preference.subscribe,A.focus_goals_per_tag_preference.get_snapshot,A.focus_goals_per_tag_preference.get_server_snapshot),[q,r]=(0,d.useState)(null),[s,K]=(0,d.useState)(null);(0,d.useEffect)(()=>{let a=()=>{try{var a;let b=globalThis.localStorage.getItem(F.POMODORO_STORAGE_KEY);if(null===b)return null;let c=JSON.parse(b).state;if(c?.status!=="running"||null==c.deadline_at_ms)return null;let d=Math.max(0,c.deadline_at_ms-Date.now()),e=Math.floor(d/6e4),f=Math.floor(d%6e4/1e3);return{phase_label:(a=c.phase,"work"===a?"Focus":"short_break"===a?"Short break":"Long break"),remaining_label:`${e.toString().padStart(2,"0")}:${f.toString().padStart(2,"0")}`}}catch{return null}},b=globalThis.setTimeout(()=>{K(a())},0),c=globalThis.setInterval(()=>{K(a())},1e3);return()=>{globalThis.clearTimeout(b),globalThis.clearInterval(c)}},[]),(0,d.useEffect)(()=>{if("true"!==g)return;let a=!1,b=async()=>{try{var b,c,d;let e=new URLSearchParams;e.set("scope",(b=l,c=m,d=n,"sheet"===b&&0===c.length||"tag"===b&&0===d.length?"global":b)),"sheet"===l&&m.length>0&&e.set("sheet",m),"tag"===l&&n.length>0&&e.set("tag",n);let f=await fetch(`/api/focus-nudges/status?${e.toString()}`);if(!f.ok)return;let g=await f.json();a||r(g)}catch{}};b();let c=globalThis.setInterval(()=>{b()},6e4);return()=>{a=!0,globalThis.clearInterval(c)}},[g,l,m,n]);let L=(0,d.useMemo)(()=>{if("true"!==g||null===q)return null;let{daily_minutes:a,weekly_minutes:b}=function(a){if("sheet"===a.scope&&a.sheet_name.length>0){let b=(0,u.parse_focus_goals_by_name)(a.per_sheet_json)[a.sheet_name];return void 0===b?{daily_minutes:null,weekly_minutes:null}:{daily_minutes:b.daily??a.global_daily,weekly_minutes:b.weekly??a.global_weekly}}if("tag"===a.scope&&a.tag_name.length>0){let b=(0,u.parse_focus_goals_by_name)(a.per_tag_json)[a.tag_name];return void 0===b?{daily_minutes:null,weekly_minutes:null}:{daily_minutes:b.daily??a.global_daily,weekly_minutes:b.weekly??a.global_weekly}}return{daily_minutes:a.global_daily,weekly_minutes:a.global_weekly}}({scope:l,sheet_name:m,tag_name:n,per_sheet_json:o,per_tag_json:p,global_daily:h,global_weekly:i});if(null===a||null===b)return{kind:"alert",tone:"info",title:I("daily",l,m,n),detail:"No goals configured yet for this scope. Set daily and weekly targets in Goal settings."};let d=6e4*Number.parseInt(a,10),e=6e4*Number.parseInt(b,10),r=36e5*Number.parseInt(k,10),s=Number.parseInt(j,10);return null!==q.activeTimerDurationMs&&q.activeTimerDurationMs>=r?{kind:"alert",tone:"warning",title:"Overwork alert",detail:`Current session is ${(0,t.format_duration)(q.activeTimerDurationMs,f)}. Consider a short break.`}:!c&&null!==q.minutesSinceLastLog&&q.minutesSinceLastLog>=s?{kind:"alert",tone:"warning",title:"Gentle reminder",detail:`No time logged for ${q.minutesSinceLastLog} min. Start a timer when you are back on task.`,show_check_in_shortcut:!0}:q.todayTrackedMs<d?{kind:"progress",scope:"daily",title:I("daily",l,m,n),tracked_ms:q.todayTrackedMs,target_ms:d}:q.weekTrackedMs<e?{kind:"progress",scope:"weekly",title:I("weekly",l,m,n),tracked_ms:q.weekTrackedMs,target_ms:e}:{kind:"alert",tone:"success",title:"Targets met",detail:"Daily and weekly focus goals are on track."}},[h,f,g,k,c,l,m,n,o,p,j,q,i]);if(null===L)return null;if("progress"===L.kind)return(0,b.jsx)(J,{scope:L.scope,title:L.title,tracked_ms:L.tracked_ms,target_ms:L.target_ms,duration_format:f,activePomodoro:s});let M="warning"===(e=L.tone)?"mb-4 rounded-md border border-danger-border bg-danger-soft px-3 py-2.5 text-danger-text":"success"===e?"mb-4 rounded-md border border-accent-border bg-accent-soft px-3 py-2.5 text-accent":"mb-4 rounded-md border border-panel-border bg-panel px-3 py-2.5 text-foreground";return(0,b.jsxs)("section",{className:M,"aria-live":"polite","aria-atomic":"true",children:[(0,b.jsx)("p",{className:"m-0 text-[0.85rem] font-semibold",children:L.title}),(0,b.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-2",children:[(0,b.jsx)("p",{className:"m-0 text-[0.82rem] leading-relaxed",children:L.detail}),L.show_check_in_shortcut&&void 0!==a?(0,b.jsx)("button",{type:"button",className:"cursor-pointer rounded border border-current bg-transparent px-2 py-1 text-[0.75rem] font-semibold",onClick:a,children:"Check in"}):null]})]})}function I(a,b,c,d){let e="daily"===a?"Relevant goal":"Weekly goal";return"sheet"===b&&c.length>0?`${e} \xb7 ${c}`:"tag"===b&&d.length>0?`${e} \xb7 @${d}`:e}function J({scope:a,title:d,tracked_ms:e,target_ms:f,duration_format:g,activePomodoro:h}){let i=f>0?Math.min(100,e/f*100):0,j=Math.max(0,f-e);return(0,b.jsx)("section",{className:"mb-4 rounded-md border border-panel-border bg-panel px-4 py-3 shadow-sm","aria-label":d,"aria-live":"polite",children:(0,b.jsxs)("div",{className:"flex flex-wrap items-stretch justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,b.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:d}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:["daily"===a?(0,b.jsx)(c.default,{href:"/settings/goals#focus-goals-nudges",className:"inline-flex h-6 w-6 items-center justify-center rounded border border-panel-border text-muted no-underline hover:bg-surface-hover hover:text-foreground","aria-label":"Open daily focus target settings",title:"Daily focus target settings",children:(0,b.jsx)(s.SettingsIcon,{})}):null,(0,b.jsxs)("p",{className:"m-0 font-mono text-[0.78rem] font-semibold text-accent",children:[Math.round(i),"%"]})]})]}),(0,b.jsxs)("div",{className:"mt-2 flex items-baseline justify-between gap-3",children:[(0,b.jsxs)("p",{className:"m-0 font-mono text-[1.35rem] font-semibold leading-none text-foreground",children:[(0,t.format_duration)(e,g),(0,b.jsxs)("span",{className:"ml-1 text-[0.85rem] font-medium text-muted",children:["/ ",(0,t.format_duration)(f,g)]})]}),(0,b.jsxs)("p",{className:"m-0 text-[0.78rem] text-muted",children:[(0,t.format_duration)(j,g)," left"," ","daily"===a?"today":"this week"]})]}),(0,b.jsx)("progress",{className:"mt-3 h-1.5 w-full overflow-hidden rounded-full bg-accent-soft [&::-webkit-progress-bar]:rounded-full [&::-webkit-progress-bar]:bg-accent-soft [&::-webkit-progress-value]:rounded-full [&::-webkit-progress-value]:bg-accent [&::-moz-progress-bar]:rounded-full [&::-moz-progress-bar]:bg-accent",max:100,value:Math.round(i)})]}),null===h?null:(0,b.jsxs)("aside",{className:"min-w-52 rounded-md border border-panel-border bg-surface-raised px-3 py-2.5",children:[(0,b.jsx)("p",{className:"m-0 text-[0.68rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Active Pomodoro"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.82rem] font-semibold text-foreground",children:h.phase_label}),(0,b.jsx)("p",{className:"m-0 mt-1 font-mono text-[1.25rem] font-semibold leading-none text-accent",children:h.remaining_label})]})]})})}var K=a.i(82508),L=a.i(7386);function M(a,b,c){if(0===a.length)return null;let d=a.findIndex(a=>a.name===b),e=((-1===d?0:d)+("next"===c?1:-1)+a.length)%a.length;return a[e]?.name??null}var N=a.i(85928),O=a.i(11937),P=a.i(54212),Q=a.i(26336),R=a.i(89184);function S({sheets:a,active_sheet_name:c,active_entry:e,is_pending:f,check_in_form_ref:g,active_entry_panel_ref:h,on_select_sheet:i,on_check_out:j}){let k=(0,K.useRouter)(),[l,m]=(0,d.useState)(!1),n=(0,Q.useCheckOutAction)(j),o=(0,d.useSyncExternalStore)(P.tracker_shortcut_map_preference.subscribe,P.tracker_shortcut_map_preference.get_snapshot,P.tracker_shortcut_map_preference.get_server_snapshot),p=(0,d.useMemo)(()=>(0,O.parse_tracker_shortcut_map)(o),[o]),q=p.help,r="?"===q?"?":q.toUpperCase(),s=(0,d.useMemo)(()=>{let b=null!==e,d="?"===q?["shift"]:[];return[{id:"help",label:r,description:"Show keyboard shortcuts",key:q,modifiers:d,action:()=>{m(a=>!a)}},{id:"check-in",label:p["check-in"].toUpperCase(),description:"Check in (focus description)",key:p["check-in"],is_available:()=>!f&&!b,action:()=>{g.current?.expand_and_focus()}},{id:"check-out",label:p["check-out"].toUpperCase(),description:"Check out",key:p["check-out"],is_available:()=>!f&&b,action:()=>{n()}},{id:"edit-entry",label:p["edit-entry"].toUpperCase(),description:"Edit active entry",key:p["edit-entry"],is_available:()=>!f&&b,action:()=>{h.current?.start_edit()}},{id:"add-note",label:p["add-note"].toUpperCase(),description:"Add note to active entry",key:p["add-note"],is_available:()=>!f&&b,action:()=>{h.current?.start_add_note()}},{id:"pomodoro",label:p.pomodoro.toUpperCase(),description:"Open Pomodoro",key:p.pomodoro,is_available:()=>!f,action:()=>{k.push("/pomodoro")}},{id:"previous-sheet",label:p["previous-sheet"],description:"Previous sheet",key:p["previous-sheet"],is_available:()=>!f&&a.length>1,action:()=>{let b=M(a,c,"previous");null!==b&&b!==c&&i(b)}},{id:"next-sheet",label:p["next-sheet"],description:"Next sheet",key:p["next-sheet"],is_available:()=>!f&&a.length>1,action:()=>{let b=M(a,c,"next");null!==b&&b!==c&&i(b)}}]},[e,h,c,g,n,f,i,k,q,r,p,a]);return((0,R.use_document_keyboard_shortcuts)(s),l)?(0,b.jsx)(L.KeyboardShortcutsDialog,{sections:(0,N.get_tracker_keyboard_shortcut_sections)(p),on_close:()=>m(!1)}):null}var T=a.i(48174),U=a.i(56924);function V(a){let b=[],c=new Set;for(let d of({})[a]??[])try{let a=(0,U.normalize_stored_tag)(d);c.has(a)||(c.add(a),b.push(a))}catch{continue}return b}var W=a.i(4845);function X(a){return(0,W.get_stable_sheet_tag_filter_snapshot)(a,V(a))}function Y(){return W.EMPTY_SHEET_TAG_FILTER}var Z=a.i(5479),$=a.i(72958),_=a.i(19702);function aa(a,b){let c={};0===b.length?delete c[a]:c[a]=b;try{window.localStorage.setItem(_.SHEET_TAG_FILTERS_STORAGE_KEY,JSON.stringify(c)),(0,$.schedule_ui_preferences_cloud_sync)()}catch{}(0,Z.notify_sheet_tag_filters_subscribers)()}var ab=a.i(99467),ac=a.i(78702);function ad(){return(0,d.useSyncExternalStore)(ac.tag_filter_mode_preference.subscribe,ac.tag_filter_mode_preference.get_snapshot,ac.tag_filter_mode_preference.get_server_snapshot)}function ae({sheet_name:a,sheet_tags:c}){let e=ad(),f=(0,d.useSyncExternalStore)(Z.subscribe_sheet_tag_filters,()=>X(a),Y);if((0,d.useEffect)(()=>{!function(a,b){let c=V(a);if(0===c.length)return;let d=c.filter(a=>b.some(b=>(0,ab.tags_are_equal)(a,b)));d.length!==c.length&&aa(a,d)}(a,c.map(a=>a.name))},[a,c]),0===c.length)return null;let h=f.length>0;return(0,b.jsxs)("fieldset",{className:"m-0 flex flex-wrap items-center gap-x-3 gap-y-2 border-0 p-0",children:[(0,b.jsx)("legend",{className:"sr-only",children:"Filter by tag"}),(0,b.jsx)("h2",{className:"m-0 shrink-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em]",children:"Filter by tag"}),(0,b.jsx)("p",{className:"m-0 shrink-0 text-[0.8rem] text-muted",children:"any"===e?"Show entries that include any selected tag.":"Show entries that include every selected tag."}),(0,b.jsxs)("div",{className:"ml-auto flex min-w-0 flex-wrap justify-end gap-1",children:[c.map(c=>{let d=f.some(a=>(0,ab.tags_are_equal)(a,c.name));return(0,b.jsxs)("button",{type:"button",className:`${(0,g.get_button_class_name)("ghost","small")} ${d?"border-accent-border bg-accent-soft text-foreground":""}`,"aria-pressed":d,onClick:()=>{var b;let d,e;return b=c.name,d=(0,U.normalize_stored_tag)(b),void((e=V(a)).some(a=>(0,ab.tags_are_equal)(a,d))?aa(a,e.filter(a=>!(0,ab.tags_are_equal)(a,d))):aa(a,[...e,d]))},children:[(0,T.format_display_tag)(c.name),(0,b.jsxs)("span",{className:"ml-1 font-normal text-muted",children:["(",c.entryCount,")"]})]},c.name)}),h?(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost","small"),onClick:()=>aa(a,[]),children:"Clear filter"}):null]})]})}var af=a.i(33272),ag=a.i(38005);function ah({query:a,active_sheet:d,is_pending:e=!1,on_query_change:f}){let i=a.trim(),j=(0,af.build_entry_search_href)({...(0,ag.get_empty_entry_search_filters)(),query:i,sheetName:d});return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Search entries"}),(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)("input",{type:"search",className:(0,h.get_input_class_name)("compact"),placeholder:"Search description, tags, notes…",value:a,disabled:e,"aria-label":"Search entries on this sheet",onChange:a=>f(a.target.value)}),i.length>0?(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost","small"),disabled:e,onClick:()=>f(""),children:"Clear"}):null]})]}),i.length>0?(0,b.jsx)(c.default,{className:"self-start text-[0.8rem] font-semibold text-accent no-underline hover:underline",href:j,children:"Search all sheets with filters"}):(0,b.jsx)(c.default,{className:"self-start text-[0.8rem] font-semibold text-muted no-underline hover:text-accent hover:underline",href:"/search",children:"Open global search"})]})}var ai=a.i(90003),aj=a.i(34435);let ak="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 disabled:cursor-not-allowed disabled:opacity-55";function al({sheet_name:a,is_pending:c,can_delete:e,on_rename:f,on_delete:g}){let[h,i]=(0,d.useState)(!1),j=(0,d.useRef)(null);(0,d.useEffect)(()=>{if(!h)return;let a=a=>{null===j.current||j.current.contains(a.target)||i(!1)};return document.addEventListener("pointerdown",a),()=>{document.removeEventListener("pointerdown",a)}},[h]);let k=()=>{i(!1)};return(0,b.jsxs)("div",{className:"relative shrink-0 self-center",ref:j,children:[(0,b.jsx)("button",{type:"button",className:"inline-flex cursor-pointer appearance-none items-center justify-center rounded-none border-0 bg-transparent p-0.5 text-muted shadow-none hover:opacity-75 focus-visible:outline-2 focus-visible:outline-input-focus-border focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-55","aria-label":`Actions for sheet ${a}`,"aria-expanded":h,"aria-haspopup":"menu",disabled:c,onClick:()=>i(a=>!a),children:(0,b.jsx)(aj.HamburgerIcon,{})}),h?(0,b.jsxs)("ul",{className:"absolute right-0 top-full z-10 mt-1.5 min-w-56 list-none rounded-md border border-panel-border bg-panel p-1.5 shadow-md",role:"menu",children:[(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:ak,role:"menuitem",disabled:c,onClick:()=>{k(),f()},children:"Rename"})}),(0,b.jsx)("li",{className:"my-1 border-t border-panel-border",role:"separator","aria-hidden":"true"}),(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:`${ak} text-danger`,role:"menuitem",disabled:c||!e,title:e?void 0:"Cannot delete the last sheet",onClick:()=>{k(),g()},children:"Delete sheet"})})]}):null]})}var am=a.i(28339),an=a.i(96359);function ao({sheets:a,db_path:c,on_select:e,on_create:f,on_rename:i,on_delete:j,is_pending:k}){let{confirm:l}=(0,r.useConfirmDialog)(),m=(0,am.use_confirm_destructive_actions)(),n=a.length>1,[o,p]=(0,d.useState)(!1),[q,s]=(0,d.useState)(""),[t,u]=(0,d.useState)(null),[v,w]=(0,d.useState)(""),x=()=>{p(!1),s("")},y=()=>{u(null),w("")};(0,an.use_escape_to_cancel)(y,null!==t),(0,an.use_escape_to_cancel)(x,o);let z=a=>{if(a.preventDefault(),null===t)return;let b=v.trim();0===b.length||b===t||i(t,b),y()};return(0,b.jsxs)("aside",{className:"flex min-w-0 flex-col gap-3 max-[860px]:min-w-0",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Sheets"}),(0,b.jsx)("ul",{className:"m-0 flex min-h-0 flex-1 list-none flex-col gap-1.5 p-0",children:a.map(a=>(0,b.jsx)("li",{className:"min-w-0",children:t===a.name?(0,b.jsxs)("form",{className:"flex w-full min-w-0 flex-col gap-1.5",onSubmit:z,children:[(0,b.jsx)("input",{className:(0,h.get_input_class_name)("compact"),value:v,onChange:a=>w(a.target.value),disabled:k,autoFocus:!0}),(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)("button",{type:"submit",className:`${(0,g.get_button_class_name)("ghost")} flex-1`,disabled:k||0===v.trim().length,children:"Save"}),(0,b.jsx)("button",{type:"button",className:`${(0,g.get_button_class_name)("ghost")} flex-1`,disabled:k,onClick:y,children:"Cancel"})]})]}):(0,b.jsxs)("div",{className:"flex min-w-0 items-stretch gap-1",children:[(0,b.jsxs)("button",{type:"button",className:"flex min-w-0 flex-1 cursor-pointer items-center justify-between gap-2 rounded-md border border-transparent bg-transparent px-2.5 py-2 text-left transition-[background-color,color] duration-150 hover:bg-surface-hover",disabled:k&&!a.isActive,onClick:()=>e(a.name),children:[(0,b.jsx)("span",{className:`min-w-0 flex-1 truncate font-semibold ${a.isActive||a.hasActiveEntry?"text-accent":""}`,children:a.name}),(0,b.jsx)("span",{className:`shrink-0 text-xs whitespace-nowrap ${a.hasActiveEntry?"text-accent":"text-muted"}`,children:a.hasActiveEntry?"● active":`${a.entryCount} entries`})]}),(0,b.jsx)(al,{sheet_name:a.name,is_pending:k,can_delete:n,on_rename:()=>{var b;u(b=a.name),w(b)},on_delete:async()=>{var b,c,d;let e;(!m||await l((b=a.name,c=a.entryCount,d=a.hasActiveEntry,e=0===c?"":` This will delete ${c} ${1===c?"entry":"entries"}.`,{title:"Delete sheet?",message:`Delete "${b}"?${e}${d?" This will stop the active timer.":""}`,confirmLabel:"Delete sheet",variant:"danger"})))&&j(a.name)}})]})},a.name))}),o?(0,b.jsxs)("form",{className:"flex w-full min-w-0 flex-col gap-2",onSubmit:a=>{a.preventDefault();let b=q.trim();0!==b.length&&(f(b),x())},children:[(0,b.jsx)("input",{className:(0,h.get_input_class_name)("compact"),value:q,onChange:a=>s(a.target.value),placeholder:"New sheet name",disabled:k,autoFocus:!0}),(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)("button",{type:"submit",className:`${(0,g.get_button_class_name)("ghost")} flex-1`,disabled:k||0===q.trim().length,children:"Add"}),(0,b.jsx)("button",{type:"button",className:`${(0,g.get_button_class_name)("ghost")} flex-1`,disabled:k,onClick:x,children:"Cancel"})]})]}):(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost"),disabled:k,onClick:()=>p(!0),children:"Add sheet"}),(0,b.jsx)("p",{className:"mt-auto shrink-0 overflow-wrap-anywhere border-t border-panel-border pt-3 font-mono text-[0.65rem] leading-snug text-muted",title:c,children:c})]})}var ap=a.i(99751);function aq(){return"true"===(0,d.useSyncExternalStore)(ap.timer_show_seconds_preference.subscribe,ap.timer_show_seconds_preference.get_snapshot,ap.timer_show_seconds_preference.get_server_snapshot)}function ar({entry:a,in_bar:c,is_pending:e,initial_at:f,on_cancel:i,on_submit:j}){let k=(0,G.use_duration_format)(),l=aq(),[m,n]=(0,d.useState)(()=>Date.now()-new Date(a.start).getTime()),[o,p]=(0,d.useState)(""),[q,r]=(0,d.useState)(f??""),s=(0,d.useRef)(null);(0,an.use_escape_to_cancel)(i),(0,d.useEffect)(()=>{s.current?.focus()},[]),(0,d.useEffect)(()=>{n(Date.now()-new Date(a.start).getTime());let b=globalThis.setInterval(()=>{n(Date.now()-new Date(a.start).getTime())},1e3);return()=>globalThis.clearInterval(b)},[a.start]);let u=(0,t.format_duration)(m,k,l),v=a.description||"Untitled entry";return(0,b.jsxs)("form",{className:"flex min-w-0 flex-col gap-4","aria-label":"Check out form",onSubmit:a=>{a.preventDefault();let b=o.trim(),c=q.trim(),d=b.length>0,e=c.length>0;d||e?j({...e?{at:c}:{},...d?{note:b}:{}}):j(void 0)},children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.68rem] font-bold uppercase leading-none tracking-wider text-danger",children:"Checking out"}),(0,b.jsx)("h2",{className:"m-0 min-w-0 truncate text-[1.05rem] font-[650] leading-tight tracking-tight min-[560px]:text-[1.15rem]",children:v})]}),(0,b.jsx)("p",{className:"m-0 whitespace-nowrap font-mono text-[1.4rem] font-medium leading-none tracking-tight text-accent min-[560px]:text-[1.6rem]",children:u})]}),a.tags.length>0?(0,b.jsx)("ul",{className:"m-0 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-[0.72rem] text-tag-text",children:(0,T.format_display_tag)(a)},a))}):null,(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 min-[640px]:grid-cols-[minmax(0,1fr)_minmax(10rem,14rem)]",children:[(0,b.jsxs)("label",{className:"flex min-w-0 flex-col gap-1",htmlFor:"checkout-note",children:[(0,b.jsxs)("span",{className:"text-[0.8rem] font-semibold",children:["Note ",(0,b.jsx)("span",{className:"font-normal text-muted",children:"(optional)"})]}),(0,b.jsx)("input",{ref:s,id:"checkout-note",className:(0,h.get_input_class_name)("compact"),value:o,onChange:a=>p(a.target.value),placeholder:"Wrap-up, blockers, next steps…",disabled:e})]}),(0,b.jsxs)("label",{className:"flex min-w-0 flex-col gap-1",htmlFor:"checkout-at",children:[(0,b.jsxs)("span",{className:"text-[0.8rem] font-semibold",children:["End time ",(0,b.jsx)("span",{className:"font-normal text-muted",children:"(optional)"})]}),(0,b.jsx)("input",{id:"checkout-at",className:(0,h.get_input_class_name)("compact"),value:q,onChange:a=>r(a.target.value),placeholder:"e.g. now, 30 minutes ago, 5:30pm",disabled:e})]})]}),(0,b.jsxs)("div",{className:`flex flex-wrap items-center gap-2 ${c?"":"pt-1"}`,children:[(0,b.jsx)("button",{type:"submit",className:(0,g.get_button_class_name)("danger-solid"),disabled:e,children:"Confirm check out"}),(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost"),disabled:e,onClick:i,children:"Cancel"})]})]})}function as(){return(0,b.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",role:"presentation","aria-hidden":"true",focusable:"false",children:(0,b.jsx)("path",{d:"M12 3l1.7 4.3L18 9l-4.3 1.7L12 15l-1.7-4.3L6 9l4.3-1.7L12 3zM19 14l.9 2.1L22 17l-2.1.9L19 20l-.9-2.1L16 17l2.1-.9L19 14zM5 15l.9 2.1L8 18l-2.1.9L5 21l-.9-2.1L2 18l2.1-.9L5 15z",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})})}var at=a.i(50803);function au({entry:a,known_tags:c,is_pending:h,on_save:n,on_cancel:o}){let p=(0,d.useMemo)(()=>(0,at.build_resume_description)(a.description,a.tags),[a.description,a.tags]),[q,r]=(0,d.useState)(p),[s,t]=(0,d.useState)(!1),[u,v]=(0,d.useState)(null),w=(0,d.useSyncExternalStore)(j.entry_suggestion_provider_preference.subscribe,j.entry_suggestion_provider_preference.get_snapshot,j.entry_suggestion_provider_preference.get_server_snapshot),x=(0,d.useSyncExternalStore)(l.openai_api_key_preference.subscribe,l.openai_api_key_preference.get_snapshot,l.openai_api_key_preference.get_server_snapshot),y=(0,d.useSyncExternalStore)(i.claude_api_key_preference.subscribe,i.claude_api_key_preference.get_snapshot,i.claude_api_key_preference.get_server_snapshot),z=(0,d.useSyncExternalStore)(k.google_ai_api_key_preference.subscribe,k.google_ai_api_key_preference.get_snapshot,k.google_ai_api_key_preference.get_server_snapshot),A=(0,f.get_api_key_for_suggestion_provider)(w,{openai:x,claude:y,google_ai:z}),B="none"!==w&&A.trim().length>0;(0,d.useEffect)(()=>{r((0,at.build_resume_description)(a.description,a.tags))},[a.description,a.id,a.sheetName,a.tags]),(0,an.use_escape_to_cancel)(o);let C=async()=>{if(B){t(!0),v(null);try{let b=a.notes.map(a=>a.text).join("\n"),c=await (0,m.request_ai_entry_description_suggestion)({provider:w,api_key:A,context:q,notes:b});r(c)}catch(a){v(a instanceof Error?a.message:String(a))}finally{t(!1)}}};return(0,b.jsxs)("form",{className:"flex min-w-0 flex-1 flex-col gap-2",onSubmit:a=>{a.preventDefault();let b=q.trim();b===p.trim()?o():n(b)},children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-start gap-2 max-[700px]:flex-col",children:[(0,b.jsx)("div",{className:"min-w-0 flex-1",children:(0,b.jsx)(e.TagAutocompleteInput,{id:`active-entry-description-${a.id}`,value:q,known_tags:c,placeholder:"e.g. crafting something @design",disabled:h,autoFocus:!0,on_change:r})}),(0,b.jsxs)("div",{className:"flex shrink-0 flex-wrap gap-2 max-[700px]:w-full",children:[B?(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost","small"),disabled:h||s,title:"Revise description with AI","aria-label":"Revise description with AI",onClick:()=>void C(),children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(as,{}),s?"Revising…":"Revise with AI"]})}):null,(0,b.jsx)("button",{type:"submit",className:(0,g.get_button_class_name)("primary","small"),disabled:h||q.trim()===p.trim(),children:"Save"}),(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost","small"),disabled:h,onClick:o,children:"Cancel"})]})]}),null===u?null:(0,b.jsx)("p",{className:"m-0 text-[0.8rem] text-danger",children:u})]})}var av=a.i(61566);let aw=`${(0,g.get_button_class_name)("danger-solid")} rounded-none first:rounded-l-[0.65rem] last:rounded-r-[0.65rem] not-first:-ml-px not-first:min-w-12 not-first:border-l not-first:border-l-[color-mix(in_srgb,#ffffff_30%,var(--danger-solid))] min-[561px]:px-2.5 min-[561px]:py-2 min-[561px]:text-[0.9rem] max-[560px]:flex-1 max-[560px]:basis-1/2`;function ax({in_bar:a=!1,is_pending:c,on_start_checkout:d}){return(0,b.jsxs)("div",{className:`inline-flex min-w-0 max-w-full ${a?"max-[560px]:w-full":"min-w-30 max-[560px]:w-full"}`,children:[(0,b.jsx)("button",{type:"button",className:aw,disabled:c,onClick:()=>d(),children:"Check out"}),(0,b.jsx)("button",{type:"button",className:aw,disabled:c,title:"Check out at a specific time",onClick:()=>{let a=(0,av.prompt_check_out_at)();null!==a&&d(a)},children:"@"})]})}var ay=a.i(92558),az=a.i(51934),aA=a.i(56720);function aB({on_submit:a,on_cancel:c,is_pending:e,in_active_panel:f=!1,in_bar:i=!1,allow_at:j=!1}){let[k,l]=(0,d.useState)(""),[m,n]=(0,d.useState)("");return(0,an.use_escape_to_cancel)(()=>c?.(),void 0!==c),(0,b.jsxs)("form",{className:`flex flex-col gap-2 ${f&&!i?"border-t border-accent-border pt-4":i?"border-t border-[color-mix(in_srgb,var(--accent-border)_65%,var(--panel-border))] pt-3.5":""}`,onSubmit:b=>{b.preventDefault();let c=k.trim();if(0===c.length)return;let d=m.trim();a(c,d.length>0?d:void 0),l(""),n("")},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,h.get_input_class_name)(),value:k,onChange:a=>l(a.target.value),placeholder:"Pair with alice on the widget",disabled:e,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,g.get_button_class_name)("ghost"),disabled:e||0===k.trim().length,children:"Save note"}),void 0===c?null:(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost"),disabled:e,onClick:c,children:"Cancel"})]})]}),j?(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,h.get_input_class_name)(),value:m,onChange:a=>n(a.target.value),placeholder:"e.g. 30 minutes ago",disabled:e})]}):null]})}var aC=a.i(61733),aD=a.i(38842),aE=a.i(77328),aF=a.i(20872);let aG=(0,d.forwardRef)(function({entry:a,sheets:c,known_tags:e,in_bar:f=!1,on_check_out:h,on_delete:i,on_edit:j,on_move:k,on_add_note:l,on_edit_note:m,on_delete_note:n,is_pending:o},p){var q;let s,{confirm:u}=(0,r.useConfirmDialog)(),v=(0,am.use_confirm_destructive_actions)(),w=(0,aD.use_confirm_before_checkout)(),x=(0,G.use_duration_format)(),y=aq(),[z,A]=(0,d.useState)(a.durationMs),[B,C]=(0,d.useState)(!1),[D,E]=(0,d.useState)(!1),[F,H]=(0,d.useState)(!1),[I,J]=(0,d.useState)(!1),[K,L]=(0,d.useState)(void 0);(0,d.useImperativeHandle)(p,()=>({start_edit:()=>{B||D||I||C(!0)},start_add_note:()=>{B||D||F||I||H(!0)}}),[F,B,D,I]),(0,d.useEffect)(()=>{H(!1),C(!1),E(!1),J(!1),L(void 0)},[a.id,a.sheetName]),(0,d.useEffect)(()=>{A(a.durationMs);let b=globalThis.setInterval(()=>{A(Date.now()-new Date(a.start).getTime())},1e3);return()=>globalThis.clearInterval(b)},[a.durationMs,a.start]);let M=()=>{J(!1),L(void 0)},N=async a=>{(!w||await u((0,aE.get_check_out_confirm_dialog)(a)))&&(h(a),M())},O=(q=B||D||I,s="flex flex-col gap-4 rounded-lg border border-accent-border p-[1.1rem] shadow-sm",f?q?`${s} rounded-md border border-accent-border bg-[color-mix(in_srgb,var(--panel)_70%,var(--background))] p-3.5`:"flex flex-col gap-3 border-0 bg-transparent p-0 shadow-none":`${s} bg-[image:var(--active-panel-bg)]`),P=async b=>{let c,d,e=a.notes.find(a=>a.timestamp===b);(!v||await u({title:"Delete note?",message:(d=(c=(e?.text??"").trim()).length>80?`${c.slice(0,80)}…`:c).length>0?`Remove this note? "${d}"`:"Remove this note?",confirmLabel:"Delete",variant:"danger"}))&&n(b)},Q=(0,b.jsx)(ay.EntryActionsMenu,{current_sheet_name:a.sheetName,sheets:c,is_pending:o,on_edit:()=>E(!0),on_show_add_note_form:()=>H(!0),on_move:k,on_delete:async()=>{(!v||await u((0,aF.get_delete_entry_confirm_dialog)(a)))&&i()}});return I?(0,b.jsx)("section",{className:O,"aria-label":"Check out active entry",children:(0,b.jsx)(ar,{entry:a,in_bar:f,is_pending:o,initial_at:K,on_cancel:M,on_submit:a=>{N(a)}})}):D?(0,b.jsx)("section",{className:O,children:(0,b.jsx)(az.EntryEditForm,{entry:a,known_tags:e,is_pending:o,in_active_panel:!0,times_only:!0,start_only:!0,on_cancel:()=>E(!1),on_save:a=>{j(a),E(!1)}})}):(0,b.jsxs)("section",{className:O,children:[(0,b.jsxs)("div",{className:"flex min-w-0 shrink-0 items-start justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1.5",children:[f?null:(0,b.jsx)("span",{className:"self-start rounded-full bg-accent px-2 py-0.5 text-[0.68rem] font-bold uppercase leading-none tracking-wider text-accent-text-on",children:"Tracking"}),B?(0,b.jsx)(au,{entry:a,known_tags:e,is_pending:o,on_cancel:()=>C(!1),on_save:a=>{j({description:a}),C(!1)}}):(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-1",children:[(0,b.jsx)("h2",{className:"m-0 min-w-0 truncate text-[1.12rem] font-[650] leading-tight tracking-tight min-[560px]:text-xl",children:a.description||"Untitled entry"}),(0,b.jsx)("button",{type:"button",className:"inline-flex h-7 w-7 shrink-0 cursor-pointer items-center justify-center rounded-[0.35rem] border-0 bg-transparent p-0 text-muted hover:bg-surface-hover hover:text-foreground disabled:cursor-not-allowed disabled:opacity-55","aria-label":"Edit description",title:"Edit description",disabled:o||F,onClick:()=>C(!0),children:(0,b.jsx)(aC.PencilIcon,{})})]})]}),f?null:(0,b.jsx)("div",{className:"max-[560px]:self-end",children:Q})]}),(0,b.jsxs)("div",{className:`flex shrink-0 items-end justify-between gap-4 max-[860px]:flex-col max-[860px]:items-stretch ${f?"px-3":""}`,children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[(0,b.jsx)("p",{className:"m-0 whitespace-nowrap font-mono text-[1.65rem] font-medium leading-none tracking-tight text-accent min-[440px]:text-[1.85rem] min-[560px]:text-[2rem]",children:(0,t.format_duration)(z,x,y)}),B||0===a.tags.length?null:(0,b.jsx)("ul",{className:"m-0 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,T.format_display_tag)(a)},a))})]}),(0,b.jsxs)("div",{className:`flex min-w-0 shrink-0 flex-wrap items-center justify-end gap-2 max-[560px]:flex-col max-[560px]:items-stretch ${f?"w-full":"min-w-30 max-[860px]:w-full max-[860px]:justify-stretch"}`,children:[F?null:(0,b.jsx)("button",{type:"button",className:`${(0,g.get_button_class_name)("ghost")} min-w-0 min-[561px]:px-2.5 min-[561px]:py-2 min-[561px]:text-[0.9rem] max-[560px]:flex-1`,disabled:o||B,onClick:()=>H(!0),children:"Add note"}),(0,b.jsx)(ax,{in_bar:f,is_pending:o,on_start_checkout:a=>{o||(C(!1),E(!1),H(!1),L(a),J(!0))}})]})]}),(0,b.jsx)(aA.EntryNotesList,{notes:a.notes,variant:"panel",in_bar:f,is_pending:o,on_edit_note:m,on_delete_note:P}),F?(0,b.jsx)("div",{className:"shrink-0",children:(0,b.jsx)(aB,{in_active_panel:!0,in_bar:f,allow_at:!0,is_pending:o,on_cancel:()=>H(!1),on_submit:(a,b)=>{l(a,b),H(!1)}})}):null]})});var aH=a.i(18734);let aI=(0,d.forwardRef)(function({active_entry:a,sheets:c,known_tags:e,is_pending:f,on_check_out:g,on_delete:h,on_edit:i,on_move:j,on_add_note:k,on_edit_note:l,on_delete_note:m},n){let{confirm:o}=(0,r.useConfirmDialog)(),p=(0,am.use_confirm_destructive_actions)(),q=(0,d.useRef)(null);return((0,d.useImperativeHandle)(n,()=>({start_edit:()=>{q.current?.start_edit()},start_add_note:()=>{q.current?.start_add_note()}})),null===a)?null:(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,b.jsxs)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.04em] text-muted whitespace-nowrap truncate",children:["Sheet ",a.sheetName]}),(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-accent px-2 py-0.5 text-[0.68rem] font-bold uppercase leading-none tracking-wider text-accent-text-on",children:"Tracking"}),(0,aH.is_pomodoro_task_entry)(a)?(0,b.jsx)("span",{className:"shrink-0 rounded-full border border-panel-border bg-surface-raised px-2 py-0.5 text-[0.68rem] font-bold uppercase leading-none tracking-wider text-foreground",children:"Pomodoro"}):null,(0,b.jsx)("div",{className:"ml-auto",children:(0,b.jsx)(ay.EntryActionsMenu,{current_sheet_name:a.sheetName,sheets:c,is_pending:f,on_edit:()=>q.current?.start_edit(),on_show_add_note_form:()=>q.current?.start_add_note(),on_move:j,on_delete:async()=>{(!p||await o((0,aF.get_delete_entry_confirm_dialog)(a)))&&h()}})})]}),(0,b.jsx)(aG,{ref:q,entry:a,sheets:c,known_tags:e,in_bar:!0,is_pending:f,on_check_out:g,on_delete:h,on_edit:i,on_move:j,on_add_note:k,on_edit_note:l,on_delete_note:m},`${a.sheetName}-${a.id}`)]})});var aJ=a.i(6128);let aK="super-time-tracker";function aL({active_entry:a}){let b="true"===(0,d.useSyncExternalStore)(aJ.timer_in_title_preference.subscribe,aJ.timer_in_title_preference.get_snapshot,aJ.timer_in_title_preference.get_server_snapshot),c=(0,G.use_duration_format)(),e=aq(),[f,g]=(0,d.useState)(a?.durationMs??0);return(0,d.useEffect)(()=>{if(null===a)return void g(0);g(a.durationMs);let b=window.setInterval(()=>{g(Date.now()-new Date(a.start).getTime())},1e3);return()=>window.clearInterval(b)},[a]),(0,d.useEffect)(()=>{if(!b||null===a){document.title=aK;return}let d=a.description.trim()||"Tracking",g=(0,t.format_duration)(f,c,e);return document.title=`${g} — ${d}`,()=>{document.title=aK}},[a,c,f,e,b]),null}var aM=a.i(98790),aN=a.i(68070),aO=a.i(68225);function aP(a){return`${a.sheetName}:${a.id}`}var aQ=a.i(84365),aR=a.i(78537),aS=a.i(97063),aT=a.i(73297),aU=a.i(57377),aV=a.i(115);function aW(a){}var aX=a.i(35822),aY=a.i(77963),aZ=a.i(41872);a.s(["TrackerApp",0,function({initial_state:a}){let[e,f]=(0,d.useState)(a),[h,i]=(0,d.useState)(null),[j,k]=(0,d.useState)(!1),[l,m]=(0,d.useState)(!1),[n,o]=(0,d.useState)(""),p=(0,d.useRef)(a);(0,d.useEffect)(()=>{aW(a)},[a]);let s=async a=>{k(!0),i(null);try{let b=await a(),c=null!==e.activeEntry&&null===b.activeEntry,d=e.runningEntry,g=b.runningEntry;if(aW(b),f(b),c&&(0,aO.finish_running_pomodoro_timer)(),!w)return;if(null===d&&null!==g)return void(0,aR.notify_desktop)({title:"Tracking started",body:`${g.description||"Untitled entry"} (${g.sheetName})`,tag:"tracker-running-entry"});if(null!==d&&null===g)return void(0,aR.notify_desktop)({title:"Tracking stopped",body:`${d.description||"Untitled entry"} (${d.sheetName})`,tag:"tracker-running-entry"});null!==d&&null!==g&&aP(d)!==aP(g)&&(0,aR.notify_desktop)({title:"Tracking switched",body:`${g.description||"Untitled entry"} (${g.sheetName})`,tag:"tracker-running-entry"})}catch(a){i(a instanceof Error?a.message:String(a))}finally{k(!1)}},t=e.activeSheetName??e.sheets.find(a=>a.isActive)?.name??"main",u=ad(),v=(0,aZ.use_entry_list_sort)(),w="true"===(0,d.useSyncExternalStore)(aY.desktop_notifications_preference.subscribe,aY.desktop_notifications_preference.get_snapshot,aY.desktop_notifications_preference.get_server_snapshot),x="true"===(0,d.useSyncExternalStore)(aX.clear_tag_filters_on_sheet_change_preference.subscribe,aX.clear_tag_filters_on_sheet_change_preference.get_snapshot,aX.clear_tag_filters_on_sheet_change_preference.get_server_snapshot),y=(0,d.useRef)(null),z=(0,d.useRef)(null),A=(0,d.useRef)(null);(0,d.useEffect)(()=>{if(!x||null===y.current||y.current===t){y.current=t;return}aa(t,[]),y.current=t},[t,x]),(0,d.useEffect)(()=>{o("")},[t]);let B=(0,d.useSyncExternalStore)(Z.subscribe_sheet_tag_filters,()=>X(t),Y),C=(0,d.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=new Set;for(let d of c.tags)try{let c=(0,U.normalize_stored_tag)(d);if(a.has(c))continue;a.add(c),b.set(c,(b.get(c)??0)+1)}catch{continue}}return[...b.entries()].map(([a,b])=>({name:a,entryCount:b})).sort((a,b)=>a.name.localeCompare(b.name))})(e.activeSheetEntries),[e.activeSheetEntries]),D=(0,d.useMemo)(()=>{var a;let b;if(l)return[];let c=[...(a=function(a,b,c="all"){return 0===b.length?a:a.filter(a=>(function(a,b,c="all"){return 0===b.length||("any"===c?b.some(b=>a.tags.some(a=>(0,ab.tags_are_equal)(a,b))):b.every(b=>a.tags.some(a=>(0,ab.tags_are_equal)(a,b))))})(a,b,c))}(e.activeSheetEntries,B,u),0===(b=n.trim()).length?a:a.filter(a=>(function(a,b){let c=b.trim().toLowerCase();if(0===c.length)return{matches:!0,noteSnippet:null};let d=a.description.toLowerCase().includes(c),e=a.sheetName.toLowerCase().includes(c),f=a.tags.some(a=>a.toLowerCase().includes(c));if(d||e||f)return{matches:!0,noteSnippet:null};for(let b of a.noteTexts)if(b.toLowerCase().includes(c))return{matches:!0,noteSnippet:function(a,b){let c=a.toLowerCase().indexOf(b);if(c<0)return a.slice(0,120);let d=Math.max(0,c-40),e=Math.min(a.length,c+b.length+40),f=d>0?"…":"",g=e<a.length?"…":"";return`${f}${a.slice(d,e)}${g}`}(b,c)};return{matches:!1,noteSnippet:null}})({sheetName:a.sheetName,description:a.description,tags:a.tags,noteTexts:a.notes.map(a=>a.text)},b).matches))];switch(v){case"oldest":return c.sort((a,b)=>new Date(a.start).getTime()-new Date(b.start).getTime());case"duration":return c.sort((a,b)=>b.durationMs-a.durationMs);case"description":return c.sort((a,b)=>{let c=a.description.trim()||"Untitled entry",d=b.description.trim()||"Untitled entry";return c.localeCompare(d)});default:return c.sort((a,b)=>new Date(b.start).getTime()-new Date(a.start).getTime())}},[e.activeSheetEntries,B,u,v,n,l]),E=(0,d.useMemo)(()=>(0,aQ.get_serialized_entries_total_ms)(D),[D]);(0,d.useEffect)(()=>(0,aS.subscribe_tracker_state_sync)(()=>{j||l||fetch("/api/state").then(async a=>{if(!a.ok)throw Error("Failed to refresh tracker state");return await a.json()}).then(a=>{aW(a),f(b=>(null===b.activeEntry?null:`${b.activeEntry.sheetName}:${b.activeEntry.id}`)===(null===a.activeEntry?null:`${a.activeEntry.sheetName}:${a.activeEntry.id}`)?b:a)}).catch(()=>{})}),[j,l]);let F=l?`Loading entries for "${t}"…`:n.trim().length>0?B.length>0?`No entries on sheet "${t}" match your search and selected tags.`:`No entries on sheet "${t}" match your search.`:B.length>0?"any"===u?`No entries on sheet "${t}" match any selected tag.`:`No entries on sheet "${t}" match all selected tags.`:`No entries on sheet "${t}".`,G=a=>{let b;if(a===t&&!l)return;p.current=e;let c=(b=e.runningEntries.find(b=>b.sheetName===a)??null,{...e,activeSheetName:a,sheets:e.sheets.map(b=>({...b,isActive:b.name===a})),activeEntry:b,activeSheetEntries:e.activeSheetEntries,activeSheetTotalMs:e.activeSheetTotalMs});aW(c),f(c),m(!0),i(null),(0,aV.post_tracker_action)("/api/sheet",{name:a}).then(a=>{aW(a),f(a)}).catch(a=>{i(a instanceof Error?a.message:String(a)),f(p.current)}).finally(()=>{m(!1)})},I=(a,b,c)=>(0,aU.patch_tracker_action)("/api/entry",{sheetName:a,entryId:b,...c});return(0,b.jsxs)(r.ConfirmDialogProvider,{children:[(0,b.jsx)(aL,{active_entry:e.activeEntry}),(0,b.jsx)(S,{sheets:e.sheets,active_sheet_name:t,active_entry:e.activeEntry,is_pending:j,check_in_form_ref:z,active_entry_panel_ref:A,on_select_sheet:G,on_check_out:a=>s(()=>(0,aV.post_tracker_action)("/api/out",(0,aN.build_check_out_request_payload)(t,a)))}),(0,b.jsx)("div",{className:"relative z-1",children:(0,b.jsx)(aM.TrackerTopbar,{})}),(0,b.jsxs)("div",{className:"mx-auto max-w-[1120px] px-4 pb-10 pt-4 sm:px-5 sm:pt-5",children:[null!==h?(0,b.jsx)("p",{className:"mb-4 border border-danger-border bg-danger-soft px-3 py-2.5 text-danger-text",children:h}):null,(0,b.jsx)(H,{has_running_timer:null!==e.runningEntry,on_check_in_shortcut:()=>{z.current?.expand_and_focus()}}),(0,b.jsxs)("div",{className:"grid grid-cols-[minmax(14rem,18rem)_minmax(0,1fr)] items-stretch border border-panel-border bg-panel shadow-sm max-[960px]:grid-cols-1",children:[(0,b.jsx)("div",{className:"flex min-h-0 min-w-0 flex-col border-r border-panel-border p-4 max-[860px]:border-r-0 max-[860px]:border-b",children:(0,b.jsx)(ao,{sheets:e.sheets,db_path:e.dbPath,is_pending:j,on_select:G,on_create:a=>s(()=>(0,aV.post_tracker_action)("/api/sheet",{name:a})),on_rename:(a,b)=>s(()=>(0,aU.patch_tracker_action)("/api/sheet",{name:a,newName:b})),on_delete:a=>s(()=>(0,aV.post_tracker_action)("/api/sheet",{name:a,delete:!0}))})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-col",children:[(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-4 border-b border-panel-border border-l-4 border-l-accent p-4",children:[null===e.activeEntry?(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-md border border-panel-border bg-background px-3 py-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.06em] text-muted",children:"Quick action"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.9rem] font-medium",children:"Jump into Pomodoro without leaving the tracker."})]}),(0,b.jsxs)(c.default,{href:"/pomodoro",className:`${(0,g.get_button_class_name)("primary")} inline-flex min-w-40 flex-col items-center justify-center whitespace-nowrap text-center`,"aria-label":"Open Pomodoro timer",children:[(0,b.jsx)("span",{className:"text-white text-[0.9rem] leading-none",children:"Start Pomodoro"}),(0,b.jsx)("span",{className:"text-white mt-1 text-[0.72rem] font-medium leading-none opacity-85",children:"Focus timer"})]})]}):null,(0,b.jsx)(aI,{ref:A,active_entry:e.activeEntry,sheets:e.sheets,known_tags:e.knownTags,is_pending:j,on_check_out:a=>s(()=>(0,aV.post_tracker_action)("/api/out",(0,aN.build_check_out_request_payload)(t,a))),on_delete:()=>s(()=>(0,aV.post_tracker_action)("/api/entry",{sheetName:t,entryId:e.activeEntry?.id})),on_edit:a=>s(()=>I(t,e.activeEntry?.id??0,a)),on_move:a=>s(()=>(0,aV.post_tracker_action)("/api/entry/move",{sheetName:t,entryId:e.activeEntry?.id,targetSheetName:a})),on_add_note:(a,b)=>s(()=>(0,aV.post_tracker_action)("/api/note",{text:a,...void 0!==b?{at:b}:{},sheetName:t,entryId:e.activeEntry?.id})),on_edit_note:(a,b)=>s(()=>(0,aU.patch_tracker_action)("/api/note",{sheetName:t,entryId:e.activeEntry?.id,timestamp:a,text:b})),on_delete_note:a=>s(()=>(0,aT.delete_tracker_action)("/api/note",{sheetName:t,entryId:e.activeEntry?.id,timestamp:a}))}),null===e.activeEntry?(0,b.jsx)(q,{ref:z,known_tags:e.knownTags,is_pending:j,trailing:(0,b.jsx)("p",{className:"m-0 text-[0.85rem] leading-tight text-muted",children:"Not tracking"}),on_submit:a=>s(()=>(0,aV.post_tracker_action)("/api/in",{...a,sheetName:t}))}):null]}),(0,b.jsx)("section",{className:"flex min-w-0 flex-col gap-4 p-4",children:(0,b.jsx)(ai.EntryList,{title:"Entries",entries:D,merge_context_entries:e.activeSheetEntries,sheets:e.sheets,known_tags:e.knownTags,total_ms:E,empty_message:F,is_pending:j,show_sheet_name:!1,header_extra:(0,b.jsxs)("div",{className:"flex w-full flex-col gap-3",children:[(0,b.jsx)(ah,{query:n,active_sheet:t,is_pending:j,on_query_change:o}),(0,b.jsx)(ae,{sheet_name:t,sheet_tags:C})]}),on_delete:a=>s(()=>(0,aV.post_tracker_action)("/api/entry",{sheetName:a.sheetName,entryId:a.id})),on_edit:(a,b)=>s(()=>I(a.sheetName,a.id,b)),on_move:(a,b)=>s(()=>(0,aV.post_tracker_action)("/api/entry/move",{sheetName:a.sheetName,entryId:a.id,targetSheetName:b})),on_move_many:(a,b)=>s(()=>(0,aV.post_tracker_action)("/api/entry/move-bulk",{entries:a.map(a=>({sheetName:a.sheetName,entryId:a.id})),targetSheetName:b})),on_delete_many:a=>s(()=>(0,aV.post_tracker_action)("/api/entry/delete-bulk",{entries:a.map(a=>({sheetName:a.sheetName,entryId:a.id}))})),on_edit_note:(a,b,c)=>s(()=>(0,aU.patch_tracker_action)("/api/note",{sheetName:a.sheetName,entryId:a.id,timestamp:b,text:c})),on_add_note:(a,b)=>s(()=>(0,aV.post_tracker_action)("/api/note",{sheetName:a.sheetName,entryId:a.id,text:b})),on_resume:a=>s(()=>(0,aV.post_tracker_action)("/api/in",{description:(0,at.build_resume_description)(a.description,a.tags),sheetName:a.sheetName})),on_split:(a,b)=>s(()=>(0,aV.post_tracker_action)("/api/entry/split",{sheetName:a.sheetName,entryId:a.id,at:b})),on_merge:(a,b)=>s(()=>(0,aV.post_tracker_action)("/api/entry/merge",{sheetName:a.sheetName,entryId:a.id,direction:b}))})})]})]})]})]})}],12584)}];
|
|
1
|
+
module.exports=[12584,a=>{"use strict";var b=a.i(39752),c=a.i(62988),d=a.i(34542),e=a.i(30354),f=a.i(71586),g=a.i(89969),h=a.i(69749),i=a.i(98831),j=a.i(40420),k=a.i(6962),l=a.i(45273),m=a.i(54393);function n(a){}function o({known_tags:a,on_submit:c,is_pending:p}){let[q,r]=(0,d.useState)([]),[s,t]=(0,d.useState)(""),[u,v]=(0,d.useState)(""),[w,x]=(0,d.useState)(""),[y,z]=(0,d.useState)(null),[A,B]=(0,d.useState)(!1),C=(0,d.useSyncExternalStore)(j.entry_suggestion_provider_preference.subscribe,j.entry_suggestion_provider_preference.get_snapshot,j.entry_suggestion_provider_preference.get_server_snapshot),D=(0,d.useSyncExternalStore)(l.openai_api_key_preference.subscribe,l.openai_api_key_preference.get_snapshot,l.openai_api_key_preference.get_server_snapshot),E=(0,d.useSyncExternalStore)(i.claude_api_key_preference.subscribe,i.claude_api_key_preference.get_snapshot,i.claude_api_key_preference.get_server_snapshot),F=(0,d.useSyncExternalStore)(k.google_ai_api_key_preference.subscribe,k.google_ai_api_key_preference.get_snapshot,k.google_ai_api_key_preference.get_server_snapshot),G=(0,f.get_api_key_for_suggestion_provider)(C,{openai:D,claude:E,google_ai:F}),H="none"!==C&&G.trim().length>0;(0,d.useEffect)(()=>{r([])},[]);let I=(0,d.useMemo)(()=>q.find(a=>a.id===s)??null,[q,s]),J=async()=>{if(H){B(!0),z(null);try{let a=await (0,m.request_ai_entry_description_suggestion)({provider:C,api_key:G,context:u,notes:""});v(a)}catch(a){z(a instanceof Error?a.message:String(a))}finally{B(!1)}}};return(0,b.jsxs)("form",{className:"flex flex-col gap-2 border border-panel-border bg-panel p-[1.1rem] shadow-sm",onSubmit:a=>{a.preventDefault();let b=u.trim();if(0===b.length)return;let d=w.trim();c({description:b,...d.length>0?{at:d}:{}}),v(""),x("")},children:[(0,b.jsx)("label",{className:"text-[0.85rem] text-muted",htmlFor:"check-in-description",children:"What are you working on?"}),(0,b.jsxs)("div",{className:"grid gap-2 sm:grid-cols-[minmax(0,1fr)_auto_auto]",children:[(0,b.jsxs)("select",{className:(0,h.get_input_class_name)(),value:s,disabled:p||0===q.length,onChange:a=>{let b=a.target.value;t(b);let c=q.find(a=>a.id===b)??null;null!==c&&v(c.description)},children:[(0,b.jsx)("option",{value:"",children:0===q.length?"No templates":"Use a template…"}),q.map(a=>(0,b.jsx)("option",{value:a.id,children:a.name},a.id))]}),(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost"),disabled:p||0===u.trim().length,onClick:()=>{let a=u.trim();if(0===a.length)return;let b=a.slice(0,40),c=globalThis.prompt("Template name",b.length>0?b:"New template");if(null===c)return;let d=c.trim();if(0===d.length)return;let e="u">typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`,f=[...q,{id:e,name:d,description:a}];r(f),t(e),n(f)},children:"Save template"}),(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost"),disabled:p||null===I,onClick:()=>{if(null===I)return;let a=q.filter(a=>a.id!==I.id);r(a),t(""),n(a)},children:"Delete template"})]}),(0,b.jsxs)("div",{className:`grid gap-2 max-[860px]:grid-cols-1 ${H?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]"}`,children:[(0,b.jsx)(e.TagAutocompleteInput,{id:"check-in-description",value:u,known_tags:a,placeholder:"e.g. crafting something @design",disabled:p,autoFocus:!0,on_change:v}),H?(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost"),disabled:p||A,onClick:()=>void J(),title:"Suggest description with AI",children:A?"Suggesting…":"Suggest"}):null,(0,b.jsx)("button",{type:"submit",className:(0,g.get_button_class_name)("primary"),disabled:p||0===u.trim().length,children:"Check in"})]}),null===y?null:(0,b.jsx)("p",{className:"m-0 text-[0.8rem] text-danger",children:y}),(0,b.jsxs)("label",{className:"text-[0.85rem] text-muted",htmlFor:"check-in-at",children:["Start time"," ",(0,b.jsx)("span",{className:"font-normal opacity-85",children:"(optional, natural language)"})]}),(0,b.jsx)("input",{id:"check-in-at",className:(0,h.get_input_class_name)(),value:w,onChange:a=>x(a.target.value),placeholder:"e.g. 30 minutes ago",disabled:p})]})}var p=a.i(14244);let q=(0,d.forwardRef)(function({known_tags:a,is_pending:c,on_submit:e,trailing:f},h){let i="true"===(0,d.useSyncExternalStore)(p.check_in_form_collapsed_preference.subscribe,p.check_in_form_collapsed_preference.get_snapshot,p.check_in_form_collapsed_preference.get_server_snapshot),[j,k]=(0,d.useState)(!i);return((0,d.useImperativeHandle)(h,()=>({expand_and_focus:()=>{k(!0),globalThis.requestAnimationFrame(()=>{let a=document.getElementById("check-in-description");a instanceof HTMLElement&&a.focus()})}}),[]),i&&!j)?(0,b.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-3",children:[(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("primary"),disabled:c,onClick:()=>k(!0),children:"Check in"}),f]}):(0,b.jsx)(o,{known_tags:a,is_pending:c,on_submit:a=>{e(a),i&&k(!1)}})});var r=a.i(53030),s=a.i(75654),t=a.i(85752),u=a.i(50762),v=a.i(39744),w=a.i(13870),x=a.i(16777),y=a.i(18558),z=a.i(80805),A=a.i(9818),B=a.i(72327),C=a.i(40395),D=a.i(76121),E=a.i(62082),F=a.i(64617),G=a.i(65162);function H({on_check_in_shortcut:a,has_running_timer:c=!1}){var e;let f=(0,G.use_duration_format)(),g=(0,d.useSyncExternalStore)(B.focus_nudges_enabled_preference.subscribe,B.focus_nudges_enabled_preference.get_snapshot,B.focus_nudges_enabled_preference.get_server_snapshot),h=(0,d.useSyncExternalStore)(v.daily_focus_target_minutes_preference.subscribe,v.daily_focus_target_minutes_preference.get_snapshot,v.daily_focus_target_minutes_preference.get_server_snapshot),i=(0,d.useSyncExternalStore)(E.weekly_focus_target_minutes_preference.subscribe,E.weekly_focus_target_minutes_preference.get_snapshot,E.weekly_focus_target_minutes_preference.get_server_snapshot),j=(0,d.useSyncExternalStore)(C.no_log_reminder_minutes_preference.subscribe,C.no_log_reminder_minutes_preference.get_snapshot,C.no_log_reminder_minutes_preference.get_server_snapshot),k=(0,d.useSyncExternalStore)(D.overwork_alert_hours_preference.subscribe,D.overwork_alert_hours_preference.get_snapshot,D.overwork_alert_hours_preference.get_server_snapshot),l=(0,d.useSyncExternalStore)(w.focus_goal_scope_preference.subscribe,w.focus_goal_scope_preference.get_snapshot,w.focus_goal_scope_preference.get_server_snapshot),m=(0,d.useSyncExternalStore)(x.focus_goal_sheet_name_preference.subscribe,x.focus_goal_sheet_name_preference.get_snapshot,x.focus_goal_sheet_name_preference.get_server_snapshot),n=(0,d.useSyncExternalStore)(y.focus_goal_tag_name_preference.subscribe,y.focus_goal_tag_name_preference.get_snapshot,y.focus_goal_tag_name_preference.get_server_snapshot),o=(0,d.useSyncExternalStore)(z.focus_goals_per_sheet_preference.subscribe,z.focus_goals_per_sheet_preference.get_snapshot,z.focus_goals_per_sheet_preference.get_server_snapshot),p=(0,d.useSyncExternalStore)(A.focus_goals_per_tag_preference.subscribe,A.focus_goals_per_tag_preference.get_snapshot,A.focus_goals_per_tag_preference.get_server_snapshot),[q,r]=(0,d.useState)(null),[s,K]=(0,d.useState)(null);(0,d.useEffect)(()=>{let a=()=>{try{var a;let b=globalThis.localStorage.getItem(F.POMODORO_STORAGE_KEY);if(null===b)return null;let c=JSON.parse(b).state;if(c?.status!=="running"||null==c.deadline_at_ms)return null;let d=Math.max(0,c.deadline_at_ms-Date.now()),e=Math.floor(d/6e4),f=Math.floor(d%6e4/1e3);return{phase_label:(a=c.phase,"work"===a?"Focus":"short_break"===a?"Short break":"Long break"),remaining_label:`${e.toString().padStart(2,"0")}:${f.toString().padStart(2,"0")}`}}catch{return null}},b=globalThis.setTimeout(()=>{K(a())},0),c=globalThis.setInterval(()=>{K(a())},1e3);return()=>{globalThis.clearTimeout(b),globalThis.clearInterval(c)}},[]),(0,d.useEffect)(()=>{if("true"!==g)return;let a=!1,b=async()=>{try{var b,c,d;let e=new URLSearchParams;e.set("scope",(b=l,c=m,d=n,"sheet"===b&&0===c.length||"tag"===b&&0===d.length?"global":b)),"sheet"===l&&m.length>0&&e.set("sheet",m),"tag"===l&&n.length>0&&e.set("tag",n);let f=await fetch(`/api/focus-nudges/status?${e.toString()}`);if(!f.ok)return;let g=await f.json();a||r(g)}catch{}};b();let c=globalThis.setInterval(()=>{b()},6e4);return()=>{a=!0,globalThis.clearInterval(c)}},[g,l,m,n]);let L=(0,d.useMemo)(()=>{if("true"!==g||null===q)return null;let{daily_minutes:a,weekly_minutes:b}=function(a){if("sheet"===a.scope&&a.sheet_name.length>0){let b=(0,u.parse_focus_goals_by_name)(a.per_sheet_json)[a.sheet_name];return void 0===b?{daily_minutes:null,weekly_minutes:null}:{daily_minutes:b.daily??a.global_daily,weekly_minutes:b.weekly??a.global_weekly}}if("tag"===a.scope&&a.tag_name.length>0){let b=(0,u.parse_focus_goals_by_name)(a.per_tag_json)[a.tag_name];return void 0===b?{daily_minutes:null,weekly_minutes:null}:{daily_minutes:b.daily??a.global_daily,weekly_minutes:b.weekly??a.global_weekly}}return{daily_minutes:a.global_daily,weekly_minutes:a.global_weekly}}({scope:l,sheet_name:m,tag_name:n,per_sheet_json:o,per_tag_json:p,global_daily:h,global_weekly:i});if(null===a||null===b)return{kind:"alert",tone:"info",title:I("daily",l,m,n),detail:"No goals configured yet for this scope. Set daily and weekly targets in Goal settings."};let d=6e4*Number.parseInt(a,10),e=6e4*Number.parseInt(b,10),r=36e5*Number.parseInt(k,10),s=Number.parseInt(j,10);return null!==q.activeTimerDurationMs&&q.activeTimerDurationMs>=r?{kind:"alert",tone:"warning",title:"Overwork alert",detail:`Current session is ${(0,t.format_duration)(q.activeTimerDurationMs,f)}. Consider a short break.`}:!c&&null!==q.minutesSinceLastLog&&q.minutesSinceLastLog>=s?{kind:"alert",tone:"warning",title:"Gentle reminder",detail:`No time logged for ${q.minutesSinceLastLog} min. Start a timer when you are back on task.`,show_check_in_shortcut:!0}:q.todayTrackedMs<d?{kind:"progress",scope:"daily",title:I("daily",l,m,n),tracked_ms:q.todayTrackedMs,target_ms:d}:q.weekTrackedMs<e?{kind:"progress",scope:"weekly",title:I("weekly",l,m,n),tracked_ms:q.weekTrackedMs,target_ms:e}:{kind:"alert",tone:"success",title:"Targets met",detail:"Daily and weekly focus goals are on track."}},[h,f,g,k,c,l,m,n,o,p,j,q,i]);if(null===L)return null;if("progress"===L.kind)return(0,b.jsx)(J,{scope:L.scope,title:L.title,tracked_ms:L.tracked_ms,target_ms:L.target_ms,duration_format:f,activePomodoro:s});let M="warning"===(e=L.tone)?"mb-4 rounded-md border border-danger-border bg-danger-soft px-3 py-2.5 text-danger-text":"success"===e?"mb-4 rounded-md border border-accent-border bg-accent-soft px-3 py-2.5 text-accent":"mb-4 rounded-md border border-panel-border bg-panel px-3 py-2.5 text-foreground";return(0,b.jsxs)("section",{className:M,"aria-live":"polite","aria-atomic":"true",children:[(0,b.jsx)("p",{className:"m-0 text-[0.85rem] font-semibold",children:L.title}),(0,b.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-2",children:[(0,b.jsx)("p",{className:"m-0 text-[0.82rem] leading-relaxed",children:L.detail}),L.show_check_in_shortcut&&void 0!==a?(0,b.jsx)("button",{type:"button",className:"cursor-pointer rounded border border-current bg-transparent px-2 py-1 text-[0.75rem] font-semibold",onClick:a,children:"Check in"}):null]})]})}function I(a,b,c,d){let e="daily"===a?"Relevant goal":"Weekly goal";return"sheet"===b&&c.length>0?`${e} \xb7 ${c}`:"tag"===b&&d.length>0?`${e} \xb7 @${d}`:e}function J({scope:a,title:d,tracked_ms:e,target_ms:f,duration_format:g,activePomodoro:h}){let i=f>0?Math.min(100,e/f*100):0,j=Math.max(0,f-e);return(0,b.jsx)("section",{className:"mb-4 rounded-md border border-panel-border bg-panel px-4 py-3 shadow-sm","aria-label":d,"aria-live":"polite",children:(0,b.jsxs)("div",{className:"flex flex-wrap items-stretch justify-between gap-3",children:[(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,b.jsx)("p",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:d}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:["daily"===a?(0,b.jsx)(c.default,{href:"/settings/goals#focus-goals-nudges",className:"inline-flex h-6 w-6 items-center justify-center rounded border border-panel-border text-muted no-underline hover:bg-surface-hover hover:text-foreground","aria-label":"Open daily focus target settings",title:"Daily focus target settings",children:(0,b.jsx)(s.SettingsIcon,{})}):null,(0,b.jsxs)("p",{className:"m-0 font-mono text-[0.78rem] font-semibold text-accent",children:[Math.round(i),"%"]})]})]}),(0,b.jsxs)("div",{className:"mt-2 flex items-baseline justify-between gap-3",children:[(0,b.jsxs)("p",{className:"m-0 font-mono text-[1.35rem] font-semibold leading-none text-foreground",children:[(0,t.format_duration)(e,g),(0,b.jsxs)("span",{className:"ml-1 text-[0.85rem] font-medium text-muted",children:["/ ",(0,t.format_duration)(f,g)]})]}),(0,b.jsxs)("p",{className:"m-0 text-[0.78rem] text-muted",children:[(0,t.format_duration)(j,g)," left"," ","daily"===a?"today":"this week"]})]}),(0,b.jsx)("progress",{className:"mt-3 h-1.5 w-full overflow-hidden rounded-full bg-accent-soft [&::-webkit-progress-bar]:rounded-full [&::-webkit-progress-bar]:bg-accent-soft [&::-webkit-progress-value]:rounded-full [&::-webkit-progress-value]:bg-accent [&::-moz-progress-bar]:rounded-full [&::-moz-progress-bar]:bg-accent",max:100,value:Math.round(i)})]}),null===h?null:(0,b.jsxs)("aside",{className:"min-w-52 rounded-md border border-panel-border bg-surface-raised px-3 py-2.5",children:[(0,b.jsx)("p",{className:"m-0 text-[0.68rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Active Pomodoro"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.82rem] font-semibold text-foreground",children:h.phase_label}),(0,b.jsx)("p",{className:"m-0 mt-1 font-mono text-[1.25rem] font-semibold leading-none text-accent",children:h.remaining_label})]})]})})}var K=a.i(82508),L=a.i(7386);function M(a,b,c){if(0===a.length)return null;let d=a.findIndex(a=>a.name===b),e=((-1===d?0:d)+("next"===c?1:-1)+a.length)%a.length;return a[e]?.name??null}var N=a.i(85928),O=a.i(11937),P=a.i(54212),Q=a.i(26336),R=a.i(89184);function S({sheets:a,active_sheet_name:c,active_entry:e,is_pending:f,check_in_form_ref:g,active_entry_panel_ref:h,on_select_sheet:i,on_check_out:j}){let k=(0,K.useRouter)(),[l,m]=(0,d.useState)(!1),n=(0,Q.useCheckOutAction)(j),o=(0,d.useSyncExternalStore)(P.tracker_shortcut_map_preference.subscribe,P.tracker_shortcut_map_preference.get_snapshot,P.tracker_shortcut_map_preference.get_server_snapshot),p=(0,d.useMemo)(()=>(0,O.parse_tracker_shortcut_map)(o),[o]),q=p.help,r="?"===q?"?":q.toUpperCase(),s=(0,d.useMemo)(()=>{let b=null!==e,d="?"===q?["shift"]:[];return[{id:"help",label:r,description:"Show keyboard shortcuts",key:q,modifiers:d,action:()=>{m(a=>!a)}},{id:"check-in",label:p["check-in"].toUpperCase(),description:"Check in (focus description)",key:p["check-in"],is_available:()=>!f&&!b,action:()=>{g.current?.expand_and_focus()}},{id:"check-out",label:p["check-out"].toUpperCase(),description:"Check out",key:p["check-out"],is_available:()=>!f&&b,action:()=>{n()}},{id:"edit-entry",label:p["edit-entry"].toUpperCase(),description:"Edit active entry",key:p["edit-entry"],is_available:()=>!f&&b,action:()=>{h.current?.start_edit()}},{id:"add-note",label:p["add-note"].toUpperCase(),description:"Add note to active entry",key:p["add-note"],is_available:()=>!f&&b,action:()=>{h.current?.start_add_note()}},{id:"pomodoro",label:p.pomodoro.toUpperCase(),description:"Open Pomodoro",key:p.pomodoro,is_available:()=>!f,action:()=>{k.push("/pomodoro")}},{id:"previous-sheet",label:p["previous-sheet"],description:"Previous sheet",key:p["previous-sheet"],is_available:()=>!f&&a.length>1,action:()=>{let b=M(a,c,"previous");null!==b&&b!==c&&i(b)}},{id:"next-sheet",label:p["next-sheet"],description:"Next sheet",key:p["next-sheet"],is_available:()=>!f&&a.length>1,action:()=>{let b=M(a,c,"next");null!==b&&b!==c&&i(b)}}]},[e,h,c,g,n,f,i,k,q,r,p,a]);return((0,R.use_document_keyboard_shortcuts)(s),l)?(0,b.jsx)(L.KeyboardShortcutsDialog,{sections:(0,N.get_tracker_keyboard_shortcut_sections)(p),on_close:()=>m(!1)}):null}var T=a.i(48174),U=a.i(56924);function V(a){let b=[],c=new Set;for(let d of({})[a]??[])try{let a=(0,U.normalize_stored_tag)(d);c.has(a)||(c.add(a),b.push(a))}catch{continue}return b}var W=a.i(4845);function X(a){return(0,W.get_stable_sheet_tag_filter_snapshot)(a,V(a))}function Y(){return W.EMPTY_SHEET_TAG_FILTER}var Z=a.i(5479),$=a.i(72958),_=a.i(19702);function aa(a,b){let c={};0===b.length?delete c[a]:c[a]=b;try{window.localStorage.setItem(_.SHEET_TAG_FILTERS_STORAGE_KEY,JSON.stringify(c)),(0,$.schedule_ui_preferences_cloud_sync)()}catch{}(0,Z.notify_sheet_tag_filters_subscribers)()}var ab=a.i(99467),ac=a.i(78702);function ad(){return(0,d.useSyncExternalStore)(ac.tag_filter_mode_preference.subscribe,ac.tag_filter_mode_preference.get_snapshot,ac.tag_filter_mode_preference.get_server_snapshot)}function ae({sheet_name:a,sheet_tags:c}){let e=ad(),f=(0,d.useSyncExternalStore)(Z.subscribe_sheet_tag_filters,()=>X(a),Y);if((0,d.useEffect)(()=>{!function(a,b){let c=V(a);if(0===c.length)return;let d=c.filter(a=>b.some(b=>(0,ab.tags_are_equal)(a,b)));d.length!==c.length&&aa(a,d)}(a,c.map(a=>a.name))},[a,c]),0===c.length)return null;let h=f.length>0;return(0,b.jsxs)("fieldset",{className:"m-0 flex flex-wrap items-center gap-x-3 gap-y-2 border-0 p-0",children:[(0,b.jsx)("legend",{className:"sr-only",children:"Filter by tag"}),(0,b.jsx)("h2",{className:"m-0 shrink-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em]",children:"Filter by tag"}),(0,b.jsx)("p",{className:"m-0 shrink-0 text-[0.8rem] text-muted",children:"any"===e?"Show entries that include any selected tag.":"Show entries that include every selected tag."}),(0,b.jsxs)("div",{className:"ml-auto flex min-w-0 flex-wrap justify-end gap-1",children:[c.map(c=>{let d=f.some(a=>(0,ab.tags_are_equal)(a,c.name));return(0,b.jsxs)("button",{type:"button",className:`${(0,g.get_button_class_name)("ghost","small")} ${d?"border-accent-border bg-accent-soft text-foreground":""}`,"aria-pressed":d,onClick:()=>{var b;let d,e;return b=c.name,d=(0,U.normalize_stored_tag)(b),void((e=V(a)).some(a=>(0,ab.tags_are_equal)(a,d))?aa(a,e.filter(a=>!(0,ab.tags_are_equal)(a,d))):aa(a,[...e,d]))},children:[(0,T.format_display_tag)(c.name),(0,b.jsxs)("span",{className:"ml-1 font-normal text-muted",children:["(",c.entryCount,")"]})]},c.name)}),h?(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost","small"),onClick:()=>aa(a,[]),children:"Clear filter"}):null]})]})}var af=a.i(33272),ag=a.i(38005);function ah({query:a,active_sheet:d,is_pending:e=!1,on_query_change:f}){let i=a.trim(),j=(0,af.build_entry_search_href)({...(0,ag.get_empty_entry_search_filters)(),query:i,sheetName:d});return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Search entries"}),(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,b.jsx)("input",{type:"search",className:(0,h.get_input_class_name)("compact"),placeholder:"Search description, tags, notes…",value:a,disabled:e,"aria-label":"Search entries on this sheet",onChange:a=>f(a.target.value)}),i.length>0?(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost","small"),disabled:e,onClick:()=>f(""),children:"Clear"}):null]})]}),i.length>0?(0,b.jsx)(c.default,{className:"self-start text-[0.8rem] font-semibold text-accent no-underline hover:underline",href:j,children:"Search all sheets with filters"}):(0,b.jsx)(c.default,{className:"self-start text-[0.8rem] font-semibold text-muted no-underline hover:text-accent hover:underline",href:"/search",children:"Open global search"})]})}var ai=a.i(90003),aj=a.i(44600),ak=a.i(34435);let al="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 disabled:cursor-not-allowed disabled:opacity-55";function am({sheet_name:a,is_pending:c,can_delete:e,on_rename:f,on_delete:g}){let[h,i]=(0,d.useState)(!1),j=(0,d.useRef)(null);(0,d.useEffect)(()=>{if(!h)return;let a=a=>{null===j.current||j.current.contains(a.target)||i(!1)};return document.addEventListener("pointerdown",a),()=>{document.removeEventListener("pointerdown",a)}},[h]);let k=()=>{i(!1)};return(0,b.jsxs)("div",{className:"relative shrink-0 self-center",ref:j,children:[(0,b.jsx)("button",{type:"button",className:"inline-flex cursor-pointer appearance-none items-center justify-center rounded-none border-0 bg-transparent p-0.5 text-muted shadow-none hover:opacity-75 focus-visible:outline-2 focus-visible:outline-input-focus-border focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-55","aria-label":`Actions for sheet ${a}`,"aria-expanded":h,"aria-haspopup":"menu",disabled:c,onClick:()=>i(a=>!a),children:(0,b.jsx)(ak.HamburgerIcon,{})}),h?(0,b.jsxs)("ul",{className:"absolute right-0 top-full z-10 mt-1.5 min-w-56 list-none rounded-md border border-panel-border bg-panel p-1.5 shadow-md",role:"menu",children:[(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:al,role:"menuitem",disabled:c,onClick:()=>{k(),f()},children:"Rename"})}),(0,b.jsx)("li",{className:"my-1 border-t border-panel-border",role:"separator","aria-hidden":"true"}),(0,b.jsx)("li",{role:"none",children:(0,b.jsx)("button",{type:"button",className:`${al} text-danger`,role:"menuitem",disabled:c||!e,title:e?void 0:"Cannot delete the last sheet",onClick:()=>{k(),g()},children:"Delete sheet"})})]}):null]})}var an=a.i(28339),ao=a.i(96359);function ap({sheets:a,db_path:c,on_select:e,on_create:f,on_rename:i,on_delete:j,is_pending:k}){let{confirm:l}=(0,aj.use_confirm_dialog)(),m=(0,an.use_confirm_destructive_actions)(),n=a.length>1,[o,p]=(0,d.useState)(!1),[q,r]=(0,d.useState)(""),[s,t]=(0,d.useState)(null),[u,v]=(0,d.useState)(""),w=()=>{p(!1),r("")},x=()=>{t(null),v("")};(0,ao.use_escape_to_cancel)(x,null!==s),(0,ao.use_escape_to_cancel)(w,o);let y=a=>{if(a.preventDefault(),null===s)return;let b=u.trim();0===b.length||b===s||i(s,b),x()};return(0,b.jsxs)("aside",{className:"flex min-w-0 flex-col gap-3 max-[860px]:min-w-0",children:[(0,b.jsx)("h2",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Sheets"}),(0,b.jsx)("ul",{className:"m-0 flex min-h-0 flex-1 list-none flex-col gap-1.5 p-0",children:a.map(a=>(0,b.jsx)("li",{className:"min-w-0",children:s===a.name?(0,b.jsxs)("form",{className:"flex w-full min-w-0 flex-col gap-1.5",onSubmit:y,children:[(0,b.jsx)("input",{className:(0,h.get_input_class_name)("compact"),value:u,onChange:a=>v(a.target.value),disabled:k,autoFocus:!0}),(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)("button",{type:"submit",className:`${(0,g.get_button_class_name)("ghost")} flex-1`,disabled:k||0===u.trim().length,children:"Save"}),(0,b.jsx)("button",{type:"button",className:`${(0,g.get_button_class_name)("ghost")} flex-1`,disabled:k,onClick:x,children:"Cancel"})]})]}):(0,b.jsxs)("div",{className:"flex min-w-0 items-stretch gap-1",children:[(0,b.jsxs)("button",{type:"button",className:"flex min-w-0 flex-1 cursor-pointer items-center justify-between gap-2 rounded-md border border-transparent bg-transparent px-2.5 py-2 text-left transition-[background-color,color] duration-150 hover:bg-surface-hover",disabled:k&&!a.isActive,onClick:()=>e(a.name),children:[(0,b.jsx)("span",{className:`min-w-0 flex-1 truncate font-semibold ${a.isActive||a.hasActiveEntry?"text-accent":""}`,children:a.name}),(0,b.jsx)("span",{className:`shrink-0 text-xs whitespace-nowrap ${a.hasActiveEntry?"text-accent":"text-muted"}`,children:a.hasActiveEntry?"● active":`${a.entryCount} entries`})]}),(0,b.jsx)(am,{sheet_name:a.name,is_pending:k,can_delete:n,on_rename:()=>{var b;t(b=a.name),v(b)},on_delete:async()=>{var b,c,d;let e;(!m||await l((b=a.name,c=a.entryCount,d=a.hasActiveEntry,e=0===c?"":` This will delete ${c} ${1===c?"entry":"entries"}.`,{title:"Delete sheet?",message:`Delete "${b}"?${e}${d?" This will stop the active timer.":""}`,confirmLabel:"Delete sheet",variant:"danger"})))&&j(a.name)}})]})},a.name))}),o?(0,b.jsxs)("form",{className:"flex w-full min-w-0 flex-col gap-2",onSubmit:a=>{a.preventDefault();let b=q.trim();0!==b.length&&(f(b),w())},children:[(0,b.jsx)("input",{className:(0,h.get_input_class_name)("compact"),value:q,onChange:a=>r(a.target.value),placeholder:"New sheet name",disabled:k,autoFocus:!0}),(0,b.jsxs)("div",{className:"flex gap-1.5",children:[(0,b.jsx)("button",{type:"submit",className:`${(0,g.get_button_class_name)("ghost")} flex-1`,disabled:k||0===q.trim().length,children:"Add"}),(0,b.jsx)("button",{type:"button",className:`${(0,g.get_button_class_name)("ghost")} flex-1`,disabled:k,onClick:w,children:"Cancel"})]})]}):(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost"),disabled:k,onClick:()=>p(!0),children:"Add sheet"}),(0,b.jsx)("p",{className:"mt-auto shrink-0 overflow-wrap-anywhere border-t border-panel-border pt-3 font-mono text-[0.65rem] leading-snug text-muted",title:c,children:c})]})}var aq=a.i(99751);function ar(){return"true"===(0,d.useSyncExternalStore)(aq.timer_show_seconds_preference.subscribe,aq.timer_show_seconds_preference.get_snapshot,aq.timer_show_seconds_preference.get_server_snapshot)}function as({entry:a,in_bar:c,is_pending:e,initial_at:f,on_cancel:i,on_submit:j}){let k=(0,G.use_duration_format)(),l=ar(),[m,n]=(0,d.useState)(()=>Date.now()-new Date(a.start).getTime()),[o,p]=(0,d.useState)(""),[q,r]=(0,d.useState)(f??""),s=(0,d.useRef)(null);(0,ao.use_escape_to_cancel)(i),(0,d.useEffect)(()=>{s.current?.focus()},[]),(0,d.useEffect)(()=>{n(Date.now()-new Date(a.start).getTime());let b=globalThis.setInterval(()=>{n(Date.now()-new Date(a.start).getTime())},1e3);return()=>globalThis.clearInterval(b)},[a.start]);let u=(0,t.format_duration)(m,k,l),v=a.description||"Untitled entry";return(0,b.jsxs)("form",{className:"flex min-w-0 flex-col gap-4","aria-label":"Check out form",onSubmit:a=>{a.preventDefault();let b=o.trim(),c=q.trim(),d=b.length>0,e=c.length>0;d||e?j({...e?{at:c}:{},...d?{note:b}:{}}):j(void 0)},children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center justify-between gap-3",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,b.jsx)("span",{className:"text-[0.68rem] font-bold uppercase leading-none tracking-wider text-danger",children:"Checking out"}),(0,b.jsx)("h2",{className:"m-0 min-w-0 truncate text-[1.05rem] font-[650] leading-tight tracking-tight min-[560px]:text-[1.15rem]",children:v})]}),(0,b.jsx)("p",{className:"m-0 whitespace-nowrap font-mono text-[1.4rem] font-medium leading-none tracking-tight text-accent min-[560px]:text-[1.6rem]",children:u})]}),a.tags.length>0?(0,b.jsx)("ul",{className:"m-0 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-[0.72rem] text-tag-text",children:(0,T.format_display_tag)(a)},a))}):null,(0,b.jsxs)("div",{className:"grid grid-cols-1 gap-3 min-[640px]:grid-cols-[minmax(0,1fr)_minmax(10rem,14rem)]",children:[(0,b.jsxs)("label",{className:"flex min-w-0 flex-col gap-1",htmlFor:"checkout-note",children:[(0,b.jsxs)("span",{className:"text-[0.8rem] font-semibold",children:["Note ",(0,b.jsx)("span",{className:"font-normal text-muted",children:"(optional)"})]}),(0,b.jsx)("input",{ref:s,id:"checkout-note",className:(0,h.get_input_class_name)("compact"),value:o,onChange:a=>p(a.target.value),placeholder:"Wrap-up, blockers, next steps…",disabled:e})]}),(0,b.jsxs)("label",{className:"flex min-w-0 flex-col gap-1",htmlFor:"checkout-at",children:[(0,b.jsxs)("span",{className:"text-[0.8rem] font-semibold",children:["End time ",(0,b.jsx)("span",{className:"font-normal text-muted",children:"(optional)"})]}),(0,b.jsx)("input",{id:"checkout-at",className:(0,h.get_input_class_name)("compact"),value:q,onChange:a=>r(a.target.value),placeholder:"e.g. now, 30 minutes ago, 5:30pm",disabled:e})]})]}),(0,b.jsxs)("div",{className:`flex flex-wrap items-center gap-2 ${c?"":"pt-1"}`,children:[(0,b.jsx)("button",{type:"submit",className:(0,g.get_button_class_name)("danger-solid"),disabled:e,children:"Confirm check out"}),(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost"),disabled:e,onClick:i,children:"Cancel"})]})]})}function at(){return(0,b.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",role:"presentation","aria-hidden":"true",focusable:"false",children:(0,b.jsx)("path",{d:"M12 3l1.7 4.3L18 9l-4.3 1.7L12 15l-1.7-4.3L6 9l4.3-1.7L12 3zM19 14l.9 2.1L22 17l-2.1.9L19 20l-.9-2.1L16 17l2.1-.9L19 14zM5 15l.9 2.1L8 18l-2.1.9L5 21l-.9-2.1L2 18l2.1-.9L5 15z",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})})}var au=a.i(50803);function av({entry:a,known_tags:c,is_pending:h,on_save:n,on_cancel:o}){let p=(0,d.useMemo)(()=>(0,au.build_resume_description)(a.description,a.tags),[a.description,a.tags]),[q,r]=(0,d.useState)(p),[s,t]=(0,d.useState)(!1),[u,v]=(0,d.useState)(null),w=(0,d.useSyncExternalStore)(j.entry_suggestion_provider_preference.subscribe,j.entry_suggestion_provider_preference.get_snapshot,j.entry_suggestion_provider_preference.get_server_snapshot),x=(0,d.useSyncExternalStore)(l.openai_api_key_preference.subscribe,l.openai_api_key_preference.get_snapshot,l.openai_api_key_preference.get_server_snapshot),y=(0,d.useSyncExternalStore)(i.claude_api_key_preference.subscribe,i.claude_api_key_preference.get_snapshot,i.claude_api_key_preference.get_server_snapshot),z=(0,d.useSyncExternalStore)(k.google_ai_api_key_preference.subscribe,k.google_ai_api_key_preference.get_snapshot,k.google_ai_api_key_preference.get_server_snapshot),A=(0,f.get_api_key_for_suggestion_provider)(w,{openai:x,claude:y,google_ai:z}),B="none"!==w&&A.trim().length>0;(0,d.useEffect)(()=>{r((0,au.build_resume_description)(a.description,a.tags))},[a.description,a.id,a.sheetName,a.tags]),(0,ao.use_escape_to_cancel)(o);let C=async()=>{if(B){t(!0),v(null);try{let b=a.notes.map(a=>a.text).join("\n"),c=await (0,m.request_ai_entry_description_suggestion)({provider:w,api_key:A,context:q,notes:b});r(c)}catch(a){v(a instanceof Error?a.message:String(a))}finally{t(!1)}}};return(0,b.jsxs)("form",{className:"flex min-w-0 flex-1 flex-col gap-2",onSubmit:a=>{a.preventDefault();let b=q.trim();b===p.trim()?o():n(b)},children:[(0,b.jsxs)("div",{className:"flex min-w-0 items-start gap-2 max-[700px]:flex-col",children:[(0,b.jsx)("div",{className:"min-w-0 flex-1",children:(0,b.jsx)(e.TagAutocompleteInput,{id:`active-entry-description-${a.id}`,value:q,known_tags:c,placeholder:"e.g. crafting something @design",disabled:h,autoFocus:!0,on_change:r})}),(0,b.jsxs)("div",{className:"flex shrink-0 flex-wrap gap-2 max-[700px]:w-full",children:[B?(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost","small"),disabled:h||s,title:"Revise description with AI","aria-label":"Revise description with AI",onClick:()=>void C(),children:(0,b.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,b.jsx)(at,{}),s?"Revising…":"Revise with AI"]})}):null,(0,b.jsx)("button",{type:"submit",className:(0,g.get_button_class_name)("primary","small"),disabled:h||q.trim()===p.trim(),children:"Save"}),(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost","small"),disabled:h,onClick:o,children:"Cancel"})]})]}),null===u?null:(0,b.jsx)("p",{className:"m-0 text-[0.8rem] text-danger",children:u})]})}var aw=a.i(61566);let ax=`${(0,g.get_button_class_name)("danger-solid")} rounded-none first:rounded-l-[0.65rem] last:rounded-r-[0.65rem] not-first:-ml-px not-first:min-w-12 not-first:border-l not-first:border-l-[color-mix(in_srgb,#ffffff_30%,var(--danger-solid))] min-[561px]:px-2.5 min-[561px]:py-2 min-[561px]:text-[0.9rem] max-[560px]:flex-1 max-[560px]:basis-1/2`;function ay({in_bar:a=!1,is_pending:c,on_start_checkout:d}){return(0,b.jsxs)("div",{className:`inline-flex min-w-0 max-w-full ${a?"max-[560px]:w-full":"min-w-30 max-[560px]:w-full"}`,children:[(0,b.jsx)("button",{type:"button",className:ax,disabled:c,onClick:()=>d(),children:"Check out"}),(0,b.jsx)("button",{type:"button",className:ax,disabled:c,title:"Check out at a specific time",onClick:()=>{let a=(0,aw.prompt_check_out_at)();null!==a&&d(a)},children:"@"})]})}var az=a.i(92558),aA=a.i(51934),aB=a.i(56720);function aC({on_submit:a,on_cancel:c,is_pending:e,in_active_panel:f=!1,in_bar:i=!1,allow_at:j=!1}){let[k,l]=(0,d.useState)(""),[m,n]=(0,d.useState)("");return(0,ao.use_escape_to_cancel)(()=>c?.(),void 0!==c),(0,b.jsxs)("form",{className:`flex flex-col gap-2 ${f&&!i?"border-t border-accent-border pt-4":i?"border-t border-[color-mix(in_srgb,var(--accent-border)_65%,var(--panel-border))] pt-3.5":""}`,onSubmit:b=>{b.preventDefault();let c=k.trim();if(0===c.length)return;let d=m.trim();a(c,d.length>0?d:void 0),l(""),n("")},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,h.get_input_class_name)(),value:k,onChange:a=>l(a.target.value),placeholder:"Pair with alice on the widget",disabled:e,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,g.get_button_class_name)("ghost"),disabled:e||0===k.trim().length,children:"Save note"}),void 0===c?null:(0,b.jsx)("button",{type:"button",className:(0,g.get_button_class_name)("ghost"),disabled:e,onClick:c,children:"Cancel"})]})]}),j?(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,h.get_input_class_name)(),value:m,onChange:a=>n(a.target.value),placeholder:"e.g. 30 minutes ago",disabled:e})]}):null]})}var aD=a.i(61733),aE=a.i(38842),aF=a.i(77328),aG=a.i(20872);let aH=(0,d.forwardRef)(function({entry:a,sheets:c,known_tags:e,in_bar:f=!1,on_check_out:h,on_delete:i,on_edit:j,on_move:k,on_add_note:l,on_edit_note:m,on_delete_note:n,is_pending:o},p){var q;let r,{confirm:s}=(0,aj.use_confirm_dialog)(),u=(0,an.use_confirm_destructive_actions)(),v=(0,aE.use_confirm_before_checkout)(),w=(0,G.use_duration_format)(),x=ar(),[y,z]=(0,d.useState)(a.durationMs),[A,B]=(0,d.useState)(!1),[C,D]=(0,d.useState)(!1),[E,F]=(0,d.useState)(!1),[H,I]=(0,d.useState)(!1),[J,K]=(0,d.useState)(void 0);(0,d.useImperativeHandle)(p,()=>({start_edit:()=>{A||C||H||B(!0)},start_add_note:()=>{A||C||E||H||F(!0)}}),[E,A,C,H]),(0,d.useEffect)(()=>{F(!1),B(!1),D(!1),I(!1),K(void 0)},[a.id,a.sheetName]),(0,d.useEffect)(()=>{z(a.durationMs);let b=globalThis.setInterval(()=>{z(Date.now()-new Date(a.start).getTime())},1e3);return()=>globalThis.clearInterval(b)},[a.durationMs,a.start]);let L=()=>{I(!1),K(void 0)},M=async a=>{(!v||await s((0,aF.get_check_out_confirm_dialog)(a)))&&(h(a),L())},N=(q=A||C||H,r="flex flex-col gap-4 rounded-lg border border-accent-border p-[1.1rem] shadow-sm",f?q?`${r} rounded-md border border-accent-border bg-[color-mix(in_srgb,var(--panel)_70%,var(--background))] p-3.5`:"flex flex-col gap-3 border-0 bg-transparent p-0 shadow-none":`${r} bg-[image:var(--active-panel-bg)]`),O=async b=>{let c,d,e=a.notes.find(a=>a.timestamp===b);(!u||await s({title:"Delete note?",message:(d=(c=(e?.text??"").trim()).length>80?`${c.slice(0,80)}…`:c).length>0?`Remove this note? "${d}"`:"Remove this note?",confirmLabel:"Delete",variant:"danger"}))&&n(b)},P=(0,b.jsx)(az.EntryActionsMenu,{current_sheet_name:a.sheetName,sheets:c,is_pending:o,on_edit:()=>D(!0),on_show_add_note_form:()=>F(!0),on_move:k,on_delete:async()=>{(!u||await s((0,aG.get_delete_entry_confirm_dialog)(a)))&&i()}});return H?(0,b.jsx)("section",{className:N,"aria-label":"Check out active entry",children:(0,b.jsx)(as,{entry:a,in_bar:f,is_pending:o,initial_at:J,on_cancel:L,on_submit:a=>{M(a)}})}):C?(0,b.jsx)("section",{className:N,children:(0,b.jsx)(aA.EntryEditForm,{entry:a,known_tags:e,is_pending:o,in_active_panel:!0,times_only:!0,start_only:!0,on_cancel:()=>D(!1),on_save:a=>{j(a),D(!1)}})}):(0,b.jsxs)("section",{className:N,children:[(0,b.jsxs)("div",{className:"flex min-w-0 shrink-0 items-start justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1.5",children:[f?null:(0,b.jsx)("span",{className:"self-start rounded-full bg-accent px-2 py-0.5 text-[0.68rem] font-bold uppercase leading-none tracking-wider text-accent-text-on",children:"Tracking"}),A?(0,b.jsx)(av,{entry:a,known_tags:e,is_pending:o,on_cancel:()=>B(!1),on_save:a=>{j({description:a}),B(!1)}}):(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-1",children:[(0,b.jsx)("h2",{className:"m-0 min-w-0 truncate text-[1.12rem] font-[650] leading-tight tracking-tight min-[560px]:text-xl",children:a.description||"Untitled entry"}),(0,b.jsx)("button",{type:"button",className:"inline-flex h-7 w-7 shrink-0 cursor-pointer items-center justify-center rounded-[0.35rem] border-0 bg-transparent p-0 text-muted hover:bg-surface-hover hover:text-foreground disabled:cursor-not-allowed disabled:opacity-55","aria-label":"Edit description",title:"Edit description",disabled:o||E,onClick:()=>B(!0),children:(0,b.jsx)(aD.PencilIcon,{})})]})]}),f?null:(0,b.jsx)("div",{className:"max-[560px]:self-end",children:P})]}),(0,b.jsxs)("div",{className:`flex shrink-0 items-end justify-between gap-4 max-[860px]:flex-col max-[860px]:items-stretch ${f?"px-3":""}`,children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[(0,b.jsx)("p",{className:"m-0 whitespace-nowrap font-mono text-[1.65rem] font-medium leading-none tracking-tight text-accent min-[440px]:text-[1.85rem] min-[560px]:text-[2rem]",children:(0,t.format_duration)(y,w,x)}),A||0===a.tags.length?null:(0,b.jsx)("ul",{className:"m-0 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,T.format_display_tag)(a)},a))})]}),(0,b.jsxs)("div",{className:`flex min-w-0 shrink-0 flex-wrap items-center justify-end gap-2 max-[560px]:flex-col max-[560px]:items-stretch ${f?"w-full":"min-w-30 max-[860px]:w-full max-[860px]:justify-stretch"}`,children:[E?null:(0,b.jsx)("button",{type:"button",className:`${(0,g.get_button_class_name)("ghost")} min-w-0 min-[561px]:px-2.5 min-[561px]:py-2 min-[561px]:text-[0.9rem] max-[560px]:flex-1`,disabled:o||A,onClick:()=>F(!0),children:"Add note"}),(0,b.jsx)(ay,{in_bar:f,is_pending:o,on_start_checkout:a=>{o||(B(!1),D(!1),F(!1),K(a),I(!0))}})]})]}),(0,b.jsx)(aB.EntryNotesList,{notes:a.notes,variant:"panel",in_bar:f,is_pending:o,on_edit_note:m,on_delete_note:O}),E?(0,b.jsx)("div",{className:"shrink-0",children:(0,b.jsx)(aC,{in_active_panel:!0,in_bar:f,allow_at:!0,is_pending:o,on_cancel:()=>F(!1),on_submit:(a,b)=>{l(a,b),F(!1)}})}):null]})});var aI=a.i(18734);let aJ=(0,d.forwardRef)(function({active_entry:a,sheets:c,known_tags:e,is_pending:f,on_check_out:g,on_delete:h,on_edit:i,on_move:j,on_add_note:k,on_edit_note:l,on_delete_note:m},n){let{confirm:o}=(0,aj.use_confirm_dialog)(),p=(0,an.use_confirm_destructive_actions)(),q=(0,d.useRef)(null);return((0,d.useImperativeHandle)(n,()=>({start_edit:()=>{q.current?.start_edit()},start_add_note:()=>{q.current?.start_add_note()}})),null===a)?null:(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-2",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,b.jsxs)("span",{className:"text-[0.72rem] font-semibold uppercase tracking-[0.04em] text-muted whitespace-nowrap truncate",children:["Sheet ",a.sheetName]}),(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-accent px-2 py-0.5 text-[0.68rem] font-bold uppercase leading-none tracking-wider text-accent-text-on",children:"Tracking"}),(0,aI.is_pomodoro_task_entry)(a)?(0,b.jsx)("span",{className:"shrink-0 rounded-full border border-panel-border bg-surface-raised px-2 py-0.5 text-[0.68rem] font-bold uppercase leading-none tracking-wider text-foreground",children:"Pomodoro"}):null,(0,b.jsx)("div",{className:"ml-auto",children:(0,b.jsx)(az.EntryActionsMenu,{current_sheet_name:a.sheetName,sheets:c,is_pending:f,on_edit:()=>q.current?.start_edit(),on_show_add_note_form:()=>q.current?.start_add_note(),on_move:j,on_delete:async()=>{(!p||await o((0,aG.get_delete_entry_confirm_dialog)(a)))&&h()}})})]}),(0,b.jsx)(aH,{ref:q,entry:a,sheets:c,known_tags:e,in_bar:!0,is_pending:f,on_check_out:g,on_delete:h,on_edit:i,on_move:j,on_add_note:k,on_edit_note:l,on_delete_note:m},`${a.sheetName}-${a.id}`)]})});var aK=a.i(6128);let aL="super-time-tracker";function aM({active_entry:a}){let b="true"===(0,d.useSyncExternalStore)(aK.timer_in_title_preference.subscribe,aK.timer_in_title_preference.get_snapshot,aK.timer_in_title_preference.get_server_snapshot),c=(0,G.use_duration_format)(),e=ar(),[f,g]=(0,d.useState)(a?.durationMs??0);return(0,d.useEffect)(()=>{if(null===a)return void g(0);g(a.durationMs);let b=window.setInterval(()=>{g(Date.now()-new Date(a.start).getTime())},1e3);return()=>window.clearInterval(b)},[a]),(0,d.useEffect)(()=>{if(!b||null===a){document.title=aL;return}let d=a.description.trim()||"Tracking",g=(0,t.format_duration)(f,c,e);return document.title=`${g} — ${d}`,()=>{document.title=aL}},[a,c,f,e,b]),null}var aN=a.i(98790),aO=a.i(68070),aP=a.i(68225);function aQ(a){return`${a.sheetName}:${a.id}`}var aR=a.i(84365),aS=a.i(78537),aT=a.i(97063),aU=a.i(73297),aV=a.i(57377),aW=a.i(115);function aX(a){}var aY=a.i(35822),aZ=a.i(77963),a$=a.i(41872);a.s(["TrackerApp",0,function({initial_state:a}){let[e,f]=(0,d.useState)(a),[h,i]=(0,d.useState)(null),[j,k]=(0,d.useState)(!1),[l,m]=(0,d.useState)(!1),[n,o]=(0,d.useState)(""),p=(0,d.useRef)(a);(0,d.useEffect)(()=>{aX(a)},[a]);let s=async a=>{k(!0),i(null);try{let b=await a(),c=null!==e.activeEntry&&null===b.activeEntry,d=e.runningEntry,g=b.runningEntry;if(aX(b),f(b),c&&(0,aP.finish_running_pomodoro_timer)(),!w)return;if(null===d&&null!==g)return void(0,aS.notify_desktop)({title:"Tracking started",body:`${g.description||"Untitled entry"} (${g.sheetName})`,tag:"tracker-running-entry"});if(null!==d&&null===g)return void(0,aS.notify_desktop)({title:"Tracking stopped",body:`${d.description||"Untitled entry"} (${d.sheetName})`,tag:"tracker-running-entry"});null!==d&&null!==g&&aQ(d)!==aQ(g)&&(0,aS.notify_desktop)({title:"Tracking switched",body:`${g.description||"Untitled entry"} (${g.sheetName})`,tag:"tracker-running-entry"})}catch(a){i(a instanceof Error?a.message:String(a))}finally{k(!1)}},t=e.activeSheetName??e.sheets.find(a=>a.isActive)?.name??"main",u=ad(),v=(0,a$.use_entry_list_sort)(),w="true"===(0,d.useSyncExternalStore)(aZ.desktop_notifications_preference.subscribe,aZ.desktop_notifications_preference.get_snapshot,aZ.desktop_notifications_preference.get_server_snapshot),x="true"===(0,d.useSyncExternalStore)(aY.clear_tag_filters_on_sheet_change_preference.subscribe,aY.clear_tag_filters_on_sheet_change_preference.get_snapshot,aY.clear_tag_filters_on_sheet_change_preference.get_server_snapshot),y=(0,d.useRef)(null),z=(0,d.useRef)(null),A=(0,d.useRef)(null);(0,d.useEffect)(()=>{if(!x||null===y.current||y.current===t){y.current=t;return}aa(t,[]),y.current=t},[t,x]),(0,d.useEffect)(()=>{o("")},[t]);let B=(0,d.useSyncExternalStore)(Z.subscribe_sheet_tag_filters,()=>X(t),Y),C=(0,d.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=new Set;for(let d of c.tags)try{let c=(0,U.normalize_stored_tag)(d);if(a.has(c))continue;a.add(c),b.set(c,(b.get(c)??0)+1)}catch{continue}}return[...b.entries()].map(([a,b])=>({name:a,entryCount:b})).sort((a,b)=>a.name.localeCompare(b.name))})(e.activeSheetEntries),[e.activeSheetEntries]),D=(0,d.useMemo)(()=>{var a;let b;if(l)return[];let c=[...(a=function(a,b,c="all"){return 0===b.length?a:a.filter(a=>(function(a,b,c="all"){return 0===b.length||("any"===c?b.some(b=>a.tags.some(a=>(0,ab.tags_are_equal)(a,b))):b.every(b=>a.tags.some(a=>(0,ab.tags_are_equal)(a,b))))})(a,b,c))}(e.activeSheetEntries,B,u),0===(b=n.trim()).length?a:a.filter(a=>(function(a,b){let c=b.trim().toLowerCase();if(0===c.length)return{matches:!0,noteSnippet:null};let d=a.description.toLowerCase().includes(c),e=a.sheetName.toLowerCase().includes(c),f=a.tags.some(a=>a.toLowerCase().includes(c));if(d||e||f)return{matches:!0,noteSnippet:null};for(let b of a.noteTexts)if(b.toLowerCase().includes(c))return{matches:!0,noteSnippet:function(a,b){let c=a.toLowerCase().indexOf(b);if(c<0)return a.slice(0,120);let d=Math.max(0,c-40),e=Math.min(a.length,c+b.length+40),f=d>0?"…":"",g=e<a.length?"…":"";return`${f}${a.slice(d,e)}${g}`}(b,c)};return{matches:!1,noteSnippet:null}})({sheetName:a.sheetName,description:a.description,tags:a.tags,noteTexts:a.notes.map(a=>a.text)},b).matches))];switch(v){case"oldest":return c.sort((a,b)=>new Date(a.start).getTime()-new Date(b.start).getTime());case"duration":return c.sort((a,b)=>b.durationMs-a.durationMs);case"description":return c.sort((a,b)=>{let c=a.description.trim()||"Untitled entry",d=b.description.trim()||"Untitled entry";return c.localeCompare(d)});default:return c.sort((a,b)=>new Date(b.start).getTime()-new Date(a.start).getTime())}},[e.activeSheetEntries,B,u,v,n,l]),E=(0,d.useMemo)(()=>(0,aR.get_serialized_entries_total_ms)(D),[D]);(0,d.useEffect)(()=>(0,aT.subscribe_tracker_state_sync)(()=>{j||l||fetch("/api/state").then(async a=>{if(!a.ok)throw Error("Failed to refresh tracker state");return await a.json()}).then(a=>{aX(a),f(b=>(null===b.activeEntry?null:`${b.activeEntry.sheetName}:${b.activeEntry.id}`)===(null===a.activeEntry?null:`${a.activeEntry.sheetName}:${a.activeEntry.id}`)?b:a)}).catch(()=>{})}),[j,l]);let F=l?`Loading entries for "${t}"…`:n.trim().length>0?B.length>0?`No entries on sheet "${t}" match your search and selected tags.`:`No entries on sheet "${t}" match your search.`:B.length>0?"any"===u?`No entries on sheet "${t}" match any selected tag.`:`No entries on sheet "${t}" match all selected tags.`:`No entries on sheet "${t}".`,G=a=>{let b;if(a===t&&!l)return;p.current=e;let c=(b=e.runningEntries.find(b=>b.sheetName===a)??null,{...e,activeSheetName:a,sheets:e.sheets.map(b=>({...b,isActive:b.name===a})),activeEntry:b,activeSheetEntries:e.activeSheetEntries,activeSheetTotalMs:e.activeSheetTotalMs});aX(c),f(c),m(!0),i(null),(0,aW.post_tracker_action)("/api/sheet",{name:a}).then(a=>{aX(a),f(a)}).catch(a=>{i(a instanceof Error?a.message:String(a)),f(p.current)}).finally(()=>{m(!1)})},I=(a,b,c)=>(0,aV.patch_tracker_action)("/api/entry",{sheetName:a,entryId:b,...c});return(0,b.jsxs)(r.ConfirmDialogProvider,{children:[(0,b.jsx)(aM,{active_entry:e.activeEntry}),(0,b.jsx)(S,{sheets:e.sheets,active_sheet_name:t,active_entry:e.activeEntry,is_pending:j,check_in_form_ref:z,active_entry_panel_ref:A,on_select_sheet:G,on_check_out:a=>s(()=>(0,aW.post_tracker_action)("/api/out",(0,aO.build_check_out_request_payload)(t,a)))}),(0,b.jsx)("div",{className:"relative z-1",children:(0,b.jsx)(aN.TrackerTopbar,{})}),(0,b.jsxs)("div",{className:"mx-auto max-w-[1120px] px-4 pb-10 pt-4 sm:px-5 sm:pt-5",children:[null!==h?(0,b.jsx)("p",{className:"mb-4 border border-danger-border bg-danger-soft px-3 py-2.5 text-danger-text",children:h}):null,(0,b.jsx)(H,{has_running_timer:null!==e.runningEntry,on_check_in_shortcut:()=>{z.current?.expand_and_focus()}}),(0,b.jsxs)("div",{className:"grid grid-cols-[minmax(14rem,18rem)_minmax(0,1fr)] items-stretch border border-panel-border bg-panel shadow-sm max-[960px]:grid-cols-1",children:[(0,b.jsx)("div",{className:"flex min-h-0 min-w-0 flex-col border-r border-panel-border p-4 max-[860px]:border-r-0 max-[860px]:border-b",children:(0,b.jsx)(ap,{sheets:e.sheets,db_path:e.dbPath,is_pending:j,on_select:G,on_create:a=>s(()=>(0,aW.post_tracker_action)("/api/sheet",{name:a})),on_rename:(a,b)=>s(()=>(0,aV.patch_tracker_action)("/api/sheet",{name:a,newName:b})),on_delete:a=>s(()=>(0,aW.post_tracker_action)("/api/sheet",{name:a,delete:!0}))})}),(0,b.jsxs)("div",{className:"flex min-w-0 flex-col",children:[(0,b.jsxs)("section",{className:"flex min-w-0 flex-col gap-4 border-b border-panel-border border-l-4 border-l-accent p-4",children:[null===e.activeEntry?(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-md border border-panel-border bg-background px-3 py-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.06em] text-muted",children:"Quick action"}),(0,b.jsx)("p",{className:"m-0 mt-1 text-[0.9rem] font-medium",children:"Jump into Pomodoro without leaving the tracker."})]}),(0,b.jsxs)(c.default,{href:"/pomodoro",className:`${(0,g.get_button_class_name)("primary")} inline-flex min-w-40 flex-col items-center justify-center whitespace-nowrap text-center`,"aria-label":"Open Pomodoro timer",children:[(0,b.jsx)("span",{className:"text-white text-[0.9rem] leading-none",children:"Start Pomodoro"}),(0,b.jsx)("span",{className:"text-white mt-1 text-[0.72rem] font-medium leading-none opacity-85",children:"Focus timer"})]})]}):null,(0,b.jsx)(aJ,{ref:A,active_entry:e.activeEntry,sheets:e.sheets,known_tags:e.knownTags,is_pending:j,on_check_out:a=>s(()=>(0,aW.post_tracker_action)("/api/out",(0,aO.build_check_out_request_payload)(t,a))),on_delete:()=>s(()=>(0,aW.post_tracker_action)("/api/entry",{sheetName:t,entryId:e.activeEntry?.id})),on_edit:a=>s(()=>I(t,e.activeEntry?.id??0,a)),on_move:a=>s(()=>(0,aW.post_tracker_action)("/api/entry/move",{sheetName:t,entryId:e.activeEntry?.id,targetSheetName:a})),on_add_note:(a,b)=>s(()=>(0,aW.post_tracker_action)("/api/note",{text:a,...void 0!==b?{at:b}:{},sheetName:t,entryId:e.activeEntry?.id})),on_edit_note:(a,b)=>s(()=>(0,aV.patch_tracker_action)("/api/note",{sheetName:t,entryId:e.activeEntry?.id,timestamp:a,text:b})),on_delete_note:a=>s(()=>(0,aU.delete_tracker_action)("/api/note",{sheetName:t,entryId:e.activeEntry?.id,timestamp:a}))}),null===e.activeEntry?(0,b.jsx)(q,{ref:z,known_tags:e.knownTags,is_pending:j,trailing:(0,b.jsx)("p",{className:"m-0 text-[0.85rem] leading-tight text-muted",children:"Not tracking"}),on_submit:a=>s(()=>(0,aW.post_tracker_action)("/api/in",{...a,sheetName:t}))}):null]}),(0,b.jsx)("section",{className:"flex min-w-0 flex-col gap-4 p-4",children:(0,b.jsx)(ai.EntryList,{title:"Entries",entries:D,merge_context_entries:e.activeSheetEntries,sheets:e.sheets,known_tags:e.knownTags,total_ms:E,empty_message:F,is_pending:j,show_sheet_name:!1,header_extra:(0,b.jsxs)("div",{className:"flex w-full flex-col gap-3",children:[(0,b.jsx)(ah,{query:n,active_sheet:t,is_pending:j,on_query_change:o}),(0,b.jsx)(ae,{sheet_name:t,sheet_tags:C})]}),on_delete:a=>s(()=>(0,aW.post_tracker_action)("/api/entry",{sheetName:a.sheetName,entryId:a.id})),on_edit:(a,b)=>s(()=>I(a.sheetName,a.id,b)),on_move:(a,b)=>s(()=>(0,aW.post_tracker_action)("/api/entry/move",{sheetName:a.sheetName,entryId:a.id,targetSheetName:b})),on_move_many:(a,b)=>s(()=>(0,aW.post_tracker_action)("/api/entry/move-bulk",{entries:a.map(a=>({sheetName:a.sheetName,entryId:a.id})),targetSheetName:b})),on_delete_many:a=>s(()=>(0,aW.post_tracker_action)("/api/entry/delete-bulk",{entries:a.map(a=>({sheetName:a.sheetName,entryId:a.id}))})),on_edit_note:(a,b,c)=>s(()=>(0,aV.patch_tracker_action)("/api/note",{sheetName:a.sheetName,entryId:a.id,timestamp:b,text:c})),on_add_note:(a,b)=>s(()=>(0,aW.post_tracker_action)("/api/note",{sheetName:a.sheetName,entryId:a.id,text:b})),on_resume:a=>s(()=>(0,aW.post_tracker_action)("/api/in",{description:(0,au.build_resume_description)(a.description,a.tags),sheetName:a.sheetName})),on_split:(a,b)=>s(()=>(0,aW.post_tracker_action)("/api/entry/split",{sheetName:a.sheetName,entryId:a.id,at:b})),on_merge:(a,b)=>s(()=>(0,aW.post_tracker_action)("/api/entry/merge",{sheetName:a.sheetName,entryId:a.id,direction:b}))})})]})]})]})]})}],12584)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=components_tracker-app_tsx_0qs9.7y._.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/o0yrmO-jZI10Gicr4syI_/_buildManifest.js",
|
|
11
|
+
"static/o0yrmO-jZI10Gicr4syI_/_ssgManifest.js",
|
|
12
|
+
"static/o0yrmO-jZI10Gicr4syI_/_clientMiddlewareManifest.js"
|
|
13
13
|
],
|
|
14
14
|
"rootMainFiles": [
|
|
15
15
|
"static/chunks/0zx~44x9cv897.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"wasm": [],
|
|
20
20
|
"assets": [],
|
|
21
21
|
"env": {
|
|
22
|
-
"__NEXT_BUILD_ID": "
|
|
22
|
+
"__NEXT_BUILD_ID": "o0yrmO-jZI10Gicr4syI_",
|
|
23
23
|
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "ZCfjWQ1j+/I4J6mmJUTCdkubaVm/wt/fMfxL0iW8R8U=",
|
|
24
24
|
"__NEXT_PREVIEW_MODE_ID": "29d30992fa321255a736fc76b01cc746",
|
|
25
25
|
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "ef32282c22c87bee7352728993998d51dd159b60ec937b820c18a87ac9647a97",
|
|
@@ -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/0zx~44x9cv897.js"/><script src="/_next/static/chunks/0y7vk2q__th4g.js" async=""></script><script src="/_next/static/chunks/0l~uil8w-ewlm.js" async=""></script><script src="/_next/static/chunks/04_2jzw-uhhu0.js" async=""></script><script src="/_next/static/chunks/turbopack-01utszc95mtf1.js" async=""></script><script src="/_next/static/chunks/1513ibnpmlx36.js" async=""></script><script src="/_next/static/chunks/0lgo02csmvyps.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/0zx~44x9cv897.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[5233,[\"/_next/static/chunks/1513ibnpmlx36.js\",\"/_next/static/chunks/0lgo02csmvyps.js\"],\"default\"]\n3:I[73632,[\"/_next/static/chunks/1513ibnpmlx36.js\",\"/_next/static/chunks/0lgo02csmvyps.js\"],\"default\"]\n4:I[83775,[\"/_next/static/chunks/1513ibnpmlx36.js\",\"/_next/static/chunks/0lgo02csmvyps.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[83775,[\"/_next/static/chunks/1513ibnpmlx36.js\",\"/_next/static/chunks/0lgo02csmvyps.js\"],\"ViewportBoundary\"]\na:I[83775,[\"/_next/static/chunks/1513ibnpmlx36.js\",\"/_next/static/chunks/0lgo02csmvyps.js\"],\"MetadataBoundary\"]\nc:I[51709,[\"/_next/static/chunks/1513ibnpmlx36.js\",\"/_next/static/chunks/0lgo02csmvyps.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/0zx~44x9cv897.js"/><script src="/_next/static/chunks/0y7vk2q__th4g.js" async=""></script><script src="/_next/static/chunks/0l~uil8w-ewlm.js" async=""></script><script src="/_next/static/chunks/04_2jzw-uhhu0.js" async=""></script><script src="/_next/static/chunks/turbopack-01utszc95mtf1.js" async=""></script><script src="/_next/static/chunks/1513ibnpmlx36.js" async=""></script><script src="/_next/static/chunks/0lgo02csmvyps.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/0zx~44x9cv897.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[5233,[\"/_next/static/chunks/1513ibnpmlx36.js\",\"/_next/static/chunks/0lgo02csmvyps.js\"],\"default\"]\n3:I[73632,[\"/_next/static/chunks/1513ibnpmlx36.js\",\"/_next/static/chunks/0lgo02csmvyps.js\"],\"default\"]\n4:I[83775,[\"/_next/static/chunks/1513ibnpmlx36.js\",\"/_next/static/chunks/0lgo02csmvyps.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[83775,[\"/_next/static/chunks/1513ibnpmlx36.js\",\"/_next/static/chunks/0lgo02csmvyps.js\"],\"ViewportBoundary\"]\na:I[83775,[\"/_next/static/chunks/1513ibnpmlx36.js\",\"/_next/static/chunks/0lgo02csmvyps.js\"],\"MetadataBoundary\"]\nc:I[51709,[\"/_next/static/chunks/1513ibnpmlx36.js\",\"/_next/static/chunks/0lgo02csmvyps.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\":\"o0yrmO-jZI10Gicr4syI_\"}\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[31415,[\"/_next/static/chunks/1513ibnpmlx36.js\",\"/_next/static/chunks/0lgo02csmvyps.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>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,69472,84545,50937,83327,e=>{"use strict";var t=e.i(34869),r=e.i(92629);let n=(0,t.create_ui_preference_store)({storage_key:r.CLAUDE_API_KEY_STORAGE_KEY,default_value:r.CLAUDE_API_KEY_DEFAULT,is_valid:e=>e.trim().length>0});e.s(["claude_api_key_preference",0,n],69472);let i=(0,t.create_ui_preference_store)({storage_key:r.ENTRY_SUGGESTION_PROVIDER_STORAGE_KEY,default_value:r.ENTRY_SUGGESTION_PROVIDER_DEFAULT,is_valid:e=>"none"===e||"openai"===e||"claude"===e||"google_ai"===e});e.s(["entry_suggestion_provider_preference",0,i],84545);let s=(0,t.create_ui_preference_store)({storage_key:r.GOOGLE_AI_API_KEY_STORAGE_KEY,default_value:r.GOOGLE_AI_API_KEY_DEFAULT,is_valid:e=>e.trim().length>0});e.s(["google_ai_api_key_preference",0,s],50937);let a=(0,t.create_ui_preference_store)({storage_key:r.OPENAI_API_KEY_STORAGE_KEY,default_value:r.OPENAI_API_KEY_DEFAULT,is_valid:e=>e.trim().length>0});e.s(["openai_api_key_preference",0,a],83327)},90873,e=>{"use strict";var t=e.i(54710),r=e.i(29158);let n="inline-flex shrink-0 cursor-pointer items-center gap-1.5";e.s(["Checkbox",0,function({checked:e,disabled:i=!1,indeterminate:s=!1,nested:a=!1,on_change:l,label:o,aria_label:c,className:d}){let m=(0,r.useRef)(null);(0,r.useEffect)(()=>{null!==m.current&&(m.current.indeterminate=s)},[s]);let u=void 0===d?n:`${n} ${d}`,p=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("input",{ref:m,type:"checkbox",className:"peer absolute m-0 h-px w-px overflow-hidden opacity-0",checked:e,disabled:i,"aria-label":a&&void 0===o?c:void 0,onChange:l}),(0,t.jsx)("span",{className:'relative block h-[0.85rem] w-[0.85rem] shrink-0 rounded-[0.2rem] border border-panel-border bg-input-bg box-border transition-[background-color,border-color] duration-150 peer-checked:border-accent peer-checked:bg-accent peer-indeterminate:border-accent peer-indeterminate:bg-accent peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-input-focus-border peer-focus-visible:outline-offset-1 peer-disabled:cursor-not-allowed peer-disabled:opacity-55 after:absolute after:left-1/2 after:top-[44%] after:hidden after:h-[0.28rem] after:w-[0.45rem] after:-translate-x-1/2 after:-translate-y-[60%] after:rotate-[-45deg] after:border-b-[1.5px] after:border-l-[1.5px] after:border-accent-text-on after:content-[""] peer-checked:after:block peer-indeterminate:after:top-1/2 peer-indeterminate:after:block peer-indeterminate:after:h-[1.5px] peer-indeterminate:after:w-[0.45rem] peer-indeterminate:after:-translate-x-1/2 peer-indeterminate:after:-translate-y-1/2 peer-indeterminate:after:rotate-0 peer-indeterminate:after:border-0 peer-indeterminate:after:bg-accent-text-on',"aria-hidden":"true"})]});return a?(0,t.jsx)("span",{className:u,children:p}):(0,t.jsxs)("label",{className:u,"aria-label":void 0===o?c:void 0,children:[p,void 0===o?null:(0,t.jsx)("span",{className:"select-none text-[0.8rem] leading-tight text-muted",children:o})]})}])},19946,e=>{"use strict";var t=e.i(29158),r=e.i(72270),n=e.i(4572);e.s(["use_confirm_dialog",0,function(){let e=(0,t.useContext)(r.ConfirmDialogContext);if(null!==e)return e;let i=(0,n.get_registered_confirm_dialog)();if(null!==i)return{confirm:i};throw Error("use_confirm_dialog must be used within ConfirmDialogProvider")}])},75899,e=>{"use strict";var t=e.i(39552);e.s(["format_time",0,function(e,r="12h"){return(0,t.format)(new Date(e),"24h"===r?"HH:mm":"h:mm a")}])},35923,e=>{"use strict";var t=e.i(29158),r=e.i(97891);e.s(["use_time_format",0,function(){return(0,t.useSyncExternalStore)(r.time_format_preference.subscribe,r.time_format_preference.get_snapshot,r.time_format_preference.get_server_snapshot)}])},60529,e=>{"use strict";e.s(["format_entry_count_label",0,function(e){return 0===e?null:1===e?"1 entry":`${e} entries`}])},35877,e=>{"use strict";var t=e.i(34869),r=e.i(92629);let n=(0,t.create_ui_preference_store)({storage_key:r.DEBUG_LOGGING_STORAGE_KEY,default_value:r.DEBUG_LOGGING_DEFAULT,is_valid:e=>"true"===e||"false"===e});e.s(["debug_logging_preference",0,n])},66770,e=>{"use strict";e.s(["get_entry_list_sort_options",0,function(){return[{value:"newest",label:"Newest"},{value:"oldest",label:"Oldest"},{value:"duration",label:"Duration"},{value:"description",label:"Description"}]}])},67999,e=>{"use strict";e.s(["get_serialized_entries_total_ms",0,function(e){return e.reduce((e,t)=>e+t.durationMs,0)}])},51249,28098,7568,34937,4903,27707,54753,20397,1392,98177,32522,93910,e=>{"use strict";var t=e.i(54710),r=e.i(90873),n=e.i(29158),i=e.i(37399),s=e.i(25204);let a="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 disabled:cursor-not-allowed disabled:opacity-55";function l(e){var r,l,o,c,d,m;let{current_sheet_name:u,sheets:p,is_pending:_,on_edit:g,on_add_note:h,on_show_add_note_form:x,on_revise_description_ai:f,can_revise_description_ai:b=!1,on_resume:v,entry_is_active:y=!1,can_split:j=!1,on_split:w,can_merge_previous:N=!1,can_merge_next:k=!1,on_merge:E,on_delete:S,on_move:C}=e,A=p.find(e=>e.name===u),$=y||A?.hasActiveEntry===!0&&!y,D=p.filter(e=>e.name!==u),[T,L]=(0,n.useState)(!1),M=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(!T)return;let e=e=>{null===M.current||M.current.contains(e.target)||L(!1)};return document.addEventListener("pointerdown",e),()=>{document.removeEventListener("pointerdown",e)}},[T]);let O=()=>{L(!1)};return(0,s.use_escape_to_cancel)(O,T),(0,t.jsxs)("div",{className:"relative shrink-0",ref:M,children:[(0,t.jsx)("button",{type:"button",className:"inline-flex cursor-pointer appearance-none items-center justify-center rounded-none border-0 bg-transparent p-0.5 text-muted shadow-none hover:opacity-75 focus-visible:outline-2 focus-visible:outline-input-focus-border focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-55","aria-label":"Entry actions","aria-expanded":T,"aria-haspopup":"menu",disabled:_,onClick:()=>L(e=>!e),children:(0,t.jsx)(i.HamburgerIcon,{})}),T?(0,t.jsxs)("div",{className:"absolute right-0 top-full z-10 mt-1.5 min-w-56 rounded-md border border-panel-border bg-panel p-1.5 shadow-md",role:"menu",children:[(r=_,l=O,o=g,(0,t.jsx)("div",{role:"none",children:(0,t.jsx)("button",{type:"button",className:a,role:"menuitem",disabled:r,onClick:()=>{l(),o()},children:"Edit times"})})),function({is_pending:e,close_menu:r,on_show_add_note_form:n,on_add_note:i}){return void 0===n&&void 0===i?null:(0,t.jsx)("div",{role:"none",children:(0,t.jsx)("button",{type:"button",className:a,role:"menuitem",disabled:e,onClick:()=>{if(r(),void 0!==n)return void n();let e=function(){let e=window.prompt("Add note","");if(null===e)return null;let t=e.trim();return 0===t.length?null:t}();null!==e&&void 0!==i&&i(e)},children:"Add note"})})}({is_pending:_,close_menu:O,on_show_add_note_form:x,on_add_note:h}),function({is_pending:e,can_revise_description_ai:r,close_menu:n,on_revise_description_ai:i}){return void 0===i?null:(0,t.jsx)("div",{role:"none",children:(0,t.jsx)("button",{type:"button",className:a,role:"menuitem",disabled:e||!r,title:r?"Revise with AI":"Configure provider and key in Settings → AI suggestions",onClick:()=>{n(),i()},children:"Revise description with AI"})})}({is_pending:_,can_revise_description_ai:b,close_menu:O,on_revise_description_ai:f}),function({is_pending:e,resume_blocked:r,resume_blocked_reason:n,close_menu:i,on_resume:s}){return void 0===s?null:(0,t.jsx)("div",{role:"none",children:(0,t.jsx)("button",{type:"button",className:a,role:"menuitem",disabled:e||r,title:r?n:void 0,onClick:()=>{i(),s()},children:"Resume"})})}({is_pending:_,resume_blocked:$,resume_blocked_reason:y?"This entry is already active":"Another entry is active on this sheet",close_menu:O,on_resume:v}),function({is_pending:e,can_split:r,close_menu:n,on_split:i}){return void 0===i?null:(0,t.jsx)("div",{role:"none",children:(0,t.jsx)("button",{type:"button",className:a,role:"menuitem",disabled:e||!r,title:r?"Split into two entries at a time":"Only completed entries can be split",onClick:()=>{if(n(),!r)return;let e=function(){let e=window.prompt("Split at what time?","1 hour ago");if(null===e)return null;let t=e.trim();return 0===t.length?null:t}();null!==e&&i(e)},children:"Split entry"})})}({is_pending:_,can_split:j,close_menu:O,on_split:w}),function({is_pending:e,can_merge_previous:r,can_merge_next:n,close_menu:i,on_merge:s}){return void 0===s?null:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{role:"none",children:(0,t.jsx)("button",{type:"button",className:a,role:"menuitem",disabled:e||!r,title:r?"Merge with the previous entry":"No touching previous entry",onClick:()=>{i(),r&&s("previous")},children:"Merge with previous"})}),(0,t.jsx)("div",{role:"none",children:(0,t.jsx)("button",{type:"button",className:a,role:"menuitem",disabled:e||!n,title:n?"Merge with the next entry":"No touching next entry",onClick:()=>{i(),n&&s("next")},children:"Merge with next"})})]})}({is_pending:_,can_merge_previous:N,can_merge_next:k,close_menu:O,on_merge:E}),(0,t.jsx)("div",{role:"none",children:(0,t.jsx)("hr",{className:"my-1 border-0 border-t border-panel-border","aria-hidden":"true"})}),(0,t.jsx)("div",{role:"none",children:(0,t.jsx)("p",{className:"m-0 px-2.5 py-0.5 text-[0.72rem] font-semibold uppercase tracking-[0.04em] text-muted",children:"Move to sheet"})}),function({other_sheets:e,is_pending:r,close_menu:n,on_move:i}){return 0===e.length?(0,t.jsx)("div",{role:"none",children:(0,t.jsx)("button",{type:"button",className:a,role:"menuitem",disabled:!0,children:"No other sheets"})}):e.map(e=>(0,t.jsx)("div",{role:"none",children:(0,t.jsx)("button",{type:"button",className:`${a} pl-4`,role:"menuitem",disabled:r||e.hasActiveEntry,title:e.hasActiveEntry?"That sheet already has an active entry":void 0,onClick:()=>{n(),i(e.name)},children:e.name})},e.name))}({other_sheets:D,is_pending:_,close_menu:O,on_move:C}),(0,t.jsx)("div",{role:"none",children:(0,t.jsx)("hr",{className:"my-1 border-0 border-t border-panel-border","aria-hidden":"true"})}),(c=_,d=O,m=S,(0,t.jsx)("div",{role:"none",children:(0,t.jsx)("button",{type:"button",className:`${a} text-danger`,role:"menuitem",disabled:c,onClick:()=>{d(),m()},children:"Delete"})}))]}):null]})}e.s(["EntryActionsMenu",0,l],28098);var o=e.i(39552);function c(e){return(0,o.format)(new Date(e),"MMM d, h:mm a")}var d=e.i(14260),m=e.i(44356),u=e.i(52663),p=e.i(52405);function _({entry:e,known_tags:r,is_pending:i,initial_description_override:a,in_active_panel:l=!1,times_only:o=!1,start_only:g=!1,on_save:h,on_cancel:x}){let f=(0,n.useMemo)(()=>a??(0,m.build_resume_description)(e.description,e.tags),[e.description,e.tags,a]),[b,v]=(0,n.useState)(f),[y,j]=(0,n.useState)(""),[w,N]=(0,n.useState)("");(0,n.useEffect)(()=>{v(a??(0,m.build_resume_description)(e.description,e.tags)),j(""),N("")},[e.description,e.id,e.sheetName,e.tags,a]),(0,s.use_escape_to_cancel)(x);let k=e.isActive?"still running":c(e.end??e.start),E=o?y.trim().length>0||!g&&w.trim().length>0:b.trim()!==f.trim()||y.trim().length>0||!g&&w.trim().length>0;return(0,t.jsxs)("form",{className:`flex flex-col gap-3 rounded-[0.65rem] border border-panel-border bg-input-bg p-3 ${l?"mt-2":""}`,onSubmit:e=>{e.preventDefault();let t=b.trim(),r=y.trim(),n=w.trim(),i={};o||t===f.trim()||(i.description=t),r.length>0&&(i.start=r),!g&&n.length>0&&(i.end=n),(void 0!==i.description||void 0!==i.start||void 0!==i.end)&&h(i)},children:[(0,t.jsx)("p",{className:"m-0 text-[0.85rem] font-semibold",children:o?"Edit times":"Edit entry"}),o?null:(0,t.jsxs)("label",{className:"flex flex-col gap-1",htmlFor:`entry-description-${e.id}`,children:[(0,t.jsx)("span",{className:"text-[0.8rem] font-semibold",children:"Description"}),(0,t.jsx)(d.TagAutocompleteInput,{id:`entry-description-${e.id}`,value:b,known_tags:r,placeholder:"e.g. crafting something @design",disabled:i,autoFocus:l,on_change:v})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("p",{className:"m-0 text-[0.8rem] font-semibold text-muted",children:"Times (optional)"}),(0,t.jsxs)("div",{className:`grid gap-2.5 max-[860px]:grid-cols-1 ${g?"grid-cols-1":"grid-cols-2"}`,children:[(0,t.jsxs)("label",{className:"flex flex-col gap-1",htmlFor:`entry-start-${e.id}`,children:[(0,t.jsx)("span",{className:"text-[0.8rem] font-semibold",children:"Start"}),(0,t.jsxs)("span",{className:"text-[0.72rem] text-muted",children:["Current: ",c(e.start)]}),(0,t.jsx)("input",{id:`entry-start-${e.id}`,className:(0,p.get_input_class_name)("compact"),value:y,onChange:e=>j(e.target.value),placeholder:"e.g. 10am, 30 minutes ago",disabled:i,autoFocus:o&&l})]}),g?null:(0,t.jsxs)("label",{className:"flex flex-col gap-1",htmlFor:`entry-end-${e.id}`,children:[(0,t.jsx)("span",{className:"text-[0.8rem] font-semibold",children:"End"}),(0,t.jsxs)("span",{className:"text-[0.72rem] text-muted",children:["Current: ",k]}),(0,t.jsx)("input",{id:`entry-end-${e.id}`,className:(0,p.get_input_class_name)("compact"),value:w,onChange:e=>N(e.target.value),placeholder:e.isActive?"e.g. now, 5 minutes ago":"e.g. 11:30am",disabled:i})]})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)("button",{type:"submit",className:(0,u.get_button_class_name)("primary","small"),disabled:i||!E,children:"Save"}),(0,t.jsx)("button",{type:"button",className:(0,u.get_button_class_name)("ghost","small"),disabled:i,onClick:x,children:"Cancel"})]})]})}function g({rotated:e=!1,className:r=""}){return(0,t.jsx)("svg",{className:`h-3 w-3 shrink-0 transition-transform duration-150 ${e?"rotate-90":""} ${r}`.trim(),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,t.jsx)("path",{d:"m9 18 6-6-6-6"})})}e.s(["EntryEditForm",0,_],7568);var h=e.i(75899);function x({initial_text:e,is_pending:r,inline:i=!1,on_save:a,on_cancel:l}){let[o,c]=(0,n.useState)(e);(0,s.use_escape_to_cancel)(l);let d=Math.min(6,Math.max(2,e.split("\n").length)),m=i?`${(0,p.get_input_class_name)()} min-h-10 w-full resize-y text-xs leading-snug`:`${(0,p.get_input_class_name)()} min-h-10 w-full resize-y text-[0.85rem] leading-snug`;return(0,t.jsxs)("form",{className:"flex w-full flex-col gap-1.5",onSubmit:e=>{e.preventDefault();let t=o.trim();0!==t.length&&a(t)},children:[(0,t.jsx)("textarea",{className:m,value:o,rows:d,disabled:r,onChange:e=>c(e.target.value)}),(0,t.jsxs)("div",{className:"flex justify-end gap-1.5",children:[(0,t.jsx)("button",{type:"button",className:(0,u.get_button_class_name)("ghost"),disabled:r,onClick:l,children:"Cancel"}),(0,t.jsx)("button",{type:"submit",className:(0,u.get_button_class_name)("ghost"),disabled:r||0===o.trim().length,children:"Save"})]})]})}function f(){return(0,t.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,t.jsx)("path",{d:"M12 20h9"}),(0,t.jsx)("path",{d:"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})]})}function b(){return(0,t.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,t.jsx)("path",{d:"M3 6h18"}),(0,t.jsx)("path",{d:"M8 6V4h8v2"}),(0,t.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}),(0,t.jsx)("path",{d:"M10 11v6"}),(0,t.jsx)("path",{d:"M14 11v6"})]})}e.s(["PencilIcon",0,f],34937);var v=e.i(35923);let y="inline-flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center rounded-[0.35rem] border-0 bg-transparent p-0 text-muted hover:bg-surface-hover hover:text-foreground disabled:cursor-not-allowed disabled:opacity-55";function j({notes:e,variant:r="panel",in_bar:i=!1,is_pending:s=!1,on_edit_note:a,on_delete_note:l}){var o;let c,d,m=(0,v.use_time_format)(),[u,p]=(0,n.useState)(null),[_,h]=(0,n.useState)("panel"===r&&!i);if(0===e.length)return null;let x=[...e].sort((e,t)=>new Date(e.timestamp).getTime()-new Date(t.timestamp).getTime()),f="inline"===r,b="panel"===r&&i,y=_||null!==u,N=(o=e.length,f?`${o} ${1===o?"note":"notes"}`:`Notes (${o})`),k=(c=[f?"m-0 w-full p-0":"border-t border-accent-border pt-3.5"],i&&!f&&c.push("border-[color-mix(in_srgb,var(--accent-border)_65%,var(--panel-border))]"),b&&y?c.push("flex min-h-0 flex-1 flex-col"):b&&c.push("flex shrink-0 flex-col"),c.join(" ")),E=f?"inline-flex cursor-pointer items-center gap-1.5 border-0 bg-transparent p-0 font-inherit text-xs font-medium normal-case tracking-normal text-muted hover:text-foreground":"inline-flex cursor-pointer items-center gap-1.5 border-0 bg-transparent px-0 py-0.5 font-inherit text-[0.72rem] font-semibold uppercase tracking-[0.04em] text-muted hover:text-foreground",S=(d=y?"mt-1.5":"hidden",f?`m-0 flex list-none flex-col gap-1.5 overflow-visible p-0 compact:gap-0.5 ${d}`:b?`m-0 grid min-h-0 flex-1 list-none auto-rows-fr grid-cols-2 gap-2 p-0 max-[860px]:grid-cols-1 ${d}`:`m-0 grid list-none grid-cols-2 gap-2 p-0 max-[860px]:grid-cols-1 ${d}`);return(0,t.jsxs)("section",{className:k,"aria-label":"Entry notes",children:[(0,t.jsxs)("button",{type:"button",className:E,"aria-expanded":y,onClick:e=>{e.stopPropagation(),null===u&&h(e=>!e)},children:[(0,t.jsx)(g,{rotated:y}),(0,t.jsx)("span",{children:N})]}),(0,t.jsx)("ul",{className:S,children:x.map((e,r)=>(0,t.jsx)(w,{note:e,is_inline:f,is_panel_in_bar:b,is_pending:s,is_editing:u===e.timestamp,time_format:m,on_cancel_edit:()=>p(null),on_save:t=>{var r;return r=e.timestamp,void(a?.(r,t),p(null))},on_start_edit:()=>{var t;return t=e.timestamp,void(h(!0),p(t))},on_delete:()=>{var t;u===(t=e.timestamp)&&p(null),l?.(t)},on_edit_note:a,on_delete_note:l},`${e.timestamp}-${r}`))})]})}function w({note:e,is_inline:r,is_panel_in_bar:n,is_pending:i,is_editing:s,time_format:a,on_cancel_edit:l,on_save:o,on_start_edit:c,on_delete:d,on_edit_note:m,on_delete_note:u}){let p=r?"flex flex-col gap-0.5 rounded-sm border border-panel-border bg-ghost-bg px-2 py-1.5 compact:rounded-none compact:px-1.5 compact:py-1":n?"flex min-h-0 flex-col justify-center gap-0.5 rounded-sm border border-panel-border bg-[color-mix(in_srgb,var(--panel)_55%,var(--background))] px-2.5 py-2":"flex flex-col gap-0.5 rounded-sm border border-panel-border bg-[color-mix(in_srgb,var(--panel)_55%,var(--background))] px-2.5 py-2",_=function({is_pending:e,on_start_edit:r,on_delete:n,on_edit_note:i,on_delete_note:s}){return void 0===i&&void 0===s?null:(0,t.jsxs)("div",{className:"flex shrink-0 gap-0.5",children:[void 0===i?null:(0,t.jsx)("button",{type:"button",className:y,"aria-label":"Edit note",title:"Edit note",disabled:e,onClick:e=>{e.stopPropagation(),r()},children:(0,t.jsx)(f,{})}),void 0===s?null:(0,t.jsx)("button",{type:"button",className:`${y} hover:text-danger`,"aria-label":"Delete note",title:"Delete note",disabled:e,onClick:e=>{e.stopPropagation(),n()},children:(0,t.jsx)(b,{})})]})}({note:e,is_pending:i,on_start_edit:c,on_delete:d,on_edit_note:m,on_delete_note:u});return s?(0,t.jsx)("li",{className:p,children:(0,t.jsx)(x,{initial_text:e.text,inline:r,is_pending:i,on_cancel:l,on_save:o})}):r?(0,t.jsx)("li",{className:p,children:(0,t.jsxs)("div",{className:"flex w-full items-start justify-between gap-1.5",children:[(0,t.jsxs)("p",{className:"m-0 flex min-w-0 flex-1 items-baseline gap-1.5 text-xs leading-snug text-foreground compact:text-[0.72rem]",children:[(0,t.jsx)("time",{className:"shrink-0 font-mono text-[0.68rem] text-muted",dateTime:e.timestamp,children:(0,h.format_time)(e.timestamp,a)}),(0,t.jsx)("span",{className:"min-w-0 overflow-wrap-anywhere whitespace-pre-wrap",children:e.text})]}),_]})}):(0,t.jsxs)("li",{className:p,children:[(0,t.jsxs)("div",{className:"flex w-full items-start justify-between gap-1.5",children:[(0,t.jsx)("time",{className:"font-mono text-[0.72rem] text-muted",dateTime:e.timestamp,children:(0,h.format_time)(e.timestamp,a)}),_]}),(0,t.jsx)("p",{className:"m-0 overflow-wrap-anywhere text-[0.9rem] leading-snug whitespace-pre-wrap",children:e.text})]})}async function N(e,t){return!e||t()}function k(e){let t=e.description.trim()||"Untitled entry",r=e.isActive?" This will stop the active timer.":"";return{title:"Delete entry?",message:`Delete "${t}" on sheet "${e.sheetName}"?${r}`,confirmLabel:"Delete",variant:"danger"}}e.s(["EntryNotesList",0,j],4903),e.s(["get_delete_entry_confirm_dialog",0,k],27707);var E=e.i(18774),S=e.i(32584);e.s(["EntryListItem",0,function({entry:e,row_key:n,is_editing:i,is_selected:s,has_selection:a,show_sheet_name:o,known_tags:c,is_pending:d,ai_revise_pending_key:m,ai_revise_draft:u,time_format:p,duration_format:g,sheets:x,merge_neighbors:f,can_revise_description_ai:b,confirm_destructive_actions:v,confirm:y,on_toggle_entry:w,on_start_edit:C,on_clear_ai_revise_draft:A,on_edit:$,on_add_note:D,on_resume:T,on_move:L,on_delete:M,on_edit_note:O,on_split:I,on_merge:G,on_revise_description_ai:P}){let R=function({entry:e,confirm_destructive_actions:t,confirm:r,on_split:n,on_merge:i,on_delete:s}){return{on_split:void 0===n?void 0:async i=>{await N(t,()=>{let t;return r((t=e.description.trim()||"Untitled entry",{title:"Split entry?",message:`Split "${t}" at "${i}" into two entries?`,confirmLabel:"Split"}))})&&n(e,i)},on_merge:void 0===i?void 0:async n=>{await N(t,()=>{let t;return r((t=e.description.trim()||"Untitled entry",{title:"Merge entries?",message:"previous"===n?`Merge "${t}" into the previous entry on sheet "${e.sheetName}"? This entry will be removed.`:`Merge the next entry into "${t}" on sheet "${e.sheetName}"? The next entry will be removed.`,confirmLabel:"Merge"}))})&&i(e,n)},on_delete:async()=>{await N(t,()=>r(k(e)))&&s(e)}}}({entry:e,confirm_destructive_actions:v,confirm:y,on_split:I,on_merge:G,on_delete:M});return i?(0,t.jsx)("li",{className:"block border-b border-panel-border py-2.5 last:border-b-0 compact:py-1.5",children:(0,t.jsx)(_,{entry:e,known_tags:c,is_pending:d,initial_description_override:u,on_cancel:()=>A(n),on_save:t=>{$(e,t),A(n)}})}):(0,t.jsxs)("li",{className:`group relative flex flex-col gap-0 border-b border-panel-border px-2 py-2.5 transition-colors duration-150 last:border-b-0 hover:bg-surface-hover compact:py-1.5 ${s?"bg-accent-soft hover:bg-accent-soft":""}`,children:[(0,t.jsxs)("div",{className:"flex w-full min-w-0 flex-col items-start gap-2.5 min-[700px]:flex-row min-[700px]:items-center compact:gap-1.5",children:[(0,t.jsxs)("label",{className:"flex min-w-0 flex-1 cursor-pointer items-center gap-2 has-disabled:cursor-not-allowed","aria-label":`Select entry ${e.description||"Untitled entry"}`,children:[(0,t.jsx)(r.Checkbox,{nested:!0,className:`shrink-0 pr-1 transition-opacity duration-150 compact:pr-0.5 ${s||a?"opacity-100":"opacity-0 group-hover:opacity-100 group-focus-within:opacity-100"}`,checked:s,disabled:d,on_change:()=>w(n)}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"m-0 overflow-wrap-anywhere font-semibold leading-snug compact:text-[0.9rem] compact:leading-tight",children:e.description||"Untitled entry"}),(0,t.jsxs)("div",{className:"mt-0.5 flex flex-wrap items-center gap-1 text-[0.8rem] text-muted compact:mt-px compact:gap-0.5 compact:text-[0.72rem]",children:[o?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:e.sheetName}),(0,t.jsx)("span",{children:"·"})]}):null,(0,t.jsxs)("span",{children:["#",e.id]}),(0,t.jsx)("span",{children:"·"}),(0,t.jsxs)("span",{className:"whitespace-nowrap",children:[(0,h.format_time)(e.start,p),null===e.end?" → now":` → ${(0,h.format_time)(e.end,p)}`]}),e.tags.length>0?(0,t.jsx)("ul",{className:"m-0 flex list-none flex-wrap gap-1 p-0",children:e.tags.map(e=>(0,t.jsx)("li",{className:"rounded-full bg-tag-bg px-2 py-0.5 text-xs text-tag-text",children:(0,E.format_display_tag)(e)},e))}):null]})]})]}),(0,t.jsxs)("div",{className:"flex w-full shrink-0 flex-row items-center justify-between gap-2 min-[700px]:w-auto min-[700px]:justify-end max-[860px]:flex-wrap compact:gap-1.5",children:[(0,t.jsx)("p",{className:`m-0 whitespace-nowrap text-right font-mono text-[0.9rem] text-muted compact:text-[0.8rem] ${e.isActive?"text-accent":""}`,children:(0,S.format_duration)(e.durationMs,g)}),(0,t.jsx)(l,{current_sheet_name:e.sheetName,sheets:x,is_pending:d||m===n,can_split:void 0!==I&&!e.isActive&&null!==e.end&&new Date(e.start).getTime()<new Date(e.end).getTime(),on_split:R.on_split,can_merge_previous:f?.previous===!0,can_merge_next:f?.next===!0,on_merge:R.on_merge,on_edit:()=>C(n),on_revise_description_ai:b?()=>P(e):void 0,can_revise_description_ai:b,on_add_note:t=>D(e,t),on_resume:()=>T(e),entry_is_active:e.isActive,on_move:t=>L(e,t),on_delete:R.on_delete})]})]}),e.notes.length>0?(0,t.jsx)("div",{className:"w-full pt-1 pl-[calc(0.85rem+0.5rem+0.35rem)] compact:pt-0.5 compact:pl-[calc(0.85rem+0.35rem+0.2rem)]",children:(0,t.jsx)(j,{notes:e.notes,variant:"inline",is_pending:d,on_edit_note:(t,r)=>O(e,t,r)})}):null]})}],51249),e.s(["EntryListBulkBar",0,function({selected_count:e,total_count:i,all_selected:s,some_selected:a,selected_entries:l,sheets:o,is_pending:c,on_toggle_all:d,on_move:m,on_delete:_,on_clear:g}){let[h,x]=(0,n.useState)(""),f=l.some(e=>e.isActive),b=o.filter(e=>(!f||!e.hasActiveEntry)&&l.some(t=>t.sheetName!==e.name));return(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2 rounded-md border border-accent-border bg-accent-soft px-3 py-2",children:[(0,t.jsx)(r.Checkbox,{className:"shrink-0",checked:s,indeterminate:a,disabled:c,aria_label:s?"Deselect all entries":"Select all entries",on_change:d}),(0,t.jsxs)("p",{className:"m-0 shrink-0 text-[0.85rem] font-semibold",children:[e,(0,t.jsx)("span",{className:"text-muted",children:` of ${i} selected`})]}),(0,t.jsxs)("div",{className:"ml-auto flex flex-wrap items-center gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("select",{className:`${(0,p.get_input_class_name)("compact")} min-w-32`,value:h,disabled:c||0===b.length,"aria-label":"Move to sheet",onChange:e=>x(e.target.value),children:[(0,t.jsx)("option",{value:"",children:"Move to…"}),b.map(e=>(0,t.jsx)("option",{value:e.name,children:e.name},e.name))]}),(0,t.jsx)("button",{type:"button",className:(0,u.get_button_class_name)("ghost","small"),disabled:c||0===h.trim().length||0===b.length,onClick:()=>{let e=h.trim();0!==e.length&&(m(e),x(""))},children:"Move"})]}),(0,t.jsx)("button",{type:"button",className:(0,u.get_button_class_name)("danger","small"),disabled:c,onClick:_,children:"Delete"}),(0,t.jsx)("button",{type:"button",className:`${(0,u.get_button_class_name)("ghost","small")} shrink-0`,disabled:c,"aria-label":"Clear selection",title:"Clear selection",onClick:g,children:"✕"})]})]})}],54753);var C=e.i(66770),A=e.i(4874),$=e.i(7902);function D(){return(0,n.useSyncExternalStore)(A.entry_list_sort_preference.subscribe,A.entry_list_sort_preference.get_snapshot,A.entry_list_sort_preference.get_server_snapshot)}e.s(["use_entry_list_sort",0,D],20397);let T=(0,C.get_entry_list_sort_options)();function L(e,t){return e.sheetName===t.sheetName&&!e.isActive&&!t.isActive&&null!==e.end&&null!==t.end&&new Date(e.end).getTime()===new Date(t.start).getTime()}e.s(["EntryListSortControls",0,function({is_pending:e=!1}){let r=D();return(0,t.jsxs)("fieldset",{className:"m-0 flex flex-wrap items-center gap-x-2 gap-y-1.5 border-0 p-0",children:[(0,t.jsx)("legend",{className:"sr-only",children:"Order entries by"}),(0,t.jsx)("span",{className:"shrink-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em] text-muted",children:"Order by"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:T.map(n=>{let i=r===n.value;return(0,t.jsx)("button",{type:"button",className:i?(0,u.get_button_class_name)("primary","small"):(0,u.get_button_class_name)("ghost","small"),disabled:e,"aria-pressed":i,onClick:()=>(0,$.persist_ui_preference)(A.entry_list_sort_preference,n.value),children:n.label},n.value)})})]})}],1392),e.s(["get_delete_entries_confirm_dialog",0,function(e){let t=e.length,r=e.some(e=>e.isActive),n=1===t?"1 entry":`${t} entries`;return{title:1===t?"Delete entry?":"Delete entries?",message:`Permanently delete ${n}?${r?" This will stop the active timer.":""}`,confirmLabel:"Delete",variant:"danger"}}],98177),e.s(["get_mergeable_entry_neighbors",0,function(e,t){let r=[...t.filter(t=>t.sheetName===e.sheetName)].sort((e,t)=>e.start.localeCompare(t.start)),n=r.findIndex(t=>t.id===e.id&&t.sheetName===e.sheetName);if(n<0)return{previous:!1,next:!1};let i=n>0?r[n-1]:null,s=n<r.length-1?r[n+1]:null;return{previous:null!==i&&L(i,e),next:null!==s&&L(e,s)}}],32522),e.s(["omit_record_key",0,function(e,t){if(!(t in e))return e;let r={...e};return delete r[t],r}],93910)},96947,e=>{"use strict";e.s(["get_api_key_for_suggestion_provider",0,function(e,t){return"openai"===e?t.openai:"claude"===e?t.claude:"google_ai"===e?t.google_ai:""}])},25992,e=>{"use strict";e.s(["get_entry_row_key",0,function(e){return`${e.sheetName}-${e.id}`}])},59515,e=>{"use strict";var t=e.i(35877);async function r(e){if("none"===e.provider)throw Error("AI suggestion provider is disabled");let r="true"===t.debug_logging_preference.read(),n=Date.now(),i={provider:e.provider,context:e.context,notes:e.notes,debug_logging:r};r&&console.info("[ai-suggestion] client request start",{provider:e.provider,context_length:e.context.length,notes_length:e.notes.length});try{let t=await fetch("/api/entry/suggest-description",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...i,api_key:e.api_key})});if(!t.ok){let i=await t.json().catch(()=>({}));throw r&&console.warn("[ai-suggestion] client request failed",{provider:e.provider,status:t.status,elapsed_ms:Date.now()-n,error:i.error??"Failed to suggest description"}),Error(i.error??"Failed to suggest description")}let s=await t.json(),a=s.description?.trim()??"";if(0===a.length)throw Error("Suggestion was empty");return r&&console.info("[ai-suggestion] client request success",{provider:e.provider,elapsed_ms:Date.now()-n,description_length:a.length}),a}catch(t){throw r&&console.error("[ai-suggestion] client request error",{provider:e.provider,elapsed_ms:Date.now()-n,error:t instanceof Error?t.message:String(t)}),t}}e.s(["request_ai_entry_description_suggestion",0,r])},41619,91966,17857,3159,e=>{"use strict";var t=e.i(54710),r=e.i(29158),n=e.i(90873),i=e.i(19946),s=e.i(51249),a=e.i(54753),l=e.i(1392),o=e.i(98177),c=e.i(32584),d=e.i(32522),m=e.i(60529),u=e.i(93910),p=e.i(96947),_=e.i(25992),g=e.i(69472),h=e.i(84545),x=e.i(50937),f=e.i(83327),b=e.i(59515),v=e.i(36405);function y(){return"true"===(0,r.useSyncExternalStore)(v.confirm_destructive_actions_preference.subscribe,v.confirm_destructive_actions_preference.get_snapshot,v.confirm_destructive_actions_preference.get_server_snapshot)}e.s(["use_confirm_destructive_actions",0,y],91966);var j=e.i(25204),w=e.i(1800),N=e.i(35923);async function k(e,t){let r=await fetch(e,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok)throw Error((await r.json()).error??"Request failed");return await r.json()}e.s(["EntryList",0,function({title:e,entries:v,merge_context_entries:k,sheets:E,known_tags:S,total_ms:C,empty_message:A,is_pending:$,show_sheet_name:D=!0,header_extra:T,on_delete:L,on_edit:M,on_move:O,on_move_many:I,on_delete_many:G,on_edit_note:P,on_add_note:R,on_resume:U,on_split:F,on_merge:K}){let{confirm:Y}=(0,i.use_confirm_dialog)(),B=y(),q=(0,N.use_time_format)(),z=(0,w.use_duration_format)(),[H,V]=(0,r.useState)(null),[J,W]=(0,r.useState)(()=>new Set),[Z,Q]=(0,r.useState)(null),[X,ee]=(0,r.useState)(null),[et,er]=(0,r.useState)({}),en=(0,r.useSyncExternalStore)(h.entry_suggestion_provider_preference.subscribe,h.entry_suggestion_provider_preference.get_snapshot,h.entry_suggestion_provider_preference.get_server_snapshot),ei=(0,r.useSyncExternalStore)(f.openai_api_key_preference.subscribe,f.openai_api_key_preference.get_snapshot,f.openai_api_key_preference.get_server_snapshot),es=(0,r.useSyncExternalStore)(g.claude_api_key_preference.subscribe,g.claude_api_key_preference.get_snapshot,g.claude_api_key_preference.get_server_snapshot),ea=(0,r.useSyncExternalStore)(x.google_ai_api_key_preference.subscribe,x.google_ai_api_key_preference.get_snapshot,x.google_ai_api_key_preference.get_server_snapshot),el=(0,p.get_api_key_for_suggestion_provider)(en,{openai:ei,claude:es,google_ai:ea}),eo=(0,r.useMemo)(()=>{let e=k??v,t=new Map;for(let r of v){let n=(0,_.get_entry_row_key)(r);t.set(n,(0,d.get_mergeable_entry_neighbors)(r,e))}return t},[v,k]),ec="none"!==en&&el.trim().length>0,ed=v.map(e=>(0,_.get_entry_row_key)(e)),em=v.filter(e=>J.has((0,_.get_entry_row_key)(e))),eu=v.length>0&&em.length===v.length,ep=em.length>0&&em.length<v.length;(0,r.useEffect)(()=>{let e=new Set(ed);W(t=>{let r=new Set([...t].filter(t=>e.has(t)));return r.size===t.size?t:r})},[ed]);let e_=e=>{W(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},eg=()=>{eu?W(new Set):W(new Set(ed))},eh=()=>{W(new Set)},ex=async()=>{0===em.length||(!B||await Y((0,o.get_delete_entries_confirm_dialog)(em)))&&(G(em),eh())},ef=em.length>0,eb=async e=>{if(!ec)return;let t=(0,_.get_entry_row_key)(e);Q(t),ee(null);try{let r=e.notes.map(e=>e.text).join("\n"),n=await (0,b.request_ai_entry_description_suggestion)({provider:en,api_key:el,context:e.description,notes:r});er(e=>({...e,[t]:n})),V(t)}catch(e){ee(e instanceof Error?e.message:String(e))}finally{Q(null)}};return(0,j.use_escape_to_cancel)(eh,ef&&null===H),(0,t.jsxs)("section",{className:"min-w-0",children:[(0,t.jsx)("header",{className:"mb-3 flex flex-col gap-2 border-b border-panel-border pb-2.5 compact:mb-2 compact:pb-1.5",children:ef?(0,t.jsx)(a.EntryListBulkBar,{selected_count:em.length,total_count:v.length,all_selected:eu,some_selected:ep,selected_entries:em,sheets:E,is_pending:$,on_toggle_all:eg,on_move:e=>{I(em,e),eh()},on_delete:()=>void ex(),on_clear:eh}):(0,t.jsxs)(t.Fragment,{children:[T,(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2.5",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[v.length>0?(0,t.jsx)(n.Checkbox,{className:"shrink-0",checked:eu,indeterminate:ep,disabled:$,aria_label:"Select all entries",on_change:eg}):null,(0,t.jsx)("h2",{className:"m-0 text-[0.72rem] font-semibold uppercase tracking-[0.06em]",children:e}),(0,t.jsx)("span",{className:"text-[0.8rem] text-muted",children:(0,m.format_entry_count_label)(v.length)})]}),(0,t.jsxs)("p",{className:"m-0 font-mono text-[0.85rem] text-muted max-[640px]:w-full",children:[(0,c.format_duration)(C,z)," total"]})]}),(0,t.jsx)(l.EntryListSortControls,{is_pending:$}),null===X?null:(0,t.jsx)("p",{className:"m-0 text-[0.8rem] text-danger",children:X})]})}),0===v.length?(0,t.jsx)("p",{className:"m-0 text-muted",children:A}):(0,t.jsx)("ul",{className:"m-0 flex list-none flex-col p-0",children:v.map(e=>{let r=(0,_.get_entry_row_key)(e);return(0,t.jsx)(s.EntryListItem,{entry:e,row_key:r,is_editing:H===r,is_selected:J.has(r),has_selection:ef,show_sheet_name:D,known_tags:S,is_pending:$,ai_revise_pending_key:Z,ai_revise_draft:et[r],time_format:q,duration_format:z,sheets:E,merge_neighbors:eo.get(r),can_revise_description_ai:ec,confirm_destructive_actions:B,confirm:Y,on_toggle_entry:e_,on_start_edit:e=>{V(e),er(t=>(0,u.omit_record_key)(t,e))},on_clear_ai_revise_draft:e=>{V(null),er(t=>(0,u.omit_record_key)(t,e))},on_edit:M,on_add_note:R,on_resume:U,on_move:O,on_delete:L,on_edit_note:P,on_split:F,on_merge:K,on_revise_description_ai:e=>{eb(e)}},r)})})]})}],41619),e.s(["delete_tracker_action",0,k],17857);var E=e.i(97176);let S=new Set(["/api/note"]);async function C(e,t){let r={method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)},n=await fetch(e,r);if(!n.ok){var i,s;let t,a=(await n.json()).error??"Request failed";if(i=e,s=a,S.has(i)&&((t=s.toLowerCase()).includes("duplicate key")||t.includes("unique constraint"))){if(await new Promise(e=>{setTimeout(e,25)}),!(n=await fetch(e,r)).ok)throw Error((await n.json()).error??a)}else throw Error(a)}let a=await n.json();return(0,E.notify_tracker_db_cloud_sync)(e,t),a}e.s(["patch_tracker_action",0,C],3159)}]);
|