create-vitnode-app 0.0.10-canary.9 → 0.1.0-rc.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/dist/index.cjs +33 -33
- package/package.json +4 -4
- package/templates/basic/.gitignore_template +2 -1
- package/templates/basic/apps/backend/src/app.module.ts +4 -0
- package/templates/basic/apps/backend/tsconfig.json +1 -1
- package/templates/basic/apps/backend/uploads/public/assets/favicon.ico +0 -0
- package/templates/basic/apps/frontend/global.d.ts +4 -2
- package/templates/basic/apps/frontend/public/sw.js +3 -0
- package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/footer.tsx +18 -0
- package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/layout.tsx +8 -1
- package/templates/basic/apps/frontend/src/app/global.css +11 -7
- package/templates/basic/apps/frontend/src/app/robots.ts +9 -0
- package/templates/basic/apps/frontend/src/app/sitemap.ts +9 -0
- package/templates/basic/apps/frontend/src/middleware.ts +1 -1
- package/templates/basic/apps/frontend/src/plugins/admin/langs/en.json +136 -113
- package/templates/basic/apps/frontend/src/plugins/core/langs/en.json +58 -32
- package/templates/basic/apps/frontend/src/plugins/welcome/langs/en.json +2 -4
- package/templates/basic/apps/frontend/src/plugins/welcome/templates/default-page.tsx +1 -1
- package/templates/basic/apps/frontend/tailwind.config.ts +1 -0
- package/templates/basic/apps/frontend/tsconfig.json +7 -1
- package/templates/basic/apps/shared/plugins/welcome/example.dto.ts +0 -3
- package/templates/basic/apps/shared/tsconfig.json +2 -2
- package/templates/docker/apps/backend/DockerFile +1 -0
- package/templates/docker/apps/frontend/DockerFile +1 -1
- package/templates/docker/deploy.sh +1 -3
- package/templates/docker/docker-compose.yml +3 -1
|
@@ -182,28 +182,25 @@
|
|
|
182
182
|
},
|
|
183
183
|
"settings": {
|
|
184
184
|
"title": "Settings",
|
|
185
|
-
"desc": "Manage your account settings.",
|
|
186
185
|
"open_sheet": "Open Menu",
|
|
187
186
|
"open_sheet_desc": "You can change your account settings here.",
|
|
188
|
-
"
|
|
189
|
-
"title": "
|
|
190
|
-
"
|
|
191
|
-
|
|
192
|
-
"
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
"title": "Delete avatar",
|
|
199
|
-
"success": "Your avatar has been deleted.",
|
|
200
|
-
"error": "An error occurred while deleting your avatar."
|
|
187
|
+
"overview": {
|
|
188
|
+
"title": "Overview",
|
|
189
|
+
"change_avatar": {
|
|
190
|
+
"title": "Change Avatar",
|
|
191
|
+
"desc": "Show your personality with a new avatar.",
|
|
192
|
+
"submit": "Change Avatar",
|
|
193
|
+
"success": "Your avatar has been changed.",
|
|
194
|
+
"types": {
|
|
195
|
+
"upload": "Upload a new avatar",
|
|
196
|
+
"delete": "Delete avatar"
|
|
201
197
|
}
|
|
202
198
|
},
|
|
203
|
-
"
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
199
|
+
"basic_info": {
|
|
200
|
+
"title": "Basic Information",
|
|
201
|
+
"email": "Email",
|
|
202
|
+
"joined_at": "Joined at"
|
|
203
|
+
}
|
|
207
204
|
},
|
|
208
205
|
"files": {
|
|
209
206
|
"title": "My Files",
|
|
@@ -232,29 +229,59 @@
|
|
|
232
229
|
"sign_in": {
|
|
233
230
|
"title": "Login",
|
|
234
231
|
"desc": "You don't have an account? <link></link>.",
|
|
232
|
+
"or": "or",
|
|
235
233
|
"sign_up": "Sign Up",
|
|
236
234
|
"email": "Email",
|
|
237
235
|
"password": "Password",
|
|
238
|
-
"remember": {
|
|
239
|
-
"label": "Remember me",
|
|
240
|
-
"desc": "Not recommended on shared computers."
|
|
241
|
-
},
|
|
242
236
|
"submit": "Log In",
|
|
237
|
+
"sso_first_login": {
|
|
238
|
+
"title": "Almost there!",
|
|
239
|
+
"desc": "Please complete your registration by entering your name."
|
|
240
|
+
},
|
|
243
241
|
"error": {
|
|
244
242
|
"title": "Invalid credentials",
|
|
245
243
|
"desc": "The email address or password was incorrect. Please try again (make sure your caps lock is off)."
|
|
246
244
|
},
|
|
247
245
|
"not_verified": {
|
|
248
246
|
"title": "Email is not verified",
|
|
249
|
-
"desc": "Please check your inbox and click the link to activate your account."
|
|
247
|
+
"desc": "Please check your inbox and click the link to activate your account.",
|
|
248
|
+
"resend": "To resend the verification email you have to sign in again. We'll send you a new email if the previous has 10 minutes or more."
|
|
249
|
+
},
|
|
250
|
+
"forgot_password": {
|
|
251
|
+
"title": "Forgot Password?",
|
|
252
|
+
"desc": "Don't worry! We'll help you reset your password.",
|
|
253
|
+
"email": "Email",
|
|
254
|
+
"go_back_login": "Go back to login",
|
|
255
|
+
"send": "Send Email",
|
|
256
|
+
"success": {
|
|
257
|
+
"title": "Email Sent!",
|
|
258
|
+
"desc": "We've sent a password reset email to <email></email>.",
|
|
259
|
+
"warning": "Please check your inbox and follow the instructions."
|
|
260
|
+
},
|
|
261
|
+
"change_password": {
|
|
262
|
+
"title": "Change Password",
|
|
263
|
+
"desc": "Almost done!",
|
|
264
|
+
"new_password": "New Password",
|
|
265
|
+
"error": "We can't reset your password. Please check the link or try again.",
|
|
266
|
+
"success": {
|
|
267
|
+
"title": "Password Changed!",
|
|
268
|
+
"desc": "Your password has been changed successfully!",
|
|
269
|
+
"sign_in": "Go to Sign In"
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
"content_email": {
|
|
273
|
+
"subject": "Reset your password",
|
|
274
|
+
"preview": "You're receiving this email because you requested a password reset for your account.",
|
|
275
|
+
"p": "Someone recently requested a password change for your account. If this was you, you can set a new password here:",
|
|
276
|
+
"button": "Reset Password",
|
|
277
|
+
"security": "This link will expire in 15 minutes. If you don't want to change your password or didn't request this, just ignore and delete this message."
|
|
278
|
+
}
|
|
250
279
|
}
|
|
251
280
|
},
|
|
252
281
|
"sign_up": {
|
|
253
282
|
"title": "Register",
|
|
254
283
|
"desc": "You already have an account? <link></link>.",
|
|
255
284
|
"sign_in": "Sign In",
|
|
256
|
-
"week_password": "Week",
|
|
257
|
-
"strong_password": "Strong",
|
|
258
285
|
"email_invalid": "This email address is invalid.",
|
|
259
286
|
"name": {
|
|
260
287
|
"label": "Nickname",
|
|
@@ -269,7 +296,11 @@
|
|
|
269
296
|
},
|
|
270
297
|
"password": {
|
|
271
298
|
"label": "Password",
|
|
272
|
-
"desc": "
|
|
299
|
+
"desc": "Password must have:",
|
|
300
|
+
"min_length": "At least 8 characters",
|
|
301
|
+
"uppercase": "At least one uppercase letter",
|
|
302
|
+
"number": "At least one number",
|
|
303
|
+
"special_char": "At least one special character"
|
|
273
304
|
},
|
|
274
305
|
"terms": {
|
|
275
306
|
"label": "Accept terms and conditions",
|
|
@@ -312,9 +343,8 @@
|
|
|
312
343
|
},
|
|
313
344
|
"legal": {
|
|
314
345
|
"title": "Legal & Policies",
|
|
315
|
-
"title_page": "
|
|
346
|
+
"title_page": "Legal documents and Policies",
|
|
316
347
|
"last_updated": "Last updated: <date></date>",
|
|
317
|
-
"read_document": "Read Document",
|
|
318
348
|
"empty": "No documents found."
|
|
319
349
|
}
|
|
320
350
|
},
|
|
@@ -328,8 +358,6 @@
|
|
|
328
358
|
"settings_email": "Email",
|
|
329
359
|
"settings_authorization": "Authorization",
|
|
330
360
|
"settings_legal": "Legal & Policies",
|
|
331
|
-
"security": "Security",
|
|
332
|
-
"security_spam": "Spam Protection",
|
|
333
361
|
"plugins": "Plugins",
|
|
334
362
|
"styles": "Styles",
|
|
335
363
|
"styles_theme-editor": "Theme Editor",
|
|
@@ -349,8 +377,6 @@
|
|
|
349
377
|
"can_manage_settings_authorization": "Can manage authorization settings?",
|
|
350
378
|
"can_manage_settings_legal": "Can manage legal settings?",
|
|
351
379
|
"can_manage_plugins": "Can manage plugins?",
|
|
352
|
-
"security": "Security",
|
|
353
|
-
"can_manage_security_spam": "Can manage spam protection?",
|
|
354
380
|
"styles": "Styles",
|
|
355
381
|
"can_manage_styles_theme-editor": "Can manage theme editor?",
|
|
356
382
|
"can_manage_styles_nav": "Can manage navigation?",
|
|
@@ -7,7 +7,7 @@ export default function DefaultPage() {
|
|
|
7
7
|
const t = useTranslations('welcome.home');
|
|
8
8
|
|
|
9
9
|
return (
|
|
10
|
-
<main className="container
|
|
10
|
+
<main className="container flex max-w-5xl flex-wrap items-center justify-between gap-8 px-8 py-10">
|
|
11
11
|
<div className="max-w-md space-y-4">
|
|
12
12
|
<h1 className="text-balance text-3xl font-bold tracking-tight md:text-4xl">
|
|
13
13
|
{t('title')}
|
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
"@/*": ["./src/*"]
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
|
-
"include": [
|
|
25
|
+
"include": [
|
|
26
|
+
"next-env.d.ts",
|
|
27
|
+
"**/*.ts",
|
|
28
|
+
"**/*.tsx",
|
|
29
|
+
".next/types/**/*.ts",
|
|
30
|
+
"public/sw.js"
|
|
31
|
+
],
|
|
26
32
|
"exclude": ["node_modules"]
|
|
27
33
|
}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"extends": "eslint-config-typescript-vitnode/tsconfig.nest.json",
|
|
4
4
|
"compilerOptions": {
|
|
5
5
|
"target": "ESNext",
|
|
6
|
-
"module": "
|
|
7
|
-
"moduleResolution": "
|
|
6
|
+
"module": "Node16",
|
|
7
|
+
"moduleResolution": "Node16",
|
|
8
8
|
"outDir": "./dist",
|
|
9
9
|
"rootDir": "./plugins",
|
|
10
10
|
"esModuleInterop": true,
|
|
@@ -36,8 +36,6 @@ fi
|
|
|
36
36
|
# ================================
|
|
37
37
|
# Install Nginx
|
|
38
38
|
sudo apt install nginx -y
|
|
39
|
-
# Allow Nginx through the firewall
|
|
40
|
-
sudo ufw allow 'Nginx HTTP'
|
|
41
39
|
|
|
42
40
|
# Delete the default Nginx configuration file if it exists
|
|
43
41
|
if [ -f /etc/nginx/sites-available/default ]; then
|
|
@@ -203,7 +201,7 @@ else
|
|
|
203
201
|
echo ".env file already exists. Skipping creation."
|
|
204
202
|
fi
|
|
205
203
|
|
|
206
|
-
sudo docker-compose -f ./docker-compose.yml -p vitnode up -d
|
|
204
|
+
sudo docker-compose -f ./docker-compose.yml -p vitnode up --build -d
|
|
207
205
|
|
|
208
206
|
sudo chown -R 1001:1001 ./apps/backend/src/plugins/core
|
|
209
207
|
sudo chown -R 1001:1001 ./apps/backend/uploads
|
|
@@ -27,12 +27,14 @@ services:
|
|
|
27
27
|
DB_HOST: ${DB_HOST:-database}
|
|
28
28
|
env_file:
|
|
29
29
|
- .env
|
|
30
|
-
command: sh -c "cd apps/backend &&
|
|
30
|
+
command: sh -c "cd apps/backend && npm run config:init && node dist/main.js"
|
|
31
31
|
ports:
|
|
32
32
|
- '8080:8080'
|
|
33
33
|
volumes:
|
|
34
34
|
- ./apps/backend/uploads:/app/apps/backend/uploads # uploads
|
|
35
35
|
- ./apps/backend/src/plugins/core:/app/apps/backend/src/plugins/core # core
|
|
36
|
+
- ./apps/frontend/src/plugins/admin/langs:/app/apps/frontend/src/plugins/admin/langs # admin - langs
|
|
37
|
+
- ./apps/frontend/src/plugins/core/langs:/app/apps/frontend/src/plugins/core/langs # core - langs
|
|
36
38
|
networks:
|
|
37
39
|
- vitnode
|
|
38
40
|
frontend:
|