1
0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-01-10 05:46:46 +01:00
Commit graph

283 commits

Author SHA1 Message Date
Ethan Margaillan
5869648f19
chore(web): replace window.confirm by ConfirmDialogues and cleanup existing ones (#3039)
* chore(web): replace window.confirm by ConfirmDialogues and cleanup existing ones

* fix(web): linter and svelte-check issues

* fix(web): rephrase some confirm dialogs

* fix(web): run prettier

* fix(web): merge with last version and run prettier again

* fix(web): run prettier
2023-06-30 14:53:16 -05:00
Jason Rasmussen
ad343b7b32
refactor(server): download assets (#3032)
* refactor: download assets

* chore: open api

* chore: finish tests, make size configurable

* chore: defualt to 4GiB

* chore: open api

* fix: optional archive size

* fix: bugs

* chore: cleanup
2023-06-30 11:24:28 -05:00
faupau
e3557fd80e
Fix(web): drag n drop shared link (#3030)
* add event to trigger uploadhandler

* add dragndrop store
to handle upload in album-viewer and individuel-shared-viewer
(only on shares)

* fix handleUploadAssets no parameter

* fix format
2023-06-29 10:26:25 -05:00
Rohitt Vashishtha
b4e641548c
fix(web): Add m: to search query upon loading results. (#2954)
Previously, we'd drop the m: from non-clip searches entirely. This
behavior incorrectly represents the page's status (results from
non-clip search but query implies a clip search). Also, any follow-up
searches change to clip searches, which feels like a jarring UX if you
have to add m: every time in a 'search-session'.
2023-06-28 17:48:53 +00:00
Ethan Margaillan
e803bc909f
feat(web): store albums sorting policy in local storage (#2966) 2023-06-26 11:54:20 -05:00
Keszei Balázs
454fb106d2
Updated OSM tile URLs immich-app/immich#2874 (#2961)
Co-authored-by: Balazs Keszei <balazs.keszei@clbr.hu>
2023-06-26 08:47:37 -05:00
Alex Phillips
e171fec5aa
feat(server): support for read-only assets and importing existing items in the filesystem (#2715)
* Added read-only flag for assets, endpoint to trigger file import vs upload

* updated fixtures with new property

* if upload is 'read-only', ensure there is no existing asset at the designated originalPath

* added test for file import as well as detecting existing image at read-only destination location

* Added storage service test for a case where it should not move read-only assets

* upload doesn't need the read-only flag available, just importing

* default isReadOnly on import endpoint to true

* formatting fixes

* create-asset dto needs isReadOnly, so set it to false by default on create, updated api generation

* updated code to reflect changes in MR

* fixed read stream promise return type

* new index for originalPath, check for existing path on import, reglardless of user, to prevent duplicates

* refactor: import asset

* chore: open api

* chore: tests

* Added externalPath support for individual users, updated UI to allow this to be set by admin

* added missing var for externalPath in ui

* chore: open api

* fix: compilation issues

* fix: server test

* built api, fixed user-response dto to include externalPath

* reverted accidental commit

* bad commit of duplicate externalPath in user response  dto

* fixed tests to include externalPath on expected result

* fix: unit tests

* centralized supported filetypes, perform file type checking of asset and sidecar during file import process

* centralized supported filetype check method to keep regex DRY

* fixed typo

* combined migrations into one

* update api

* Removed externalPath from shared-link code, added column to admin user page whether external paths / import is enabled or not

* update mimetype

* Fixed detect correct mimetype

* revert asset-upload config

* reverted domain.constant

* refactor

* fix mime-type issue

* fix format

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-06-21 21:33:20 -05:00
Alex
0f0375a67e
feat(web): add album to search result (#2900)
* Add album to search result page

* Update web/src/routes/(user)/search/+page.svelte

Co-authored-by: Thomas <9749173+uhthomas@users.noreply.github.com>

* Update web/src/routes/(user)/search/+page.svelte

Co-authored-by: Thomas <9749173+uhthomas@users.noreply.github.com>

* change font weight

* hide context menu in this view

---------

Co-authored-by: Thomas <9749173+uhthomas@users.noreply.github.com>
2023-06-21 15:18:00 -05:00
Alex
82b89aa20b
feat(web): custom drop down button (#2887)
* feat(web): custom drop down button

* fix test

* fix test
2023-06-21 08:05:59 -05:00
Jason Rasmussen
868f629f32
refactor(server, web): create shared link (#2879)
* refactor: shared links

* chore: open api

* fix: tsc error
2023-06-20 20:08:43 -05:00
Krisjanis Lejejs
746ca5d5ed
feat(web): Add album sorting to albums view (#2861)
* Add album sorting to web albums view

* generate api

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-06-20 20:00:59 -05:00
Sophie
c404ea20ee
fix(web): redirect to parent folder if asset viewer was open before reload (#2863)
* fix(web): redirect to parent folder if asset viewer was open before reload

* chore(web): use route constants in all routes
2023-06-19 21:06:08 -05:00
renovate[bot]
5d7d615433
chore(deps): update web (#2806)
* chore(deps): update web

* fixed svelte-check being a nuisance

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-06-16 12:45:05 -05:00
Alex
a1b9a1d244
fix(web): error when refreshing asset view in memory page (#2789) 2023-06-16 10:09:16 -05:00
Alex
77fe2e55be
fix(web): show memory in main timeline (#2775) 2023-06-15 14:11:14 -05:00
Alex
43ec0b77a0
feat(web): Memory (#2759)
* Add on this day

* add query for x year

* dev: add query

* dev: front end

* dev: styling

* styling

* more styling

* add new page

* navigating

* navigate back and forth

* styling

* show gallery

* fix test

* fix test

* show previous and next title

* fix test

* show up down scrolling button

* more styling

* styling

* fix app bar

* fix height of next/previous

* autoplay

* auto play

* refactor

* refactor

* refactor

* show date

* Navigate

* finish

* pr feedback
2023-06-14 20:47:18 -05:00
Yonggan
9a80a2151c
feat(web): Add select all button to all views (#2714)
* Add select all to photos

* Add selection of favorites

* Add select all button to albums

* Add select all to archive

* Add select all to search

* try to fix identation

* Revert "try to fix identation"

This reverts commit 40c727b74a.

* try to fix identation

* try to fix identation

* try to fix identation

* try to fix identation

* fix bucketposition

* Run prettier

---------

Co-authored-by: Yonggan <yonggan@obco.pro>
2023-06-10 14:06:13 -05:00
Michel Heusschen
cab5477656
fix(web+server): showing assets without thumbnail (#2652)
* fix(web+server): showing assets without thumbnail

* missed change
2023-06-03 21:41:27 -05:00
Michel Heusschen
9807f76aff
chore(web): improve type checking (#2644)
* fix(web): use id instead of assetId

* chore(web): improve type checking

* fix test jobs

* improve type checking and resolve errors
2023-06-02 08:55:08 -05:00
Michel Heusschen
47673dd773
fix(web): use id instead of assetId (#2643) 2023-06-02 08:50:35 -05:00
Jason Rasmussen
2493dfaba3
feat(server): dynamic job concurrency (#2622)
* feat(server): dynamic job concurrency

* styling and add setting info to top of the job list

* regenerate api

* remove DETECT_OBJECT job

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-06-01 05:32:51 -05:00
Michel Heusschen
e7ad622c02
refactor(web): user avatar (#2585)
* refactor(web): user avatar

* change user settings link

* update package lock json

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-05-28 08:10:55 -05:00
Sergey Kondrikov
6c6c5ef651
chore(web): generate API functions with a single argument (#2568) 2023-05-27 20:52:22 -05:00
Jason Rasmussen
d6756f3d81
feat(web): improved action bar actions (#2553)
* feat(web): improved action bar actions

* Update web/src/lib/components/photos-page/actions/delete-assets.svelte

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>

* update archive and favorite actions

* feat: add un archive/favorite on associated pages

* fix favorite action + use isAllArchived for photos

* remove unneeded unarchive check

---------

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
2023-05-26 08:11:10 -05:00
Michel Heusschen
1c293a2759
fix(web): back button on person page (#2566) 2023-05-25 11:48:36 -05:00
Michel Heusschen
062e2eca6f
feat(web+server): map date filters + small changes (#2565) 2023-05-25 11:47:52 -05:00
Fynn Petersen-Frey
bcc2c34eef
feat(mobile): partner sharing (#2541)
* feat(mobile): partner sharing

* getAllAssets for other users

* i18n

* fix tests

* try to fix web tests

* shared with/by confusion

* error logging

* guard against outdated server version
2023-05-24 22:52:43 -05:00
Jason Rasmussen
2dc8a93685
feat(web): use user layout on admin pages (#2550) 2023-05-23 19:02:12 -05:00
Michel Heusschen
99b018cd49
fix(web): loading leaflet in production builds (#2526) 2023-05-23 04:14:00 -05:00
Jason Rasmussen
74353193f8
feat(web,server): user storage label (#2418)
* feat: user storage label

* chore: open api

* fix: checks

* fix: api update validation and tests

* feat: default admin storage label

* fix: linting

* fix: user create/update dto

* fix: delete library with custom label
2023-05-21 23:18:10 -04:00
Michel Heusschen
85c6cf4309
fix(web): context menu overlap + outclick types (#2506) 2023-05-21 11:01:08 -05:00
Michel Heusschen
a7b9adc692
feat(web+server): map improvements (#2498)
* feat(web+server): map improvements

* add number format double to fix mobile
2023-05-21 01:26:06 -05:00
Michel Heusschen
c7c0ef6abc
chore(web): switch to eslint-plugin-svelte package (#2467) 2023-05-18 10:43:09 -05:00
Alex
b776461297
fix(web): unable to change person name (#2458)
* fix(web): unable to change person name

* name changed

* chore: strongly-typed dispatcher

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-05-17 21:13:54 -05:00
Jason Rasmussen
4a0052026f
feat(web): improve page header + scrolling (#2453)
* fix: line to edge of screen

* refactor: user layout page
2023-05-17 14:45:16 -05:00
Jason Rasmussen
93863b0629
feat: facial recognition (#2180) 2023-05-17 12:07:17 -05:00
Michel Heusschen
115a47d4c6
fix(web): layout spacing when zooming (#2452) 2023-05-17 10:44:15 -05:00
martin
308c63df16
fix(web): use correct favicon sizes (#2446)
* fix(web): use correct favicon sizes

Signed-off-by: martin <martin.labat92@gmail.com>

* fix: format

Signed-off-by: martin <martin.labat92@gmail.com>

---------

Signed-off-by: martin <martin.labat92@gmail.com>
2023-05-17 09:20:32 -05:00
Michel Heusschen
ab86d0a18d
refactor(web): asset select actions (#2444)
* refactor(web): asset select actions

* remaining pages/components + data flow changes

* fix check
2023-05-16 09:13:20 -05:00
Michel Heusschen
1979c84ea8
chore(web): update eslint and prettier packages (#2437)
Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-05-15 17:58:35 +00:00
Sergey Kondrikov
7f2fa23179
feat (server, web): Share with partner (#2388)
* feat(server, web): implement share with partner

* chore: regenerate api

* chore: regenerate api

* Pass userId to getAssetCountByTimeBucket and getAssetByTimeBucket

* chore: regenerate api

* Use AssetGrid to view partner's assets

* Remove disableNavBarActions flag

* Check access to buckets

* Apply suggestions from code review

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>

* Remove exception rethrowing

* Simplify partner access check

* Create new PartnerController

* chore api:generate

* Use partnerApi

* Remove id from PartnerResponseDto

* Refactor PartnerEntity

* Rename args

* Remove duplicate code in getAll

* Create composite primary keys for partners table

* Move asset access check into PartnerCore

* Remove redundant getUserAssets call

* Remove unused getUserAssets method

* chore: regenerate api

* Simplify getAll

* Replace ?? with ||

* Simplify PartnerRepository.create

* Introduce PartnerIds interface

* Replace two database migrations with one

* Simplify getAll

* Change PartnerResponseDto to include UserResponseDto

* Move partner sharing endpoints to PartnerController

* Rename ShareController to SharedLinkController

* chore: regenerate api after rebase

* refactor: shared link remove return type

* refactor: return user response dto

* chore: regenerate open api

* refactor: partner getAll

* refactor: partner settings event typing

* chore: remove unused code

* refactor: add partners modal trigger

* refactor: update url for viewing partner photos

* feat: update partner sharing title

* refactor: rename service method names

* refactor: http exception logic to service, PartnerIds interface

* chore: regenerate open api

* test: coverage for domain code

* fix: addPartner => createPartner

* fix: missed rename

* refactor: more code cleanup

* chore: alphabetize settings order

* feat: stop sharing confirmation modal

* Enhance contrast of the email in dark mode

* Replace button with CircleIconButton

* Fix linter warning

* Fix date types for PartnerEntity

* Fix PartnerEntity creation

* Reset assetStore state

* Change layout of the partner's assets page

* Add bulk download action for partner's assets

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
2023-05-15 12:30:53 -05:00
Michel Heusschen
4524aa0d06
refactor(web): use ImmichApi to create urls (#2435) 2023-05-13 21:52:29 -05:00
Alex
4dff129949
feat(web): Replicate albums view for sharing view (#2433)
* replicate album view for sharing view

* Remove unused file

* fix test

* correct title
2023-05-13 09:05:30 -05:00
Alex
f961acdf0c
feat(web): album card hover styling (#2424)
* feat(web): album card hover styling

* feedback

* fix delete button not shown

* better color
2023-05-11 11:50:48 -05:00
faupau
98bb3de8da
fix(web) small UI improvements (#2369)
* small changes in asset viewer navigation

* add conditional wrapper and scroll only content

* fix formatting

* update conditional wrapper

* remove emptz title attribute

* remove conditional-wrapper as it is not needed

* remove isTimeline

* fix map over sidebar

* fix overlap

* fix conflict

* revert z-index

* add relative z index

---------

Co-authored-by: faupau03 <paul.paffe@gmx.net>
2023-05-09 10:10:13 -05:00
Steffen Auer
861de7f8b3
chore(web/mobile): use Heart Icon & small icon changes (#2397) 2023-05-08 14:01:39 -05:00
Matthias Rupp
65daf342df
feat(web): Global map showing all assets with geo information (#2355)
* First crude implementation of the global asset map in web

* Use single DOM element for all markers

* Minor layout changes

* Refactor

* Add asset viewer

* Add API endpoint that returns only assets with location information (Thanks @EPP100)

* Remove sidebar icon flip

* Add dark theme support

* Center map to most recent asset

* Allow cluster viewing

* Fix linter errors

* Add newlines

* Fix ts errors

* Fix eslint error

* Run prettier

* Server code style

* Fix openapi mobile code generation issues

* Map markers test

* fix: Support video thumbnails

* Update API

* Review suggestions

* Review suggestions

* Linter error

* Chage mapMarker endpoint to map-marker

* Clean up leaflet imports
2023-05-05 20:33:30 -05:00
faupau
d565a684a1
feat(web): immich as webapp, add apple icons and manifest file (#2310)
* add apple specific icons
so it can be added to homescreen

* remove jpg icons

* change background color to white

---------

Co-authored-by: faupau03 <paul.paffe@gmx.net>
2023-04-23 20:30:38 -05:00
Alex
6f6f847ee2
feat(web): Add action button to search result page (#2303)
* feat(web): Add action button to search result page

* fix test

* rename

* pr feedback

* better condition

* fix test
2023-04-21 10:10:08 -05:00
Alex
fe3d6b870a
feat(web): add button to archive and unarchive in detail viewer (#2296) 2023-04-20 09:09:27 -05:00
Alex
975d23ee5c
fix(web): empty album is not auto deleted (#2283)
* fix(web): empty album is not auto deleted

* regenerate api

* fix test
2023-04-18 11:26:04 -05:00
Michel Heusschen
8a421831ab
fix(web): noscript message (#2278) 2023-04-18 11:24:17 -05:00
faupau
8a45c258c5
feat(web): smaller thumbnail in explore so at least 2 photos are in a row (#2277)
* image view in explore tab more responsive

* center photo

---------

Co-authored-by: faupau03 <paul.paffe@gmx.net>
2023-04-18 10:35:28 -05:00
faupau
b970a40b4e
feat(web): small responsivness improvements regarding mobile use (#2255)
* make sidebar load more fluid
use css before js kicks in
added xs breakpoint in tailwind config

* fix sidebar hr still showing if opened

* make share tab not overflow on mobile

* make user management tab responsive

* make jobs panel responsive

* fix format in tailwind config

* fix full width on large screens
use md breakpoint for w-[800px]

* show accessible name for all screens

* replace grid with flex-col

* replace all xs with sm

* remove isCollapsed completly
using only tailwinds group feature and sm and md breakpoints

* remove leftovers of isCollapsed
and make the settings content less stretched

* remove isCollapsed in layout and side-bar

* fix code style

---------

Co-authored-by: faupau03 <paul.paffe@gmx.net>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2023-04-17 11:18:49 -05:00
faupau
100866be37
More responsive web frontend (#2245)
* collapsable menu in web, more mobile friendly

* finished sidebar collapsing

* make navigation bar more responsive

* make search bar and admin button more responsive

* fix administration small button coloring

* fix upload button over opened search bar

* open search directly on small devices

* make admin sidebar more responsive

* add small edge to admin content

* server stats more responsive

* fix eslint errors

* server stats flex wrap

* Delete .env

* Revert change in hooks.server.ts

* Revert change in vite.config.js

* little clean up, replace {``} with ""

* remove package-lock.json in root folder

* revert upload button to linkbutton

* show extended sidebar also on focus

* combine changes in side-bar.svelte and
+layout.svelte to side-bar-section

* fix navigation-bar cog color in light theme

---------

Co-authored-by: Paul Paffe <paul.paffe@gmx.net>
2023-04-14 20:41:52 -05:00
Sergey Kondrikov
d314805caf
feat (server, web): Implement Archive (#2225)
* feat (server, web): add archive

* chore: generate api

* feat (web): add empty placeholder for archive page

* chore: remove title on favorites page

Duplicates sidebar selection. Two pages (Archive and Favorites)
are consistent now

* refactor (web): create EmptyPlaceholder component for empty pages

* fixed menu close button not close:

* fix (web): remove not necessary store call

* test (web): simplify asset tests code

* test (web): simplify asset tests code

* chore (server): remove isArchived while uploading

* chore (server): remove isArchived from typesense schema

* chore: generate api

* fix (web): delete asset from archive page

* chore: change archive asset count endpoint

old endpoint: /asset/archived-count-by-user-id
new endpoint: /asset/stat/archive

* chore: generate api

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-04-12 10:37:52 -05:00
Michel Heusschen
ab5b92ae68
refactor(web): centralize buttons (#2200) 2023-04-07 11:45:00 -05:00
Michel Heusschen
b03ce897c7
fix(web): search page navigation and asset select (#2191) 2023-04-06 12:50:44 -05:00
Michel Heusschen
b06ddec2d5
feat(server/web): jobs clear button + queue status (#2144)
* feat(server/web): jobs clear button + queue status

* adjust design and colors

* Adjust some styling

* show status next to buttons instead of on top

* Update rounded corner for badge

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-04-01 15:46:07 -05:00
Michel Heusschen
aaaf1a6cf8
feat(web): pause and resume jobs (#2125)
* feat(web): pause and resume jobs

* add bg color to status instead of using badge

* styling

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-03-31 23:53:20 -05:00
Michel Heusschen
4e526dfaae
feat(web): improve and refactor thumbnails (#2087)
* feat(web): improve and refactor thumbnails

* only play live photos on icon hover
2023-03-26 22:53:35 -05:00
Jason Rasmussen
73a2063d96
fix(server): search and explore issues (#2029)
* fix: send assets to typesense in batches

* fix: run classs transformer on search endpoint

* chore: log typesense filters
2023-03-20 15:16:32 -05:00
Michel Heusschen
9a332074c7
refactor(web): common layout for user pages (#1995)
* refactor(web): common layout for user pages

* remove unused imports
2023-03-18 16:31:15 -05:00
Alex
f56eaae019
feat(server): CLIP search integration (#1939) 2023-03-18 08:44:42 -05:00
Michel Heusschen
87d84b922f
feat(web): improve /auth pages (#1969)
* feat(web): improve /auth pages

* invalidate load functions after login

* handle login server errors more graceful

* add loading state to oauth button
2023-03-15 16:38:29 -05:00
Jonathan Jogenfors
54831878e0
Fix storage template extension display (#2002)
* Display correct jpg file extension

* Fix typo in template directory

* Move storage template to correct spelling
2023-03-15 14:39:29 -05:00
Matthias Rupp
ceb81d00fc
feat(web): Make scaling of albums overview more responsive (#1981)
* Make scaling of albums overview more responsive

* Adapt column sizes

* Run prettier

* Use tailwind magic instead of hard-coded breakpoints
2023-03-11 18:43:54 -06:00
Michel Heusschen
f52e076cb3
feat(web): improve search bar + add to search page (#1957)
* feat(web): improve search bar + add to search page

* fix back button routing
2023-03-06 08:31:58 -06:00
Michel Heusschen
8857d0b8df
feat(web): require page load to export title (#1956) 2023-03-06 08:25:25 -06:00
Jason Rasmussen
2ca560ebf8
feat(web,server): explore (#1926)
* feat: explore

* chore: generate open api

* styling explore page

* styling no result page

* style overlay

* style: bluring text on thumbnail card for readability

* explore page tweaks

* fix(web): search urls

* feat(web): use objects for things

* feat(server): filter by motion, sort by createdAt

* More styling

* better navigation

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
2023-03-05 14:44:31 -06:00
Michel Heusschen
6f605d4a35
fix(web): admin pages layout issue (#1943) 2023-03-05 08:03:51 -06:00
Alex
1918625be9
fix(web): nested layout navigation issue (#1936)
* fix(web): nested layout navigation issue

* move guarding to html template

* fix test
2023-03-04 16:09:55 -06:00
Michel Heusschen
2ac54ce4bd
fix(web): restore album drag and drop upload (#1933) 2023-03-04 08:14:02 -06:00
Jason Rasmussen
0aaeab124d
feat(server)!: search via typesense (#1778)
* build: add typesense to docker

* feat(server): typesense search

* feat(web): search

* fix(web): show api error response message

* chore: search tests

* chore: regenerate open api

* fix: disable typesense on e2e

* fix: number properties for open api (dart)

* fix: e2e test

* fix: change lat/lng from floats to typesense geopoint

* dev: Add smartInfo relation to findAssetById to be able to query against it

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-03-02 20:47:08 -06:00
Alex
25cff6a748
fix(server) long album load time on Album and Sharing page (#1890)
* chore: update package-lock.json version

* rfix(server) long album load time

* remove all eagerness

* generate index

* remove console.log

* remove deadcode

* fix: shared link album owner
2023-02-27 18:28:45 -06:00
Michel Heusschen
243c98a02e
feat(web): re-add version announcement (#1887)
* feat(web): re-add version announcement

* show notification for every update
2023-02-27 17:13:39 -06:00
Michel Heusschen
807bdfeda9
fix(web): layout nesting (#1881)
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-02-26 21:23:43 -06:00
Michel Heusschen
368142e79b
feat(web): improved server stats (#1870)
* feat(web): improved server stats

* fix(web): don't log unauthorized errors

* Revert "fix(web): don't log unauthorized errors"

This reverts commit 7fc2987a77.
2023-02-26 13:57:34 -06:00
Michel Heusschen
3377fa4640
fix(web): use correct api for asset share page (#1879) 2023-02-26 13:21:59 -06:00
Michel Heusschen
e157a69d86
fix(web): don't log unauthorized errors (#1871)
* fix(web): don't log unauthorized errors

* fix docker build error
2023-02-26 10:50:18 -06:00
Michel Heusschen
cc6253ba38
fix(web): sharing of access token in server API (#1858) 2023-02-24 14:42:20 -06:00
Michel Heusschen
9323cc76d9
feat(server): improve API specification (#1853) 2023-02-24 10:01:10 -06:00
Michel Heusschen
5c86e13239
refactor(web): combine api and serverApi (#1833) 2023-02-22 20:49:13 -06:00
Michel Heusschen
10cb612fb1
feat(web): theme/locale preferences and improve SSR (#1832) 2023-02-22 11:53:08 -06:00
Michel Heusschen
4be55428d2
feat(web): syling sidebar buttons (#1812)
* feat(web): syling sidebar buttons

* style: some small changes

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-02-21 06:42:22 -06:00
Alex
2cf42e867c
feat(web): add some material design 3 styling to forms and ui elements (#1798)
* stlye: forms

* style: navigation bar

* style: user profile popup

* style: context menu

* fix: prettier

* style: manage account dark theme color

* style: user profile image border; fix: profile panel z-index

* style: border for profile image on hover and scrolling in administration page

* style: font size

* style: gap between day in a row
2023-02-19 23:29:06 -06:00
Michel Heusschen
575154fdea
refactor(web): use cookies interface (#1777) 2023-02-17 10:37:26 -06:00
Alex
125ec1e85f
fix(web): using serverApi on the client request lead to uncaught error (#1767) 2023-02-15 13:09:28 -06:00
Michel Heusschen
d31b35873f
feat(web): improve login screen (#1754) 2023-02-15 11:56:54 -06:00
Michel Heusschen
1361f18964
feat(web): redirect to login from getting started (#1755) 2023-02-15 06:42:41 -06:00
Michel Heusschen
bd71e087d4
refactor(web): added types and some small changes (#1722) 2023-02-10 16:17:39 -06:00
Michel Heusschen
d91cc3616b
feat(web): make assets cachable (#1724) 2023-02-10 16:01:35 -06:00
Kiel Hurley
5aee5c0fb8
feat(web): More localisation (#1441)
* File size localisation

* Localisation for sidebar tooltips

* Localisation for active/waiting jobs

* Localisation for selected item counts

* Prettier

* Ignore Jest coverage directory for Prettier
2023-01-27 23:57:25 -06:00
James
de0e218440
feat(web): add Favorites page (#1397)
* Duplicate photos page and rename to favorites

* Implement basic functionality to page

* Sort imports

* Add missing sharing code

* Remove unused import

* Fix formatting

* Use GalleryViewer and new api endpoint

* Merge useFavorites into page

* Run prettier

* Move favorites in side-bar

* Remove favorites when unfavorited

* Fix close shared link model

* Add favorite count to side-bar

* Add add to favorites option

* Fix formatting

* Add favorite icon to image thumbnails

* Change var to let
2023-01-27 08:32:26 -06:00
Alex Tran
753d81adad
Fix incorrect way to access the environment variable in Svelte 2023-01-19 10:51:39 -06:00
Connery Noble
43e9529ce4
feat(.well-known): add .well-known/immich to reference API endpoint (#1308)
* feat(.well-known): add .well-known/immich to reference API endpoint

* feat(.well-known): make schema optional (defaults to https)

* adjust method comment to be a little less confusing

* fix casting issue with resovled url

* include when checking Well-known, update server hint

* add validation for login form's server url

* consolidate common process into resolveAndSetEndpoint

* fix missed prettier formatting

* revert translation changes

* update environment variable description, hopefully a bit clearer

* rename environment variable to IMMICH_API_URL_EXTERNAL

* comment out optional env variables

* fix(web): browser-side api client to include authorization token

* Revert "fix(web): browser-side api client to include authorization token"

This reverts commit 60e338938f.

* remove multi-domain related changes
2023-01-19 09:45:37 -06:00
Alex
eace0af7a5
fix(web) Disable draggable on common usage element to avoid trigger drag-n-drop layer (#1330) 2023-01-15 14:01:10 -06:00
Alex
e9fda40b2b
feat(web) Individual assets shared mechanism (#1317)
* Create shared link modal for individual asset

* Added API to create asset shared link

* Added viewer for individual shared link

* Added multiselection app bar

* Refactor gallery viewer to its own component

* Refactor

* Refactor

* Add and remove asset from shared link

* Fixed test

* Fixed notification card doesn't wrap

* Add check asset access when created asset shared link

* pr feedback
2023-01-14 23:49:47 -06:00
Jason Rasmussen
5fb3ea465f
fix(web): login error handling (#1322) 2023-01-13 16:04:59 -06:00
Jason Rasmussen
fa31a6e441
feat(web): meta tags for share links (#1290)
* feat(web): meta tags for share links

* refactor: svelte head tags

* chore: clean up

* chore: linting
2023-01-10 21:36:50 -06:00
Jason Rasmussen
a3688fe642
chore(web): modal max-width to 95 viewport width (#1297) 2023-01-10 21:06:27 -06:00
Jason Rasmussen
bd838a71d1
feat(web,server): disable password login (#1223)
* feat(web,server): disable password login

* chore: unit tests

* chore: fix import

* chore: linting

* feat(cli): server command for enable/disable password login

* chore: update docs

* feat(web): confirm dialogue

* chore: linting

* chore: linting

* chore: linting

* chore: linting

* chore: linting

* chore: fix web test

* chore: server unit tests
2023-01-09 16:32:58 -05:00
Krisjanis Lejejs
5999af6c78
chore(web) Add automatic server stats refetching (#1271) 2023-01-09 14:40:54 -06:00
Krisjanis Lejejs
e4e040f14b
feat(web) Add search functionality to add photo to album modal (#1273) 2023-01-09 14:24:07 -06:00
Alex
10789503c1
feat(web/server) public album sharing (#1266) 2023-01-09 14:16:08 -06:00
Alex Tran
d327ec6ba4
Fixed drag-and-drop overlay blocks scrolling 2023-01-03 11:46:53 -06:00
Krisjanis Lejejs
10b0924cfb
feat(web) Add drag n drop upload functionality (#1216)
* Add image drag n drop functionality

* Change upload cover name, background color and opacity
2022-12-29 20:07:18 -06:00
Alex
de69d0031e
chore(server) Add job for storage migration (#1117) 2022-12-19 12:13:10 -06:00
Alex
e116f17c43
feat(web) add user setting page (#1115)
* refactoring

* refactor

* fix naming

* Added animation

* add user setting page

* Add skeleton for user setting page

* styling

* styling

* Spelling
2022-12-17 16:08:18 -06:00
Alex
c754c860fd
feat(server) user-defined storage structure (#1098)
[Breaking] newly uploaded file will conform to the default structure of `{uploadLocation}/{userId}/year/year-month-day/filename.ext`
2022-12-16 14:26:12 -06:00
Alex Tran
9c01ca1080
Added correct page title for admin sub pages 2022-12-10 09:23:02 -06:00
Jason Rasmussen
14889e7d85
fix(server): require local admin account (#1070) 2022-12-09 14:53:11 -06:00
Jason Rasmussen
5e680551b9
feat(server,web): migrate oauth settings from env to system config (#1061) 2022-12-09 14:51:42 -06:00
Alex
1adf8ff6b6
chore(web) Update SvelteKit (#1066)
* Update sveltekit

* Update sveltekit

* Update correct preloading attribute
2022-12-06 18:08:08 -06:00
Jason Rasmussen
b5d75e2016
feat(server,web): system config for admin (#959)
* feat: add admin config module for user configured config, uses it for ffmpeg

* feat: add api endpoint to retrieve admin config settings and values

* feat: add settings panel to admin page on web (wip)

* feat: add api endpoint to update the admin config

* chore: re-generate openapi spec after rebase

* refactor: move from admin config to system config naming

* chore: move away from UseGuards to new @Authenticated decorator

* style: dark mode styling for lists and fix conflicting colors

* wip: 2 column design, no edit button

* refactor: system config

* chore: generate open api

* chore: rm broken test

* chore: cleanup types

* refactor: config module names

Co-authored-by: Zack Pollard <zackpollard@ymail.com>
Co-authored-by: Zack Pollard <zack.pollard@moonpig.com>
2022-11-14 22:39:32 -06:00
Jason Rasmussen
d3c35ec9c5
feat(server,web): OIDC Implementation (#884)
* chore: merge

* feat: nullable password

* feat: server debugger

* chore: regenerate api

* feat: auto-register flag

* refactor: oauth endpoints

* chore: regenerate api

* fix: default scope configuration

* refactor: pass in redirect uri from client

* chore: docs

* fix: bugs

* refactor: auth services and user repository

* fix: select password

* fix: tests

* fix: get signing algorithm from discovery document

* refactor: cookie constants

* feat: oauth logout

* test: auth services

* fix: query param check

* fix: regenerate open-api
2022-11-14 20:24:25 -06:00
Zeeshan Khan
fe4b307fe6
feat(server,web): Delete and restore user from the admin portal (#935)
* delete and restore user from admin UI

* addressed review comments and fix e2e test

* added cron job to delete user, and some formatting changes

* addressed review comments

* adding missing queue registration
2022-11-07 15:53:47 -06:00
Jason Rasmussen
4274fceafe
feat(web): add selected asset on main timeline to album from selection (#926) 2022-11-04 22:29:48 -05:00
bo0tzz
6172d80776
feat(web) Make "no albums" card clickable (#888)
* Make "no albums" card clickable

* Add cursor-pointer to clickable "no albums" card
2022-10-29 09:48:24 -05:00
Alex
f94176a910
feat(web) dark mode (#867) 2022-10-26 11:10:48 -05:00
Alex
95ebf815eb
feat(web) styling server stats page (#866) 2022-10-25 21:41:46 -05:00
Alex
7b954e21e7
fix(server): add permission for server stats api (#854) 2022-10-23 17:01:41 -05:00
Zeeshan Khan
a6eea4d096
feat(web) add asset count stats on admin page (#843) 2022-10-23 16:54:54 -05:00
Alex
7587f858ae
feat(server/web) Add manual job trigger mechanism to the web (#767) 2022-10-06 11:25:54 -05:00
Alex
e5459b68ff
fix(server,web,mobile): Incorrectly record and show timestamp and time zone of the asset (#706)
Implemented a mechanism to extract the correct time zone from the GPS coordinate if presented in the file's EXIF, and to convert the timestamp to the correct UTC time so that the time will show correctly based on the mobile/web local time zone.
2022-09-22 15:58:17 -05:00
Alex
0d13b25f56
feat(web): Update to latest version of SvelteKit (#705) 2022-09-16 23:13:22 -05:00
Jaime Baez
4f7a3afbfc Fix web lint issues 2022-09-08 17:30:49 +02:00
Jaime Baez
de996c0a81
Merge pull request #612 from immich-app/add/web-ui-tests-setup
Add web UI components tests setup

@alextran1502 I'll get this merged so I can add CI checks for the web as well. Let me know if you have any questions 😃
2022-09-08 11:24:08 +02:00
Alex
566039b93f
feat(web): add asset and album count info (#623)
* Get asset and album count

* Generate APIs

* Added asset count for each type

* Added api on the web

* Added info button for asset and album count to trigger getting info on hover

* Remove websocket event from photo page
2022-09-07 15:16:18 -05:00
Jaime Baez
6b702b13e4 Rename albums BLoC (.bloc.ts convention)
By convention now it's `album.bloc.ts`
2022-09-07 16:04:50 +02:00
Jaime Baez
645bd8a109
Add web test setup (#597)
* Extract logic from Albums page

- move "albums" page logic to `albums-bloc`
- add types to AlbumCard custom events

* Implement some album-bloc unit-tests

- add libraries for testing
- add album factory
- changes in albums-bloc API

* Add rest of albums-bloc test

Cleanup and remove console logs

* Refactor `isShowContextMenu` writable to derived
2022-09-07 05:20:19 -05:00
Alex
552340add7
Feature - Implemented virtual scroll on web (#573)
This PR implemented a virtual scroll on the web, as seen in this article.

[Building the Google Photos Web UI](https://medium.com/google-design/google-photos-45b714dfbed1)
2022-09-04 08:34:39 -05:00
Alex
f980a2f27a
Add asset repository and refactor asset service (#540)
* build endpoint to get asset count by month

* Added asset repository

* Added create asset

* get asset by device ID

* Added test for existing methods

* Refactor additional endpoint

* Refactor database api to get curated locations and curated objects

* Refactor get search properties

* Fixed cookies parsing for websocket

* Added API to get asset count by time group

* Remove unused code
2022-08-26 22:53:37 -07:00
Alex
fdd9f37abd
Added error handling for layout.server.ts to avoid unaccessible to previous deploy instance due to changes in SvelteKit project 2022-08-26 11:30:45 -07:00
Alex
4be9aa091b
Added error handling notification (#536) 2022-08-26 10:36:41 -07:00
Alex
33b810de74
Removed upload button on sharing and album page 2022-08-26 10:05:15 -07:00
Alex
a128833e68
Added limit on total of file upload on web 2022-08-26 09:36:54 -07:00
Alex
f9b1b12b10
Implement notification box for web (#533)
* Added test button

* styling notification box

* Added auto dismission and animation to each notificaiont list

* Remove test button
2022-08-25 23:04:23 -07:00
Alex
68b1655e7f
Show the first two letter of user first and last name when profile image not existed (#532)
* Added user first name and last name abbreviation to Circle Avatar:

* Remove unsued code
2022-08-25 15:52:11 -07:00
Alex
658b64df74
Added page navigation progress indicator 2022-08-25 13:02:36 -07:00
Alex
db2ed2d881
Migrate SvelteKit to the latest version 431 (#526) 2022-08-24 21:10:48 -07:00
bo0tzz
2bf6cd9241
Fix redirect to login page after password change (#461)
* Fix redirect to login page after password change

Copied from the similar fix in #414

* Fix typo in change-password form

* Remove misplaced text from user management page
2022-08-13 09:54:29 -05:00
Alex
a388c5a642
Fixed webp upload on web (#460) 2022-08-12 21:52:30 -05:00
Alex Tran
4b34f017ca cosmetic change 2022-08-12 21:19:54 -05:00
Alex
4b9187928c
Edit user on the web (#458)
* Added dispatch event for edit user

* Fixed import location

* solve merge conflict

* Fixed issue not admin user can access admin page

* Implemented edit user and password reset
2022-08-12 14:25:19 -05:00
Alex
5c78f707fe
Modify Album API endpoint to return a count attribute instead of a full assets array (#454)
* Change API to return assets count and change web behavior accordingly

* Refactor assets.length

* Explicitly declare type of assetCount so Dart SDK understand it

* Finished refactoring on mobile
2022-08-10 22:48:25 -05:00
Alex
0b69feda40
Fixed checkbox render performance (#448) 2022-08-09 19:10:55 -05:00
Alex Tran
cbec75a175
Rewording delete caution message 2022-08-08 22:13:36 -05:00
Alex
bf04d9eb39
Feature - Delete asset on the web (#436)
* Added selection mechanism to photos page

* Added control app bar

* Refactor AlbumAppBar into ControlAppBar

* Added addtional micro interactions when in multi selection mode

* Implemented delete selected asset and rerender
2022-08-08 22:06:11 -05:00
Alex
28c7736ecd
Fix error in logout procedure and guard for each route (#439) 2022-08-07 18:36:34 -05:00