Commit Graph

2650 Commits

Author SHA1 Message Date
midzelis
d14c997ed3 Inline, combine functions, lint 2025-09-11 22:15:29 +00:00
midzelis
3ffa7c9d29 use binary search for perf, refactor, improve readability 2025-09-11 22:15:29 +00:00
midzelis
ccc5f2a16d readability improvements in scroll function 2025-09-11 22:15:29 +00:00
midzelis
4653de3301 Review comments 2025-09-11 22:15:29 +00:00
midzelis
3ff24fc803 rename timeline-day to timeline-month 2025-09-11 22:15:29 +00:00
midzelis
1a754b868c refactor - improve timeline readability, general refactoring, renaming variables, functions, props, etc 2025-09-11 22:15:29 +00:00
midzelis
9e43b0625a Minor scrubber refactor 2025-09-11 22:15:29 +00:00
midzelis
e1303f81ab refactor/split handleTimelineScroll into smaller functions 2025-09-11 22:15:29 +00:00
midzelis
88ca63ff47 refactor scrollCompensation a bit more 2025-09-11 22:15:29 +00:00
midzelis
2a55b05a25 refactor hmr a bit more 2025-09-11 22:15:29 +00:00
midzelis
50d9b1ec60 Move updateSlidingWindow into onScroll 2025-09-11 22:15:29 +00:00
midzelis
abd97c4a93 Improve consistency between scrollTop and scrollTo 2025-09-11 22:15:29 +00:00
midzelis
ff9e3428be Extract HMR logic into reusable component
• Create dedicated Hmr component for hot module replacement handling
• Remove inline HMR code from base-timeline-viewer
• Simplify timeline viewer by delegating HMR concerns to specialized component
2025-09-11 22:15:29 +00:00
midzelis
58a95c5a4b Fix code quality issues in timeline components
• Fix variable naming consistency (leadout → leadOut)
• Remove unused props from timeline-asset-viewer interface
• Add styleMarginRightOverride prop for dynamic margin control
• Simplify skeleton component styling
2025-09-11 22:15:29 +00:00
midzelis
364468afac Create Timeline facade component to unify timeline usage
• Create timeline/timeline.svelte as main entry point for timeline functionality
• Combine BaseTimeline, TimelineKeyboardActions, and TimelineAssetViewer
• Update all route imports from base-timeline to use Timeline component
• Move scrubber.svelte to timeline/base-components/
• Fix timeline-keyboard-actions date handling from result.dateTime to result.date
• Clean up unused imports and props
2025-09-11 22:15:29 +00:00
midzelis
dcc34bd1be Reorganize timeline components into final directory structure
• Move timeline-viewer to timeline/base-components/base-timeline-viewer
• Move base-timeline to timeline/base-components/base-timeline
• Move skeleton to timeline/base-components/
• Move timeline-day to timeline/base-components/
• Move selectable-timeline-day to timeline/internal-components/
• Move timeline-asset-viewer to timeline/internal-components/
• Move timeline actions to timeline/actions/
• Update all imports to reference new locations
2025-09-11 22:15:29 +00:00
midzelis
521825e5e6 Rename asset-grid to base-timeline and reorganize timeline components
• Rename asset-grid.svelte to base-timeline.svelte
• Move asset-grid-actions.svelte to timeline-keyboard-actions.svelte in timeline-viewer/actions/
• Move delete-asset-dialog.svelte to timeline-viewer/actions/
• Update all imports across routes and components
2025-09-11 22:15:29 +00:00
midzelis
8465ce5a22 Rename and relocate timeline-related components
• Move asset-grid-asset-viewer to timeline-asset-viewer in timeline-viewer/
• Move asset-date-group-selection-aware to selectable-timeline-day in timeline-viewer/timeline-day/
• Move asset-date-group-comp to timeline-day in timeline-viewer/timeline-day/
• Update all imports in timeline-viewer.svelte
2025-09-11 22:15:29 +00:00
midzelis
6b564cd63c Rename and relocate asset-grid-without-scrubber to timeline-viewer
• Rename asset-grid-without-scrubber.svelte to timeline-viewer.svelte
• Move timeline-viewer.svelte to lib/components/timeline-viewer/
• Move skeleton.svelte to lib/components/timeline-viewer/
• Update imports in asset-grid.svelte
2025-09-11 22:15:29 +00:00
midzelis
76efc48b1b Merge asset viewer components into asset-grid-asset-viewer
• Rename asset-viewer-actions.svelte to asset-grid-asset-viewer.svelte
• Move AssetViewer rendering from asset-viewer-and-actions into asset-grid-asset-viewer
• Remove asset-viewer-and-actions.svelte intermediate wrapper
• Remove unused isShowDeleteConfirmation prop
2025-09-11 22:15:29 +00:00
midzelis
14954c669b Replace AssetDateGroup with AssetDateGroupSelectionAware throughout - merge/replace temp
• Update asset-grid-without-scrubber to use AssetDateGroupSelectionAware
• Remove original asset-date-group.svelte component
• Remove date-group-actions-lib.svelte.ts class
2025-09-11 22:15:29 +00:00
midzelis
1fb99e7b1c Inline DateGroupActionLib logic into asset-date-group-selection-aware (temp)
• Remove DateGroupActionLib dependency and inline all selection logic
• Implement proper selection state predicates instead of placeholder true values
• Move keyboard event handlers and selection logic directly into component
2025-09-11 22:15:29 +00:00
midzelis
2b02011b9c Split asset date group into (temp) generic and selection-aware components
• Rename asset-date-group.svelte to asset-date-group-comp.svelte as generic base
• Create asset-date-group-selection-aware.svelte wrapper for selection logic
• Extract selection-specific callbacks into separate handlers
• Update onDateGroupSelect to onDayGroupSelect with DayGroup parameter
2025-09-11 22:15:29 +00:00
midzelis
cfdc93e4aa Rename scroll compensation functions for clarity
• Rename handleScrollCompensation to scrollCompensation
• Rename scrollTop prop to onScrollToTop to match event handler pattern
• Add onScrollCompensation alias for consistency with other event handlers
2025-09-11 22:15:29 +00:00
midzelis
9a30198238 Refactor date group actions from Svelte component to TypeScript class
• Convert asset-date-group-actions.svelte to date-group-actions-lib.svelte.ts class
• Remove complex prop binding between asset-grid-without-scrubber and asset-date-group
• Use class instance in asset-date-group with direct method access
2025-09-11 22:15:29 +00:00
Min Idzelis
0beeea6985 Extract asset grid core logic into asset-grid-without-scrubber component
• Move all timeline rendering and scrolling logic to new component
• Keep scrubber logic and interaction handlers in original asset-grid 
• Use composition pattern with header snippet for scrubber integration
• Simplify asset-grid to ~450 lines by extracting ~390 lines of core logic
2025-09-11 22:15:29 +00:00
midzelis
cc6d64e259 Fix and enhance navigate to time functionality
• Add i18n support for navigate button and dialog title
• Update ChangeDate component to return DateTime object alongside ISO string
• Fix closest date finding algorithm to handle cases where exact month doesn't exist
• Add navigate to time (g) shortcut to keyboard shortcuts modal
2025-09-11 22:15:29 +00:00
Min Idzelis
c229b4d71a Extract keyboard shortcuts and asset actions into asset-grid-actions component
• Move all keyboard shortcut handling and focus navigation logic from asset-grid
• Extract asset operation handlers (delete, force delete, stack, archive)
• Move delete confirmation dialog and date picker to new component
• Consolidate ~230 lines of action-related code into dedicated module
2025-09-11 22:15:29 +00:00
Min Idzelis
bedc94d470 Extract asset selection logic into asset-date-group-actions component
• Move multi-asset selection handlers (shift-click range selection) from asset-grid
• Extract date group selection logic for bulk selecting assets by date
• Consolidate keyboard event handling for shift key detection
• Clean up asset-grid by removing ~200 lines of selection-related code
2025-09-11 22:15:29 +00:00
Min Idzelis
1b1ce229c9 Extract asset viewer navigation logic into separate components
• Move navigation handlers (next, previous, random, close) from asset-grid to dedicated asset-viewer-actions component
• Extract asset action handlers (archive, stack, favorite) into reusable module  
• Create asset-viewer-and-actions wrapper to compose viewer with navigation actions
2025-09-11 22:15:29 +00:00
github-actions
4153848c68 chore: version v1.142.0 2025-09-11 19:39:05 +00:00
Jason Rasmussen
f29230c8a6 fix(web): handle buckets before year 1000 (#21832) 2025-09-11 14:36:16 -05:00
Jason Rasmussen
8529f92ebc fix(web): map in album shared link (#21793) 2025-09-10 20:19:43 +00:00
Jason Rasmussen
761ac074c9 fix(web): asset refresh (#21788) 2025-09-10 20:08:15 +00:00
Yaros
027dab1487 fix(web): memory viewer arrow navigation (#19400)
* fix(web): memory viewer jumps down on arrow keys

* fix pnpm lockfile

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-09-10 09:47:38 -04:00
Jason Rasmussen
bee0ae430a fix(web): map popup accessibility (#21759) 2025-09-10 08:17:58 -04:00
Jason Rasmussen
cc08ebdf80 fix(web): website frozen after modal closes (#21752) 2025-09-10 08:17:41 -04:00
Jason Rasmussen
8e5d52abbb fix(web): transparent background color (#21747) 2025-09-10 08:15:57 -04:00
Jason Rasmussen
e52cc259d5 fix(web): cancel uploads on logout (#21760) 2025-09-10 08:15:03 -04:00
Johann
7a1c45c364 feat(web): use timeline in geolocation manager (#21492) 2025-09-09 21:26:26 -04:00
bo0tzz
5acd6b70d0 feat: add button to unpause all queues (#21685)
* feat: add button to unpause all queues

* fix: const

* chore: simplify

* chore: pr feedback

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2025-09-10 01:06:36 +00:00
Ben McCann
7b3e1037b6 chore: remove unused dependencies (#21736) 2025-09-09 20:38:17 -04:00
Jason Rasmussen
5a7042364b feat: add partner create endpoint (#21625) 2025-09-05 17:59:11 -04:00
github-actions
db0ea0f3a8 chore: version v1.141.1 2025-09-05 19:44:39 +00:00
renovate[bot]
5fb858a865 chore(deps): update node.js to v22.19.0 (#21509)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-05 08:43:58 -04:00
github-actions
f107cb044a chore: version v1.141.0 2025-09-04 19:42:02 +00:00
Arthur Normand
37a79292c0 feat: view similar photos (#21108)
* Enable filteing by example

* Drop `@GenerateSql` for `getEmbedding`?

* Improve error message

* PR Feedback

* Sort en.json

* Add SQL

* Fix lint

* Drop test that is no longer valid

* Fix i18n file sorting

* Fix TS error

* Add a `requireAccess` before pulling the embedding

* Fix decorators

* Run `make open-api`

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-09-04 09:22:09 -05:00
Snowknight26
036d314cb6 fix(web): Make Manage location utility header responsive (#21480)
* fix(web): Make Manage location utility header responsive

* Consolidate <p> into <Text>
2025-09-04 08:59:26 -05:00
Snowknight26
bbc1c8186c fix(web): Show full date when hovering over photos date groups (#21462) 2025-08-31 16:30:35 -05:00
Dag Stuan
fd2b7a344c fix(web): wait for image to load before playing memories. (#19757) 2025-08-31 08:50:33 -05:00