Commit graph

118 commits

Author SHA1 Message Date
luzpaz
b1e1362246
fix: various typos (grouped in to separate commits) () 2025-05-09 13:10:34 +00:00
David
7d61ed7ce4
feat(web): Map in albums & shared albums ()
* 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
Min Idzelis
4b1ced439b
feat: improve/refactor focus handling ()
* 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 ()
* feat: responsive date group header height

* update tests

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

fix: improve perf when changing mobile orientation
2025-04-29 13:59:06 -04:00
Jason Rasmussen
e6c575c33e
feat: rtl () 2025-04-28 08:53:53 -05:00
Min Idzelis
5a51ad3622
fix: responsive: timeline glitch and keyboard-accessible scrubber ()
* 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
Ben
92f0973a46
fix(web): reset search history after logout ()
fix(web): reset search suggestions after logout
2025-04-10 20:34:45 +00:00
renovate[bot]
3e372500b0
fix(deps): update typescript-projects ()
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 ()
* 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 ()
* 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 ()
* fix(web): better touch device detection

* variable name
2025-03-27 10:43:56 -05:00
Min Idzelis
55b52ecbec
feat: mobile-web improvements - scrubber ()
* 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 ()
* 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 ()
* 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 ()
* 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 ()
* 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
Min Idzelis
e96ffd43e7
feat: timeline performance ()
* 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
Andreas
b8acae2f21
feat(web): Add keyboard shortcut selection on grid ()
* 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
Min Idzelis
56b85f7479
fix(web): fix lost scrollpos on deep link to timeline asset, scrub stop ()
* 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 ()
fixes 
2025-03-03 18:24:37 +00:00
Alex
bbcaee82f0
chore(web): revert wasm new justify layout ()
* Revert "fix(web): justify layout import () "

This reverts commit ec58e1065f.

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

This reverts commit 4376fd72b7.

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

This reverts commit 3925445de8.

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

This reverts commit 52f21fb331.
2025-02-25 09:39:56 -06:00
Mert
52f21fb331
fix(web): viewport reactivity, off-screen thumbhashes being rendered ()
* viewport optimizations

* fade in

* async bitmap

* fast path for smaller date groups

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-02-20 22:38:12 -06:00
Mattia Natali
4279cd6e1e
feat(web): Slideshow is enabled everywhere. It no longer needs assetStore. ()
Slideshow no longer needs assetStore. It is enabled everywhere

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-01-14 14:24:58 +00:00
Ben
b88f98bf66
feat(web): Add "set as featured" option for an asset () 2024-12-23 12:26:53 -06:00
Michel Heusschen
b5022d80d6
refactor(web): asset interaction ()
* refactor(web): asset interaction

* feedback
2024-12-14 13:30:33 -05:00
Alex
b66c53bef3
fix(web): layout shifting when scrolling up ()
* fix(web): layout shifting when scrolling up

* feedback
2024-11-19 11:30:07 -06:00
Alex
0b3742cf13
chore(web): migration svelte 5 syntax () 2024-11-14 08:43:25 -06:00
Daniel Dietzler
eadcbd52fb
chore: svelte 5 🎉 ()
chore: svelte 5

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
2024-11-02 10:49:07 -05:00
Alex
244c8cb4d4
feat(web): scrubber label and animation ()
* feat(web): scrubber label and animation

* tune x fly in distance

* refactor

* lint and minor fix

* fly height
2024-10-30 14:38:35 +00:00
Darrel
45517ab7ae
fix(web): reset select all button state on escape press ()
* factor out cancel multiselect state logic to utils

* use cancel multiselct helper in album page

* use cancel multiselct helper in album-viewer component

* use cancel multiselct helper in asset-grid component

* remove unused to fix lint
2024-10-20 18:11:00 +00:00
Daniel Dietzler
124eb8251b
chore: migrate away from event dispatcher () 2024-09-20 17:02:58 -04:00
Jason Rasmussen
94fc1f213a
refactor(web): migrate away from event dispatcher () 2024-09-19 18:20:09 -04:00
Min Idzelis
d7d3b8dfec
fix: flash bug on tag ()
* fix flash bug on tag

* fix lint

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-09-05 09:29:07 -05:00
martin
efdf1b49f4
fix: hide scrollbar when the asset grid is empty () 2024-09-02 14:43:36 -05:00
Jason Rasmussen
d08a20bd57
feat: tags ()
* feat: tags

* fix: folder tree icons

* navigate to tag from detail panel

* delete tag

* Tag position and add tag button

* Tag asset in detail panel

* refactor form

* feat: navigate to tag page from clicking on a tag

* feat: delete tags from the tag page

* refactor: moving tag section in detail panel and add + tag button

* feat: tag asset action in detail panel

* refactor add tag form

* fdisable add tag button when there is no selection

* feat: tag bulk endpoint

* feat: tag colors

* chore: clean up

* chore: unit tests

* feat: write tags to sidecar

* Remove tag and auto focus on tag creation form opened

* chore: regenerate migration

* chore: linting

* add color picker to tag edit form

* fix: force render tags timeline on navigating back from asset viewer

* feat: read tags from keywords

* chore: clean up

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-08-29 12:14:03 -04:00
Min Idzelis
837b1e4929
feat(web): Scroll to asset in gridview; increase gridview perf; reduce memory; scrollbar ticks in fixed position ()
* Squashed

* Change strategy - now pre-measure buckets offscreen, so don't need to worry about sub-bucket scroll preservation

* Reduce jank on scroll, delay DOM updates until after scroll

* css opt, log measure time

* Trickle out queue while scrolling, flush when stopped

* yay

* Cleanup cleanup...

* everybody...

* everywhere...

* Clean up cleanup!

* Everybody do their share

* CLEANUP!

* package-lock ?

* dynamic measure, todo

* Fix web test

* type lint

* fix e2e

* e2e test

* Better scrollbar

* Tuning, and more tunables

* Tunable tweaks, more tunables

* Scrollbar dots and viewport events

* lint

* Tweaked tunnables, use requestIdleCallback for garbage tasks, bug fixes

* New tunables, and don't update url by default

* Bug fixes

* Bug fix, with debug

* Fix flickr, fix graybox bug, reduced debug

* Refactor/cleanup

* Fix

* naming

* Final cleanup

* review comment

* Forgot to update this after naming change

* scrubber works, with debug

* cleanup

* Rename scrollbar to scrubber

* rename  to

* left over rename and change to previous album bar

* bugfix addassets, comments

* missing destroy(), cleanup

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-08-21 21:15:21 -05:00
renovate[bot]
2821e0bf95
chore(deps): update typescript-eslint monorepo to v8 (major) ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-08-05 19:13:00 +00:00
Michel Heusschen
281cfc95a4
refactor(web): asset viewer actions ()
* refactor(web): asset viewer actions

* motion photo slot and more refactoring
2024-07-31 12:25:38 -04:00
ayykamp
147c6e3600
chore(web): improve responsiveness in Album and Shared Album pages on small devices ()
* style: better responsiveness on album and shared album pages

* revert right margin changes

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2024-07-26 21:06:08 +00:00
Snowknight26
7a46f80ddc
feat(web): add archive shortcut to grid ()
* feat(web): add archive shortcut to grid

* Fix error

* Don't unnecessarily pass parameter

* Use an existing function to close the menu

* Deduplicate type

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-06-06 19:23:49 -04:00
martin
802b4ef190
fix: clear multiselect when asset-grid is empty () 2024-05-29 15:11:00 -04:00
Snowknight26
847cb90038
fix(web): fix asset grid keyboard navigation ()
* fix(web): fix asset grid keyboard navigation

* Ignore eslint rule

* Pass page up/down keys after focusing on grid

* Remove unneeded event listener, use existing class
2024-05-24 22:11:55 +02:00
martin
832d728940
refactor(web): svelte actions () 2024-05-23 12:56:48 -05:00
martin
8fdcabaf70
fix(web): page down shortcut ()
fix: page down shortcut
2024-05-11 16:49:39 -05:00
Jason Rasmussen
5b87abb021
feat(server): read-write external assets ()
* refactor: remove isReadOnly and isExternal usages

* chore: open api

* fix: linting

* remove mobile isReadOnly dependency

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-05-03 15:34:57 -04:00
Min Idzelis
a78260296c
feat(web): assets now have a permanent URL ()
* Remove asest redirect pages

* Rename route paths to handle optional assetId

* Update old references to new routes

* Load and display asset from all routes that can show assetId

* Add <main> in base layout, update portals to target it

* Wire up updating navigation in response to open/close/prev/next

* Replace events with navigation functions

* Add types to param matcher

* misc cleanup

* Fix reload on /search pages

* Avoid loading bar between photos nav. Delay loading bar by 200ms for all navigations

* Update url for maps routes. Note: on page reload, next/prev is not available

* Dynamically load asset-viewer on map page

* When reloading a url with assetUrl, hide background page to prevent flash during load

* Mostly style, review comments

* Load buckets for assets on demand

* Forgot this update call

* typo

* fix test

* Fix carelessness

* Review comment

* merge main

* remove assets

* fix submodule

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
2024-04-24 19:24:19 +00:00
Conner
3abfe3c99e
fix(web): restore button in asset viewer ()
* fix(web): restore button added to trashed asset-view to restore single item

* fixed the asset-viewer menu to update upon restoration

* prettier formatting complete, testing passed

* chore: clean up

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2024-04-20 01:19:50 +00:00
martin
112d6d60ec
feat(web): add page up and page down shortcuts ()
feat: add page up and page down shortcuts
2024-04-18 21:11:54 -04:00
Ethan Margaillan
c227f9893e
feat(web): un-stack from the photos page ; fix stack count ()
* feat(web): un-stack from the photos page ; fix stack count

* move stuff outside of try-catch block

* small optim
2024-04-17 07:55:07 -04:00
martin
084a97a77a
fix(web): delete trashed item ()
* fix: delete trashed item

* fix: simplify
2024-04-15 16:21:54 -04:00