* wip
* wip 2
* Grid list single selection
* core & pnpm-lock
* Merge branch 'main'
Conflicts:
interface/app/$libraryId/Explorer/index.tsx
* missing import from merge
* fix total_orphan_paths bug
* add top bar context
* missing pieces of merge
* missing pieces of merge
* missing divs
* Fill fallback value - was causing null error of page
* spelling fixes
* notice light theme, list view update, other explorer updates
* Update pnpm-lock
* Remove procedure
* fix light menu ink color
* fix list view scrolled state
* Change layout default
* Remove unused imports
* remove keys
* empty notice & context menu overview
* Fix prevent selection while context menu is up
* Fix scroll with keys
* Empty notice icon
* Add light icons
* Context menu and fixed list view scroll
* Fix name column sizing
* top/bottom scroll position
* Tag assign only when objectData
* Fix list view locked state
* fix ci
* shamefully ignore eslint
---------
Co-authored-by: Jamie Pine <ijamespine@me.com>
Co-authored-by: ameer2468 <33054370+ameer2468@users.noreply.github.com>
Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
* use image instead of svg (mobile)
* use image instead of svg (desktop)
* remove unused svgs
* add brand svgs
* use brand svgs on landing
* use on desktop
* Fix macOS PDF rendering
- Fix app crashing due to PDF rendering receiving empty URLs
- Attempt fix PDF rendering empty PDFs due to it not supporting range requests
* Fix dumb change from `data` to `src` in `<object>`
- Fix QuickPreview not closing with space bar
- Fix double-click simultaneously renaming and opening file
- Minor improvements to QuickPreview header
- Fix Button inside Button react error in QuickPreview
- Don't render thumb without a valid source
* ExternalObject events must not influence the link state
- More macOS PDF range changes
* Use `<iframe>` instead of `<embed>` or `<object>` to load pdf in macOS
- Revert removing range support for macOS pdf type
- Rename `ExternalObject` to `PDFViewer`
- Fix `AddLocationDialog` sometimes requiring multiple confimations on first load
* `Accept-Ranges: none` Header response as it breaks linux video playback
- Extract location id from from `ExplorerItemData`, to allow rendering original versions on `Overview`
* Format
* cargo fmt
* fix things
* added back/forward buttons to settings
* split top bar context into left and right
* hook up path
* fix background jobs hidden from job manager
* core
* fix type + quick preview transition
* fix selected item color contrast
* fix close button on quick preview
* clean up job ui for light theme
* Improve media view overscan
---------
Co-authored-by: Brendan Allan <brendonovich@outlook.com>
* 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
* 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>
* move tooltip into portal
* Update navigation
* Switch to useMatch
* browser router
* routing
* Hide nav buttons on web
* Include traffic lights and change icon
* 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>
* 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
* 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>
* 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>
* 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>