1
0
Fork 0

feat(awards): add backgroundImage field and migration for medal cards

This commit is contained in:
Jason Fraley 2026-09-02 16:14:00 -04:00
parent 2a1c94072f
commit d8867a643a
5 changed files with 20668 additions and 1 deletions

View file

@ -74,6 +74,16 @@ export const Awards: CollectionConfig = {
condition: (data) => data?.type === "ribbon",
},
},
{
name: "backgroundImage",
type: "upload",
relationTo: "media",
admin: {
description:
"A background image for the award card. Displayed as a faded backdrop behind the card content.",
condition: (data) => data?.type === "medal",
},
},
{
name: "medalDesign",
type: "json",

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,16 @@
import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres'
export async function up({ db, payload, req }: MigrateUpArgs): Promise<void> {
await db.execute(sql`
ALTER TABLE "awards" ADD COLUMN "background_image_id" integer;
ALTER TABLE "awards" ADD CONSTRAINT "awards_background_image_id_media_id_fk" FOREIGN KEY ("background_image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action;
CREATE INDEX "awards_background_image_idx" ON "awards" USING btree ("background_image_id");`)
}
export async function down({ db, payload, req }: MigrateDownArgs): Promise<void> {
await db.execute(sql`
ALTER TABLE "awards" DROP CONSTRAINT "awards_background_image_id_media_id_fk";
DROP INDEX "awards_background_image_idx";
ALTER TABLE "awards" DROP COLUMN "background_image_id";`)
}

View file

@ -14,6 +14,7 @@ import * as migration_20260831_180233_assignment_transfers from './20260831_1802
import * as migration_20260901_014006_add_assignment_transfer_event_target from './20260901_014006_add_assignment_transfer_event_target';
import * as migration_20260901_213108_add_ticket_votes_and_edit_history from './20260901_213108_add_ticket_votes_and_edit_history';
import * as migration_20260901_222200_add_admin_page_permissions from './20260901_222200_add_admin_page_permissions';
import * as migration_20260902_195336_add_medal_backgrounds from './20260902_195336_add_medal_backgrounds';
export const migrations = [
{
@ -94,6 +95,11 @@ export const migrations = [
{
up: migration_20260901_222200_add_admin_page_permissions.up,
down: migration_20260901_222200_add_admin_page_permissions.down,
name: '20260901_222200_add_admin_page_permissions'
name: '20260901_222200_add_admin_page_permissions',
},
{
up: migration_20260902_195336_add_medal_backgrounds.up,
down: migration_20260902_195336_add_medal_backgrounds.down,
name: '20260902_195336_add_medal_backgrounds'
},
];

View file

@ -1824,6 +1824,10 @@ export interface Award {
| number
| boolean
| null;
/**
* A background image for the award card. Displayed as a faded backdrop behind the card content.
*/
backgroundImage?: (number | null) | Media;
medalDesign?:
| {
[k: string]: unknown;
@ -3805,6 +3809,7 @@ export interface AwardsSelect<T extends boolean = true> {
image?: T;
experiencePoints?: T;
ribbonDesign?: T;
backgroundImage?: T;
medalDesign?: T;
grantConfig?:
| T