Commit Graph

250 Commits

Author SHA1 Message Date
Alex b7b0b9b6d8 feat: locked/private view (#18268)
* feat: locked/private view

* feat: locked/private view

* pr feedback

* fix: redirect loop

* pr feedback
2025-05-15 15:35:21 +00:00
Daniel Dietzler b3b774cfe5 fix: memory lane memory title (#18277) 2025-05-13 21:52:56 +00:00
Daniel Dietzler 989d9dbe51 fix: z-index overuse (#18192) 2025-05-13 16:10:05 +02:00
Jason Rasmussen 7280331b76 refactor: confirm modal (#18238) 2025-05-12 22:02:49 +00:00
Jason Rasmussen 93ee6ee0a5 refactor: dialog controller (#18235) 2025-05-12 17:48:05 -04:00
Daniel Dietzler 7544a678ec refactor: remove unnecessary bg-color attributes and move to ui lib vars (#18234) 2025-05-12 17:17:01 -04:00
Daniel Dietzler 55af925ab3 refactor: shared link url (#18185) 2025-05-09 15:23:00 -05:00
Daniel Dietzler f21fe8716c refactor: shortcuts modal (#18175) 2025-05-09 13:24:36 -04:00
Daniel Dietzler 6a69dafd31 refactor: share modals (#18183) 2025-05-09 16:59:29 +00:00
luzpaz b1e1362246 fix: various typos (grouped in to separate commits) (#18177) 2025-05-09 13:10:34 +00:00
David 7d61ed7ce4 feat(web): Map in albums & shared albums (#17906)
* add btn, map and marker

* Fix bug in navigation assetviewer

* Correct bug on main Viewer

* Add to user album the map of his pictures

* change icon to outline

* lint & format

* with manager instead of variable

* remove duplicate

* chore: minor styling change

* formatting

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-05-05 02:58:44 +00:00
Daniel Dietzler 15d431ba6a refactor: dialog callbacks (#18034) 2025-05-02 13:34:53 -04:00
Min Idzelis 4b1ced439b feat: improve/refactor focus handling (#17796)
* feat: improve focus

* test

* lint

* use modulus in loop
2025-04-30 00:19:38 -04:00
Min Idzelis 0e4cf9ac57 feat(web): responsive date group header height (#17944)
* feat: responsive date group header height

* update tests

* feat(web): improve perf when changing mobile orientation (#17945)

fix: improve perf when changing mobile orientation
2025-04-29 13:59:06 -04:00
Jason Rasmussen 7f69abbf0d refactor: app init event (#17937) 2025-04-28 14:48:33 -04:00
Jason Rasmussen e6c575c33e feat: rtl (#17860) 2025-04-28 08:53:53 -05:00
Alex be1062474b chore: memory spacing (#17813)
chore(web): memory spacing
2025-04-23 16:02:49 +00:00
Min Idzelis 5a51ad3622 fix: responsive: timeline glitch and keyboard-accessible scrubber (#17556)
* fix: responsive: timeline glitch

* lint

* fix margin-right on mobile

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-04-14 11:56:40 -05:00
Min Idzelis e440cbe353 feat: responsive-web: shrink mem-lane (#17550) 2025-04-11 17:10:58 -05:00
Min Idzelis 5bcb58c3e7 feat: responsive: skeleton (#17553)
feature: responsive: skeleton
2025-04-11 17:04:48 -05:00
Ben 92f0973a46 fix(web): reset search history after logout (#17534)
fix(web): reset search suggestions after logout
2025-04-10 20:34:45 +00:00
renovate[bot] 3e372500b0 fix(deps): update typescript-projects (#17456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2025-04-09 14:47:29 +00:00
Ben 6e62c09d84 feat(web): expand/collapse sidebar (#16768)
* feat: expand/collapse sidebar

* fix: general PR cleanup

- add skip link unit test
- remove unused tailwind styles
- adjust asset grid spacing
- fix event propogation

* fix: cleaning up event listeners

* fix: purchase modal and button on small screens

* fix: explicit tailwind classes

* fix: no animation on initial page load

* fix: sidebar spacing and reactivity

* chore: reverting changes to icons in nav and account info panel

* fix: remove left margin from the asset grid after merging in new timeline

* chore: extract search-bar changes for a separate PR

* fix: add margin to memories
2025-04-01 21:12:04 -05:00
Daimolean e4b0c00885 fix(web): select all button displays incorrectly (#17305)
* fix(web): select all show incorrectly

* fix: lint

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-04-01 19:00:48 +00:00
Alex 6341962de4 fix(web): better touch device detection (#17144)
* fix(web): better touch device detection

* variable name
2025-03-27 10:43:56 -05:00
Min Idzelis 4a0045db44 feat(web): support long-press selection on mobile web (#16906)
* feat(web): max grid row height responsive

* also gallery-viewer

* lint

* feat(web): support long-press selection on mobile web

* use svelte-gestures

* fix test

* Bug fix

* globalThis

* format

* revert generator

* Testing

* bad merge

* Fix typo/tap on thumbnail

* feat: shrink header on small screens (#16909)

* feat(web): shrink header on small screens

* fix test

* test

* Fix test

* Revert user-page-layout chagne

* Restore icons sizes, make consistent, improve logo responsiveness

* remove 4 more pix, lint

* lint

* chore

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>

* Revert "Testing"

This reverts commit 442f11c9e1.

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-03-24 16:36:36 -05:00
Min Idzelis 55b52ecbec feat: mobile-web improvements - scrubber (#16856)
* feat: mobile-web improvements - scrubber

* lint

* cruft

* lint

* fix: thumb style

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-03-21 18:00:24 +00:00
Alex b5d5c40c69 fix(web): update stack state in timeline (#17021)
* fix(web): update stack state in timeline

* js docs

* fix: handle state update from unstack action from gallery viewer

* use navigate in View Stack notification

---------

Co-authored-by: Snowknight26 <Snowknight26@users.noreply.github.com>
2025-03-21 12:42:36 -05:00
Snowknight26 b00da18e84 fix(web): timeline renders nothing with an invalid asset scroll target (#16994)
* fix(web): fix asset grid showing nothing with an invalid asset target

* Deduplicate

* Scroll to position where appropriate

* a bit cleaner

* fix: lint

---------

Co-authored-by: Min Idzelis <min123@gmail.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-03-21 08:40:57 -05:00
Alex bcd9248b43 fix(web): timeline regression 2 (#16982)
* fix(web): timeline renders nothing after archiving in asset viewer

* fix(web): timeline renders nothing after archiving in asset viewer

* fix: ensure geometry updated when performing bulk action on all

* fix: album assets selection
2025-03-20 22:30:27 -05:00
Min Idzelis 9398b0d4b3 fix: regression in select-all (#16969)
* bug: select-all

* set->[] in interaction store, clear select-all on cancel

* feedback

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-03-19 15:55:50 +00:00
Yaros 62ba8c3e71 fix(web): date alignment on timeline (#16961) 2025-03-18 21:55:36 +00:00
Andreas fe19f9ba84 fix(web): asset selection on memories page is broken (#16759)
* 16712: Proper intialisation of the memory store to avoid loading up duplicate object refs of the same asset.

* 16712: Add auth to memory mapping so isFavorite is actually return correctly from the server.

* 16712: Move logic that belongs in the store into the store.

* 16712: Cleanup.

* 16712: Fix init behaviour.

* 16712: Add comment.

* 16712: Make method private.

* 16712: Fix import.

* 16712: Fix format.

* 16712: Cleaner if/else and fix typo.

* fix: icon size mismatch

* 16712: Fixed up state machine managing memory playback:
* Updated to `Tween` (`tweened` was deprecated)
* Removed `resetPromise`. Setting progressController to 0 had the same effect, so not really sure why it was there?
* Removed the many duplicate places the `handleAction` method was called. Now we just called it on `afterNavigate` as well as when `galleryInView` or `$isViewing` state changes.

* 16712: Add aria tag.

* 16712: Fix memory player duplicate invocation bugs. Now we should only call 'reset' and 'play' once, after navigate/page load. This should hopefully fix all the various bugs around playback.

* 16712: Cleanup

* 16712: Cleanup

* 16712: Cleanup

* 16712: Cleanup

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-03-18 11:34:09 -05:00
Min Idzelis e96ffd43e7 feat: timeline performance (#16446)
* Squash - feature complete

* remove need to init assetstore

* More optimizations. No need to init. Fix tests

* lint

* add missing selector for e2e

* e2e selectors again

* Update: fully reactive store, some transitions, bugfixes

* merge fallout

* Test fallout

* safari quirk

* security

* lint

* lint

* Bug fixes

* lint/format

* accidental commit

* lock

* null check, more throttle

* revert long duration

* Fix intersection bounds

* Fix bugs in intersection calculation

* lint, tweak scrubber ui a tiny bit

* bugfix - deselecting asset doesnt work

* fix not loading bucket, scroll off-by-1 error, jsdoc, naming
2025-03-18 09:14:46 -05:00
Jason Rasmussen 9a4495eb5b refactor: use more immich ui buttons (#16840) 2025-03-14 09:38:06 -04:00
Andreas b8acae2f21 feat(web): Add keyboard shortcut selection on grid (#16713)
* 15712: Added keyboard shortcuts for opening add to album modal and highlighting/selecting an album to add to.

* 15712: Re-factored logic from template code into script. Extracted new album button into separate cmponent.

* 15712: Document new keyboard shortucts now that they work everywhere.

* 15712: Extract some constants/helper functions.

* 15712: Missing comma.

* 15712: Pulled logic out into separate unit testable class.

* 15712: Added a unit test.

* 15712: Move the modal back up to keep the github PR happy.

* 15712: PR feedback - renamed typescript files and switch to class bind directive.

* 15712:Move selection modal into correct package.

* 15712: Better naming of module and files.

* 15712: Add asset highlight using arrow keys.

* 15172: Add escape behaviour everywhere.

* 15712: Don't allow highlighting past start or end.

* 15712: Clear the highlight on changes to the component state.

* 15712: Use focus to track highlighted element.

* 15712: Rename highlight -> focussed.

* 15712: Better naming.

* 15712: Cleanup.

* 15712: Cleanup & simplify.

* 15712: bugfix for clicking on button.

* 15712: Cleanup.

* 15712: Rollback unnecessary changes.

* 15712: Add unit test.

* 15712: Add thumbnail unit test.

* 15712: Prettier.

* 15712: Fix merge issue.

* 15712: Add shortcut info.

* 15712: Fix linter.
2025-03-11 10:18:14 -05:00
Snowknight26 decc878267 feat(web): show full date when hovering over photos date groups (#16561)
* fix(web): Update asset grid date group titles to show full date

* Fix formatting
2025-03-11 11:18:29 +00:00
Lukas 097749d872 fix(web): add labels to memory lane buttons (#16664)
* fix(web): add labels to memory lane buttons

* use generic button labels
2025-03-09 21:31:55 -05:00
Lukas fdf2331c82 fix(web): hide scroll right button when scrolled to the right in memory lane (#16656)
fix(web): hide scroll right button when scrolled to the right
2025-03-06 20:50:56 -06:00
Lukas e03d7f888e fix(web): remove margin on last memory item (#16665) 2025-03-07 02:50:16 +00:00
Yaros d01b7a0d67 feat(web): aspect ratio of memory cards (#16652)
Fix aspect ratio of memory cards
2025-03-06 15:24:01 +00:00
Lukas 2875303b4c feat(web): allow horizontal scrolling in memory lane (#16647) 2025-03-06 08:37:11 -06:00
Min Idzelis 56b85f7479 fix(web): fix lost scrollpos on deep link to timeline asset, scrub stop (#16305)
* Work in progress - super quick asset store->state

* bugfix: deep linking to timeline, on scrub stop

* format, remove stale

* disable test, todo: fix test

* remove unused import

* Fix merge

* lint

* lint

* lint

* Default to non-wasm layout

* lint

* intobs fix

* fix rejected promise

* Review comments, static import wasm

* Back to dynamic

* try top-level-await

* back to the first solution, with more finesse

* comment out wasm for now

* back out the wasm/thumbhash/thumbnail changes

* lint

* Fully remove wasm

* lockfile

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-03-04 20:34:53 -06:00
Alessandro Baroni f89e74181b fix(web): delete action closes asset viewer in asset view (#15469)
fixes #14647
2025-03-03 18:24:37 +00:00
renovate[bot] 3d6a6f77a8 chore(deps): update dependency eslint-plugin-svelte to v3 (#16532)
* chore(deps): update dependency eslint-plugin-svelte to v3

* chore: linting

* chore: rebase

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
2025-03-03 14:24:26 +00:00
knechtandreas 6bf2e8dbcb feat: add album keyboard shortcuts (#16442)
* 15712: Added keyboard shortcuts for opening add to album modal and highlighting/selecting an album to add to.

* 15712: Re-factored logic from template code into script. Extracted new album button into separate cmponent.

* 15712: Document new keyboard shortucts now that they work everywhere.

* 15712: Extract some constants/helper functions.

* 15712: Missing comma.

* 15712: Pulled logic out into separate unit testable class.

* 15712: Added a unit test.

* 15712: Move the modal back up to keep the github PR happy.

* 15712: PR feedback - renamed typescript files and switch to class bind directive.

* 15712:Move selection modal into correct package.

* 15712: Better naming of module and files.
2025-03-02 13:15:00 +00:00
Alex bbcaee82f0 chore(web): revert wasm new justify layout (#16277)
* Revert "fix(web): justify layout import (#16267) "

This reverts commit ec58e1065f.

* Revert "fix(web): dynamically import wasm module (#16261)"

This reverts commit 4376fd72b7.

* Revert "feat(web): use wasm for justified layout calculation (#15524)"

This reverts commit 3925445de8.

* Revert "fix(web): viewport reactivity, off-screen thumbhashes being rendered (#15435)"

This reverts commit 52f21fb331.
2025-02-25 09:39:56 -06:00
Mert 4376fd72b7 fix(web): dynamically import wasm module (#16261)
* dynamically import wasm module

* remove unused import
2025-02-22 12:16:06 -06:00
Jason Rasmussen d350022dec feat: persistent memories (#15953)
feat: memories

refactor

chore: use heart as favorite icon

fix: linting
2025-02-21 12:31:37 -06:00
Mert 3925445de8 feat(web): use wasm for justified layout calculation (#15524)
* working

* use wrapper class

* update import

* simplify

* it works without changing `optimizeDeps`

* inline layout options

* update gallery view

* use es2022

* fix import

* fix vitest

* empty geometry

* bump version

* Update web/src/lib/stores/assets.store.ts

Co-authored-by: Jason Rasmussen <jason@rasm.me>

* fix: typo

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-02-21 09:20:25 +00:00