diff --git a/src/lib/svelte-admin/registry.ts b/src/lib/svelte-admin/registry.ts index a2ba7c2..9d164e9 100644 --- a/src/lib/svelte-admin/registry.ts +++ b/src/lib/svelte-admin/registry.ts @@ -7,6 +7,7 @@ const models: AdminModelConfig[] = [ modelName: 'User', displayName: 'Users', displayNameSingular: 'User', + listOnly: true, idType: 'String', include: { role: true, profile: true, licenseKeys: true }, listFields: ['name', 'email', 'emailVerified', 'role.name', 'createdAt'], @@ -96,17 +97,36 @@ const models: AdminModelConfig[] = [ displayName: 'Proclamations', displayNameSingular: 'Proclamation', idType: 'String', - include: { solfeggioFrequency: true, category: { include: { parent: true } } }, - listFields: ['name', 'category.displayName', 'solfeggioFrequency.name', 'price'], + include: { + solfeggioFrequency: true, + category: { include: { parent: true } }, + subscriptionLevel: true + }, + listFields: [ + 'name', + 'category.name', + 'solfeggioFrequency.name', + 'subscriptionLevel.name' + ], searchFields: ['name', 'content'], - formFields: ['name', 'solfeggioFrequencyId', 'categoryId', 'price', 'content'], + formFields: [ + 'name', + 'solfeggioFrequencyId', + 'parentCategoryId', + 'categoryId', + 'subscriptionLevelId', + 'content' + ], readonlyFields: ['id'], + dataOnlyFields: ['parentCategoryId'], + cascadeFields: { categoryId: { parentField: 'parentCategoryId' } }, fieldTypes: { name: 'String', content: 'Tiptap', solfeggioFrequencyId: 'Int', + parentCategoryId: 'Int', categoryId: 'Int', - price: 'Float' + subscriptionLevelId: 'Int' }, relationOptions: { solfeggioFrequencyId: { @@ -114,10 +134,20 @@ const models: AdminModelConfig[] = [ labelField: 'name', valueField: 'id' }, + parentCategoryId: { + model: 'ProclamationCategory', + labelField: 'name', + valueField: 'id' + }, categoryId: { model: 'ProclamationCategory', labelField: 'name', valueField: 'id' + }, + subscriptionLevelId: { + model: 'SubscriptionLevel', + labelField: 'name', + valueField: 'id' } } }, @@ -134,14 +164,39 @@ const models: AdminModelConfig[] = [ readonlyFields: ['id'], fieldTypes: { name: 'String', - value: 'Float' + value: 'Int' }, relatedRecords: [ { relationKey: 'proclamations', label: 'Proclamations', type: 'has-many', - displayFields: ['name', 'price'], + displayFields: ['name'], + editSlug: 'proclamations' + } + ] + }, + { + slug: 'subscription-levels', + modelName: 'SubscriptionLevel', + displayName: 'Subscription Levels', + displayNameSingular: 'Subscription Level', + idType: 'Int', + include: { proclamations: true }, + listFields: ['id', 'name', 'description'], + searchFields: ['name', 'description'], + formFields: ['name', 'description'], + readonlyFields: ['id'], + fieldTypes: { + name: 'String', + description: 'String' + }, + relatedRecords: [ + { + relationKey: 'proclamations', + label: 'Proclamations', + type: 'has-many', + displayFields: ['name'], editSlug: 'proclamations' } ] @@ -153,7 +208,7 @@ const models: AdminModelConfig[] = [ displayNameSingular: 'Proclamation Category', idType: 'Int', include: { proclamations: true, children: true, parent: true }, - listFields: ['displayName', 'parent.name'], + listFields: ['name', 'parent.name'], searchFields: ['name'], formFields: ['name', 'parentId'], readonlyFields: ['id'], @@ -169,7 +224,7 @@ const models: AdminModelConfig[] = [ relationKey: 'proclamations', label: 'Proclamations', type: 'has-many', - displayFields: ['name', 'price'], + displayFields: ['name'], editSlug: 'proclamations' }, { @@ -188,7 +243,6 @@ const models: AdminModelConfig[] = [ displayNameSingular: 'License Key', idType: 'String', include: { user: true }, - listOnly: true, listFields: ['key', 'active', 'level', 'user.name'], searchFields: ['key', 'level'], formFields: ['active', 'level', 'userId'], diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 4420b9b..c49c3e2 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -31,25 +31,33 @@ Rhema Wave Technologies - + - + -