* refactored `Interactive` class to allow more HapticDevice devices
* simplified api hooks
* update creation of `interactive` to pass `stashConfig`
* updated UIPluginApi to mention `PluginApi.InteractiveUtils`
* Move sidebar toggle to right. Change icon
* Show sidebar button on selection
* Fix clicking toggle cycling visibility on smaller views
* Show more tags component when cutoff == 0
* Hide filter/filter icon buttons in certain situations
* Move sidebar toggle to left on xl viewports
* Add search term to filter tags on scene list page
Clicking on the tag selects all on the search term input. Clicking on the x erases it.
* Ensure clear criteria maintains consistent behaviour on other pages
* Hide search term tag when input is visible
* Add load/save buttons to edit filter dialog
* Add title to save filter dialog
* Change ExistingSavedFilterList parameters
* Add title to load/save buttons
* Show zoom slider when wall view active
* Add zoom functionality to scene wall
* Add zoom functionality to image wall
* Add zoom functionality to gallery wall
* Add zoom functionality for marker wall
* Add search term to filter tags on scene list page
Clicking on the tag selects all on the search term input. Clicking on the x erases it.
* Ensure clear criteria maintains consistent behaviour on other pages
* Add filter tags to toolbar
* Show overflow control if filter tags overflow
* Remove second set of filter tags from top of page
* Add border around filter area
* Add sticky query toolbar to scenes page
* Filter button accept count instead of filter
* Add play button
* Add create button functionality. Remove new scene button from navbar
* Separate toolbar into component
* Separate sort by select component
* Don't show filter tags control if no criteria
* Add utility setter methods to ListFilterModel
* Add results header with display options
* Use css for filter tag styling
* Add className to OperationDropdown and Item
* Increase size of sidebar controls on mobile
* Adjust main padding to be the same as navbar height
* Add LoadedContent component for loading and error display
* Add option for pagination popup placement
* Show results summary at top only. Add sticky bottom pagination
* Separate ZoomSlider into own component
* Turn ListViewOptions into dropdown
Also puts zoom slider in the dropdown
* Move ZoomSlider into separate file
* Add title
* Restyle slider
* Feat(#1401): Show all performers from group's scenes on group detail
* Add Groups criterion to performers
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
* Improve error messages when unable to contact server
* Improve error message presentation
* Catch errors when configuration can't be loaded
* Use ErrorMessage in PagedList
* Add icon to error message
* Use gallery for scene wall
* Move into separate file
* Remove unnecessary class names
* Apply configuration
* Reuse styling
* Add Scene Marker wall panel
* Adjust target row height
* Use StashIDPill to show stash IDs in the tagger view
This is visually nicer, but more importantly, lets you see easily which stash-boxes are already associated with this scene.
* Move into separate component. Add key
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
* Remove accidental copypaste error
The apiKey ref was accidentally associated with the max_requests_per_minute field which made the "Test Credentials" button error out every time
* Fix error messages in stash-box validation
The message from err.Error() can start with any number of errors like NetworkError
so we can check for substrings instead
* Sort tags by name while scraping scenes
* TagStore.All should sort by sort_name first
* Sort tag by sort name/name in TagIDSelect
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
* Add fields to useListSelect
* Add more utility hooks
* Remove context from FilteredListToolbar
* Refactor SceneList to not use ItemList
* Move common logic into useFilteredListHook
* Add hook for grid card width calculation
* Move card width calculation into grid instead of card
Now calculates once instead of per card
* Debounce resize observer
* Translated using Weblate (Swedish)
Currently translated at 99.8% (1195 of 1197 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (Dutch)
Currently translated at 70.0% (838 of 1197 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/nl/
* Translated using Weblate (Dutch)
Currently translated at 70.0% (838 of 1197 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/nl/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (1195 of 1197 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (French)
Currently translated at 99.9% (1197 of 1198 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 87.8% (1052 of 1198 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (French)
Currently translated at 100.0% (1198 of 1198 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Japanese)
Currently translated at 83.6% (1002 of 1198 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ja/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1198 of 1198 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Norwegian Bokmål)
Currently translated at 19.3% (232 of 1198 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/nb_NO/
* Translated using Weblate (French)
Currently translated at 100.0% (1198 of 1198 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Czech)
Currently translated at 100.0% (1198 of 1198 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/cs/
* Translated using Weblate (Russian)
Currently translated at 96.4% (1155 of 1198 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ru/
* Translated using Weblate (Catalan)
Currently translated at 37.3% (447 of 1198 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ca/
* Translated using Weblate (Spanish)
Currently translated at 98.2% (1177 of 1198 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Finnish)
Currently translated at 77.3% (927 of 1198 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fi/
* Translated using Weblate (Romanian)
Currently translated at 33.8% (406 of 1198 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ro/
---------
Co-authored-by: AlpacaSerious <alpacaserious@noreply.codeberg.org>
Co-authored-by: youri <youri@noreply.codeberg.org>
Co-authored-by: wql219 <wanqinglin219@hotmail.com>
Co-authored-by: doodoo <doodoo@noreply.codeberg.org>
Co-authored-by: jmels <jmels@noreply.codeberg.org>
Co-authored-by: spyder039 <spyder039@noreply.codeberg.org>
Co-authored-by: ahsibu <ahsibu@noreply.codeberg.org>
Co-authored-by: Larsluph <codeberg@larsluph.dev>
Co-authored-by: NymeriaCZ <nymeriacz@noreply.codeberg.org>
Co-authored-by: meeeh <meeeh@noreply.codeberg.org>
Co-authored-by: Adolfo Jayme Barrientos <fito@noreply.codeberg.org>
Co-authored-by: IiroS <iiros@noreply.codeberg.org>
Co-authored-by: MallV0 <mallv0@noreply.codeberg.org>
* Add ReactSelect to PluginApi.libraries
* Make Performer tabs patchable
* Make PerformerCard patchable
* Use registration pattern for HoverPopover, TagLink and LoadingIndicator
Initialising the components map to include these was causing an initialisation error.
* Add showZero property to PopoverCountButton
* Make TagCard patchable
* Make ScenePage and ScenePlayer patchable
* Pass properties to container components
* Add example for scene tabs
* Make FrontPage patchable
* Add FrontPage example
* Change wording of performer age at production
The Performer card had "x years old in this scene", regardless of what sort of media it was attached to. I have made both strings "x [years old] at production instead.
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
* Translated using Weblate (French)
Currently translated at 100.0% (1193 of 1193 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1193 of 1193 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (Turkish)
Currently translated at 92.6% (1105 of 1193 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1193 of 1193 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (German)
Currently translated at 100.0% (1193 of 1193 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (1193 of 1193 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Translated using Weblate (English)
Currently translated at 100.0% (1194 of 1194 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/en/
* Translated using Weblate (English (United States))
Currently translated at 2.0% (24 of 1194 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/en_US/
* Translated using Weblate (Persian)
Currently translated at 0.3% (4 of 1194 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fa/
* Translated using Weblate (Finnish)
Currently translated at 77.3% (924 of 1194 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fi/
* Translated using Weblate (French)
Currently translated at 99.8% (1192 of 1194 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.8% (1192 of 1194 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (French)
Currently translated at 100.0% (1194 of 1194 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1194 of 1194 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Turkish)
Currently translated at 92.3% (1103 of 1194 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Revert "Translated using Weblate (English)"
This reverts commit 037755e80d.
* Revert "Translated using Weblate (English (United States))"
This reverts commit c71d87c866.
* Revert "Translated using Weblate (Chinese (Simplified Han script))"
This reverts commit 95f9ba0490.
---------
Co-authored-by: doodoo <doodoo@users.noreply.translate.codeberg.org>
Co-authored-by: AlpacaSerious <alpacaserious@users.noreply.translate.codeberg.org>
Co-authored-by: slickdaddy <slickdaddy@users.noreply.translate.codeberg.org>
Co-authored-by: wql219 <wanqinglin219@hotmail.com>
Co-authored-by: upstairs <upstairs@users.noreply.translate.codeberg.org>
Co-authored-by: Zesty6249 <zesty6249@users.noreply.translate.codeberg.org>
Co-authored-by: scottjwalter <scottjwalter@users.noreply.translate.codeberg.org>
Co-authored-by: Ricky-Tigg <ricky-tigg@users.noreply.translate.codeberg.org>
* Use playing event instead of play
* Remove unnecessary ensurePlaying() from timeupdate listener
Eliminates redundant API calls by only relying on playing and pause events. Handles edge cases for playback before script upload completion.
* Remove unnecessary video seeking event listener
We don't need it anymore, listening for playing and pause events is enough.
* Send second play event after a play event to adjust for video player issues
* Fix script being paused and played after 10 seconds because of activity tracker dependency change
* Update KeyboardShortcuts.md
- Added table of shortcuts for Image page
- Reorganized a few tables to include sub-headings
- Renamed `Edit Scene tab [...]` heading to `Scene Edit tab [...]` for logical consistency with other headings
- Moved Scene page rating shortcuts from vestigial location in *Edit Scene* section to global Scene page section
* Update edit header to be consitant with the others
---------
Co-authored-by: DogmaDragon <103123951+DogmaDragon@users.noreply.github.com>
* UI: Manifest changes and new square SVG to be used by PWA's
* UI: Fix manifest to include smaller sizes
* Make a maskable icon with a background so it can be seen on most platforms
* UI: Anti-Flashbang
Make the background colour the same as the background as stash
* Move loadMarkers to separate callback
* Remove async from findColors
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
* 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>
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1175 of 1175 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (1175 of 1175 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Added translation using Weblate (Slovak)
* Translated using Weblate (Slovak)
Currently translated at 1.9% (23 of 1175 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sk/
* Added translation using Weblate (Vietnamese)
* Translated using Weblate (Vietnamese)
Currently translated at 9.4% (111 of 1175 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/vi/
* Translated using Weblate (Czech)
Currently translated at 100.0% (1175 of 1175 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/cs/
* Translated using Weblate (German)
Currently translated at 87.4% (1028 of 1175 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (French)
Currently translated at 100.0% (1179 of 1179 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (1179 of 1179 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hant/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1181 of 1181 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (1181 of 1181 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hant/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (1181 of 1181 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Translated using Weblate (French)
Currently translated at 100.0% (1181 of 1181 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (1181 of 1181 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hant/
* Translated using Weblate (Czech)
Currently translated at 99.3% (1175 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/cs/
* Translated using Weblate (Czech)
Currently translated at 100.0% (1183 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/cs/
* Translated using Weblate (French)
Currently translated at 100.0% (1183 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Polish)
Currently translated at 83.8% (992 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pl/
* Translated using Weblate (Vietnamese)
Currently translated at 14.1% (167 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/vi/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1183 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Turkish)
Currently translated at 72.6% (859 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (Turkish)
Currently translated at 82.3% (974 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (German)
Currently translated at 87.1% (1031 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (Dutch)
Currently translated at 69.7% (825 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/nl/
* Translated using Weblate (Turkish)
Currently translated at 85.4% (1011 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (Dutch)
Currently translated at 70.4% (834 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/nl/
* Translated using Weblate (Turkish)
Currently translated at 87.2% (1032 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (Turkish)
Currently translated at 87.2% (1032 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (Norwegian Nynorsk)
Currently translated at 14.7% (174 of 1183 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/nn/
* Translated using Weblate (French)
Currently translated at 100.0% (1184 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Korean)
Currently translated at 99.5% (1179 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Turkish)
Currently translated at 91.0% (1078 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1184 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (1184 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hant/
* Translated using Weblate (Turkish)
Currently translated at 93.3% (1105 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (French)
Currently translated at 100.0% (1184 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 18.7% (222 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 29.3% (348 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 60.3% (714 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1184 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1184 of 1184 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (German)
Currently translated at 87.5% (1037 of 1185 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (English (United States))
Currently translated at 1.3% (16 of 1185 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/en_US/
* Translated using Weblate (Spanish)
Currently translated at 97.6% (1157 of 1185 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (French)
Currently translated at 100.0% (1192 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1192 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Czech)
Currently translated at 99.9% (1191 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/cs/
* Translated using Weblate (Ukrainian)
Currently translated at 88.2% (1052 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1192 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (German)
Currently translated at 100.0% (1192 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (1192 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hant/
* Translated using Weblate (Slovak)
Currently translated at 2.4% (29 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sk/
* Translated using Weblate (Japanese)
Currently translated at 83.8% (999 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ja/
* Translated using Weblate (Latvian)
Currently translated at 9.4% (113 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/lv/
* Translated using Weblate (Norwegian Bokmål)
Currently translated at 19.0% (227 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/nb_NO/
* Translated using Weblate (Turkish)
Currently translated at 92.7% (1105 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/tr/
* Translated using Weblate (Polish)
Currently translated at 83.8% (1000 of 1192 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pl/
* Add instructions to merge codeberg translations
* Rename locale files to correct format
* Add new locales to dropdown list
* Fix error when selecting nn-NO locale
---------
Co-authored-by: AlpacaSerious <AlpacaSerious@users.noreply.translate.codeberg.org>
Co-authored-by: Zesty6249 <Zesty6249@users.noreply.translate.codeberg.org>
Co-authored-by: rodopd <rodopd@users.noreply.translate.codeberg.org>
Co-authored-by: namphongbody <namphongbody@users.noreply.translate.codeberg.org>
Co-authored-by: NymeriaCZ <NymeriaCZ@users.noreply.translate.codeberg.org>
Co-authored-by: upstairs <upstairs@users.noreply.translate.codeberg.org>
Co-authored-by: doodoo <doodoo@users.noreply.translate.codeberg.org>
Co-authored-by: TWNO1 <TWNO1@users.noreply.translate.codeberg.org>
Co-authored-by: wql219 <wanqinglin219@hotmail.com>
Co-authored-by: Larsluph <Larsluph@users.noreply.translate.codeberg.org>
Co-authored-by: danny60718 <danny60718@users.noreply.translate.codeberg.org>
Co-authored-by: k1ngt0ng <k1ngt0ng@users.noreply.translate.codeberg.org>
Co-authored-by: slickdaddy <slickdaddy@users.noreply.translate.codeberg.org>
Co-authored-by: Vistaus <Vistaus@users.noreply.translate.codeberg.org>
Co-authored-by: throbbing <throbbing@users.noreply.translate.codeberg.org>
Co-authored-by: yec <yec@users.noreply.translate.codeberg.org>
Co-authored-by: orders-pawl <orders-pawl@users.noreply.translate.codeberg.org>
Co-authored-by: Mila_42 <Mila_42@users.noreply.translate.codeberg.org>
Co-authored-by: murgleburgle <murgleburgle@users.noreply.translate.codeberg.org>
Co-authored-by: DJSweder <DJSweder@users.noreply.translate.codeberg.org>
Co-authored-by: debate <debate@users.noreply.translate.codeberg.org>
Co-authored-by: abev66 <abev66@users.noreply.translate.codeberg.org>
Co-authored-by: pipo <pipo@users.noreply.translate.codeberg.org>
Co-authored-by: ikayaki <ikayaki@users.noreply.translate.codeberg.org>
Co-authored-by: Marky05 <marky05@users.noreply.translate.codeberg.org>
Co-authored-by: lexiconi <lexiconi@users.noreply.translate.codeberg.org>
Co-authored-by: LauraS <lauras@users.noreply.translate.codeberg.org>
* Update Tasks.md
Denoted which task items are only accessible in advanced mode.
* Add note to transcodes
---------
Co-authored-by: DogmaDragon <103123951+DogmaDragon@users.noreply.github.com>
* Backend changes
* Show custom field values
* Add custom fields table input
* Add custom field filtering
* Add unit tests
* Include custom fields in import/export
* Anonymise performer custom fields
* Move json.Number handler functions to api
* Handle json.Number conversion in api
* 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>
* 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>
* flippable images in expanded view
* adjust table title width
* cleanup
* eliminate bounce and other improvements
* expand support to non full-width option