* first phase, basic sharding
* improved API for sharding using a "thumbnailKey"
* clean up param handling for custom_uri
* added version manager with migrations for the thumbnail directory
* remove redundant hash of a hash, silly
* fix mobile
* fix clippy
---------
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
* Centralize the file preview logic in `Thumb.tsx`
* Fix useEffect
* Fix Inspector thumb keeping internal state from previous selected files
- Change video border to follow video aspect-ratio, just like Finder
* Restore memo to Thumb
- Only add borders to video thumb, not the video itself
* Simplify and improve Thumb logic
- Add A internal Thumbnail component
- Rename main component to FileThumb to match mobile naming
- Move getIcon utility function to assets/icons
* Add new `useCallbackToWatchResize` hook
- Replace `ResizeObserver` with new resize hook in `Thumb`
- Simplify and improve `useIsDark` hook by replacing `react-responsive` with direct usage of WebAPI `matchMedia`
- Fix `Thumb` src not updating correctly
- Fix video extension incorrectly showing when size <= 80 in `Thumb`
* Fix `Inspector` not updating thumb type
- Remove superfluous `newThumb` from `getExplorerItemData`
* Remove superfluous `ThumSize`
* Forgot a `?`
* Fix incorrect className check in `Thumb`
- Updated changed files to use the hooks root import
* Format
* Fix PDF preview compleatly breaking the application
- Allow Linux to access both the spacedrive:// custom protocol and the workaround webserver
- On Linux only use the webserver for audio and video, which don't work when requested through a custom protocol
- Configure tauri IPC to allow API access to the spacedrive://localhost domain, to avoid PDF previews from breaking the security scope and rendering the application unusable
- Configure CSP to allow the pdf plugin custom protocol used by webkit
- Fix race condition between Thumb error handler and thumbType useEffect, by using replacing it with a useLayoutEffect
- Improve Thumb's error handling
* d
* wip
* Nit: margin and padding tweak
* UI design tweaks
* Update Job.tsx
* Improve UI
* [WIP] - Refactor job manager
* remove invalidate explorer event on thumb generation. the event above performs atomic updates on the front end when new thumbnails are generated, now just need to make that work
* prettier formatting + removed unused imports
* UI tweaks
* progress bar width adjustment
* tweaks
* fix em
* fix thumbnail generation
* fix progress bar
* fix time
---------
Co-authored-by: Jamie Pine <ijamespine@me.com>
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
Co-authored-by: Oscar Beaumont <oscar@otbeaumont.me>
* beginnings of app directory
* settings mostly good
* colocate way more components
* flatten components folder
* reexport QueryClientProvider from client
* move CodeBlock back to interface
* colocate Explorer, KeyManager + more
* goddamn captialisation
* get toasts out of components
* please eslint
* no more src directory
* $ instead of :
* added back RowHeader component
* fix settings modal padding
* more spacing, less margin
* fix sidebar locations button
* fix tags sidebar link
* clean up back button
* added margin to explorer context menu to prevent contact with edge of viewport
* don't export QueryClientProvider from @sd/client
* basic guidelines
* import interface correctly
* remove old demo data
* fix onboarding layout
* fix onboarding navigation
* fix key manager settings button
---------
Co-authored-by: Jamie Pine <ijamespine@me.com>