* Fix setup-system breaking in macOS due to unavailable envvar
- Remove unused docker build-arg from ffmpeg workflow
- Fix Overview Explorer extending below inspector
- Fix some left behind formatting problems
* Some more formatting
* WIP
* Some minor fixes for light theme
- Fix `useIsDark` not reading the initial theme value (only reacting to theme changes)
- Fix `Inspector` always showing a dark image when no item was selected
- Fix `Thumb` video extension using black text on light theme
* Improve form error messages
- Fix `addLocationDialog` not registering the path input
- Remove `@hookform/error-message`
* Fix Dialog not respecting max-width
- Fix ErrorMessage animation jumping
* A lot of misc fixes
- Implement an `useExplorerItemData` (cleaner fix for thumbnail flicker)
- Fix broken image showing for `Thumb` due a rece condition when props are updated
- Implement an `ExternalObject` component that hacks an alternative for `onLoad` and `onError` events for <object>
- Fix `Overview` broken layout when `Inspector` is open and window is small
- Improve `IndexerRuleEditor` UX in `AddLocationDialog`
- Improve the way `IndexerRuleEditor` handles rules deletion
- Fix `IndexerRuleEditor` closing the the new rule form even when the rule creation fails
- Add an editable prop to `IndexerRuleEditor` to disable all editable functions
- Fix `getIcon` fallbacking to Document instead of the dark version of an icon if it exists
- Add some missing colors to white theme
* Format
* Fix Backup restore key dialog not resetting after error
* Feedback
* Format
* Normalize imports
* Fix ColorPicker export
* Fix Thumb video ext not showing in MediaView with show square thumbnails
- Fix AddLocationDialog Error resetting when changing IndexRules
* 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
* added base UI for categories on overview
* update core
* cleanup ui
* Inspector default view if nothing is selected, explorer takes child components, hidden menu tweak if no items are sm:flex
* wip
* somewhat functional
* scroll
* category fixes
* clean category bar
* added config store + made toolbar available on all explorer screens
* clean up overview.tsx
* added counts
* fix inspector bug
* add support for favorites
+ add book extension support
* refactor into smaller components
* Some small rust nitpicks
* fix camel case location_type
* Rust fmt
* fix typescript CI
---------
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: nikec <nikec.job@gmail.com>
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
* 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>
* Hide notice on overview and
- Removed prettier/recommended from eslint
- Optimized imports
* move overview check to parent
* don't show recents if there is none
* use useMatch
* finally
* should be working?
* fix types
* fix types
* Wouldn't it be nice if Metro would just work
* idk
* try harder Metro
* potentially fix bundling issues
* idk, maybe fix it?
* fix metro
* update podfile.lock
* bruh
* bruhz
* tailwind is drunk again
---------
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
* WIP Fix thumb incorrect size
* Fix sidebar thumb incorrect size
- Fix ext pill incorrect positioning on first load
* Improve `Thumb` overall style behavior
- Fix incorrect position of the video extension pill
- Simplify `MediaView`'s `Thumb` usage by internalizing the `mediaAspectSquare` style
- Change `QuickPreview` to use `cover` and size 0 for `Thumb`
* Remove unused import
* Allow modifing the internal img className
* lint
* Apply PR feedback
- Remove superfluous true value in component property
- Rename ObjectKinds to ObjectKindKey
* Fix video ext pill not being properly positioned in MediaView(non square thumbnail) in prod build
* Fix video ext pill incorrect position (now for sure)
- Replace img size logic with ResizeObserver
- Add error handling when thumbnails fails to load
* Shorten variable names
* Fix IndexerRuleEditor isKeyOf
---------
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
* add basic UI protection to stop cut/copies to the same path
* add rust src/dest protections
* fix pasting logic
* fix path canonicalization
* skip paths instead of overwriting them
* Using non-blocking ops and fixing some warnings
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
* remove unused onScroll
* Add open media file with double click
* Hide file thumb in inspector
* Enable media layout
* Add media layout options
* Add media view
* Fix vertical images
* Fix vertical square aspect
* query
* Update Location.tsx
* Some optimizations on explorer data query
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
* Make Prettier and ESLint work together
- Resolve conflicts between Prettier and ESLint regarding indentation and Tailwind rules order
- Add `.editorconfig` to standardize basic formatting options across tools and editors
- Add `.gitattributes` to hide `pnpm-lock.yaml` in `git diff` output
- Include EditorConfig in the recommended extensions for VSCode
- Replace some instances of `pnpm exec <command>` with `pnpm <command>`
- Remove superfluous Tauri config for Linux
* Revert Prettier changes (it was working correctly before)
- Update ESLint to read Tailwind config from absolute path
- Remove redundant Prettier dependency from subprojects
- Specify the source folder for the lint script in subprojects
* use mobile's tailwind config with eslint
* pnpm format + pnpm lint:fix
---------
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
* Add QuickPreview Component
- Improve the handling of Range requests
- Implement logic to answer HEAD and OPTIONS methods
- Handle CORS pre-flight requests
- Expand accepted file types
- Improve error handling of invalid Range requests
* Fix linter errors
- Add `use std::cmp::min` to custom_uri (Required on MacOS & Windows)
- Improve logic for retrieving file information in QuickPreview.tsx
* More linter errors
* Simplify `QuickPreview` by extracting the logic for choosing the file preview tag to a `FilePreview` component
- Fix the typo in `QuickPreview` props name
- Remove the unused `handleMedia` ref
- Move the remaining `QuickPreview` logic to the `transitions` callback
- Simplify the `cors` return type in `custom_uri.rs`
* Refactor range handling in `handle_file` function
- Move range handling logic to the initialization of the `range` variable
- Replace `if let` with `match` to reduce code duplication
- Don't export FilePreview
- Export QuickPreviewProps
* Fix typo in `RangeNotSatisfiable` error message
- Remove redundant variables
* Fixing cas_id generation on watcher
Some improvements on watcher file creation
* Rust fmt
---------
Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
Co-authored-by: Jamie Pine <ijamespine@me.com>
* [Desktop] Improve explorer item context menu tags
* [Desktop] Add tag assignment to file inspector
* clean up
* Update tags/CreateDialog.tsx
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* update color picker
* fix position and ref
* style hex input
* update input field
* add Icon type option
* Update input
* change right padding on lg size
* update other inputs
* update color picker input
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* asset script
* Add commonjs vite plugin
* Use the index file and rename some images
* Delete unsued files and imports
* Change require to import
* Remove @ts-nocheck bcs why not
* improved object icons
* remove redundant control flow
* added support for base icon overrides by extension
+ deleted old icons folder and moved official icons into there
* fixed folder icon error
* removed temp nodes example
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* 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>