diff --git a/proto/src/collections/Media.ts b/proto/src/collections/Media.ts index 55f1d68..580de11 100644 --- a/proto/src/collections/Media.ts +++ b/proto/src/collections/Media.ts @@ -17,6 +17,19 @@ export const Media: CollectionConfig = { admin: { group: 'Média', }, + // WHY explicit public read access: Payload alapértelmezés szerint minden + // collection read-je csak bejelentkezett usernek engedélyezett + // (defaultAccess = Boolean(user)) — enélkül a /api/media/file/* + // REST route 403-at adott VOLNA vissza kijelentkezve, tehát a publikus + // oldalon a partner logók (Home) sosem töltődtek volna be (a Next.js + // image-optimizer szerver-oldali proxyja sem küld auth cookie-t). + // Valódi böngészős teszttel derült ki (MITHOME-89 óta jelen lévő hiba, + // csak eddig senki nem nézte meg közelről a renderelt -et). Write + // műveletek (create/update/delete) változatlanul csak bejelentkezett + // usernek engedélyezettek (Payload alapértelmezés). + access: { + read: () => true, + }, upload: { mimeTypes: ['image/*'], }, diff --git a/proto/src/collections/Partners.ts b/proto/src/collections/Partners.ts index 89fe7fc..24e4046 100644 --- a/proto/src/collections/Partners.ts +++ b/proto/src/collections/Partners.ts @@ -22,7 +22,13 @@ export const Partners: CollectionConfig = { name: 'logo', type: 'upload', relationTo: 'media', - required: true, + // WHY opcionális (felhasználói döntés): így elmenthető egy partner + // név+URL-lel, logó nélkül is — pl. amíg a logó előkészítése + // (remove.bg stb.) még folyamatban van. A frontend (getPartners, + // src/lib/payload-content.ts) eleve kiszűri a logó nélküli + // partnereket, tehát ilyenkor egyszerűen nem jelenik meg a publikus + // oldalon, amíg nincs logó feltöltve — nem törik el semmi. + // // WHY nincs beépített vágó/áttetszővé tevő szerkesztő: a régi CMS-ben // ez kliens-oldali canvas-logika volt (scripts/cms-logo-client.js), // amit tudatosan nem ültettünk át Payload admin komponensként — @@ -31,7 +37,7 @@ export const Partners: CollectionConfig = { // PNG-t kell feltölteni, azt egy külső eszközzel (pl. remove.bg) // előkészítve. admin: { - description: 'Már kész, átlátszó hátterű PNG-t tölts fel (pl. remove.bg-vel előkészítve) — az admin felület nem vág/forgat/tesz átlátszóvá.', + description: 'Már kész, átlátszó hátterű PNG-t tölts fel (pl. remove.bg-vel előkészítve) — az admin felület nem vág/forgat/tesz átlátszóvá. Logó nélkül is elmenthető a partner, de a publikus oldalon csak logóval jelenik meg.', }, }, ],