fix: verberg map-kiezers op web (browser heeft geen bestandssysteem) #148

Merged
brenno merged 1 commit from fix/web-hide-native-folder-pickers into main 2026-07-08 17:43:48 +00:00
Owner

Wat & waarom

Een web-gebruiker (Firefox) meldde dat de gele Kiezen-knop bij Presentatiemap en Exportmap niets deed — geen dialoog, geen console-fout.

Oorzaak: die knoppen roepen FilePicker.getDirectoryPath() aan. Die native map-kiezer is niet geïmplementeerd in de browser en geeft stil null terug, waarna de handler niets doet. Op web is er sowieso geen bestandssysteem — decks openen via bytes en elke export is een browser-download — dus een standaard presentatie-/exportmap heeft er geen betekenis.

Tijdens het onderzoek bleek dat Slide zoeken en Slides importeren in de slide-lijst exact dezelfde ongegate aanroep hebben (die functies scannen lokale mappen). De Openen-flow was al wél netjes afgeschermd op web.

Wijziging

Alle drie de controls worden nu op web verborgen via de bestaande supportsLocalProjectFolders-vlag (false op web), hetzelfde patroon als het welkomstscherm al gebruikt. Op desktop verandert er niets.

  • lib/widgets/dialogs/parts/settings_dialog_general.dart — Presentatiemap + Exportmap-secties gegate
  • lib/widgets/dialogs/settings_dialog.dart — import van platform_features
  • lib/widgets/panels/slide_list_panel.dart — Slide zoeken/importeren-knoppen gegate
  • CHANGELOG.md — één Fixed-entry

Verificatie

flutter analyze schoon op alle gewijzigde bestanden; dart format ongewijzigd. De logica is triviaal — supportsLocalProjectFolders is hard false in platform_features_web.dart.

🤖 Generated with Claude Code

## Wat & waarom Een web-gebruiker (Firefox) meldde dat de gele **Kiezen**-knop bij *Presentatiemap* en *Exportmap* niets deed — geen dialoog, geen console-fout. **Oorzaak:** die knoppen roepen `FilePicker.getDirectoryPath()` aan. Die native map-kiezer is niet geïmplementeerd in de browser en geeft stil `null` terug, waarna de handler niets doet. Op web is er sowieso geen bestandssysteem — decks openen via bytes en elke export is een browser-download — dus een standaard presentatie-/exportmap heeft er geen betekenis. Tijdens het onderzoek bleek dat **Slide zoeken** en **Slides importeren** in de slide-lijst exact dezelfde ongegate aanroep hebben (die functies scannen lokale mappen). De *Openen*-flow was al wél netjes afgeschermd op web. ## Wijziging Alle drie de controls worden nu op web verborgen via de bestaande `supportsLocalProjectFolders`-vlag (`false` op web), hetzelfde patroon als het welkomstscherm al gebruikt. Op desktop verandert er niets. - `lib/widgets/dialogs/parts/settings_dialog_general.dart` — Presentatiemap + Exportmap-secties gegate - `lib/widgets/dialogs/settings_dialog.dart` — import van `platform_features` - `lib/widgets/panels/slide_list_panel.dart` — Slide zoeken/importeren-knoppen gegate - `CHANGELOG.md` — één *Fixed*-entry ## Verificatie `flutter analyze` schoon op alle gewijzigde bestanden; `dart format` ongewijzigd. De logica is triviaal — `supportsLocalProjectFolders` is hard `false` in `platform_features_web.dart`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix: verberg map-kiezers op web (browser heeft geen bestandssysteem)
Some checks failed
CI / Supply-chain (Trivy · advisory) (push) Has been cancelled
CI / Docs links (push) Has been cancelled
CI / Web hardening (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Gate (Linux) · Format · Analyze · Coverage (push) Has been cancelled
CI / Supply-chain (Trivy · advisory) (pull_request) Has been cancelled
CI / Docs links (pull_request) Has been cancelled
CI / Web hardening (pull_request) Has been cancelled
CI / Test (windows-latest) (pull_request) Has been cancelled
CI / Test (macos-latest) (pull_request) Has been cancelled
CI / Gate (Linux) · Format · Analyze · Coverage (pull_request) Has been cancelled
4fa92fa8af
De "Kiezen"-knop bij Presentatiemap en Exportmap (Instellingen → Algemeen)
en de knoppen "Slide zoeken"/"Slides importeren" in de slide-lijst riepen
FilePicker.getDirectoryPath() aan. Die native map-kiezer bestaat niet in de
browser: de aanroep geeft stil null terug, dus klikken deed niets (geen fout,
geen dialoog). Op web is er sowieso geen bestandssysteem — decks openen via
bytes en elke export is een download — dus een mapkeuze heeft er geen betekenis.

Beide plekken worden nu op web verborgen via de bestaande
supportsLocalProjectFolders-vlag (false op web), zoals het welkomstscherm al
doet. Op desktop verandert er niets.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit ad126f78e0 into main 2026-07-08 17:43:48 +00:00
brenno deleted branch fix/web-hide-native-folder-pickers 2026-07-08 17:43:48 +00:00
Sign in to join this conversation.
No description provided.