eb2292
fe2a8eb0fd
Add keyboard shortcut "d d" to delete scene ( #6755 )
...
Co-authored-by: DogmaDragon <103123951+DogmaDragon@users.noreply.github.com>
2026-03-30 11:04:10 +11:00
WithoutPants
fd480c5a3e
Exclude zip folders when browsing scenes and galleries ( #6740 )
...
* Add short cuts when only getting zip/folder ids
* Don't show zip folders when viewing scenes and galleries.
Zip folders have no results for scenes and galleries, but will for images.
2026-03-24 15:03:58 +11:00
WithoutPants
2e48dbfc63
Update changelog
2026-03-23 17:32:30 +11:00
WithoutPants
87eabf0871
Show studio name if studio image not set on detail pages ( #6716 )
...
* Add StudioLogo component
If no studio image is set, shows the studio icon with the studio name.
* Add option to always show studio text
* Implement studio as text option
* Add studio logo to image
* Clarify existing show studio as text option
2026-03-23 17:13:34 +11:00
Gykes
e0f2c8e96d
FR: Auto Tag Confirmation Modal ( #6735 )
...
* Improve folder list styling
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-03-23 16:16:59 +11:00
WithoutPants
c5034422cb
Expand folder select hierarchy based on initial selected folder ( #6738 )
...
* Add sub_folders field to Folder type
* Expand folder select for the initial value
2026-03-23 16:15:23 +11:00
WithoutPants
c9d0afee56
Fix tagger modal issues ( #6736 )
...
* Make modal field/value styling consistent
Fixes URL list in studio list styling
* Add stash id pill to studio and tag modals
* Fix create parent check box
* Allow excluding parent studio
Disabled the create checkbox if parent studio is not excluded and does not exist.
* Don't render modal on every studio
* Show dialog when refreshing tags
2026-03-23 16:14:25 +11:00
feederbox826
3dbb0fcfc9
[hwaccel] add envvar for /dev/dri device ( #6728 )
2026-03-23 16:10:22 +11:00
WithoutPants
feb4346e13
Maintain sub-folders selection when reselecting folder in filter
2026-03-23 12:31:48 +11:00
DogmaDragon
7a18b5310b
Add GitHub Sponsors and forum links to about section ( #6718 )
...
* Add GitHub sponsors link to about section
* Add forum link to about section
* Fix casing in 'latest_version_build_hash' string in localization file
2026-03-23 09:06:20 +11:00
feederbox826
865c50d615
[ui] Fix Tag Modal cutting off ( #6734 )
2026-03-23 09:02:38 +11:00
WithoutPants
58cf6307cb
Update changelog
2026-03-19 13:59:42 +11:00
feederbox826
79b6cb6fd2
Lint + build update and retooling ( #6638 )
...
* update compiler and build process
- assemble cross-builds in multi-build steps
- clean up unnecessary dependences
- use node docker image instead of nodesource (unsupported)
- downgrade to freebsd12 to match compiler
Co-authored-by: Gykes <Gykes@pm.me>
* [compiler] use new image instead of placeholder
removes .gitignore, update README
* [CI] lock pnpm action-setup to SHA hash
* bump @actions/upload-artifact
---------
Co-authored-by: feederbox826 <feederbox826@users.noreply.github.com>
Co-authored-by: Gykes <Gykes@pm.me>
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-03-19 13:36:58 +11:00
WithoutPants
18eda31933
Make tagger views consistent ( #6713 )
...
* Show performer/studio tagger when no results
* Separate stash-box selector and config buttons
2026-03-19 13:35:18 +11:00
WithoutPants
5fd0d7bd68
Make hover volume configurable ( #6712 )
2026-03-19 13:16:20 +11:00
WithoutPants
c583e88caf
Replace "Source" with "Combined" in merge dialogs ( #6711 )
2026-03-19 12:10:42 +11:00
Stash-KennyG
4167224107
Feature: Add StashID guid consideration into select boxes ( #6709 )
...
* Add GUID search for performers in PerformerSelect component
* Refactor and apply to all objects with stash ids
---------
Co-authored-by: KennyG <kennyg@kennyg.com>
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-03-19 11:03:36 +11:00
WithoutPants
b47134112a
Focus search field when clicking on scraper menu ( #6704 )
...
* Focus search field when opening scraper menu
* Improve styling of search header in scraper menu
2026-03-19 08:51:04 +11:00
WithoutPants
208c19a81d
Replace tag list view with tag list table ( #6703 )
...
* Replace tag list view with tag list table
Uses same styling as performer list table
* Remove "count" suffix from count headers in performer list
2026-03-19 08:50:42 +11:00
WithoutPants
b76dd089f5
Update changelog
2026-03-18 16:04:18 +11:00
WithoutPants
93fbb4be80
Add option to ignore zip contents during clean ( #6700 )
...
* Add option to ignore zip file contents while cleaning
Speeds up the clean process with the assumption that files within zip files are not deleted.
* Add UI for new option
2026-03-18 15:58:32 +11:00
dev-null-life
f7b66c7ff9
Keep tag/entity select input focused after creating a new item ( #6697 )
...
* Keep creatable select input focused after creating a new item
When onCreateOption fires, setLoading(true) sets isDisabled on
AsyncCreatableSelect, which triggers a blur and the user loses focus.
Remove isLoading from the isDisabled condition so the input stays
interactive during the async creation; the loading spinner still shows.
Fixes #3998
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Remove unused isLoading destructure in SelectComponent
isLoading flows through via ...props spread in componentProps and
no longer needs to be explicitly destructured.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Apply Prettier formatting to FilterSelect.tsx
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 15:57:54 +11:00
feederbox826
679f49e400
add {phash} argument to queryURLParameters ( #6701 )
2026-03-18 15:46:52 +11:00
WithoutPants
63b1132897
Update weblate translations ( #6698 )
...
* Translated using Weblate (German)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (Japanese)
Currently translated at 82.2% (1029 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ja/
* Translated using Weblate (Finnish)
Currently translated at 79.3% (993 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fi/
* Translated using Weblate (Japanese)
Currently translated at 83.2% (1042 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ja/
* Translated using Weblate (Polish)
Currently translated at 95.2% (1192 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pl/
* Translated using Weblate (Danish)
Currently translated at 86.1% (1078 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/da/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 69.6% (871 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pt_BR/
* Translated using Weblate (Danish)
Currently translated at 86.2% (1079 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/da/
* Translated using Weblate (Danish)
Currently translated at 86.1% (1080 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/da/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Update translation files
Updated by "Cleanup translation files" add-on in Weblate.
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/
* Translated using Weblate (French)
Currently translated at 100.0% (1250 of 1250 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (1250 of 1250 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1250 of 1250 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% (1250 of 1250 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 69.9% (874 of 1250 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pt_BR/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (French)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (German)
Currently translated at 100.0% (1251 of 1251 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (French)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1253 of 1253 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% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (German)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1253 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 70.0% (878 of 1253 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pt_BR/
* Translated using Weblate (French)
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (1271 of 1271 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% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Portuguese (Brazil))
Currently translated at 69.0% (877 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/pt_BR/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/sv/
* Translated using Weblate (Dutch)
Currently translated at 76.7% (975 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/nl/
* Translated using Weblate (Czech)
Currently translated at 100.0% (1271 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/cs/
* Translated using Weblate (Japanese)
Currently translated at 86.7% (1102 of 1271 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ja/
* Translated using Weblate (French)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (French)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (French)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Ukrainian)
Currently translated at 91.0% (1159 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1273 of 1273 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (French)
Currently translated at 100.0% (1278 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1278 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (German)
Currently translated at 86.5% (1106 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (Spanish)
Currently translated at 88.1% (1127 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Italian)
Currently translated at 65.9% (843 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/it/
* Translated using Weblate (Russian)
Currently translated at 82.7% (1057 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ru/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1278 of 1278 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (French)
Currently translated at 100.0% (1280 of 1280 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1280 of 1280 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Update translation files
Updated by "Cleanup translation files" add-on in Weblate.
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/
* Translated using Weblate (French)
Currently translated at 100.0% (1299 of 1299 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1299 of 1299 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1300 of 1300 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1300 of 1300 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1300 of 1300 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (French)
Currently translated at 100.0% (1300 of 1300 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% (1300 of 1300 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1300 of 1300 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Update translation files
Updated by "Cleanup translation files" add-on in Weblate.
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/
* Update translation files
Updated by "Cleanup translation files" add-on in Weblate.
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/
* Translated using Weblate (Estonian)
Currently translated at 85.0% (1122 of 1320 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (1320 of 1320 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Translated using Weblate (French)
Currently translated at 100.0% (1320 of 1320 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 98.0% (1294 of 1320 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (French)
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Spanish)
Currently translated at 97.4% (1288 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Swedish)
Currently translated at 100.0% (1322 of 1322 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% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1322 of 1322 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1323 of 1323 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (German)
Currently translated at 85.1% (1130 of 1327 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/de/
* Translated using Weblate (French)
Currently translated at 100.0% (1327 of 1327 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1327 of 1327 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Estonian)
Currently translated at 100.0% (1332 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1332 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (French)
Currently translated at 100.0% (1332 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1332 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1332 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (1332 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/zh_Hans/
* Added translation using Weblate (Arabic)
* Translated using Weblate (Arabic)
Currently translated at 29.8% (397 of 1332 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ar/
* Translated using Weblate (French)
Currently translated at 100.0% (1334 of 1334 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1334 of 1334 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (French)
Currently translated at 100.0% (1338 of 1338 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/fr/
* Translated using Weblate (Spanish)
Currently translated at 100.0% (1338 of 1338 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/es/
* Translated using Weblate (Estonian)
Currently translated at 99.7% (1335 of 1338 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/et/
* Translated using Weblate (Korean)
Currently translated at 100.0% (1338 of 1338 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ko/
* Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1338 of 1338 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/uk/
* Translated using Weblate (Arabic)
Currently translated at 40.1% (537 of 1338 strings)
Translation: stash/stash
Translate-URL: https://translate.codeberg.org/projects/stash/stash/ar/
* Add arabic language option
---------
Co-authored-by: Alex-NBY <alex-nby@noreply.codeberg.org>
Co-authored-by: donlothario <donlothario@noreply.codeberg.org>
Co-authored-by: wql219 <wql219@noreply.codeberg.org>
Co-authored-by: AlpacaSerious <alpacaserious@noreply.codeberg.org>
Co-authored-by: Anpontant <anpontant@noreply.codeberg.org>
Co-authored-by: gimmeliina <gimmeliina@noreply.codeberg.org>
Co-authored-by: minerh <minerh@noreply.codeberg.org>
Co-authored-by: warchlak <warchlak@noreply.codeberg.org>
Co-authored-by: powdom <powdom@noreply.codeberg.org>
Co-authored-by: qeepoo <qeepoo@noreply.codeberg.org>
Co-authored-by: lugged9922 <lugged9922@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@codeberg.org>
Co-authored-by: doodoo <doodoo@noreply.codeberg.org>
Co-authored-by: bittin <bittin@noreply.codeberg.org>
Co-authored-by: diegoml <diegoml@noreply.codeberg.org>
Co-authored-by: BSSPM <bsspm@noreply.codeberg.org>
Co-authored-by: Zesty6249 <zesty6249@noreply.codeberg.org>
Co-authored-by: Saenko <saenko@noreply.codeberg.org>
Co-authored-by: arkvenom <arkvenom@noreply.codeberg.org>
Co-authored-by: andersondn <andersondn@noreply.codeberg.org>
Co-authored-by: xantror <xantror@noreply.codeberg.org>
Co-authored-by: NymeriaCZ <nymeriacz@noreply.codeberg.org>
Co-authored-by: shimanchu <shimanchu@noreply.codeberg.org>
Co-authored-by: Anonymous <anonymous@noreply.codeberg.org>
Co-authored-by: yec <yec@noreply.codeberg.org>
Co-authored-by: LostUser <lostuser@noreply.codeberg.org>
Co-authored-by: gallegonovato <gallegonovato@noreply.codeberg.org>
Co-authored-by: Strambino <strambino@noreply.codeberg.org>
Co-authored-by: PiskaBoomGonit <piskaboomgonit@noreply.codeberg.org>
Co-authored-by: Super_L <super_l@noreply.codeberg.org>
Co-authored-by: Lauri Lepik <laurilepik@noreply.codeberg.org>
Co-authored-by: interj4 <interj4@noreply.codeberg.org>
2026-03-18 14:04:14 +11:00
WithoutPants
b4dd7e3f15
Changelog v0.31 ( #6692 )
...
* Modify styling to improve readability
2026-03-18 13:01:50 +11:00
WithoutPants
de6c0bace5
Don't read stashignore files in zip files ( #6693 )
2026-03-18 13:01:22 +11:00
dev-null-life
f7b04fba61
Sort performers and studios by scenes file size ( #6642 )
...
* feat: add scenes_size sort option for performers
Adds sorting performers by total file size of associated scenes.
Follows the existing scenes_duration pattern.
Ref: stashapp/stash#5530
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: add scenes_size sort option for studios
Adds sorting studios by total file size of associated scenes.
Follows the existing scenes_duration pattern.
Ref: stashapp/stash#5530
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat(ui): add Scenes Size sort option for performers and studios
Adds 'Scenes Size' to the sort dropdown for performer and studio
list views, with i18n label.
Ref: stashapp/stash#5530
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: extend scenes_size sort to tags
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-18 11:51:56 +11:00
WithoutPants
b2179cd723
Add stash ids to performer merge dialog ( #6688 )
...
* Move reused functions/components to separate files
* Add alwaysShow field to ScrapedDialogRow
* Add stash ids to performer merge dialog
* Reuse StashIDsField in TagMergeDialog
* Always show stash ids when available on scene and tag merge dialogs
2026-03-17 15:48:56 +11:00
WithoutPants
f3c8e7ac9c
Convert career length fields to dates ( #6682 )
...
* Convert career start/end to date
* Update UI to accept dates for career length fields
* Fix date filtering
---------
Co-authored-by: Gykes <24581046+Gykes@users.noreply.github.com>
2026-03-17 15:48:30 +11:00
feederbox826
7872029ffa
add patching for scene-specs-overlay ( #6684 )
2026-03-16 18:05:02 +11:00
dev-null-life
8d1aeede1c
fix: correct typos in GraphQL schema ( #6679 )
...
* fix: correct typos in GraphQL schema comments
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: rename CircumisedEnum to CircumcisedEnum across codebase
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: gofmt performer model files after enum rename
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 17:48:59 +11:00
Gykes
b4fab0ac48
Add parent tag hierarchy support to tag tagger ( #6620 )
2026-03-16 11:34:57 +11:00
WithoutPants
b8bd8953f7
Refactor bulk edit dialogs ( #6647 )
...
* Add BulkUpdateDateInput
* Refactor edit scenes dialog
* Improve bulk date input styling
* Make fields inline in edit performers dialog
* Refactor edit images dialog
* Refactor edit galleries dialog
* Add date and synopsis to bulk update group input
* Refactor edit groups dialog
* Change edit dialog titles to 'Edit x entities'
* Update styling of bulk fields to be consistent with other UI
* Rename BulkUpdateTextInput to generic BulkUpdate
We'll collect other bulk inputs here
* Add and use BulkUpdateFormGroup
* Handle null dates correctly
* Add date clear button and validation
2026-03-14 17:56:31 +11:00
smith113-p
490fa3ea14
Show scene resolution and duration in tagger ( #6663 )
...
* Show scene resolution and duration in tagger
A scene's duration and resolution is often useful to ensure you have
found the right scene. This PR adds the same resolution/duration
overlay from the grid view to the tagger view.
2026-03-10 14:53:20 +11:00
smith113-p
69a49c9ab8
Show the stash box for each stash ID in the scene merge dialog ( #6656 )
...
* Show the stash box for each stash ID in the scene merge dialog
Currently, this dialog only shows the ID but not the stash box it
corresponds to. This is not very useful because the ID does not mean
anything to a user.
This renders the ID as "Stashdb | 1234...", mimicing the StashIDPill.
* Use StashIDPill instead
2026-03-10 14:12:17 +11:00
Gykes
ae5d065da1
Fix infinite re-render loop in gallery image list ( #6651 )
2026-03-10 13:50:57 +11:00
smith113-p
cacaf36347
Use StashIDPill in the performer modal dialog ( #6655 )
...
Currently, this dialog just shows a text "Stash-Box Source".
This change instead re-uses the StashIDPill, with the main advantage
that you can immediately tell which stash box is being used.
2026-03-10 08:01:46 +11:00
WithoutPants
74a8f2e5d5
Disable links on wall items when selecting ( #6649 )
2026-03-06 08:27:25 +11:00
WithoutPants
717f968a2c
Add folder criteria to scenes, images and galleries and sidebars ( #6636 )
...
* Add useDebouncedState hook
* Add basename to folder sort whitelist
* Add parent_folder criterion to gallery
* Add selection on enter if single result
2026-03-05 08:02:13 +11:00
Gykes
fbf91b2526
New: Add From Clipboard to Set Image ( #6637 )
...
* add from clipboard to UI
* only trigger when input not focused
2026-03-04 12:01:31 +11:00
WithoutPants
f7da37400b
Fix preview scrubber scaling on smaller sizes ( #6640 )
2026-03-04 10:10:07 +11:00
Matt Stone
cd0980201c
feat: Add .stashignore support for gitignore-style scan exclusions ( #6485 )
...
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-03-04 08:17:14 +11:00
puc9
1457ad590d
Add Selective generate ( #6621 )
2026-03-03 09:11:28 +11:00
WithoutPants
b9baa7ea9f
Fix gallery image list styling
2026-03-03 08:26:04 +11:00
dev-null-life
b8dff73696
Fix datepicker button border radius in input groups ( #6630 )
...
Add missing .input-group-append .btn border-radius rule to zero out
the left-side radius, matching the existing .input-group-prepend rule.
Fixes #6518
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 15:47:43 +11:00
dev-null-life
bc75d47f15
Fix edit modal not opening inside gallery view ( #6629 )
...
* Fix edit modal not opening inside gallery view
The modal element was only rendered in the sidebar layout branch, but
gallery images use the non-sidebar path which returned content without
the modal. Also stabilize onEdit/onDelete with useCallback and add
missing dependency array to the Mousetrap useEffect.
Closes #6624
* Render modal once above sidebar conditional
Move {modal} above the withSidebar ternary so it is rendered
exactly once, avoiding the duplication that caused the original bug.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 14:45:33 +11:00
DogmaDragon
b46fbb2e7a
Update capitalization for sprite generation heading ( #6623 )
2026-03-02 14:30:38 +11:00
WithoutPants
ead0c7fe07
Add sidebar to Tag list ( #6610 )
...
* Fix image export dialog
* Add sidebar to TagList
* Update plugin docs and types
* Remove ItemList as it is no longer referenced
2026-02-27 07:44:23 +11:00
WithoutPants
660feabced
Update minimatch and ajv dependencies ( #6609 )
...
* Update minimatch
* Update ajv
2026-02-27 07:43:16 +11:00
Gykes
b77abd64e2
FR: Add Missing is-missing Filter Options Across all Object Types ( #6565 )
...
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-02-26 16:36:54 +11:00
WithoutPants
ed58d18334
Add sidebar to images list ( #6607 )
...
* Use effective filter for keybinds/view random
* Refactor ImageList to use sidebar
* Add performer age filter to gallery sidebar
* Port metadata info changes
* Fix incorrect patch component parameter
* Update plugin doc and types
2026-02-26 14:13:15 +11:00
WithoutPants
c522e54805
Show unsupported filter criteria in filter tags ( #6604 )
...
* Show unsupported filter criteria in filter tags
Shows a warning coloured filter tag, with warning icon and text "<type> (unsupported) ...". Cannot be edited, can only be removed. Won't be saved to saved filters.
* Generalise filtered recommendation rows. Include warning popover for unsupported criteria
2026-02-26 07:55:26 +11:00
WithoutPants
5734ee43ff
Add sidebar to scene markers list ( #6603 )
...
* Add tag markers filter
* Add marker count and markers filter to performer filter
* Add sidebar to marker list
2026-02-26 07:54:40 +11:00
DogmaDragon
c9f0dba62f
Fix capitalization in custom localisation heading [skip-ci] ( #6606 )
2026-02-26 07:54:12 +11:00
Gykes
01d351c85d
FR: Custom Fields Frontend ( #6601 )
...
* Add "custom-field-" prefix to custom field detail item ids
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-02-25 14:56:24 +11:00
WithoutPants
cf04e854d6
Fix missing message id changes from #6600
2026-02-25 14:21:16 +11:00
Gykes
0103fe4751
FR: Tags Tagger ( #6559 )
...
* Refactor Tagger components
* condense localization
* add alias and description to model and schema
2026-02-25 11:39:14 +11:00
WithoutPants
14105a2d54
Rename checksum and hash fields ( #6600 )
...
Checksum -> MD5 Checksum
Hash -> oshash with hover showing OpenSubtitles Hash.
Also internationalised perceptual hash hover text.
2026-02-25 10:54:40 +11:00
WithoutPants
410dd27d93
Fix misclicks resulting in navigating to new page during selection ( #6599 )
...
* Disable studio overlay link if selecting
* Prevent scene preview scrubber click navigating during selection
* Prevent gallery preview scrubber click navigating during selection
2026-02-25 10:54:20 +11:00
WithoutPants
aff6db1500
Fix scene player scrubber when custom sprite size used ( #6597 )
2026-02-23 16:51:36 +11:00
1509x
9a1b1fb718
[Feature] Reveal file in system file manager from file info panel ( #6587 )
...
* Add reveal in file manager button to file info panel
Adds a folder icon button next to the path field in the Scene, Image,
and Gallery file info panels. Clicking it calls a new GraphQL mutation
that opens the file's enclosing directory in the system file manager
(Finder on macOS, Explorer on Windows, xdg-open on Linux).
Also fixes the existing revealInFileManager implementations which were
constructing exec.Command but never calling Run(), making them no-ops:
- darwin: add Run() to open -R
- windows: add Run() and fix flag from \select to /select,<path>
- linux: implement with xdg-open on the parent directory
- desktop.go: use os.Stat instead of FileExists so folders work too
* Disallow reveal operation if request not from loopback
---------
Co-authored-by: 1509x <1509x@users.noreply.github.com>
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-02-23 12:51:35 +11:00
WithoutPants
076032ff8b
Custom sprite generation ( #6588 )
...
* configurable minimum/maximum number of sprites
* configurable sprite size
---------
Co-authored-by: cacheflush <github.stoneware268@passmail.com>
2026-02-20 15:09:59 +11:00
WithoutPants
843806247d
Add group scene count filter ( #6593 )
2026-02-20 09:14:25 +11:00
WithoutPants
c15e6a5b63
Include blobs in backup ( #6586 )
...
* Optionally backup blobs into zip
* Add backup dialog
2026-02-20 09:13:55 +11:00
Gykes
3dc86239d2
Feature Request: Add organized flag to studios ( #6303 )
2026-02-19 09:05:17 +11:00
WithoutPants
0164d7ad31
Fix marker form start time not being set when abLoop disabled
2026-02-18 17:30:52 +11:00
Gykes
adaadee368
FR: Change Career Length to Career Start and Career End ( #6449 )
...
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-02-17 13:44:03 +11:00
WithoutPants
bede849fa6
Add sidebar to group list ( #6573 )
...
* Add group filter criteria to tag and studio
* Add sidebar to groups list
* Refactor ListOperations to accept buttons
* Move create new button back to navbar
Having the create new button with a plus icon conflicted with the add sub-group button in the sub-groups view.
* Simplify group-sub-groups view
2026-02-16 17:28:41 +11:00
DogmaDragon
fc31823fd2
docs:update links for custom CSS and themes in Interface.md ( #6581 )
2026-02-16 15:06:40 +11:00
WithoutPants
c8a8154e83
Only use infinite scrolling where there are more items than can be displayed ( #6575 )
...
Also show dots on small viewports, up to a limit of 5
2026-02-13 17:54:58 +11:00
WithoutPants
3ae3ea6102
Default card width before container width is calculated ( #6574 )
2026-02-13 17:06:55 +11:00
WithoutPants
6ef599e894
Make recommendation row width selector more specific.
...
Fixes issue where the media overrides would set the card width to the wrong value on small viewports.
2026-02-13 17:05:20 +11:00
Gykes
d1479ca4e5
Feature: Scene Duplicate Filter ( #6344 )
2026-02-11 11:52:44 +11:00
Gykes
26db935fad
FR: Change Identify Settings to Use Gender Checkboxes ( #6557 )
2026-02-11 11:43:18 +11:00
WithoutPants
5628fbc5d3
Merge tag values dialog ( #6552 )
...
* Change tag merge to accept values.
MergeHierarchy is removed as it is no longer needed
* Add tag merge value dialog to choose values when merging
2026-02-11 11:27:57 +11:00
DogmaDragon
07b483038a
docs: standardize letter casing in settings page ( #6548 )
...
* Standardize letter casing in settings page for headings, options and buttons
* Add localized messages for changelog header and select directory
2026-02-09 10:55:12 +11:00
WithoutPants
8dec195c2d
Quick fix for front page card styling ( #6553 )
2026-02-06 15:53:04 +11:00
WithoutPants
d64b3b711c
Revamp studio list with sidebar ( #6549 )
...
* Add studios_filter to TagFilterType
* Convert studio list to use sidebar
2026-02-06 12:37:38 +11:00
WithoutPants
2b38361a26
Revamp performer list with sidebar ( #6547 )
...
* Add favourite filter
* Add gender sidebar filter
* Remove new performer button from navbar
2026-02-06 12:36:56 +11:00
CJ
f629191b28
Future support for filtering tags list by current filter on Performers page ( #6091 )
2026-02-05 13:35:58 +11:00
WithoutPants
b5de30a295
Revamp gallery list with sidebar ( #6157 )
...
* Make list operation utility component
* Add defaults for sidebar filters
* Refactor gallery list for sidebar
* Fix gallery styling
* Fix sidebar state issues
* Auto-populate query string into name on create
* Remove new gallery button from navbar
* Make components patchable
2026-02-04 16:45:59 +11:00
Hans Evers
ed0fb53ae0
feat: auto-remove duplicate aliases ( #6514 )
2026-02-04 10:37:15 +11:00
GammelSami
cf5d60f511
Added loop feature for markers + AB prefill ( #6510 )
...
* add loop feature for markers + AB prefill
* chore(ui): type ab loop plugin access
2026-02-04 10:18:39 +11:00
Gykes
b76edffc5d
FR: Add Generate Task to Galleries ( #6442 )
2026-02-04 09:34:56 +11:00
DogmaDragon
0e54a5ceb0
docs: add warning emojis to important notes across multiple documentation files ( #6531 )
2026-01-27 17:53:39 +11:00
Valkyr-JS
fe85b1eff9
Image count added to gallery data fragment ( #6527 )
2026-01-27 17:42:58 +11:00
Gykes
244d70e20e
Feature: Stash ID Count Filter ( #6347 )
...
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-01-27 17:26:42 +11:00
WeedLordVegeta420
6f5a7d1f0a
Add latest scene sort for performers and studios. ( #6501 )
2026-01-27 17:24:14 +11:00
dependabot[bot]
b8c5e15217
Bump lodash-es from 4.17.21 to 4.17.23 in /ui/v2.5 ( #6511 )
...
Bumps [lodash-es](https://github.com/lodash/lodash ) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases )
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23 )
---
updated-dependencies:
- dependency-name: lodash-es
dependency-version: 4.17.23
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-27 17:13:06 +11:00
WithoutPants
a05500342a
Image phash generation ( #6497 )
...
* Add image phash generation
* Add phash image filter
* Add phash to image file info and phash image filtering in ui
* Add options to generate image phash for generate/scan tasks
* Add imageIDs input to generate task
* Add generate option to image menus
* Add ellipses to generate
2026-01-27 17:00:56 +11:00
CJ
6bb22146b2
make ImageCard patchable for plugin extensibility ( #6470 )
...
* refactor(ui): make ImageCard patchable for plugin extensibility
Refactor ImageCard component to use PatchComponent wrapper.
Changes:
- Wrap ImageCard and sub-components with PatchComponent
- Extract ImageCardPopovers, ImageCardDetails, ImageCardOverlays,
ImageCardImage as separate patchable components
* Add documentation
---------
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2026-01-27 16:10:49 +11:00
DogmaDragon
09044b92bf
docs: add missing patchable components and library ( #6517 )
2026-01-27 16:06:27 +11:00
Gykes
bef4e3fbd5
Feature: Add "Troubleshooting Mode" ( #6343 )
...
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
Co-authored-by: DogmaDragon <103123951+DogmaDragon@users.noreply.github.com>
2026-01-27 14:26:26 +11:00
WithoutPants
d7d7530c78
Add non-binary gender icon and colour transgender icons ( #6489 )
...
* Add data-gender to gender icon and color transgender gender icons
* Upgrade fontawesome to 7.1
* Add non-binary icon and fix title not showing
2026-01-14 14:28:44 +11:00
RyanAtNight
211f06963e
Add Invert Selection feature to list toolbars ( #6491 )
2026-01-14 14:20:07 +11:00
Gykes
0fa132cf60
FR: Add Delete Button For Scene Covers ( #6444 )
2026-01-14 14:13:41 +11:00
Gykes
77d0008c6d
FR: Save & New Button on Objects ( #6438 )
2026-01-14 14:06:21 +11:00
Valkyr-JS
b4969add27
Plugin API - recommendation row components ( #6492 )
...
* Patched RecommendationRow component
* Patched @ant-design/react-slick library to ReactSlick
* Patched GalleryRecommendationRow component
* Patched GroupRecommendationRow component
* Patched ImageRecommendationRow component
* Patched PerformerRecommendationRow component
* Patched SceneRecommendationRow component
* Patched SceneMarkerRecommendationRow component
* Patched StudioRecommendationRow component
* Patched TagRecommendationRow component
2026-01-14 09:29:57 +11:00
Valkyr-JS
6049b21d22
Plugin API - card grid components ( #6482 )
...
* SceneCardsGrid plugin API patch
* GalleryCardGrid plugin API patch
* GroupCardGrid plugin API patch
* ImageGridCard plugin API patch
* PerformerCardGrid plugin API patch
* ImageGridCard name corrected
* SceneMarkerCardsGrid plugin API patch
* StudioCardGrid plugin API patch
* TagCardGrid plugin API patch
* GalleryGridCard.tsx renamed to GalleryCardGrid.tsx
* ImageGridCard renamed to ImageCardGrid
* SceneCardsGrid renamed to SceneCardGrid
* SceneMarkerCardsGrid renamed to SceneMarkerCardGrid
2026-01-13 15:49:50 +11:00
ghuds540
deada580e5
fix: align card images to center ( #6481 )
2026-01-12 11:17:41 +11:00