Commit graph

280 commits

Author SHA1 Message Date
WithoutPants
4b84ec0d85
Support setting galleries in multiple images (#4608) 2024-02-23 11:42:04 +11:00
WithoutPants
a303446bb7
Scene play and o-counter history view and editing (#4532)
Co-authored-by: randemgame <61895715+randemgame@users.noreply.github.com>
2024-02-22 11:28:18 +11:00
WithoutPants
5bb9bf902c
Show upgradable packages only when checking for updates (#4599)
* Sort upgradable packages to top
* Show upgradable packages only by default
* Fix loading state when refetching
2024-02-21 08:24:18 +11:00
WithoutPants
e231812203
Movie select overhaul (#4563)
* Add ids to findMovies input
* Use ids for other find interfaces
* Update client side
* Fix gallery select function
* Replace movie select
* Re-add creatable
* Overhaul movie table
* Remove and deprecated unused code
2024-02-19 10:25:08 +11:00
WithoutPants
6e9718a600
Toast improvements (#4584)
* Change default toast placement
* Position at bottom on mobile
* Show single toast message at a time
* Optionally show dialog for error messages
* Fix circular dependency
* Animate toast
2024-02-19 10:22:34 +11:00
WithoutPants
dad4ab6a6f
Fix scraped studio not matching existing value (#4548)
* Fix scraped studio not matching existing
* Fix incorrect key value
2024-02-13 12:24:11 +11:00
WithoutPants
46eb01198a
Plugin api improvements (#4546)
* Expose useToast

* Expose components:

- studio/tag/performer/gallery selects
- date input
- country select
- folder select
2024-02-12 15:07:44 +11:00
WithoutPants
235c9c90c2
Add disambiguation to performer link and performer select values (#4541)
* Add disambiguation to PerformerLink
* Add disambiguation to performer select values
2024-02-12 14:03:45 +11:00
WithoutPants
a4bbdcfbae
Common studio overlay component (#4540)
* Move GridCard to own directory
* Make common studio overlay component
2024-02-12 14:03:13 +11:00
WithoutPants
9981574e82
Add gallery select filter and fix image gallery filtering (#4535)
* Accept gallery ids in findGalleries
* Add gallery select component
* Add and fix image gallery filter
* Show gallery path as alias
2024-02-09 16:42:07 +11:00
DingDongSoLong4
2d73912f15
Improve client-side graphql scalar types (#4511)
* Add types to graphql scalars
* Upgrade dependencies
* Override UI config type
* Remove all IUIConfig casts
* Add tableColumns to IUIConfig
* Add BoolMap type, set strictScalars
* Add PluginConfigMap
* Replace any with unknown
* Add SavedObjectFilter and SavedUIOptions
* Remove unused items from CriterionType
2024-02-07 09:49:32 +11:00
CJ
a8df95c3a4
Fit cards properly within their containers (#4514)
* created missing cards grids
2024-02-06 13:06:47 +11:00
WithoutPants
de2b28d3f9
Studio select refactor (#4493)
* Add id interface to findStudios
* Replace existing selects
* Remove unused code
* Fix scrape/merge select
* Make clearable
2024-02-06 11:26:16 +11:00
WithoutPants
217c02f181
Fix tag selector in scrape dialogs (#4526) 2024-02-06 10:26:16 +11:00
DingDongSoLong4
cf8efa9035
Link improvements and fixes (#4501)
* Add ExternalLink
* Replace <a> with <Link>
2024-02-06 10:21:19 +11:00
CJ
1d0fa27c71
Improve list table readability (#4497)
* fixes mandatory columns bug and consistency issues
2024-02-06 10:18:24 +11:00
DingDongSoLong4
d82c526ada
Minor UI fixes (#4509)
* Fix a zero value disabling the SettingModal
* Fix performer disambiguation styling
* Fix performer tagger error message
2024-01-29 17:56:39 +11:00
WithoutPants
723211a620
Tag select refactor (#4478)
* Add interface to load tags by id
* Use minimal data for tag select queries
* Center image/text in select list
* Overhaul tag select
* Support excludeIds. Comment out image in dropdown
* Replace existing selects
* Remove unused code
* Fix styling of aliases
2024-01-24 20:24:13 +11:00
CJ
dd8da7f339
Improved list view for scenes, galleries and performers (#4368)
Co-authored-by: InfiniteStash <117855276+InfiniteStash@users.noreply.github.com>
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-01-17 10:46:09 +11:00
DingDongSoLong4
9859ec61fb
Calculate DetailImage fallback width using rem (#4441) 2024-01-09 11:11:46 +11:00
WithoutPants
d23cecfc18
Disable select all checkbox for plugin sources (#4434) 2024-01-09 09:32:16 +11:00
CJ
b968aa3f31
Fixes package manger head border (#4420) 2024-01-08 11:54:14 +11:00
WithoutPants
82cbeff9b5
Revert modal button order change (#4400) 2023-12-28 13:56:05 +11:00
DingDongSoLong4
a1bd7cf817
Package manager UI-related tweaks (#4382)
* Add Plugins Path setting
* Fix/improve cache invalidation
* Hide load error when collapsing package source
* Package manager style tweaks
* Show error if installed packages query failed
* Prevent "No packages found" flicker
* Show <unknown> if empty version
* Always show latest version, highlight if new version available
* Fix issues with non-unique cross-source package ids
* Don't wrap id, version and date
* Decrease collapse button padding
* Display description for scraper packages
* Fix default packages population
* Change default package path to community
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2023-12-22 14:05:53 +11:00
DingDongSoLong4
74ddfa47e9
Refactor and fix stashbox submit dialog (#4355) 2023-12-12 11:45:52 +11:00
DingDongSoLong4
d37de0e49b
Fix crash on blank aliases/urls (#4344)
* Fix crash on blank alias/url
* Fix StringListInput clear issue
2023-12-12 11:28:00 +11:00
WithoutPants
b915428f06
UI Plugin API (#4256)
* Add page registration
* Add example plugin
* First version of proper react plugins
* Make reference react plugin
* Add patching functions
* Add tools link poc
* NavItem poc
* Add loading hook for lazily loaded components
* Add documentation
2023-11-28 13:06:44 +11:00
WithoutPants
11a1e49292
Remove timezone from package date format (#4313)
* Use UTC date for manifest
* Use intl to format package dates
2023-11-27 12:13:01 +11:00
WithoutPants
987fa80786
Scraper and plugin manager (#4242)
* Add package manager
* Add SettingModal validate
* Reverse modal button order
* Add plugin package management
* Refactor ClearableInput
2023-11-22 10:01:11 +11:00
elkorol
d95ef4059a
Added various tooltips (#4264) 2023-11-22 09:53:05 +11:00
DingDongSoLong4
f9e11813f0
Toast fixes/refactoring (#4289)
* Memoize Toast functions
* Rename Toast.success to Toast.toast, add new Toast.success
* Disable prefer-destructuring on AssignmentExpression
2023-11-20 14:14:34 +11:00
InfiniteStash
a0f33e3dab
Add filtering to folder select (#4277) 2023-11-20 13:00:28 +11:00
DingDongSoLong4
959f2531fd
Form-related fixes, improvements and refactoring (#4283)
* Fix another validateDOMNesting error
* Fix React.forwardRef error
* Fix encoding_image intl message
* Return null instead of undefined from RatingSystem
* DurationInput tweaks
* DateInput tweaks, remove unused utils functions
* Refactor and deduplicate edit form rendering
* Improve/fix yup validation
2023-11-20 12:42:26 +11:00
WithoutPants
298f3d4e19
Lazy load images (#4228)
* Add lazy loading for many images
* Load sprites on first hover of scrubber
2023-10-23 16:52:56 +11:00
WithoutPants
a83dfff5ff
Show stash-ids with their endpoint (#4216) 2023-10-18 07:56:49 +11:00
InfiniteStash
409f8fc70c
Fix type issues (#4176) 2023-10-16 14:34:54 +11:00
WithoutPants
06c9d6f554
Fix performer select not working correctly in scrape dialog (#4199) 2023-10-13 15:43:23 +11:00
Flashy78
bba60cc45b
Fix width of image selection arrow div (#4142) 2023-09-25 12:24:08 +10:00
DingDongSoLong4
ce55392461
PerformerSelect Tagger bugfixes (#4148)
* Fix Tagger PerformerSelect active highlight
* Clear select on skip
* Add back react-select className
2023-09-25 11:55:36 +10:00
elkorol
636b0a3167
Add Icons to tags if they have parent/child tags (#3931)
* Add Icons to tags if they have parent/child tags
* Refactor TagLink
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2023-09-20 14:08:00 +10:00
WithoutPants
a25286bdcb
Multiple image URLs (#4000)
* Backend changes - ported from scene impl
* Front end changes
* Refactor URL mutation code
2023-09-12 13:31:53 +10:00
DingDongSoLong4
9f4d0af886
Filter criterion fixes (#4090)
* Reorder
* Remove PhashDuplicateCriterion
* Improve DurationInput
* Register abloop outside of player init function
* Remove none criterion
* Typing improvements
* Move makeCriteria to ListFilterModel
* Separate PathCriterionOption
* Add makeCriterion arg to StringCriterionOption
* Remove unused options args
* Add DurationCriterionOption
* Use createNumberCriterionOption
* Add StringBooleanCriterion
2023-09-12 10:53:32 +10:00
WithoutPants
cf3301c8bc
Handle equality when scraping scene performers (#4094) 2023-09-11 10:50:24 +10:00
DingDongSoLong4
50c4ac98af
Thumbnail scrubber improvements (#4081)
* Remove deps from useDebounce hook
* Add useThrottle hook
* Throttle preview scrubber
* Scrubber improvements
2023-09-08 11:33:16 +10:00
yoshnopa
20520a58b4
Saved filter refactor (#4054)
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2023-09-01 10:04:56 +10:00
WithoutPants
fca162f1ca
Refactor scrape dialog (#4069)
* Fix performer select showing blank values after scrape
* Move and separate scrape dialog
* Separate row components from scene scrape dialog
* Refactor object creation
* Refactor gallery scrape dialog
2023-09-01 09:59:06 +10:00
WithoutPants
e40b3d78b2
Performer select refactor (#4013)
* Overhaul performer select
* Add interface to load performers by id
* Add Performer ID select and replace existing
2023-08-24 11:15:49 +10:00
WithoutPants
38a06be148
Make folder select easier to click (#4017) 2023-08-10 13:10:34 +10:00
DingDongSoLong4
5dbf1797e9
Details redesign tweaks and refactoring (#3995)
* Move loadStickyHeader to src/hooks
* intl stashIDs
* Scroll to top on component mount
* Add id to gallery cover image and tweak merge functions
* Add useTitleProps hook
* Also scroll to top on list pages
* Refactor loaders and tabs
* Use classnames
* Add DetailImage
2023-08-08 09:26:22 +10:00
WithoutPants
3ea233dc06
Refactor scraped image selector (#3989)
* Place image selector above image
* Internationalise loading indicator
* Separate and refactor image selector
2023-08-02 16:15:56 +10:00
CJ
00ae40ad72
Detail redesign round 2 bug fixes (#3990)
* increase full-width for measurement issue in apple devices
* trade left margin for more full-width
* removed isApple code from details page
2023-08-02 16:15:09 +10:00
StashPRs
4311e56109
performer: scrape dialog: allow selecting from multiple images (#3965)
* performer: scrape dialog: allow selecting from multiple images
* Hide selector for single images
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2023-08-01 15:02:10 +10:00
WithoutPants
15f91fda13
Fix parent/child links on tag pages (#3978) 2023-08-01 14:14:28 +10:00
CJ
29fb570582
Details redesign bug fixes (#3982)
* setting page top padding
* better age tooltip full width fix with table improvment
2023-08-01 14:14:12 +10:00
CJ
b8e2f2a0fa
Details page redesign (#3946)
* mobile improvements to performer page
* updated remaining details pages
* fixes tag page on mobile
* implemented show hide for performer details
* fixes card width cutoff on mobile(not related to redesign)
* added background image option plus more improvements
* add tooltip for age field
* translate encoding message string
2023-07-31 16:10:42 +10:00
dogwithakeyboard
9f2d12834b
Create movies from scene edit dropdown (#3928) 2023-07-26 14:02:38 +10:00
WithoutPants
eb8a69e326
Place popover to right on edit pages (#3939) 2023-07-26 09:23:50 +10:00
WithoutPants
67d4f9729a
Multiple scene URLs (#3852)
* Add URLs scene relationship
* Update unit tests
* Update scene edit and details pages
* Update scrapers to use urls
* Post-process scenes during query scrape
* Update UI for URLs
* Change urls label
2023-07-12 11:51:52 +10:00
DingDongSoLong4
f65e87773c
Include subsidiary studios/tags in tab badge counters (#3816)
* Add '_all' counts
* Use '_all' counts in UI
* Make other counts non-nullable
* Hide tab counts if zero
* Add resolver parameter
2023-06-16 10:46:14 +10:00
DingDongSoLong4
09df203bcf
Filter tweaks (#3772)
* Use debounce hook
* Wait until search request complete before refreshing results
* Add back null modifiers
* Convert old excludes criterion to includes criterion
* Display criteria with only excludes items as excludes
* Fix depth display
* Reset search after selection
* Add back is modifier to tag filter
* Focus the input dialog after select/unselect
* Update unsupported modifiers
2023-06-06 14:10:14 +10:00
WithoutPants
62b6457f4e
Improve studio/tag/performer filtering (#3619)
* Support excludes field
* Refactor studio filter
* Refactor tags filter
* Support excludes in tags
---------
Co-authored-by: Kermie <kermie@isinthe.house>
2023-05-25 12:03:49 +10:00
DingDongSoLong4
3eb805ca2d
Fix performer image display (#3767)
* Fix displayed performer image sticking after save
* Reset URL before showing dialog in ImageInput
2023-05-25 11:48:32 +10:00
WithoutPants
c77ff8989b
Include precision in rating star classname (#3719) 2023-05-05 09:39:28 +10:00
DingDongSoLong4
152f9114b2
Add hint for alias duplicates (#3653)
* Add hint for duplicate aliases

* Fix spacing

* Fix country select border

* Improve date picker header alignment
2023-04-24 16:56:21 -04:00
WithoutPants
9b8d124ac8
Fix empty strings overwriting during scrape (#3647) 2023-04-08 08:15:09 +10:00
DingDongSoLong4
3ab8f4aca6
Fix scrape dialog null values (#3621) 2023-03-31 10:12:50 +11:00
WithoutPants
0050e4abbf
Fix path filtering when directory has whitespace in it (#3600)
* Add quotes for path with space in path filter
* Hide directory errors in path filter
2023-03-26 07:27:44 +11:00
WithoutPants
b6b275edc8
Date picker (#3572)
* Add date picker dependency
* Add DateInput component
* Add DateInput to edit panels
* Add DateInput to DateFilter
* Add time to DateInput and add to Timestamp filter
* Use calendar icon for button
2023-03-22 11:25:50 +11:00
WithoutPants
b1608128d6
Add folder browser to path filter field (#3570) 2023-03-22 11:17:31 +11:00
WithoutPants
fcfbdc47bc
Include organized field in merge dialog (#3565) 2023-03-22 10:54:45 +11:00
WithoutPants
9a24e6356e
Filter edit fixes (#3556)
* Fix country selector dropdown
* Don't include search term in filter count
* Use info colour for filter button count pill
2023-03-17 15:08:20 +11:00
DingDongSoLong4
bc3730d49f
Add debounce hook (#3524)
* Remove noop
* Add debounce hook
2023-03-13 13:24:37 +11:00
DingDongSoLong4
7b07810c12
Replace react-markdown with react-remark (#3093) 2023-03-02 16:45:09 +11:00
WithoutPants
dc934d73fa
Add setting for dropdown limit (#3459) 2023-02-25 09:31:01 +11:00
DingDongSoLong4
51469cfc7f
Optimize allData queries (#3452)
* Add specific fields to allData queries
* Add additional allData endpoints
2023-02-20 09:24:47 +11:00
DingDongSoLong4
bd747317d4
Update dependencies (again) (#3442)
* Update dependencies
* Upgrade rollup
* Remove all index.ts reexport files
2023-02-17 09:42:44 +11:00
DingDongSoLong4
a1851b3713
Update dependencies (#3123)
* Update localforage, remove query-string
* Update fontawesome and flag-icons
* Update formatjs
* Update axios and videojs
* Update apollo client and graphql
* Update bootstrap and react
* Update polyfills
* Update vite
* Update ESLint
* Update stylelint
* Update configs
* Rebuild yarn.lock
2023-02-16 14:06:44 +11:00
CJ
ebf3a4ba8e
Add tenth place precision star rating (#3343)
* Add tenth place precision star rating
* include rating number by stars
2023-02-16 10:18:10 +11:00
WithoutPants
8bd5f91e58
Disable tag popover for create tag option (#3429) 2023-02-13 12:15:06 +11:00
CJ
7761ac19de
Add count attribute to badges (#3405) 2023-02-08 15:08:38 +11:00
DingDongSoLong4
32e8496314
Add studio performer count (#3362)
* Add studio performer count

* Add mocks
2023-01-28 19:12:47 -05:00
WithoutPants
a67eee8f4c
Fix placeholder in string list input (#3257) 2022-12-09 12:05:05 +11:00
WithoutPants
4daf0a14a2
Performer disambiguation and aliases (#3113)
* Refactor performer relationships
* Remove checksum from performer
* Add disambiguation, overhaul aliases
* Add disambiguation filter criterion
* Improve name matching during import
* Add disambiguation filtering in UI
* Include aliases in performer select
2022-12-01 13:54:08 +11:00
CJ
0664c5b974
Track watch activity for scenes. (#3055)
* track watchtime and view time
* add view count sorting, added continue position filter
* display metrics in file info
* add toggle for tracking activity
* save activity every 10 seconds
* reset resume when video is nearly complete
* start from beginning when playing scene in queue

Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2022-11-21 12:55:15 +11:00
WithoutPants
f0bf780c2e
Use RatingSystem control in RatingFilter (#3133)
* Use RatingSystem control in RatingFilter
* Improve styling for rating on performer page
2022-11-17 10:10:40 +11:00
skier233
7eae751d1c
Stash rating system (#2830)
* add rating100 fields to represent rating range 1-100
* deprecate existing (1-5) rating fields
* add half- and quarter-star options for rating system
* add decimal rating system option

Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2022-11-16 09:31:44 +11:00
WithoutPants
4a054ab081
Support file-less scenes. Add scene split, merge and reassign file (#3006)
* Reassign scene file functionality
* Implement scene create
* Add scene create UI
* Add sceneMerge backend support
* Add merge scene to UI
* Populate split create with scene details
* Add merge button to duplicate checker
* Handle file-less scenes in marker preview generate
* Make unique file name for file-less scene exports
* Add o-counter to scene update input
* Hide rescan for file-less scenes
* Generate heatmap if no speed set on file
* Fix count in scene/image queries
2022-11-14 16:35:09 +11:00
wildsolutionbroadcast
404a68c994
Limiting how many options are shown in select dropdowns (#3062)
Introducing a limit to how many options are shown in select dropdowns. Fixes an issue I was experiencing where large numbers of options (5000 tags) was causing dropdown to be unresponsive. Does not effect filtering, always shows 'Create "..."' option if it exists, and shows a notice at the bottom of the dropdown of how many options were hidden from the list if any were.
2022-11-08 14:41:24 +11:00
WithoutPants
f25881a3bf
Use alpha2 for country label (#3067) 2022-11-03 09:04:48 +11:00
InfiniteTF
7b7d6758ef
Change performer country value to be ISO code (#1922)
* Change performer country value to be ISO code
* Localize country names
* Use country select for filter

Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2022-10-28 16:37:57 +11:00
WithoutPants
e3cd36f25f
Use primary tag name as marker title where title is empty (#2994)
* Fix display of marker popovers
* Use primary tag as title where marker title empty
2022-10-11 14:21:56 +11:00
WithoutPants
ef9e138a2d
[Files Refactor] Object file management (#2790)
* Add Make Primary file function
* Add delete file functionality
2022-10-06 14:50:06 +11:00
Joe Scylla
9083796a42
#1810 Truncate large numbers on buttons (#2781)
* #1810 Truncate large numbers on buttons
* Apply to card popovers as well

Co-authored-by: Roland Karle <roland.karle@aufwind-group.de>
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2022-10-06 12:43:17 +11:00
pickleahead
4c73f2f845
Add descriptions to tags and display tag cards on hover (#2708)
* add descriptions to tags
* display tag description and tag image on hover

Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2022-10-06 10:01:06 +11:00
WithoutPants
5495d72849 File storage rewrite (#2676)
* Restructure data layer part 2 (#2599)
* Refactor and separate image model
* Refactor image query builder
* Handle relationships in image query builder
* Remove relationship management methods
* Refactor gallery model/query builder
* Add scenes to gallery model
* Convert scene model
* Refactor scene models
* Remove unused methods
* Add unit tests for gallery
* Add image tests
* Add scene tests
* Convert unnecessary scene value pointers to values
* Convert unnecessary pointer values to values
* Refactor scene partial
* Add scene partial tests
* Refactor ImagePartial
* Add image partial tests
* Refactor gallery partial update
* Add partial gallery update tests
* Use zero/null package for null values
* Add files and scan system
* Add sqlite implementation for files/folders
* Add unit tests for files/folders
* Image refactors
* Update image data layer
* Refactor gallery model and creation
* Refactor scene model
* Refactor scenes
* Don't set title from filename
* Allow galleries to freely add/remove images
* Add multiple scene file support to graphql and UI
* Add multiple file support for images in graphql/UI
* Add multiple file for galleries in graphql/UI
* Remove use of some deprecated fields
* Remove scene path usage
* Remove gallery path usage
* Remove path from image
* Move funscript to video file
* Refactor caption detection
* Migrate existing data
* Add post commit/rollback hook system
* Lint. Comment out import/export tests
* Add WithDatabase read only wrapper
* Prepend tasks to list
* Add 32 pre-migration
* Add warnings in release and migration notes
2022-09-06 07:03:42 +00:00
WithoutPants
db3138b33f
Fix keyboard shortcuts not working after selecting (#2756)
* Fix keyboard shortcuts not working after selecting
2022-07-22 17:25:48 +10:00
WithoutPants
d32e375521
Treat edited values as scraped (#2702)
* Treat edited values as scraped
* Fix scrape selection on change
2022-06-30 09:25:13 +10:00
WithoutPants
3b4b20e9b2
React code splitting (#2603)
* Code split using react lazy
* Split locales
* Move to lodash-es
* Import individual icons
2022-06-22 14:41:31 +10:00
WithoutPants
20ffd4d51d
Accept gif and webp for images (#2551) 2022-05-04 09:27:50 +10:00
WithoutPants
9e606feb76
Refresh marker panel on marker create (#2502)
* Update scene markers on create
* Improve display of markers without titles
* Fix marker title not populating
2022-04-21 11:33:04 +10:00