immich/web
Min Idzelis 837b1e4929
feat(web): Scroll to asset in gridview; increase gridview perf; reduce memory; scrollbar ticks in fixed position (#10646)
* 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
..
bin chore: web shutdown signal (#7114) 2024-02-14 08:57:02 -06:00
src feat(web): Scroll to asset in gridview; increase gridview perf; reduce memory; scrollbar ticks in fixed position (#10646) 2024-08-21 21:15:21 -05:00
static feat(web): Scroll to asset in gridview; increase gridview perf; reduce memory; scrollbar ticks in fixed position (#10646) 2024-08-21 21:15:21 -05:00
.dockerignore feat(web)!: SPA (#5069) 2023-11-17 22:13:36 -06:00
.gitignore Add ablum feature to web (#352) 2022-07-15 23:18:17 -05:00
.npmrc Add web interface with admin functionality (#167) 2022-05-21 02:23:55 -05:00
.nvmrc chore(deps): update dependency node to v20.16.0 (#11421) 2024-07-29 10:33:01 -04:00
.prettierignore chore(web): fix weblate conflicts (#10071) 2024-06-10 13:59:54 +01:00
.prettierrc chore(web): enable prettier json key sorting recursively (#10120) 2024-06-11 12:52:20 +01:00
Dockerfile chore(deps): update node.js to eb8101c (#11436) 2024-07-29 22:53:17 -04:00
eslint.config.mjs refactor(web): add tailwind plugin for repeating grid cols (#11748) 2024-08-13 11:36:46 -04:00
package-lock.json feat: folder view (#11880) 2024-08-21 13:49:37 -05:00
package.json Version v1.112.1 2024-08-15 00:00:22 +00:00
postcss.config.cjs chore(web): prettier (#2821) 2023-06-30 23:50:47 -05:00
README.md docs: add some details for getting started as a developer (#8468) 2024-04-02 11:56:33 -05:00
svelte.config.js feat(web): license UI (#11182) 2024-07-18 10:56:27 -05:00
tailwind.config.js refactor(web): add tailwind plugin for repeating grid cols (#11748) 2024-08-13 11:36:46 -04:00
tsconfig.json chore(web): enable prettier json key sorting recursively (#10120) 2024-06-11 12:52:20 +01:00
vite.config.js feat(web): separate command to build with rollup plugin visualizer (#9097) 2024-04-26 15:36:30 -04:00

Immich web project

This project uses the SvelteKit web framework. Please refer to the SvelteKit docs for information on getting started as a contributor to this project. In particular, it will help you navigate the project's code if you understand the basics of SvelteKit routing.

When developing locally, you will run a SvelteKit Node.js server. When this project is deployed to production, it is built as a SPA and deployed as part of [../server](the server project).