* feat(mobile): Define constants as 'const'
* feat(mobile): Add people list to asset bottom sheet
Add a list of people per asset in the exif bottom sheet, like on the
web.
Currently the list of people is loaded by making a request each time to
the server. This is the MVP approach.
In the future, the people information can be synced like we're doing
with the assets.
* styling
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* fix(server): stack info in asset response for mobile
* fix(server): getAllAssets - do not filter by stack ID
* tet(server): GET /assets stack e2e
* chore(server): fix checks
* stack asset height
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
* Fixes double video auto initialize issue and placeholder for video controller
* WIP unravel stack index
* Refactors video player controller
format
fixing video
format
Working
format
* Fixes hide on pause
* Got hiding when tapped working
* Hides controls when video starts and fixes placeholder for memory card
Remove prints
* Fixes show controls with microtask
* fix LivePhotos not playing
* removes unused function callbacks and moves wakelock
* Update motion video
* Fixing motion photo playing
* Renames to isPlayingVideo
* Fixes playing video on change
* pause on dispose
* fixing issues with sync between controls
* Adds gallery app bar
* Switches to memoized
* Fixes pause
* Revert "Switches to memoized"
This reverts commit 234e6741de.
* uses stateful widget
* Fixes double video play by using provider and new chewie video player
wip
format
Fixes motion photos
format
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* Refactor to use ImmichThumbnail and local thumbnail image provider
format
* dart format
linter errors
linter
* Adds blurhash
format
* Fixes image blur
* uses hook instead of stateful widget to be more consistent
* Uses blurhash hook state
* Uses blurhash ref instead of state
* Fixes fade in duration for fade in placeholder
* Fixes an issue where thumbnails fail to load if too many thumbnail requests are made simultaenously
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Now we only validate access token when we have one in the store and only send you to the login page when the response from the server is a 401
linter
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* fix(mobile): remove log message counter
Previously, the items in the log page were numbered starting with `#0`
and increasing from top to bottom. Being new to the app, this confused
me because I would have expected that newer messages have a higher
number than older messages.
Removing the counter completely because it doesn't add any value -
log messages are identified by their timestamp, text and other details.
* Switch timestamp and context in log overview
* Add "details" column to LoggerMessage
* Include error details in log details page
* Move error details out of log message
* Add error message to mixin
* Create extension for HTTP Response logging
* Fix analyze errors
* format
* fix analyze errors, format again
* video loading delayed
* Chewie controller implemented in hook
* fixing look and feel
* Finalizing delay and animations
* Fixes issue with immersive mode showing immediately in videos
* format fix
* Fixes bug where video controls would hide immediately after showing while playing and reverts hide controls timer to 5 seconds
* Fixed rebase issues
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* Refactors to use widgets in immich asset grid
Adds comments
* Fixes asset thumbnail absoluteOffset
* feat(mobile): Uses gradient image placeholders in memory lane and in the asset grid (#7142)
* Uses gradient image placeholders in memory lane and in the asset grid
* Changes to create placeholders in immmich image.thumbnail
* removed unused import
* uses context.isDarkTheme and fixed function signature for allAssetsSelected
* Adds image provider
* uses image provider
* wip load preview
* wip everything but activity asset thumbnail needs some help with a remote id
* Immich provider used in gallery
* First draft of the immich image provider, working nicely!
* Removed OriginalImageProvider
* Fixes for thumbnails
* feat(mobile): thumbhash support (#7028)
* feat(mobile): thumbhash support
* perf(mobile): store bmp thumbhash bytes in Isar
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
* Uses octoimage for fade in and placeholders
* fixes thumbnails, removes unused values, adds better thumbnail size
* removes thumbhash support for now
* Forgot one thumbhash removal
* Use big thumbnail for local image on ios
* fix(mobile): Multipart image loading for iOS double swipe (#7064)
* uses local thumb first
* Multipart thumbnail
* Clean up file delete
* await file delete
* Fynn's comments, made thumbnail smaller and doesn't crash on erroring out on thumbnail
* lint
---------
Co-authored-by: Marty Fuhry <marty@fuhry.farm>
Co-authored-by: Alex <alex.tran1502@gmail.com>
* Moves http client to global private place for reuse
* Got rid of usePreview for local image providers since we always show a thumbnail anyway first
* linter
---------
Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Marty Fuhry <marty@fuhry.farm>
* Videos play in memories now
Remove auto video advance
* to next asset after video is done playing
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* refactor(mobile): make location picker scaffold primary
* chore(mobile): update map heatmap colors
* style(mobile): map bottomsheet - only use borders on top
* fix(mobile): location picker show buttons above navigation bar
* fix: crash on iOS due to heatmap invalid color format
* disable rotate
---------
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* Made memories full screen
* Uses linear bar and fits the card better for memories
* Fixes pageview close button moving with pages
* Uses hooks instead of stateful components
* Adds ticks to the progress indicator
* Rounds the edges of the progress bar
* Fixes trailing comma analyze error
* Adds padding and hero to memories
* Fixes an issue with initial index set and adds hero / proper padding
* Fixes aspect ratio calculation
* Color
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
Add a haptic feedback when jumping from one month to another in the
asset grid view.
The feedback is similar to the one implemented in the Google Photos app.
* Adding memory epilogue card
* Adds epilogue page to memories
* Fixes a next / back issue
* color
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* feat(mobile): delete assets from device only
* mobile: add backed up only toggle for delete device only
* remove toggle inside alert and show different content
* mobile: change content color for local only
* mobile: delete local only button to dialog
* style: display bottom action in two lines
* feat: separate delete buttons
* fix: incorrect error message for ownedRemoteSelection
* feat(mobile): long-press delete to permanently delete asset
* chore: add todo to handle long press to delete in gallery_viewer
* chore: rebase on deletion branch
* feat(mobile): long-press delete to permanently delete asset
* fix(mobile): update minChildSize of control bottom app bar
---------
Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>