* feat: private view
* pr feedback
* sql generation
* feat: visibility column
* fix: set visibility value as the same as the still part after unlinked live photos
* fix: test
* pr feedback
* fix(web): search bar deactivates when focus exits
* fix: disable search bar on destroy
For example, on the search page. If the escape key is pressed while the advanced filters button is focused, the search page will close but the search bar will remain activated.
* 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>
* fix(web): update search results when searching from info panel
* Prevent double search when using search bar
* Format/lint
* Fix infinite loading on intersect
* Remove redundant function
* Retain search context in LocalStorage.
* Remove debug logging
* Prettier
* Added QueryType and VALID_QUERY_TYPES to $lib/constants
* Prettier
* Renamed VALID_QUERY_TYPES to fit the codestyle.
Ran prettier
* show current search type on search bar
* fix: linting
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* fix(web): update search modal to not jump around
Search People selection will change size while loading. This causes the
search modal to jump around as the people load in.
* loading spinner size
* remove unsued code
---------
Co-authored-by: cwlowder <me@curtislowder.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* Add rating to search DTO
* Add search by EXIF rating in search query builder
* Generate OpenAPI spec
* Add rating filter on web
* Add rating filter to search docs
* Format / lint
* Hide rating filter if ratings are disabled
* chore: component order in form
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* feat(web): move search options into a modal
* chore: revert adding focus ring
* minor styling
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* fix(web): align search filter behavior to show all camera models
* fix(mobile): align search filter behavior to clear camera model when make is set
* (mobile) correctly clear the model controller
* fix(mobile) re-add text controller to dropdown
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* Allow submission of null country
* Update searchAssetBuilder to handle nulls
andWhere({country:null}) produces `"exifInfo"."country" = NULL`. We want
`"exifInfo"."country" IS NULL`, so we have to treat NULL as a special
case
* Allow null country in frontend
* Make the query code a bit more straightforward
* Remove unused brackets import
* Remove log message
* Don't change whitespace for no reason
* Fix prettier style issue
* Update search.dto.ts validators per @jrasm91's recommendation
* Update api types
* Combine null country and state into one guard clause
* chore: clean up
* chore: add e2e for null/empty city, state, country search
* refactor: server returns suggestion for null values
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
* feat(web): search bar keyboard accessibility
* fix: adjust aria attributes
* fix: safari announcing the correct option count
* minor adjustments
- CircleIconButton disabled cursor
- more generic selection handler
* fix: more subtle border color in dark mode
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* First test
* Added translation using Weblate (French)
* Translated using Weblate (German)
Currently translated at 100.0% (4 of 4 strings)
Translation: immich/web
Translate-URL: http://familie-mach.net/projects/immich/web/de/
* Translated using Weblate (French)
Currently translated at 100.0% (4 of 4 strings)
Translation: immich/web
Translate-URL: http://familie-mach.net/projects/immich/web/fr/
* Further testing
* Further testing
* Translated using Weblate (German)
Currently translated at 100.0% (18 of 18 strings)
Translation: immich/web
Translate-URL: http://familie-mach.net/projects/immich/web/de/
* Further work
* Update string file.
* More strings
* Automatically changed strings
* Add automatically translated german file for testing purposes
* Fix merge-face-selector component
* Make server stats strings uppercase
* Fix uppercase string
* Fix some strings in jobs-panel
* Fix lower and uppercase strings. Add a few additional string. Fix a few unnecessary replacements
* Update german test translations
* Fix typo in locales file
* Change string keys
* Extract more strings
* Extract and replace some more strings
* Update testtranslationfile
* Change translation keys
* Fix rebase errors
* Fix one more rebase error
* Remove german translation file
* Co-authored-by: Daniel Dietzler <danieldietzler@users.noreply.github.com>
* chore: clean up translations
* chore: add new line
* fix formatting
* chore: fixes
* fix: loading and tests
---------
Co-authored-by: root <root@Blacki>
Co-authored-by: admin <admin@example.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
* refactor: search people
* fix: test
* fix: timeout
* fix: callbacks
* fix: simplify
* remove unused var
* refactor: rename file
* fix: focus when deleting last character
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
* feat(web,a11y): search filter accessibility
- visible focus rings
- labels for text search
- responsive buttons / radio buttons / checkboxes
- buttons to lowercase
- add fieldsets to radio buttons and checkboxes, so the screen reader
announces the label for the group
* feat: extract inputs into reusable components, replace all checkboxes
* chore: revert changes to responsive buttons
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* fix(web,a11y): remove autofocus from input field
The autofocus attribute can cause the keyboard to unexpectedly appear
for mobile users, and override any other focus management that the
application is doing programatically.
* fix: always include people filter
* feat(web): keyboard access for search dropdown
Also: fixing cosmetic issue with combobox component.
* fix: revert changing required field
* fix: create new focusChange action
* fix: combobox usability improvements
* handle escape key on the clear button
* move focus to input when clear button is clicked
* leave the dropdown closed if the user has already closed the dropdown and tabs over to the clear button
* activate the combobox if a user tabs backwards onto the clear button
* rename focusChange to focusOutside
* small fixes
* do not activate combobox on backwards tabbing
* simplify classes in "No results" option
* prevent dropdown option from being preselected when clear button is
clicked
* fix: remove unused event dispatcher interface