Refactor admin preferences management to use global site preferences, update UI components for better user experience, and implement image selection for background settings.

This commit is contained in:
Julien Froidefond
2025-12-09 08:37:52 +01:00
parent 4486f305f2
commit 8c326bdd20
21 changed files with 1853 additions and 199 deletions

View File

@@ -386,7 +386,8 @@ type FieldRefInputType<Model, FieldType> = Model extends never ? never : FieldRe
export const ModelName = {
User: 'User',
UserPreferences: 'UserPreferences',
Event: 'Event'
Event: 'Event',
SitePreferences: 'SitePreferences'
} as const
export type ModelName = (typeof ModelName)[keyof typeof ModelName]
@@ -402,7 +403,7 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
omit: GlobalOmitOptions
}
meta: {
modelProps: "user" | "userPreferences" | "event"
modelProps: "user" | "userPreferences" | "event" | "sitePreferences"
txIsolationLevel: TransactionIsolationLevel
}
model: {
@@ -628,6 +629,80 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
}
}
}
SitePreferences: {
payload: Prisma.$SitePreferencesPayload<ExtArgs>
fields: Prisma.SitePreferencesFieldRefs
operations: {
findUnique: {
args: Prisma.SitePreferencesFindUniqueArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$SitePreferencesPayload> | null
}
findUniqueOrThrow: {
args: Prisma.SitePreferencesFindUniqueOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$SitePreferencesPayload>
}
findFirst: {
args: Prisma.SitePreferencesFindFirstArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$SitePreferencesPayload> | null
}
findFirstOrThrow: {
args: Prisma.SitePreferencesFindFirstOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$SitePreferencesPayload>
}
findMany: {
args: Prisma.SitePreferencesFindManyArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$SitePreferencesPayload>[]
}
create: {
args: Prisma.SitePreferencesCreateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$SitePreferencesPayload>
}
createMany: {
args: Prisma.SitePreferencesCreateManyArgs<ExtArgs>
result: BatchPayload
}
createManyAndReturn: {
args: Prisma.SitePreferencesCreateManyAndReturnArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$SitePreferencesPayload>[]
}
delete: {
args: Prisma.SitePreferencesDeleteArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$SitePreferencesPayload>
}
update: {
args: Prisma.SitePreferencesUpdateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$SitePreferencesPayload>
}
deleteMany: {
args: Prisma.SitePreferencesDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.SitePreferencesUpdateManyArgs<ExtArgs>
result: BatchPayload
}
updateManyAndReturn: {
args: Prisma.SitePreferencesUpdateManyAndReturnArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$SitePreferencesPayload>[]
}
upsert: {
args: Prisma.SitePreferencesUpsertArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$SitePreferencesPayload>
}
aggregate: {
args: Prisma.SitePreferencesAggregateArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.AggregateSitePreferences>
}
groupBy: {
args: Prisma.SitePreferencesGroupByArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.SitePreferencesGroupByOutputType>[]
}
count: {
args: Prisma.SitePreferencesCountArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.SitePreferencesCountAggregateOutputType> | number
}
}
}
}
} & {
other: {
@@ -712,6 +787,18 @@ export const EventScalarFieldEnum = {
export type EventScalarFieldEnum = (typeof EventScalarFieldEnum)[keyof typeof EventScalarFieldEnum]
export const SitePreferencesScalarFieldEnum = {
id: 'id',
homeBackground: 'homeBackground',
eventsBackground: 'eventsBackground',
leaderboardBackground: 'leaderboardBackground',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
} as const
export type SitePreferencesScalarFieldEnum = (typeof SitePreferencesScalarFieldEnum)[keyof typeof SitePreferencesScalarFieldEnum]
export const SortOrder = {
asc: 'asc',
desc: 'desc'
@@ -880,6 +967,7 @@ export type GlobalOmitConfig = {
user?: Prisma.UserOmit
userPreferences?: Prisma.UserPreferencesOmit
event?: Prisma.EventOmit
sitePreferences?: Prisma.SitePreferencesOmit
}
/* Types for Logging */