Skip to content

Commit 82a02ff

Browse files
author
Florin Mateescu
committed
add default theme lib and have the web more generic to allow easily changing themes
1 parent 08ce60e commit 82a02ff

File tree

208 files changed

+441
-412
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

208 files changed

+441
-412
lines changed

.eslintrc.json

+8
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@
1515
{
1616
"sourceTag": "*",
1717
"onlyDependOnLibsWithTags": ["*"]
18+
},
19+
{
20+
"sourceTag": "type:frontend",
21+
"onlyDependOnLibsWithTags": ["type:frontend"]
22+
},
23+
{
24+
"sourceTag": "type:backend",
25+
"onlyDependOnLibsWithTags": ["type:backend"]
1826
}
1927
]
2028
}

apps/express/nodemon.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"src/**/*.spec.ts",
66
"node_modules",
77
".git",
8-
"../../libs/angular/**/*"
8+
"../../libs/default-theme/**/*"
99
],
1010
"env": { "LOG_LEVEL": "debug" },
1111
"exec": "npx node --inspect=0.0.0.0:9229 -r tsconfig-paths/register -r ts-node/register src/main.ts"

apps/express/payload.config.ts

+2-12
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
import { mongooseAdapter } from '@payloadcms/db-mongodb';
22
import { slateEditor } from '@payloadcms/richtext-slate';
33
import { buildConfig } from 'payload/config';
4-
import { UsersCollection } from './src/payloadcms/collections/UsersCollection';
5-
import { CategoriesCollection } from './src/payloadcms/collections/CategoriesCollection';
6-
import { PagesCollection } from './src/payloadcms/collections/PagesCollection';
7-
import { PostsCollection } from './src/payloadcms/collections/PostsCollection';
8-
import { TagsCollection } from './src/payloadcms/collections/TagsCollection';
4+
import { UsersCollection } from './src/payloadcms/UsersCollection';
95
import * as path from 'path';
106
import { webpackBundler } from '@payloadcms/bundler-webpack';
117
import { ReturnToWebComponent } from './src/payloadcms/components/ReturnToWebComponent';
@@ -28,13 +24,7 @@ export default buildConfig({
2824
},
2925
}),
3026
editor: slateEditor({}),
31-
collections: [
32-
UsersCollection,
33-
CategoriesCollection,
34-
PagesCollection,
35-
PostsCollection,
36-
TagsCollection,
37-
],
27+
collections: [UsersCollection],
3828
routes: {
3929
admin: '/admin',
4030
api: '/api',

apps/express/project.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,5 +115,5 @@
115115
"command": "docker build -f apps/express/Dockerfile . -t express"
116116
}
117117
},
118-
"tags": []
118+
"tags": ["type:backend"]
119119
}

apps/express/src/payloadcms/collections/UsersCollection.ts renamed to apps/express/src/payloadcms/UsersCollection.ts

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
import { CollectionConfig } from 'payload/types';
2-
import { UserRoles, UserRolesLabels } from '../UserRoles';
2+
import {
3+
UserRoles,
4+
UserRolesLabels,
5+
} from '../../../../libs/payloadcms-common/src/lib/UserRoles';
36
import { Access } from 'payload/config';
47
import {
58
accessAdminOnly,
69
adminPanelOnlyAdmins,
7-
} from '../utils/access-functions';
10+
} from '../../../../libs/payloadcms-common/src/lib/access-functions';
811
import {
912
fieldAccessAdminOnly,
1013
fieldAccessAdminOrMeOnly,
1114
fieldAccessMeOnly,
12-
} from '../utils/field-access-functions';
15+
} from '../../../../libs/payloadcms-common/src/lib/field-access-functions';
1316
import { AuthPaths } from '@binarystarter-angular/shared-constants';
14-
import { useInfrastructure } from '../../utils/use-infrastructure';
17+
import { useInfrastructure } from '../utils/use-infrastructure';
1518

1619
const { configuration } = useInfrastructure();
1720

apps/express/src/payloadcms/collections/CategoriesCollection.ts

-19
This file was deleted.

apps/express/src/payloadcms/collections/PagesCollection.ts

-52
This file was deleted.

apps/express/src/payloadcms/collections/PostsCollection.ts

-61
This file was deleted.

apps/express/src/payloadcms/collections/TagsCollection.ts

-19
This file was deleted.

apps/express/src/payloadcms/utils/index.ts

-2
This file was deleted.

apps/express/tsconfig.app.json

+6-1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,10 @@
66
"types": ["node"]
77
},
88
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"],
9-
"include": ["src/**/*.ts", "src/**/*.tsx"]
9+
"include": [
10+
"src/**/*.ts",
11+
"src/**/*.tsx",
12+
"../../libs/payloadcms-common/src/lib/access-functions.ts",
13+
"../../libs/payloadcms-common/src/lib/UserRoles.ts"
14+
]
1015
}

apps/web/project.json

+5-6
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"projectType": "application",
55
"prefix": "web",
66
"sourceRoot": "apps/web/src",
7-
"tags": [],
7+
"tags": ["type:frontend"],
88
"targets": {
99
"build": {
1010
"executor": "@angular-devkit/build-angular:application",
@@ -18,7 +18,6 @@
1818
"assets": ["apps/web/src/favicon.ico", "apps/web/src/assets"],
1919
"styles": [
2020
"@angular/material/prebuilt-themes/deeppurple-amber.css",
21-
"apps/web/src/styles/variables.css",
2221
"apps/web/src/styles.css"
2322
],
2423
"scripts": [],
@@ -32,8 +31,8 @@
3231
"production": {
3332
"fileReplacements": [
3433
{
35-
"replace": "libs/angular/src/lib/environments/environment.ts",
36-
"with": "libs/angular/src/lib/environments/environment.production.ts"
34+
"replace": "libs/default-theme/src/lib/environments/environment.ts",
35+
"with": "libs/default-theme/src/lib/environments/environment.production.ts"
3736
}
3837
],
3938
"budgets": [
@@ -53,8 +52,8 @@
5352
"development": {
5453
"fileReplacements": [
5554
{
56-
"replace": "libs/angular/src/lib/environments/environment.ts",
57-
"with": "libs/angular/src/lib/environments/environment.development.ts"
55+
"replace": "libs/default-theme/src/lib/environments/environment.ts",
56+
"with": "libs/default-theme/src/lib/environments/environment.development.ts"
5857
}
5958
],
6059
"optimization": false,

apps/web/server.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import cors from 'cors';
44
import { join, resolve } from 'path';
55
import compression from 'compression';
66
import AngularServerBootstrap from './src/main.server';
7-
import { environment } from '@binarystarter-angular/angular';
87
import { CommonEngine } from '@angular/ssr';
8+
import { env } from './src/theme';
99

1010
// The Express app is exported so that it can be used by serverless Functions.
1111
export function app(): express.Express {
@@ -20,7 +20,7 @@ export function app(): express.Express {
2020
server.set('views', browserDistFolder);
2121
server.use(
2222
cors({
23-
origin: environment.web.url,
23+
origin: env.web.url,
2424
})
2525
);
2626

apps/web/src/main.server.ts

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
import { bootstrapApplication } from '@angular/platform-browser';
2-
import {
3-
WebRootComponent,
4-
serverAppConfig,
5-
} from '@binarystarter-angular/angular';
2+
import { WebRootComponent, serverConfig } from './theme';
63

74
const AngularServerBootstrap = () =>
8-
bootstrapApplication(WebRootComponent, serverAppConfig);
5+
bootstrapApplication(WebRootComponent, serverConfig);
96

107
export default AngularServerBootstrap;

apps/web/src/main.ts

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,13 @@
11
import { enableProdMode } from '@angular/core';
22
import { bootstrapApplication } from '@angular/platform-browser';
3-
import {
4-
WebRootComponent,
5-
environment,
6-
webConfig,
7-
} from '@binarystarter-angular/angular';
3+
import { WebRootComponent, env, webConfig } from './theme';
84

9-
if (environment.production) {
5+
if (env.production) {
106
enableProdMode();
117
}
128

139
document.addEventListener('DOMContentLoaded', () => {
1410
bootstrapApplication(WebRootComponent, webConfig).catch((err) =>
15-
console.error(err),
11+
console.error(err)
1612
);
1713
});

apps/web/src/styles.css

+1-15
Original file line numberDiff line numberDiff line change
@@ -1,15 +1 @@
1-
@import './styles/main.css';
2-
@import 'tailwindcss/base';
3-
@import 'tailwindcss/components';
4-
@import 'tailwindcss/utilities';
5-
6-
/* Material theme styling */
7-
@import './styles/material-theme/material-variables.css';
8-
@import './styles/material-theme/material-buttons.css';
9-
@import './styles/material-theme/material-sidenav.css';
10-
@import './styles/material-theme/material-form.css';
11-
@import './styles/material-theme/material-typography.css';
12-
@import './styles/material-theme/material-snackbar.css';
13-
@import './styles/material-theme/material-spinner.css';
14-
@import './styles/material-theme/material-animations.css';
15-
@import './styles/material-theme/material-stepper.css';
1+
@import '../../../libs/default-theme/src/styles.css';

apps/web/src/theme.ts

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import {
2+
DefaultThemeRootComponent,
3+
defaultThemeConfig,
4+
environment,
5+
defaultThemeServerConfig,
6+
} from '@binarystarter-angular/default-theme';
7+
8+
export const WebRootComponent = DefaultThemeRootComponent;
9+
10+
export const webConfig = defaultThemeConfig;
11+
12+
export const env = environment;
13+
14+
export const serverConfig = defaultThemeServerConfig;

libs/angular-common/.eslintrc.json

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"extends": ["../../.eslintrc.json"],
3+
"ignorePatterns": ["!**/*"],
4+
"overrides": [
5+
{
6+
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
7+
"rules": {}
8+
},
9+
{
10+
"files": ["*.ts", "*.tsx"],
11+
"rules": {}
12+
},
13+
{
14+
"files": ["*.js", "*.jsx"],
15+
"rules": {}
16+
}
17+
]
18+
}

0 commit comments

Comments
 (0)