* Minor improvements to some onboarding screens
- Add transitions to the password form
- Fix tab order in the Password form
- Remove unimplemented `import Library` button
- Some minor style changes to button focus and form validation error messages
* password eye tabindex
* Misc UI fixes
- Solve React dev warning due to not using ref in a fowardRef
- Show title in alertDialog
* Partial revert "Misc UI fixes"
* Remove console.log from 'OptionsPanel.tsx'
- Replace invalidateQuery with refresh for `locations.list` in `AddLocationDialog`
* Format `Select.tsx`
- Update turbo to fix https://github.com/vercel/turbo/issues/3598
- 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
* Toolbar now uses context api and tools can now be defined within their own route index instead of all in one place
* update
* Update index.tsx
* inline
* Updated to use portals
* lint & format
* format
* Update index.tsx
* fix requested changes
* cleanup
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.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>
* improve app level migration system
* basic unit tests for app migrator
We kinda don't want this going wrong so extra barrier is good.
* fix migrator tests
* Implement multiple Glob matches in the same indexer rule
- Replace matching logic to use GlobSet instead of simple Glob
- Add `No OS protected` indexer rule to avoid indexing OS protected files
- Enable `No OS protected` indexer rule by default
* Rust fmt
* Reduce `No OS protected` rule Glob list by using OR matches
* Add globs for android and ios files in `No OS protected` rule
* Add some more unix special path to be ignored
* Add a new property to IndexerRule to enable it by default when adding a new location:
- Modify the Prisma schema to add the default property to the IndexerRule model.
- Adjust the IndexerRule struct's create and save logic to consider the new property.
- Adjust AddLocationDialog to properly load the default indexer rules from the backend.
- Minorly improve IndexerRuleEditor to avoid adding duplicate entries to its assigned form field.
- Add editorconfig entries for SQL and Prisma types.
* rust fmt
* Add Windows users special folders and files to `No OS protected` rule
* Construct `No OS protected` globs from string vec
- Don't repeat windows globs that require both a root and C: version
* Apply review feedback and add error handling for `IndexerRuleEditor`
- Revert manual changes made to init migration
- Create external migration that adds a `default` prop in `IndexerRule` model
- Remove redundant `useMemo`
- Replace destructuring of `useQuery`
- Provide feedback to user when a error occurs while querying indexer rules
* useMemo only for `indexerRulesIds` and not the whole `defaultValues` object
- Remove logic to accpet unix root path for windows indexer `No OS protected` rule
* Fix issue with root locations failing to be added
- Add `normpath` dependency to the core
- Improve automatic name resolution for new locations
* Add `MetadataExt` trait to extend the `created` and `modified` methods of `Metadata`
- Prevent failure in the Indexer job caused by paths without associated created or modified times; assume current time for both when unavailable
- Rename possible location in root path from `/` to `Root`
* Improve hadling of location path on Windows
- Normalize location's path to ensure a valid format on Windows
- Improve error handling when adding a path
- Avoid consuming symlinks on Linux by not normalizing location's path
- Improve location naming logic
* 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
Remove read-only check when creating a location
- Revert location creation if writing the `.spacedrive` file or updating the library location manager fails
* Implement indexer rule editing for locations
- Partially implement IndexerRuleEditor (missing indexer rule creation)
- Update AddLocationDialog to use IndexerRuleEditor instead of checkboxes
- Enable IndexerRuleEditor on the Location settings page
- Improve error handling on the Location settings page
* Change location data retrieve logic on settings page
- Improve error handling on settings page (don't send NaN to backend)
- Add disabled prop to Form component
- Wait for data before allowing edits on location settings page
- Change some snake_case object properties to camelCase
- Fix a small error in rspc client that transformed any falsy argument value to null
* Remove console.log
* Fix issue with errors only being handled during the first load of the location settings page