Fotogalerij
Rol: lid (bekijken), eigenaar (uploaden en verwijderen)
De Foto’s-tab toont een grid van clubfoto’s. Leden kunnen de galerij doorbladeren en foto’s op volledig scherm bekijken. Alleen de eigenaar kan foto’s uploaden of verwijderen.
UI-beschrijving
Thumbnailgrid
Foto’s worden weergegeven in een responsive grid van twee of drie kolommen (afhankelijk van schermgrootte). Elke thumbnail is bijgesneden tot een vierkant. Onder de thumbnail verschijnt optioneel het bijschrift (label).
Volledig-schermweergave Een tik op een thumbnail opent de foto in volledig scherm met een swipe-gebaar om te sluiten. Het bijschrift wordt onderaan de afbeelding weergegeven.
Upload (eigenaar) De eigenaar ziet een uploadknop in de rechterbovenhoek van de galerij. Na het selecteren van een foto uit de iOS-fotobibliotheek (inclusief HEIC-ondersteuning) kan de eigenaar optioneel een bijschrift invoeren voordat de foto wordt geüpload naar PocketBase file storage.
Verwijderen (eigenaar) De eigenaar kan een foto verwijderen via een lang-tikgebaar op de thumbnail of via de volledig-schermweergave. Er verschijnt een bevestigingsdialoog voordat de foto permanent wordt verwijderd.
Uploadbeperkingen
| Parameter | Waarde |
|---|---|
| Maximale grootte | 10 MB per foto |
| Ondersteunde formaten | JPEG, PNG, HEIC, WebP |
| Bijschrift | Optioneel, max. vrije tekst |
| Uploader | Alleen eigenaar (PocketBase createRule) |
Datamodel
Clubfoto's geüpload door de eigenaar. Alle leden hebben leestoegang.
| Veld | Type | Verplicht | Beschrijving | Beperkingen |
|---|---|---|---|---|
image | file | ✓ | Foto | max 10 MB · JPEG / PNG / HEIC / WebP |
label | text | — | Bijschrift bij de foto | — |
uploadedBy | relation | — | Uploader (eigenaar) | → users |
Toegangsregels
| Regel | Expressie |
|---|---|
list | @request.auth.id != '' |
view | @request.auth.id != '' |
create | @request.auth.role = 'eigenaar' |
update | @request.auth.role = 'eigenaar' |
delete | @request.auth.role = 'eigenaar' |
Ontwerpkeuzes
HEIC-ondersteuning iOS slaat foto’s standaard op in HEIC-formaat (High Efficiency Image Container). Door HEIC expliciet toe te staan in het PocketBase bestandsveld hoeven leden en eigenaren geen conversie uit te voeren. PocketBase slaat het bestand op in het aangeleverde formaat; de app gebruikt de PocketBase file-URL direct.
Maximaal 10 MB Een ruimere limiet dan de profielfoto’s (5 MB) omdat clubfoto’s vaker hoge resoluties hebben van een camera of professioneel apparaat. De limiet voorkomt overmatig opslaggebruik op de zelfgehoste PocketBase-instantie.
Eigenaar als enige uploader
De createRule is ingesteld op @request.auth.role = 'eigenaar'. Dit voorkomt dat leden ongewenste of ongepaste content uploaden. Een toekomstige versie kan een moderatieflow introduceren waarbij leden foto’s voorstellen die de eigenaar goedkeurt.
Optioneel bijschrift
Het label-veld is niet verplicht om de uploaddrempel laag te houden. De eigenaar kan snel een reeks clubfoto’s uploaden zonder elk een bijschrift te geven.