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
-
+
-
+
-