Skip to content

Folder View mode for browsing - #7030

Open
m6man wants to merge 1 commit into
stashapp:developfrom
m6man:m6man/issue7023
Open

Folder View mode for browsing#7030
m6man wants to merge 1 commit into
stashapp:developfrom
m6man:m6man/issue7023

Conversation

@m6man

@m6man m6man commented Jun 13, 2026

Copy link
Copy Markdown

Fixes #1586

Description

adds a folder view / browser for scenes and images (no zip support yet).

Related Issue

#1586

Testing

  • go and biome linting
  • frontend testing
  • make validate
  • make build

Screenshots

"before" doesn't really apply, but here are some implementation screenshots:

screenshot-1-root screenshot-2-nav screenshot-3-scenes screenshot-4-images

Checklist

  • I have read and understood the Contributing document.
  • I have read and understood the AI Usage Policy document.
  • I have made corresponding changes to the documentation (if applicable).

AI Usage Disclosure

  • I have used AI tools to assist with this pull request, and I have disclosed the tools and how I used them below.

i used AI to help me set up the dev environment and for the initial implementation. i reviewed all changes, made edits to increase the code quality and simplify the code (especially for the frontend), tested it, fixed all issues i found, and also made sure build and make validate run without errors (i've read all .md files in docs/). for context i'm a working software dev, but only in typescript and php, not golang. luckily this feature barely needed backend changes.

Additional Context

if there are any suggestions for improving the code, like re-using existing code i didn't find or otherwise, i'd really appreciate it!

things i deliberately left out of this PR to keep review simpler, and because its my first PR + im new to Golang:

  • batch actions (code re-uses SceneCardGrid but just has a no-op for onSelectChange, i.e. checkboxes on hover dont do anything)
  • image preview like on the images tab (same no-op on onPreview, clicking navigates to the image route)
  • zip support

misc notes:

  • if apollo/client was updated to v4, the new dataState would enable type-narrowing on result (i.e. if error and loading is handled, .data won't be possibly undefined anymore for TypeScript). this is a base-line feature of tanstack query (formerly react query).
  • when i looked for existing DB seeding code i found scripts/test_db_generator/makeTestDB.go which appears to be very abandoned and broken. luckily the setup without it is very easy (just like in production), but i think a file like this should either be fixed or deleted.
  • using react compiler would allow removing most (all?) useMemo / useCallback code, potentially huge line-of-code and complexity savings

@m6man
m6man marked this pull request as draft June 13, 2026 00:23
@m6man
m6man force-pushed the m6man/issue7023 branch from c3b0f15 to c26aa64 Compare June 13, 2026 00:25
@m6man
m6man marked this pull request as ready for review June 13, 2026 00:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Folder View mode for browsing

1 participant