* Add dry_run for `location.create` and `location.addLibrary`
* Add dry_run to IndexerRuleCreateArgs
- Add invalidate_query to create and edit api method of the location route
- Adjust some code to use the new dry_run property
* `AddLocationDialog` and `IndexerRuleEditor` now validate with backend without user interaction
- Create `useCallbackToWatchForm` to make it easier to watch form changes with an async function that also executes during component mount
- `method` is now part of the `addLocationDialog` form schema, and a hidden input
- Add an `index.ts` for hooks and components
* Fix mobile
* Remove redundant type definition
* Add `useCallbackToWatchForm` as an additional hook to `react-hooks/exhaustive-deps`
- Improve `useCallbackToWatchForm` argument handling, to avoid duplicated references to form
* Fix unnecessary form value updates in `addLocationDialog`
- Move reset `method` on `path` change logic from the superfluous `useEffect` to `useCallbackToWatchForm` in `addLocationDialog`
- Improve core API debug logs for `dry_run`
- Fix incorrect file name for `useCallbackToWatchForm` hook
- Improve the documentation for `useCallbackToWatchForm`
- Fix `useCallbackToWatchForm` not ignoring callback errors
- Fix `useCallbackToWatchForm` ignoring returned Promise from `onWatch`
- Add basic validation for the `form` argument in `useCallbackToWatchForm`
* Remove superflous if checks
- generate new core.ts
* Remove DryRunError
* Remove unused import
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* Attempt to fix Windows CI:
- Ensure version 15 of LLVM is installed in Windows CI (due to` ffmpeg-sys-next`)
- Use `GITHUB_TOKEN` in setup-system.ps1 to avoid rate-limiting by github api in Windows CI
- Add `yaml` settings to `.editorconfig`
- Create a symbolic link from `.prettierignore` to `.eslintignore`
- Move `eslint` root to package root config
- Enable `fileNesting` to reduce dotfile clutter in vscode
- Pass `--strict` to apps/releases `lint` command to avoid making interactive queries and hanging `pnpm lint`
- Format with `prettier` and `eslint`
- Remove empty interface/hooks/useMediaQuery.ts
* Replace unmaintained `actions-rs/toolchain` with `dtolnay/rust-toolchain`
- Change setup-system.ps1 to avoid installing pnpm in CI
- Change `pnpm/action-setup` to lock only o major versions of the action
* A hint of file drop
* backport from #671
* accept/reject Spacedrop working
* final cleanup
* Rename spacedrop.tsx to Spacedrop.tsx
* Update index.tsx
* Add bg color to layout
* Add tool options, search state
* support double click nav from search
* useTopBarOptions
* search store
* disable nav button
* search
* Update View.tsx
* rename hook
---------
Co-authored-by: Jamie Pine <ijamespine@me.com>
Co-authored-by: Utku <74243531+utkubakir@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>
- Switched default Media View to squares
- Removed Media View item rounded
- Removed debug sidebar item
- Grey'd out non-functional empty
screens (I'd like to add)
- Removed junk on Overview
- Removed ring effect on buttons
* 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>
* Topbar improvements
lint
lint
Prettier formatting
* pr adjustments
* prettier
* remove forwardedRef from searchbar and use a local ref instead.
* lint
* pr adjustments
prettier
remove forwardedRef from searchbar and use a local ref instead.
lint
* date_created
* replace date_created with created_at
* fix merge
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.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>
* Topbar responsiveness
remove duplicate code
Searchbar: remove form hook and replace with a regular state.
onblur
* Applied feedback + added back in top bar blur
* 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>
* 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>