docs(design): move game folder selection into settings

Move the design contract for choosing the library game folder out of the top
bar and into Settings > Library. The launcher chrome now reserves the right
edge for the kebab/menu controls, while Settings owns the required folder path
and its set/unset states.

The reference mock now persists `gameFolder: string | null` instead of a
boolean, adds an exercisable GameFolderField, and includes matching CSS so the
prototype reflects the documented interaction. This is still design/reference
only; no runtime Tauri settings code changes here.

Test Plan:
- git diff --cached --check

Refs: none
This commit is contained in:
2026-05-21 20:12:17 +02:00
parent a7d99261cf
commit 19ae1938f6
5 changed files with 148 additions and 38 deletions
+1 -5
View File
@@ -1,8 +1,6 @@
// launcher.jsx — composes top bar + grid into a complete launcher screen
// Comes in two chrome variants: 'single' (one-row) and 'two' (two-row).
const DIR_PATH = '/home/pfs/Desktop/eti_games_AFTER_LAN_2025';
function applyFilterAndSort(games, filter, sort, query) {
let g = filterGames(games, filter);
if (query.trim()) {
@@ -28,7 +26,7 @@ function Launcher({
initialOpenGame = null,
initialSettingsOpen = false,
}) {
const { density, aspect, accent, bg, gameFolderSet } = tweaks;
const { density, aspect, accent, bg } = tweaks;
const [filter, setFilter] = useState(initialFilter);
const [sort, setSort] = useState(initialSort);
const [query, setQuery] = useState(initialQuery);
@@ -68,7 +66,6 @@ function Launcher({
<SortMenu value={sort} onChange={setSort} accent={accent}/>
</div>
<div className="topbar-right-trail">
<DirectoryButton path={gameFolderSet === false ? null : DIR_PATH}/>
<KebabMenu items={menuItems}/>
</div>
</div>
@@ -80,7 +77,6 @@ function Launcher({
<div className="brand-mark" style={{ background: accent }}>S</div>
<div className="brand-name">SoftLAN <span className="brand-name-soft">Launcher</span></div>
</div>
<DirectoryButton path={gameFolderSet === false ? null : DIR_PATH}/>
<div className="topbar-row1-right">
<StorageMeter accent={accent}/>
<KebabMenu items={menuItems}/>