@motor-cms/ui-admin 1.0.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +77 -0
- package/app/components/form/inputs/CategoryTreeInput.vue +154 -0
- package/app/components/form/inputs/CategoryTreePicker.vue +355 -0
- package/app/components/form/inputs/NestedDraggable.vue +217 -0
- package/app/components/form/inputs/QuicklinksInput.vue +186 -0
- package/app/lang/de/motor-admin/CLAUDE.md +21 -0
- package/app/lang/de/motor-admin/ai_system_prompts.json +12 -0
- package/app/lang/de/motor-admin/categories.json +12 -0
- package/app/lang/de/motor-admin/category_trees.json +14 -0
- package/app/lang/de/motor-admin/clients.json +26 -0
- package/app/lang/de/motor-admin/config_variables.json +14 -0
- package/app/lang/de/motor-admin/domains.json +19 -0
- package/app/lang/de/motor-admin/email_templates.json +38 -0
- package/app/lang/de/motor-admin/global.json +5 -0
- package/app/lang/de/motor-admin/languages.json +16 -0
- package/app/lang/de/motor-admin/permissions.json +14 -0
- package/app/lang/de/motor-admin/roles.json +15 -0
- package/app/lang/de/motor-admin/users.json +22 -0
- package/app/lang/en/motor-admin/CLAUDE.md +7 -0
- package/app/lang/en/motor-admin/ai_system_prompts.json +12 -0
- package/app/lang/en/motor-admin/categories.json +12 -0
- package/app/lang/en/motor-admin/category_trees.json +14 -0
- package/app/lang/en/motor-admin/clients.json +26 -0
- package/app/lang/en/motor-admin/config_variables.json +14 -0
- package/app/lang/en/motor-admin/domains.json +18 -0
- package/app/lang/en/motor-admin/email_templates.json +33 -0
- package/app/lang/en/motor-admin/global.json +5 -0
- package/app/lang/en/motor-admin/languages.json +16 -0
- package/app/lang/en/motor-admin/permissions.json +14 -0
- package/app/lang/en/motor-admin/roles.json +15 -0
- package/app/lang/en/motor-admin/users.json +22 -0
- package/app/pages/dashboard.vue +5 -0
- package/app/pages/index.vue +39 -0
- package/app/pages/login.vue +85 -0
- package/app/pages/motor-admin/ai-system-prompts/CLAUDE.md +7 -0
- package/app/pages/motor-admin/ai-system-prompts/[id]/edit.vue +48 -0
- package/app/pages/motor-admin/ai-system-prompts/create.vue +40 -0
- package/app/pages/motor-admin/ai-system-prompts/index.vue +68 -0
- package/app/pages/motor-admin/category-trees/CLAUDE.md +7 -0
- package/app/pages/motor-admin/category-trees/[id]/CLAUDE.md +7 -0
- package/app/pages/motor-admin/category-trees/[id]/categories/[categoryId]/edit.vue +73 -0
- package/app/pages/motor-admin/category-trees/[id]/categories/create.vue +64 -0
- package/app/pages/motor-admin/category-trees/[id]/edit.vue +45 -0
- package/app/pages/motor-admin/category-trees/[id]/index.vue +81 -0
- package/app/pages/motor-admin/category-trees/create.vue +37 -0
- package/app/pages/motor-admin/category-trees/index.vue +54 -0
- package/app/pages/motor-admin/clients/CLAUDE.md +11 -0
- package/app/pages/motor-admin/clients/[id]/CLAUDE.md +11 -0
- package/app/pages/motor-admin/clients/[id]/edit.vue +45 -0
- package/app/pages/motor-admin/clients/create.vue +37 -0
- package/app/pages/motor-admin/clients/index.vue +46 -0
- package/app/pages/motor-admin/config-variables/CLAUDE.md +11 -0
- package/app/pages/motor-admin/config-variables/[id]/edit.vue +44 -0
- package/app/pages/motor-admin/config-variables/create.vue +36 -0
- package/app/pages/motor-admin/config-variables/index.vue +66 -0
- package/app/pages/motor-admin/domains/CLAUDE.md +11 -0
- package/app/pages/motor-admin/domains/[id]/edit.vue +54 -0
- package/app/pages/motor-admin/domains/create.vue +46 -0
- package/app/pages/motor-admin/domains/index.vue +98 -0
- package/app/pages/motor-admin/email-templates/CLAUDE.md +12 -0
- package/app/pages/motor-admin/email-templates/[id]/CLAUDE.md +7 -0
- package/app/pages/motor-admin/email-templates/[id]/edit.vue +56 -0
- package/app/pages/motor-admin/email-templates/create.vue +48 -0
- package/app/pages/motor-admin/email-templates/index.vue +67 -0
- package/app/pages/motor-admin/index.vue +12 -0
- package/app/pages/motor-admin/languages/CLAUDE.md +7 -0
- package/app/pages/motor-admin/languages/[id]/edit.vue +44 -0
- package/app/pages/motor-admin/languages/create.vue +36 -0
- package/app/pages/motor-admin/languages/index.vue +44 -0
- package/app/pages/motor-admin/permission-groups/CLAUDE.md +14 -0
- package/app/pages/motor-admin/permission-groups/[id]/CLAUDE.md +11 -0
- package/app/pages/motor-admin/permission-groups/[id]/edit.vue +49 -0
- package/app/pages/motor-admin/permission-groups/create.vue +41 -0
- package/app/pages/motor-admin/permission-groups/index.vue +43 -0
- package/app/pages/motor-admin/roles/CLAUDE.md +7 -0
- package/app/pages/motor-admin/roles/[id]/edit.vue +47 -0
- package/app/pages/motor-admin/roles/create.vue +40 -0
- package/app/pages/motor-admin/roles/index.vue +45 -0
- package/app/pages/motor-admin/theme-preview/CLAUDE.md +7 -0
- package/app/pages/motor-admin/theme-preview/index.vue +4801 -0
- package/app/pages/motor-admin/theme-preview/themes/CLAUDE.md +11 -0
- package/app/pages/motor-admin/theme-preview/themes/asymmetric-brutalist.md +381 -0
- package/app/pages/motor-admin/theme-preview/themes/bold-modern.md +231 -0
- package/app/pages/motor-admin/theme-preview/themes/geometric-minimal.md +778 -0
- package/app/pages/motor-admin/theme-preview/themes/gradient-flow.md +1057 -0
- package/app/pages/motor-admin/theme-preview/themes/liquid-glass.md +823 -0
- package/app/pages/motor-admin/theme-preview/themes/neon-amber.md +1223 -0
- package/app/pages/motor-admin/theme-preview/themes/neon-terminal.md +779 -0
- package/app/pages/motor-admin/theme-preview/themes/neon-violet.md +1134 -0
- package/app/pages/motor-admin/theme-preview/themes/professional-clean.md +232 -0
- package/app/pages/motor-admin/theme-preview/themes/refined-brutalist.md +462 -0
- package/app/pages/motor-admin/theme-preview/themes/wild-card.md +263 -0
- package/app/pages/motor-admin/users/CLAUDE.md +17 -0
- package/app/pages/motor-admin/users/[id]/CLAUDE.md +11 -0
- package/app/pages/motor-admin/users/[id]/edit.vue +83 -0
- package/app/pages/motor-admin/users/create.vue +40 -0
- package/app/pages/motor-admin/users/index.vue +66 -0
- package/app/pages/profile.vue +363 -0
- package/app/pages/search.vue +91 -0
- package/app/types/generated/form-meta.ts +258 -0
- package/app/types/generated/grid-meta.ts +172 -0
- package/nuxt.config.ts +1 -0
- package/package.json +26 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { roleFormMeta } from '../../../types/generated/form-meta'
|
|
3
|
+
import { roleFormConfig, roleSelectOptionConfigs } from '@motor-cms/ui-core/app/types/config/role'
|
|
4
|
+
|
|
5
|
+
definePageMeta({ layout: 'default', permission: 'roles.write' })
|
|
6
|
+
|
|
7
|
+
const { t } = useI18n()
|
|
8
|
+
const { fields, schema, groups, state, loading, selectOptions, selectOptionsLoading, formRef, onSubmit, onSaveAndNew } = await useEntityForm({
|
|
9
|
+
apiEndpoint: '/api/v2/roles',
|
|
10
|
+
routePrefix: '/motor-admin/roles',
|
|
11
|
+
translationPrefix: 'motor-admin.roles',
|
|
12
|
+
formMeta: roleFormMeta,
|
|
13
|
+
formConfig: roleFormConfig,
|
|
14
|
+
mode: 'create',
|
|
15
|
+
selectOptionConfigs: roleSelectOptionConfigs,
|
|
16
|
+
extraState: { guard_name: 'web' }
|
|
17
|
+
})
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<template>
|
|
21
|
+
<FormPage
|
|
22
|
+
:title="t('motor-admin.roles.create_title')"
|
|
23
|
+
back-route="/motor-admin/roles"
|
|
24
|
+
>
|
|
25
|
+
<FormBase
|
|
26
|
+
ref="formRef"
|
|
27
|
+
v-model:state="state"
|
|
28
|
+
:fields="fields"
|
|
29
|
+
:schema="schema"
|
|
30
|
+
:groups="groups"
|
|
31
|
+
:select-options="selectOptions"
|
|
32
|
+
:select-options-loading="selectOptionsLoading"
|
|
33
|
+
:loading="loading"
|
|
34
|
+
cancel-route="/motor-admin/roles"
|
|
35
|
+
show-save-and-new
|
|
36
|
+
@submit="onSubmit"
|
|
37
|
+
@save-and-new="onSaveAndNew"
|
|
38
|
+
/>
|
|
39
|
+
</FormPage>
|
|
40
|
+
</template>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<!-- app/pages/motor-admin/roles/index.vue -->
|
|
2
|
+
<script setup lang="ts">
|
|
3
|
+
import type { components } from '@motor-cms/ui-core/app/types/generated/api'
|
|
4
|
+
import { roleMeta } from '../../../types/generated/grid-meta'
|
|
5
|
+
|
|
6
|
+
definePageMeta({ permission: 'roles.read' })
|
|
7
|
+
|
|
8
|
+
type Role = components['schemas']['RoleResource']
|
|
9
|
+
|
|
10
|
+
const { t } = useI18n()
|
|
11
|
+
|
|
12
|
+
const columns = columnsFromMeta<Role>(roleMeta, t, {
|
|
13
|
+
pick: ['name', 'guard_name', 'permissions'],
|
|
14
|
+
overrides: {
|
|
15
|
+
guard_name: { renderer: 'badge' }
|
|
16
|
+
}
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
columns.push(createdAtColumn(t))
|
|
20
|
+
|
|
21
|
+
const filters = [useGuardNameFilter()]
|
|
22
|
+
|
|
23
|
+
const { fetch: fetchRoles } = useGridData<Role>('/api/v2/roles')
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<template>
|
|
27
|
+
<GridPage
|
|
28
|
+
:title="t('motor-admin.roles.title')"
|
|
29
|
+
:subtitle="t('motor-admin.roles.subtitle')"
|
|
30
|
+
add-route="/motor-admin/roles/create"
|
|
31
|
+
:add-label="t('motor-admin.roles.add')"
|
|
32
|
+
write-permission="roles.write"
|
|
33
|
+
>
|
|
34
|
+
<GridBase
|
|
35
|
+
id="roles-grid"
|
|
36
|
+
:fetch="fetchRoles"
|
|
37
|
+
:columns="columns"
|
|
38
|
+
:filters="filters"
|
|
39
|
+
base-path="/motor-admin/roles"
|
|
40
|
+
:row-click-to="(row: any) => `/motor-admin/roles/${row.id}/edit`"
|
|
41
|
+
write-permission="roles.write"
|
|
42
|
+
delete-permission="roles.delete"
|
|
43
|
+
/>
|
|
44
|
+
</GridPage>
|
|
45
|
+
</template>
|