Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions apps/cms/src/app/(frontend)/globals.css
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
@import 'tailwindcss';

/* Custom Tailwind css for Payload CMS */
@import '../../../../../libs/shared/util/tailwind/src/lib/payload.css';

/* Let Tailwind know about the shadcn components */
@source '../../../../../libs/shared/ui';

Expand Down
1 change: 1 addition & 0 deletions apps/cms/src/collections/cards/cards.collection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ const env = getEnv();

/**
* Cards collection where one or many reusable cards can be created
* @deprecated use reusable-content instead
*/
const cards: CollectionConfig = {
slug: 'cards',
Expand Down
2 changes: 2 additions & 0 deletions apps/cms/src/collections/navigation/navigation.collection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {
systemUserOrTenantAdminAccess,
verifyApiKeyAccess
} from '@codeware/app-cms/util/access';
import { enumName } from '@codeware/app-cms/util/db';
import { adminGroups } from '@codeware/app-cms/util/definitions';
import type { Navigation } from '@codeware/shared/util/payload-types';

Expand Down Expand Up @@ -57,6 +58,7 @@ const navigation: CollectionConfig = {
admin: {
layout: 'horizontal'
},
enumName: enumName('navigation_label_source'),
defaultValue: 'document',
options: [
{
Expand Down
14 changes: 8 additions & 6 deletions apps/cms/src/collections/pages/pages.collection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,6 @@ const pages: CollectionConfig<'pages'> = {
{
type: 'tabs',
tabs: [
// TODO: Maybe here or as a block
// {
// label: 'Hero',
// fields: []
// },
{
label: { en: 'Content', sv: 'Innehåll' },
fields: [
Expand All @@ -76,7 +71,14 @@ const pages: CollectionConfig<'pages'> = {
name: 'layout',
type: 'blocks',
label: 'Layout builder',
blockReferences: ['content', 'card', 'form', 'media', 'code'],
blockReferences: [
'content',
'card',
'form',
'media',
'code',
'reusable-content'
],
blocks: [],
required: true,
localized: true,
Expand Down
4 changes: 3 additions & 1 deletion apps/cms/src/collections/posts/posts.collection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,9 @@ const posts: CollectionConfig<'posts'> = {
HeadingFeature({
enabledHeadingSizes: ['h1', 'h2', 'h3', 'h4']
}),
BlocksFeature({ blocks: ['card', 'code', 'media'] })
BlocksFeature({
blocks: ['card', 'code', 'media', 'reusable-content']
})
]
}),
label: false,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import type { CollectionConfig } from 'payload';

import { getEnv } from '@codeware/app-cms/feature/env-loader';
import { verifyApiKeyAccess } from '@codeware/app-cms/util/access';
import { adminGroups } from '@codeware/app-cms/util/definitions';

const env = getEnv();

/**
* Reusable content collection
*/
const reusableContent: CollectionConfig = {
slug: 'reusable-content',
access: {
read: verifyApiKeyAccess({ secret: env.SIGNATURE_SECRET })
},
admin: {
group: adminGroups.content,
useAsTitle: 'title',
description: {
en: 'Reusable content is a collection of blocks that can be combined freely and used in various places.',
sv: 'Återanvändbara element är en samling block som kan kombineras fritt och användas på olika ställen.'
}
},
labels: {
plural: { en: 'Reusable Contents', sv: 'Återanvändbara element' },
singular: { en: 'Reusable Content', sv: 'Återanvändbart element' }
},
fields: [
{
name: 'title',
label: { en: 'Title', sv: 'Titel' },
type: 'text',
required: true,
localized: true,
admin: {
description: {
en: 'What is the reusable content about?',
sv: 'Vad handlar det återanvändbara elementet om?'
}
}
},
{
name: 'layout',
type: 'blocks',
blockReferences: ['card', 'code', 'content', 'form', 'media'],
blocks: [],
required: true
}
]
};

export default reusableContent;
2 changes: 2 additions & 0 deletions apps/cms/src/collections/tenants/tenants.collection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {
authenticatedAccess,
systemUserAccess
} from '@codeware/app-cms/util/access';
import { enumName } from '@codeware/app-cms/util/db';
import { adminGroups } from '@codeware/app-cms/util/definitions';

import { enforceApiKeyHook } from './hooks/enforce-api-key.hook';
Expand Down Expand Up @@ -85,6 +86,7 @@ const tenants: CollectionConfig = {
name: 'pageTypes',
type: 'select',
label: { en: 'Page types', sv: 'Typ av sidor' },
enumName: enumName('tenant_domain_page_type'),
options: [
{ label: { en: 'CMS', sv: 'CMS' }, value: 'cms' },
{ label: { en: 'Web client', sv: 'Webbklient' }, value: 'client' },
Expand Down
7 changes: 3 additions & 4 deletions apps/cms/src/collections/users/fields/tenants-array.field.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import { tenantsArrayField as tenantsArrayFieldPlugin } from '@payloadcms/plugin-multi-tenant/fields';
import type { Field } from 'payload';

import {
systemUserAccess,
systemUserOrTenantAdminAccess
} from '@codeware/app-cms/util/access';
import { systemUserOrTenantAdminAccess } from '@codeware/app-cms/util/access';
import { enumName } from '@codeware/app-cms/util/db';

/**
* Customized tenants array field in the users collection, based on the `tenantsArrayField` plugin utility function.
Expand All @@ -20,6 +18,7 @@ export const tenantsArrayField = (): Field => {
name: 'role',
type: 'select',
label: { en: 'Role', sv: 'Roll' },
enumName: enumName('tenant_user_role'),
options: [
{ label: { en: 'User', sv: 'Användare' }, value: 'user' },
{ label: { en: 'Admin', sv: 'Administratör' }, value: 'admin' }
Expand Down
2 changes: 2 additions & 0 deletions apps/cms/src/collections/users/users.collection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {
systemUserAccess,
systemUserOrTenantAdminAccess
} from '@codeware/app-cms/util/access';
import { enumName } from '@codeware/app-cms/util/db';
import { adminGroups } from '@codeware/app-cms/util/definitions';

import { adminAccessToAllDocTenants } from './access/admin-access-to-all-doc-tenants';
Expand Down Expand Up @@ -54,6 +55,7 @@ const users: CollectionConfig<'users'> = {
create: systemUserAccess,
update: systemUserAccess
},
enumName: enumName('user_role'),
options: [
{ label: { en: 'User', sv: 'Användare' }, value: 'user' },
{
Expand Down
Loading