- Update ping animation colors in TimelineDaySession component
- Change `bg-orange-400` to `bg-orange-200` for ping animation
- Change `bg-orange-600` to `bg-zinc-200` and add `border-orange-200` for ping animation
[src/lib/components/timeline/TimelineDaySession.svelte]
- Change `bg-orange-400` to `bg-orange-200` for the ping animation
- Change `bg-orange-600` to `bg-zinc-200` and add a `border-orange-200` for the ping animation
- Add an indicator for the current session
- Change styling and title of the branch name link
- Add duration display in minutes
[src/lib/components/timeline/TimelineDaySession.svelte]
- Add an indicator for the current session
- Change the styling and title of the branch name link
- Add a duration display in minutes
- Fix a calculation bug in the duration display
- Change timestamp multiplier from `1000` to `1` in `toHumanReadableTime` and `toHumanReadableDate`
- Change date style to `short` in `toHumanReadableDate`
- Update date filter and `startTime` and `endTime` in `WeekBlockEntry` to use the `startTimestampMs` without multiplying by 1000
- Change condition for filtering the sessions from milliseconds to seconds
[src/routes/projects/[projectId]/week/+page.svelte]
- Change the date filter in `sessionsInWeek` to use the `startTimestampMs` without multiplying by 1000
- Change the `startTime` and `endTime` in `WeekBlockEntry` to use the `startTimestampMs` without multiplying by 1000
[src/lib/time.ts]
- Change timestamp multiplier from `1000` to `1` in `toHumanReadableTime`
- Change timestamp multiplier from `1000` to `1` in `toHumanReadableDate`
- Change date style to `short` in `toHumanReadableDate`
[src/routes/projects/[projectId]/day/+page.svelte]
- Change the condition for filtering the sessions from milliseconds to seconds
- Update types and imports across multiple files
- Add derived store for ordered sessions
- Add default session function to sessions import
- Sort sessions based on their `startTs` property
- Add `next` and `previous` functions to the Week namespace
- Add `nThDay` function to the Week namespace
- Change the import statement from `import { ... } from 'date-fns';` to `import { ... } from "date-fns";`
[src/routes/projects/[projectId]/sessions/[sessionId]/+page.ts]
- Change the type of `load` from `PageLoad` to `PageLoad & Delta`
- Remove the `writable` store from the imports
- Remove the `orderedSessions` store
- Change the `session` store from `orderedSessions` to `sessions`
- Change the `previousSession` store from `orderedSessions` to `sessions`
- Change the `nextSession` store from `orderedSessions` to `s
[src/routes/projects/[projectId]/+layout.ts]
- Import `derived` store from `svelte/store`
- Add a derived store for ordered sessions
- Add a default session function to the `sessions` import
- Sort sessions based on their `startTs` property
[src/lib/week.ts]
- Change the import statement from `import { ... } from 'date-fns';` to `import { ... } from "date-fns";`
- Add the `next` and `previous` functions to the Week namespace
- Add the `nThDay` function to the Week namespace
- Add date-fns package to project
- Update dependencies in pnpm-lock.yaml
- Replace manual date calculations with date-fns functions
- Add functions to Week class for getting the next/previous week and the nth day of the week
[pnpm-lock.yaml]
- Add `date-fns` dependency to `pnpm-lock.yaml`
- Update `@codemirror/state`, `@codemirror/view`, `@tauri-apps/api`, `idb-keyval`, `mm-jsr`, and `seti-icons` dependencies in `pnpm-lock.yaml`
- Add `date-fns` package to `pnpm-lock.yaml`
[src/lib/week.ts]
- Replace manual date calculations with `date-fns` functions
- Make `Week.from` use `weekStartsOn` to set the start of the week
- Add `Week.next`, `Week.previous` and `Week.nThDay` functions
[package.json]
- Add date-fns package
- Order sessions by start timestamp
- Update derived states to use ordered sessions state
[src/routes/projects/[projectId]/sessions/[sessionId]/+page.ts]
- Add a derived state to order the sessions by start timestamp
- Update the `session` derived state to use the new ordered sessions state
- Update the `previousSession` and `nextSession` derived states to use the new ordered sessions state
- Change the display of the project page from a timeline view to a weekly/daily view
- Change the page title to the project name
- Add two links for the weekly/daily view
- Change the hover color of the Week, Day, and Session links from `text-zinc-300` to `text-zinc-200`
[src/routes/projects/[projectId]/+page.svelte]
- Change the page display from a timeline view to a weekly/daily view
- Change the page title to the project name
- Add two links for the weekly/daily view
[src/routes/projects/[projectId]/+layout.svelte]
- Change the hover color of the Week, Day, and Session links from `text-zinc-300` to `text-zinc-200`
- Add a new page for viewing sessions in a day
- Change the link of the 'Day' page
- Change `toHumanReadableTime` to accept a timestamp in seconds
- Add an additional option to `toHumanReadableDate`
[src/app.html]
- Wrap `%sveltekit.body%` in a `<div>` with `display: contents`
[src/routes/projects/[projectId]/day/+page.svelte]
- Add a new page for viewing sessions in a day
- Add navigation buttons to the page header
- Add logic to format the date and display the sessions in the day
- Add logic to determine the display width of each session
- Add an error message if the project is not found
[src/routes/projects/[projectId]/+layout.svelte]
- Change the link of the 'Day' page to `/projects/{$project?.id}/day`
[src/routes/projects/[projectId]/week/+page.svelte]
- Remove `onMount` and `onDestroy` imports from `+page.svelte`
- Add `WeekBlockEntry` import from `$lib/components/week`
[src/lib/time.ts]
- Change `toHumanReadableTime` to accept a timestamp in seconds instead of milliseconds
- Add an additional option to `toHumanReadableDate`
- Add a WeekBlockEntry component to `src/lib/components/week/index.ts`
- Update the body class and remove the `<div>` tag from `src/app.html`
- Add type `Week` with properties `start` and `end` to `src/lib/week.ts`
- Add `week` module to `src/lib/index.ts`
- Add a new WeekBlockEntry component and functions to
[src/lib/components/week/index.ts]
- Add `WeekBlockEntry` component to `src/lib/components/week/index.ts`
[src/app.html]
- Change the body class to `fixed h-full w-full overflow-hidden font-sans antialiased`
- Remove the `<div>` tag around the `%sveltekit.body%`
[src/lib/week.ts]
- Add type `Week` with properties `start` and `end`
- Add methods to `Week` type to get the next, previous and nth day of the week
[src/lib/index.ts]
- Add `week` module to `src/lib/index.ts`
[src/lib/components/week/WeekBlockEntry.svelte]
- Add a new WeekBlockEntry component
- Add functions to convert time and date to grid row and column
- Add a span calculation for the WeekBlockEntry component
- Add a link with label and href attributes for the WeekBlockEntry component
[src/routes/projects/[projectId]/week/+page.svelte]
- Add a week page for projects
- Add navigation for the week page
- Add a grid for the week page
- Show the date of each day in the week
- Show the time of each hour in the day
- Display a list of sessions for the week
- Add a link to each session in the list
[src/routes/projects/[projectId]/+layout.svelte]
- Change the contextProjectStore setter from `getContext('project')` to `getContext("project")`
- Change the nav class from `h-12 p-3 flex justify-between space-x-3 text-zinc-500 text-lg select-none border-b border-zinc-700` to `flex flex-none justify-between h-12 p-3 space-x-3 text-lg border-b select-none
[src/routes/+layout.svelte]
- Change the styling of the header element
- Remove the flex-1 overflow-y-auto div
- Update the footer text
- Add an element with the id `foo`
- Simplified the layout of the header element
- Adjusted the min-height, class, and flex-row of the div elements
- Improved the flex-shrink of the last div element
[src/routes/+layout.svelte]
- Simplify the class attribute of the header element
- Change the min-height of the div element to a flex-grow
- Change the class of the inner div element to flex-1 and add overflow-y-auto
- Change the class of the last div element to flex-shrink-0 and add flex-row