Commit Graph

79 Commits

Author SHA1 Message Date
Jamie Pine
18fd0eaff0 [ENG-524] Dismissible notices (#753)
* designed notice component

* Persist notices, fix scroll, add list and grid notice

* Add collection icon

* update descriptions

* fix format

* change to layout mode

---------

Co-authored-by: nikec <nikec.job@gmail.com>
Co-authored-by: Utku <74243531+utkubakir@users.noreply.github.com>
2023-04-25 12:48:14 +00:00
nikec
03228c88ad [ENG-499] Search improvements (#757)
* 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>
2023-04-25 09:23:09 +00:00
Jamie Pine
375ab0ae42 [FIX] transparency on file thumb 2023-04-24 21:32:40 -07:00
jake
da58ba916f [ENG-490] Add support for late key manager setup (#740)
* support for late key manager setup and remove password from onboarding

* mobile

* delete master-password.tsx

* remove secure temp keystore

* remove more km_config artifacts

* fix builds

* Fix most of the UI, there still some minor bugs

* Workaround portalled closing Popovers

* Restore search in core/src/api/mod.rs

* Fix Password eye icon closing Popover on click

* Fix keymanager setup submit button spinner not centered
 - Fix keymanager setup missing logic for disabling form
 - Adjust keymanager tab roundness to match app style

* Restore .gitignore

* Restore .prettierignore

* fixerino tests

---------

Co-authored-by: Utku Bakir <74243531+utkubakir@users.noreply.github.com>
Co-authored-by: Vítor Vasconcellos <vasconcellos.dev@gmail.com>
2023-04-22 09:10:21 +00:00
Vítor Vasconcellos
ddf028e6b5 [ENG-489] FileThumb has incorrect dimensions for some thumbnails (#731)
* 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>
2023-04-22 06:43:08 +00:00
ameer2468
6111a89850 Job manager: remove filters (#751)
Update JobManager.tsx
2023-04-22 06:10:09 +00:00
Vítor Vasconcellos
31a87f6794 [ENG-384] Indexer rules editor (#723)
* WIP Create Indexer Rule UI + Backend api fix

* Complete IndexerEditor UI for creating new rules
- WIP testing to ensure all rules are parsed correctly
- Add utilities to satisfy the TypeScript typechecker
- Introduce a utility function to facilitate extracting information from an RSPCError
- Modify AddLocationDialog to utilize the aforementioned utility function

* Validation and submit logic is now functional
- Reorganize UI for improved user flow
- Implement validation and error messaging, replace some bare inputs with form inputs, and fix styling issues
- Resolve issues with post-processing of rules during submission
- Wrap editable portion of component in a `FormProvider` due to the `Form` being in a `Portal`
- Add specialized `ErrorMessage` component to `@sd/ui` library
- Update `AddLocationDialog` and `FormField` to utilize the new `ErrorMessage` component

* Fix submit not waiting for confirmation from backend
 - Reset form after submit
 - Disable form while submiting
 - Update form related dependencies

* Implement deleting an indexer rule
 - Modify indexer rule api route to disallow deleting default rules

* Fix form reset on error
 - Minor style adjustments
2023-04-22 04:30:11 +00:00
nikec
f2db45fec6 [ENG-521] Add quick preview with space (#749)
Add inspect with space
2023-04-22 04:21:57 +00:00
jake
b26ac18dbe [ENG-516] Prevent copies/cuts to the same source/dest (#748)
* 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>
2023-04-22 02:11:59 +00:00
nikec
c3f97c8bc0 [ENG-519] Add additional selected index reset (#747)
Selected index reset
2023-04-21 17:50:49 -07:00
ameer2468
ca33a9d44e [ENG-473] - Job Manager UI Improvements (#745)
* add support for deleting a specific job

* wip

* Update JobManager.tsx

* Job manager design tweaks + popover open state ignore prop

* tweaks

---------

Co-authored-by: jake <77554505+brxken128@users.noreply.github.com>
2023-04-21 17:08:32 -07:00
nikec
66e08ed010 [ENG-513] Disable & comment out non-ready settings (#742)
* Comment and disable things that aren't ready

* disable node inputs

* hide debug mode in prod
2023-04-21 15:34:52 +00:00
nikec
adf2445c1d [ENG-508] Filter locations (#737)
Filter locations
2023-04-21 14:51:48 +00:00
Brendan Allan
356519848a Explorer search (#738)
* basic file path search

* cleanup

* render explorer in search page

* update materialized path docs
2023-04-21 14:49:46 +00:00
nikec
1918e25a37 [ENG-509] Update libraries settings (#739)
Update libs settings
2023-04-21 14:42:06 +00:00
nikec
a6ed0070f2 [ENG-512] Fix empty explorer view (#741)
Fix initial render
2023-04-21 14:31:05 +00:00
nikec
330b4a7a9d [ENG-506] Disable links (#735)
* disable link

* Update Link.tsx
2023-04-21 14:22:10 +00:00
Vítor Vasconcellos
8cc607a0ad [ENG-492] Onboarding "set password" feels kinda clunky (#734)
* 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
2023-04-21 14:18:16 +00:00
Vítor Vasconcellos
cc1b2e4f58 Misc UI fixes (#725)
* 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
2023-04-21 13:13:03 +00:00
nikec
ed983ead97 [ENG-507] Set active inspector button (#736)
Set active inspector button
2023-04-21 12:01:46 +00:00
Brendan Allan
cd71f148b0 Cleanup TopBar (#733)
cleanup
2023-04-21 03:06:34 -07:00
ameer2468
737fe0a554 Quick fix (#732)
put back in media onclick view - also removed a hook we dont need anymore
2023-04-21 01:32:30 -07:00
Jamie Pine
931159f35e UI tweaks*
- 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
2023-04-21 00:58:50 -07:00
ameer2468
7786c1b8f1 [ENG]-487: Toolbar now uses Context API & Portal (#724)
* 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>
2023-04-21 00:02:06 -07:00
nikec
d4eb84e7e2 [ENG-295] Explorer media view (#730)
* 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>
2023-04-21 02:15:22 +00:00
nikec
d3af123ea3 [ENG 485] Improve create library dialog (#712)
* Move dialogs into router

* Prevent tab focus on show password button

* Add className props to radio group

* Add password strength meter to password input

* Add steps to dialog

* Update create library dialog

* Update select component

* Add select form field

* Add advanced options to create lib dialog

* Remove spacing

* Update checkbox styles

* Revert to single page, add checkbox & accordion, remove privacy

* Revert "Add className props to radio group"

This reverts commit e53e53cbdf.

* Move schema, switch to camel case

* Revert "Add steps to dialog"

This reverts commit e672e1c472.

* Revert "Prevent tab focus on show password button"

This reverts commit d42e4dc988.

* Add margin

* add debounce to password strength

* Update select
2023-04-19 07:54:55 +00:00
Ericson "Fogo" Soares
02a14135a2 [Eng 493] Job manager status showing incorrect (#722)
* Fixing path report for indexer on job manager

* Fixing warnings on migrator tests
2023-04-19 01:05:30 +00:00
Vítor Vasconcellos
54c08365c2 [ENG-286] Set default indexer rules for location (#690)
* 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
2023-04-18 06:25:57 +00:00
Oscar Beaumont
096e1e81cc Automatic job progress (#717)
Remove time tracker task + sender level debouncing
2023-04-18 06:24:06 +00:00
nikec
a964c434f1 [ENG-475] Fix list view scroller (#715)
Switch to absolute rows
2023-04-18 06:23:30 +00:00
ameer2468
5a2b31dd87 [ENG-467]: Topbar improvements + show_at control (#709)
* 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>
2023-04-17 14:01:42 +00:00
nikec
9c86fa2dca [ENG-466] Fix topbar tooltip collision (#704)
Fix z-index

Co-authored-by: Brendan Allan <brendonovich@outlook.com>
2023-04-17 06:10:43 -07:00
Oscar Beaumont
54f757bf1f Job system improvements v2 (#707)
* Add `JobInitData` trait + change `StatefulJob::name` to a constant

* `StatefulJob::new`

* Move `invalidate_query` into `StatefulJob::finalize`

* Cleanup `spawn_job` signature

* Remove `queue_job` and run jobs from the `StatefulJob::finalize` method

* `StatefulJob::queue_jobs`

* `JobManager::ingest` return `Result`

* Remove `jobs.isRunning`

* Invalidation system direct push + batching invalidate

* Look ma, only a single clippy warning!!!!

* Error handling for JobManager

* Rust fmt

* Introducing Job hierarchy to enable job enqueuing

* Rust fmt again 🙄

* core.ts

---------

Co-authored-by: Ericson Soares <ericson.ds999@gmail.com>
2023-04-15 14:43:04 +08:00
Vítor Vasconcellos
50442ede3e [ENG-469] Make Prettier and ESLint work together (#706)
* 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>
2023-04-14 21:21:21 +00:00
ameer2468
18938a89fc [ENG-458] - Top Bar Responsiveness (#705)
* Topbar responsiveness

remove duplicate code

Searchbar: remove form hook and replace with a regular state.

onblur

* Applied feedback + added back in top bar blur
2023-04-14 03:54:55 -07:00
ameer2468
809a615946 [ENG-450] TopBar revamp and restructure (#701)
* TopBar revamp and restructure

* file tweaks

* Update package.json

* Typecheck missed

* TopBar revamp and restructure

file tweaks

Update package.json

Typecheck missed

* Removed search icon and layout change

* move framer to interface/package.json

* Increase spacing

* fixes & tweaks

* Update TopBar.tsx

* typecheck tweak
2023-04-13 09:33:13 +00:00
Vítor Vasconcellos
421bdc6b90 [ENG-463] QuickPreview fails to render when showing a thumbnail (#703)
Put QuickPreview inside the LibraryContextProvider
2023-04-13 07:22:18 +00:00
nikec
e0f7096c83 Explorer view refactor (#694)
* explorer view refactor

* remove VirtualizedList

* Add file renaming
2023-04-12 12:37:09 -07:00
Vítor Vasconcellos
0ce717d34b [ENG-291] Location settings (#689)
* 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
2023-04-11 20:47:51 -07:00
Vítor Vasconcellos
5ea87c1456 Fix QuickPreview not displaying PDFs on macOS (#682)
- Add missing Dialog.Portal to QuickPreview
 - Fix some portrait image previews extending past the display height
2023-04-11 20:44:53 -07:00
nikec
096741a8fd [Desktop] Renamable files (#675)
* Add rename file option

* make Ericson's changes

* Prevent arrow selecting when renaming, start renaming with Enter option

* fix rename

---------

Co-authored-by: Jamie Pine <32987599+jamiepine@users.noreply.github.com>
Co-authored-by: Jamie Pine <ijamespine@me.com>
2023-04-11 20:43:19 -07:00
nikec
cc4a277116 Fix add location button (#685) 2023-04-10 12:00:37 +00:00
ameer2468
8da465fa28 ENG-449 - Keyboard support for Search & Component Extraction (#683)
* Extracted components within TopBar to their own files as components. Added support for for cmd/ctrl + f and Esc for keyboard searchbar.

* Fixed misplaced event prevent default
2023-04-07 23:45:16 +00:00
Jamie Pine
80f1a40263 [Fix] Spacedrop demo UI 2023-04-06 21:37:29 -07:00
ameer2468
d9b854279c ENG-448 - Refactor Sidebar index.tsx - separate components into their own file (#680)
Refactor Sidebar index.tsx - separate components into their own file
2023-04-06 23:40:27 +00:00
Vítor Vasconcellos
b8eba88e90 QuickPreview Component (Needs test on MacOS) (#665)
* 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>
2023-04-05 21:15:13 -07:00
Jamie Pine
381551014d [Feature] Inspector video preview 2023-04-05 21:07:20 -07:00
Jamie Pine
2381268c6e [Fix] Add location button went ugly 2023-04-05 19:55:57 -07:00
Brendan Allan
5d1c8a3017 fix syncing (#679) 2023-04-05 19:47:10 -07:00
Brendan Allan
fd8af03a84 fix quick rescan loop (#678) 2023-04-05 19:21:03 -07:00