Commit graph

175 commits

Author SHA1 Message Date
bunkmate5127
b49157f968
Fix erroneous filesize units (#4266)
Units are all calculated in the base 2 variants (as they should be), but were all named, and carry the units for, the base 10 variants.
2025-02-27 14:05:32 +11:00
WithoutPants
b6ace42973
Custom fields filter UI (#5632)
* Refactor criteria and criterion options
* Add custom fields filtering in UI
2025-02-24 14:32:53 +11:00
stg-annon
d2daf6c69f
Add Sort Name to Tags (#5531)
* override "name" sort with COALESCE
* tag sort_name frontend

adds `data-sort-name` attribute to tag links prioritizes sort_name value but will default to tag name if not present in the same way that COALESCE will prioritize the same values in the same way
* add sort_name filter, update locale per request

* Include sort name in anonymiser
* Add import/export support
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2025-02-11 08:17:21 +11:00
dogwithakeyboard
7f8349469a
Scene Marker grid view (#5443)
* add bulk delete mutation
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-11-29 17:02:20 +11:00
WithoutPants
e8125d08db
Sub second marker timestamp precision (#5431)
* Allow DurationInput to accept/format timestamps with milliseconds
* Get current frame at sub-second precision
2024-11-02 14:59:54 +11:00
MinasukiHikimuna
0d40056f8c
Markers can have end time (#5311)
* Markers can have end time

Other metadata sources such as ThePornDB and timestamp.trade support end times for markers but Stash did not yet support saving those. This is a first step which only allows end time to be set either via API or via UI. Other aspects of Stash such as video player timeline are not yet updated to take end time into account.

- User can set end time when creating or editing markers in the UI or in the API.
- End time cannot be before start time. This is validated in the backend and for better UX also in the frontend.
- End time is shown in scene details view or markers wall view if present.
- GraphQL API does not require end_seconds.
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-11-02 11:55:48 +11:00
Ian McKenzie
180a0fa8dd
Add updated_at field to stash_id's (#5259)
* Add updated_at field to stash_id's
* Only set updated at on stash ids when actually updating in identify

---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-10-31 15:56:16 +11:00
WithoutPants
82f4a8f671 Fix number field render 2024-09-23 10:14:29 +10:00
WithoutPants
33050f700e
Prevent mouse wheel window scrolling on other number fields (#5283) 2024-09-22 15:24:54 +10:00
WithoutPants
306ba63ab6
Prevent window scrolling on mouse wheel scroll when numeric input field is focused and hovered. (#5199) 2024-09-03 16:33:49 +10:00
WithoutPants
bcf0fda7ac
Containing Group/Sub-Group relationships (#5105)
* Add UI support for setting containing groups
* Show containing groups in group details panel
* Move tag hierarchical filter code into separate type
* Add depth to scene_count and add sub_group_count
* Add sub-groups tab to groups page
* Add containing groups to edit groups dialog
* Show containing group description in sub-group view
* Show group scene number in group scenes view
* Add ability to drag move grid cards
* Add sub group order option
* Add reorder sub-groups interface
* Separate page size selector component
* Add interfaces to add and remove sub-groups to a group
* Separate MultiSet components
* Allow setting description while setting containing groups
2024-08-30 11:43:44 +10:00
WithoutPants
6a5dc4e774
Refactor ItemList code and re-enable viewing sub-tag/studio content (#5080)
* Refactor list filter to use contexts
* Refactor FilteredListToolbar
* Move components into separate files
* Convert ItemList hook into components
* Fix criteria clone functions
* Add toggle for sub-studio content
* Add toggle for sub-tag content
* Make LoadingIndicator height smaller and fade in.
2024-07-31 16:35:37 +10:00
WithoutPants
a3e72b61ee
Rename movie components to group (#5038) 2024-07-03 14:17:02 +10:00
WithoutPants
2739696813
Add group graphql interfaces (#5017)
* Deprecate movie and add group interfaces
* UI changes
2024-07-03 13:59:40 +10:00
WithoutPants
af6841be49
Rename Movie to Group in UI (#4963)
* Replace movies with groups in the UI
* Massage menu items
* Change view names
* Rename Movie components to Group
* Refactor movie to group variable names
* Rename movie class names to group
2024-06-26 11:39:31 +10:00
bob123491234
b3d35dfae4
Add tags to studios (#4858)
* Fix makeTagFilter mode

* Remove studio_tags filter criterion

This is handled by studios_filter. The support for this still needs to be added in the UI, so I have removed the criterion options in the short-term.
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-06-18 15:55:20 +10:00
WithoutPants
f26766033e
Performer urls (#4958)
* Populate URLs from legacy fields
* Return nil properly in xpath/json scrapers
* Improve migration logging
2024-06-18 13:41:05 +10:00
WithoutPants
fda4776d30
Movie/Group tags (#4969)
* Combine common tag control code into hook
* Combine common scraped tag row code into hook
2024-06-18 11:24:15 +10:00
WithoutPants
eec31723bd
Tweak relevant sort algorithm (#4902)
* Remove multi-space before getting words
* Trim names and aliases
2024-05-31 17:50:05 +10:00
WithoutPants
e4267a0d83
Fix relevance sorting when name/alias contains leading spaces (#4895) 2024-05-29 07:49:23 +10:00
WithoutPants
ec6acab2f4
Details operation toolbar (#4714)
* Add scene detail header
* Make common count button and add view count
* Add titles to play count and o count buttons
* Move rating from edit panel
* Include frame rate in header
* Remove redundant title/studio
* Improve numeric rating presentation
* Add star where there is no rating header
* Set rating on blur when click to edit
* Add star to numeric rating on gallery wall card
* Apply click to rate on movie page
* Apply click to rate to performer page
* Apply click to rate to studio page
* Fix rating number presentation on list tables
* Add data-value attributes
2024-04-17 10:29:36 +10:00
WithoutPants
e5929389b4
Make migration an asynchronous task (#4666)
* Add failed state and error to Job
* Move migration code
* Add websocket monitor
* Make migrate a job managed task
2024-03-14 11:06:23 +11:00
WithoutPants
fa172c2dfd
Minor mobile fixes (#4683)
* Show card checkbox on mobile
* Don't focus query field on filter dialog open on touch devices
2024-03-14 11:04:25 +11:00
bdbenim
49cd214c9d
Make directors and photographers clickable in detail view (#4621)
* Make directors and photographers clickable
* Make director clickable on movie details page
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-03-14 10:34:24 +11:00
WithoutPants
4b84ec0d85
Support setting galleries in multiple images (#4608) 2024-02-23 11:42:04 +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
WithoutPants
8770e81ec5
Improve sorting of results when entering text in select fields (#4528)
* Sort select results by relevance
* Apply relevance sorting to studio select
* Apply relevance sorting to filter select
2024-02-07 10:32:19 +11:00
CJ
a8df95c3a4
Fit cards properly within their containers (#4514)
* created missing cards grids
2024-02-06 13:06:47 +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
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
keenbed
14bde44597
added support for image orientation filter (#4404)
* added support for image orientation filter
* Add orientation filtering to scenes
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2024-01-16 13:50:17 +11:00
WithoutPants
ca976a0994
Don't bail on error when scraping all (#4442) 2024-01-09 11:39:00 +11:00
DingDongSoLong4
9859ec61fb
Calculate DetailImage fallback width using rem (#4441) 2024-01-09 11:11:46 +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
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
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
a9ab1fcca7
Fix performer stash ids being overwritten in performer tagger (#4215) 2023-10-17 11:42:57 +11:00
InfiniteStash
409f8fc70c
Fix type issues (#4176) 2023-10-16 14:34:54 +11: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
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
DingDongSoLong4
1591180070
Fix bulk performer tagger (#4024)
* Fix tagger modal checkboxes
* Fix UNIQUE constraint detection
* Performer tagger cache invalidation
* Fix batch performer tagger
* Use ToPerformer in identify
* Add missing excluded fields
* Internationalize excluded fields
* Replace deprecated substr()
* Check RemoteSiteID nil
2023-08-17 10:21:24 +10:00
CJ
d0c60bab50
fix separator being used around null fields (#3996)
* fix separator being used around null fields
* updated apple.ts code to use UAParser
2023-08-08 09:32:04 +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
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