create-vitnode-app 0.0.9 → 0.0.10-canary.1

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.
Files changed (67) hide show
  1. package/dist/index.cjs +1 -1
  2. package/package.json +2 -2
  3. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/[...slug]/page.tsx +5 -0
  4. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/legal/[code]/page.tsx +12 -0
  5. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/legal/page.tsx +10 -0
  6. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/login/layout.tsx +9 -0
  7. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/login/page.tsx +10 -0
  8. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/page.tsx +23 -0
  9. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/profile/[id]/page.tsx +5 -0
  10. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/register/confirm-email/page.tsx +12 -0
  11. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/register/layout.tsx +9 -0
  12. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/register/page.tsx +10 -0
  13. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/settings/devices/page.tsx +10 -0
  14. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/settings/files/page.tsx +12 -0
  15. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/settings/layout.tsx +13 -0
  16. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/(vitnode)/settings/page.tsx +5 -0
  17. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/error.tsx +9 -0
  18. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/layout.tsx +9 -0
  19. package/templates/basic/apps/frontend/src/app/[locale]/(main)/(layout)/not-found.tsx +5 -0
  20. package/templates/basic/apps/frontend/src/app/[locale]/(main)/global.css +94 -0
  21. package/templates/basic/apps/frontend/src/app/[locale]/(main)/layout.tsx +12 -0
  22. package/templates/basic/apps/frontend/src/app/[locale]/(main)/not-found.tsx +5 -0
  23. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/[...slug]/page.tsx +7 -0
  24. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/advanced/files/page.tsx +12 -0
  25. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/dashboard/page.tsx +5 -0
  26. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/diagnostic/page.tsx +10 -0
  27. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/langs/page.tsx +12 -0
  28. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/plugins/[code]/dev/layout.tsx +12 -0
  29. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/plugins/[code]/dev/nav/page.tsx +7 -0
  30. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/plugins/[code]/dev/page.tsx +7 -0
  31. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/plugins/[code]/dev/permissions-admin/page.tsx +7 -0
  32. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/plugins/layout.tsx +9 -0
  33. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/plugins/page.tsx +12 -0
  34. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/settings/ai/page.tsx +10 -0
  35. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/settings/authorization/page.tsx +10 -0
  36. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/settings/email/layout.tsx +9 -0
  37. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/settings/email/logs/page.tsx +12 -0
  38. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/settings/email/page.tsx +10 -0
  39. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/settings/legal/page.tsx +12 -0
  40. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/settings/main/page.tsx +10 -0
  41. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/settings/metadata/page.tsx +10 -0
  42. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/settings/security/page.tsx +10 -0
  43. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/styles/editor/page.tsx +10 -0
  44. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/core/styles/nav/page.tsx +10 -0
  45. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/members/groups/page.tsx +12 -0
  46. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/members/staff/administrators/page.tsx +12 -0
  47. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/members/users/[id]/page.tsx +12 -0
  48. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/members/users/layout.tsx +9 -0
  49. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/(vitnode)/members/users/page.tsx +12 -0
  50. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/error.tsx +9 -0
  51. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/layout.tsx +13 -0
  52. package/templates/basic/apps/frontend/src/app/[locale]/admin/(auth)/not-found.tsx +5 -0
  53. package/templates/basic/apps/frontend/src/app/[locale]/admin/(vitnode)/core/styles/theme-editor/page.tsx +10 -0
  54. package/templates/basic/apps/frontend/src/app/[locale]/admin/(vitnode)/install/page.tsx +11 -0
  55. package/templates/basic/apps/frontend/src/app/[locale]/admin/(vitnode)/page.tsx +5 -0
  56. package/templates/basic/apps/frontend/src/app/[locale]/admin/global.css +94 -0
  57. package/templates/basic/apps/frontend/src/app/[locale]/admin/layout.tsx +10 -0
  58. package/templates/basic/apps/frontend/src/app/[locale]/layout.tsx +13 -0
  59. package/templates/basic/apps/frontend/src/app/layout.tsx +7 -0
  60. package/templates/basic/apps/frontend/src/app/not-found.tsx +8 -0
  61. package/templates/basic/apps/frontend/src/graphql/types.ts +1381 -0
  62. package/templates/basic/apps/frontend/src/i18n.ts +13 -0
  63. package/templates/basic/apps/frontend/src/middleware.ts +7 -0
  64. package/templates/basic/apps/frontend/src/plugins/admin/langs/en.json +654 -0
  65. package/templates/basic/apps/frontend/src/plugins/core/langs/en.json +372 -0
  66. package/templates/basic/apps/frontend/src/plugins/welcome/langs/en.json +17 -0
  67. package/templates/basic/apps/frontend/src/plugins/welcome/templates/default-page.tsx +40 -0
package/dist/index.cjs CHANGED
@@ -24,7 +24,7 @@ Expecting one of '${i.join("', '")}'`);let r=`${e}Help`;return this.on(r,u=>{let
24
24
  `),process.exit(1))},Tt=async t=>{let e=t.opts(),n={packageManager:e.packageManager,eslint:e.eslint,install:!e.skipInstall,docker:e.docker};if(!e.packageManager){let i=await St(),r=G.default.blue("package manager"),{packageManager:u}=await(0,U.default)({onState:I,name:"packageManager",type:"select",message:`Which ${r} do you want to use?`,initial:e.packageManager,choices:[{title:`npm${i.npm?`@${i.npm}`:""}`,value:"npm",disabled:!i.npm},{title:`pnpm${i.pnpm?`@${i.pnpm}`:""}`,value:"pnpm",disabled:!i.pnpm}]});n={...n,packageManager:`${u}@${i[u]}`}}if(e.eslint===void 0){let i=G.default.blue("ESLint"),{eslint:r}=await(0,U.default)({onState:I,type:"toggle",name:"eslint",message:`Would you like to use ${i}?`,initial:e.eslint?"Yes":"No",active:"Yes",inactive:"No"});n={...n,eslint:!!r}}if(e.docker===void 0){let i=G.default.blue("Dockerfile & Docker Compose"),{docker:r}=await(0,U.default)({onState:I,type:"toggle",name:"docker",message:`Would you like to create ${i}?`,initial:e.i18nRouting?"Yes":"No",active:"Yes",inactive:"No"});n={...n,docker:!!r}}if(e.skipInstall===void 0){let i=G.default.blue("Install dependencies"),{install:r}=await(0,U.default)({onState:I,type:"toggle",name:"install",message:`Would you like to ${i}?`,initial:e.eslint?"Yes":"No",active:"Yes",inactive:"No"});n={...n,install:!!r}}return n};var re=require("fs"),kt=require("path"),Se=p(require("picocolors"),1);function ue(t,e){let n=[".DS_Store",".git",".gitattributes",".gitignore",".gitlab-ci.yml",".hg",".hgcheck",".hgignore",".idea",".npmignore",".travis.yml","LICENSE","Thumbs.db","docs","mkdocs.yml","npm-debug.log","yarn-debug.log","yarn-error.log","yarnrc.yml",".yarn"],i=(0,re.readdirSync)(t).filter(r=>!n.includes(r)&&!r.endsWith(".iml"));if(i.length>0){console.log(`The directory ${Se.default.green(e)} contains files that could conflict:
25
25
  `);for(let r of i)try{(0,re.lstatSync)((0,kt.join)(t,r)).isDirectory()?console.log(`${Se.default.blue(r)}/`):console.log(r)}catch{console.log(r)}return console.log(`
26
26
  Either try using a new directory name, or remove the files listed above.
27
- `),!1}return!0}var $t=require("constants"),Pt=require("fs/promises");async function Nt(t){try{return await(0,Pt.access)(t,$t.W_OK),!0}catch{return!1}}var It=p(require("validate-npm-package-name"),1),Te=({name:t})=>{let e=(0,It.default)(t);return e.validForNewPackages?{valid:!0}:{valid:!1,problems:[...e.errors??[],...e.warnings??[]]}};var Rt={name:"create-vitnode-app",version:"0.0.9",description:"Create a new VitNode app in seconds.",author:"VitNode Team",license:"MIT",homepage:"https://vitnode.com",repository:{type:"git",url:"git+https://github.com/VitNode/vitnode.git",directory:"packages/create-vitnode-app"},type:"module",bin:{"create-vitnode-app":"dist/index.cjs"},scripts:{lint:"eslint .","lint:fix":"eslint . --fix","build:scripts":"tsup index.ts","dev:script":"tsup index.ts --watch","start:script":"node dist/index.cjs"},keywords:["vitnode","react","next","nest","nextjs","nestjs","typescript","next.js","nest.js"],dependencies:{figlet:"^1.8.0",picocolors:"^1.1.0",prompts:"^2.4.2","validate-npm-package-name":"^6.0.0"},devDependencies:{"@types/cross-spawn":"^6.0.6","@types/figlet":"^1.7.0","@types/node":"^22.7.5","@types/prompts":"^2.4.9","@types/validate-npm-package-name":"^4.0.2",commander:"^12.1.0","cross-spawn":"^7.0.3","eslint-config-typescript-vitnode":"workspace:*",ora:"^8.1.0",tsup:"^8.3.0",typescript:"^5.6.3"}};var C=require("fs"),A=require("path"),oi=require("crypto"),ai=p(require("figlet"),1);var Z=p(require("process"),1);var jt=(t=0)=>e=>`\x1B[${e+t}m`,Vt=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,Mt=(t=0)=>(e,n,i)=>`\x1B[${38+t};2;${e};${n};${i}m`,m={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},Cu=Object.keys(m.modifier),Ni=Object.keys(m.color),Ii=Object.keys(m.bgColor),Eu=[...Ni,...Ii];function Ri(){let t=new Map;for(let[e,n]of Object.entries(m)){for(let[i,r]of Object.entries(n))m[i]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[i]=m[i],t.set(r[0],r[1]);Object.defineProperty(m,e,{value:n,enumerable:!1})}return Object.defineProperty(m,"codes",{value:t,enumerable:!1}),m.color.close="\x1B[39m",m.bgColor.close="\x1B[49m",m.color.ansi=jt(),m.color.ansi256=Vt(),m.color.ansi16m=Mt(),m.bgColor.ansi=jt(10),m.bgColor.ansi256=Vt(10),m.bgColor.ansi16m=Mt(10),Object.defineProperties(m,{rgbToAnsi256:{value(e,n,i){return e===n&&n===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},enumerable:!1},hexToRgb:{value(e){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!n)return[0,0,0];let[i]=n;i.length===3&&(i=[...i].map(u=>u+u).join(""));let r=Number.parseInt(i,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>m.rgbToAnsi256(...m.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let n,i,r;if(e>=232)n=((e-232)*10+8)/255,i=n,r=n;else{e-=16;let o=e%36;n=Math.floor(e/36)/5,i=Math.floor(o/6)/5,r=o%6/5}let u=Math.max(n,i,r)*2;if(u===0)return 30;let s=30+(Math.round(r)<<2|Math.round(i)<<1|Math.round(n));return u===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(e,n,i)=>m.ansi256ToAnsi(m.rgbToAnsi256(e,n,i)),enumerable:!1},hexToAnsi:{value:e=>m.ansi256ToAnsi(m.hexToAnsi256(e)),enumerable:!1}}),m}var ji=Ri(),v=ji;var oe=p(require("process"),1),Wt=p(require("os"),1),ke=p(require("tty"),1);function x(t,e=globalThis.Deno?globalThis.Deno.args:oe.default.argv){let n=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(n+t),r=e.indexOf("--");return i!==-1&&(r===-1||i<r)}var{env:d}=oe.default,se;x("no-color")||x("no-colors")||x("color=false")||x("color=never")?se=0:(x("color")||x("colors")||x("color=true")||x("color=always"))&&(se=1);function Vi(){if("FORCE_COLOR"in d)return d.FORCE_COLOR==="true"?1:d.FORCE_COLOR==="false"?0:d.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(d.FORCE_COLOR,10),3)}function Mi(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Hi(t,{streamIsTTY:e,sniffFlags:n=!0}={}){let i=Vi();i!==void 0&&(se=i);let r=n?se:i;if(r===0)return 0;if(n){if(x("color=16m")||x("color=full")||x("color=truecolor"))return 3;if(x("color=256"))return 2}if("TF_BUILD"in d&&"AGENT_NAME"in d)return 1;if(t&&!e&&r===void 0)return 0;let u=r||0;if(d.TERM==="dumb")return u;if(oe.default.platform==="win32"){let s=Wt.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in d)return"GITHUB_ACTIONS"in d||"GITEA_ACTIONS"in d?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in d)||d.CI_NAME==="codeship"?1:u;if("TEAMCITY_VERSION"in d)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(d.TEAMCITY_VERSION)?1:0;if(d.COLORTERM==="truecolor"||d.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in d){let s=Number.parseInt((d.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(d.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(d.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(d.TERM)||"COLORTERM"in d?1:u}function Ht(t,e={}){let n=Hi(t,{streamIsTTY:t&&t.isTTY,...e});return Mi(n)}var Wi={stdout:Ht({isTTY:ke.default.isatty(1)}),stderr:Ht({isTTY:ke.default.isatty(2)})},qt=Wi;function Lt(t,e,n){let i=t.indexOf(e);if(i===-1)return t;let r=e.length,u=0,s="";do s+=t.slice(u,i)+e+n,u=i+r,i=t.indexOf(e,u);while(i!==-1);return s+=t.slice(u),s}function Gt(t,e,n,i){let r=0,u="";do{let s=t[i-1]==="\r";u+=t.slice(r,s?i-1:i)+e+(s?`\r
27
+ `),!1}return!0}var $t=require("constants"),Pt=require("fs/promises");async function Nt(t){try{return await(0,Pt.access)(t,$t.W_OK),!0}catch{return!1}}var It=p(require("validate-npm-package-name"),1),Te=({name:t})=>{let e=(0,It.default)(t);return e.validForNewPackages?{valid:!0}:{valid:!1,problems:[...e.errors??[],...e.warnings??[]]}};var Rt={name:"create-vitnode-app",version:"0.0.10-canary.0",description:"Create a new VitNode app in seconds.",author:"VitNode Team",license:"MIT",homepage:"https://vitnode.com",repository:{type:"git",url:"git+https://github.com/VitNode/vitnode.git",directory:"packages/create-vitnode-app"},type:"module",bin:{"create-vitnode-app":"dist/index.cjs"},scripts:{lint:"eslint .","lint:fix":"eslint . --fix","build:scripts":"tsup index.ts","dev:script":"tsup index.ts --watch","start:script":"node dist/index.cjs"},keywords:["vitnode","react","next","nest","nextjs","nestjs","typescript","next.js","nest.js"],dependencies:{figlet:"^1.8.0",picocolors:"^1.1.0",prompts:"^2.4.2","validate-npm-package-name":"^6.0.0"},devDependencies:{"@types/cross-spawn":"^6.0.6","@types/figlet":"^1.7.0","@types/node":"^22.7.5","@types/prompts":"^2.4.9","@types/validate-npm-package-name":"^4.0.2",commander:"^12.1.0","cross-spawn":"^7.0.3","eslint-config-typescript-vitnode":"workspace:*",ora:"^8.1.0",tsup:"^8.3.0",typescript:"^5.6.3"}};var C=require("fs"),A=require("path"),oi=require("crypto"),ai=p(require("figlet"),1);var Z=p(require("process"),1);var jt=(t=0)=>e=>`\x1B[${e+t}m`,Vt=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,Mt=(t=0)=>(e,n,i)=>`\x1B[${38+t};2;${e};${n};${i}m`,m={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},Cu=Object.keys(m.modifier),Ni=Object.keys(m.color),Ii=Object.keys(m.bgColor),Eu=[...Ni,...Ii];function Ri(){let t=new Map;for(let[e,n]of Object.entries(m)){for(let[i,r]of Object.entries(n))m[i]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[i]=m[i],t.set(r[0],r[1]);Object.defineProperty(m,e,{value:n,enumerable:!1})}return Object.defineProperty(m,"codes",{value:t,enumerable:!1}),m.color.close="\x1B[39m",m.bgColor.close="\x1B[49m",m.color.ansi=jt(),m.color.ansi256=Vt(),m.color.ansi16m=Mt(),m.bgColor.ansi=jt(10),m.bgColor.ansi256=Vt(10),m.bgColor.ansi16m=Mt(10),Object.defineProperties(m,{rgbToAnsi256:{value(e,n,i){return e===n&&n===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},enumerable:!1},hexToRgb:{value(e){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!n)return[0,0,0];let[i]=n;i.length===3&&(i=[...i].map(u=>u+u).join(""));let r=Number.parseInt(i,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>m.rgbToAnsi256(...m.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let n,i,r;if(e>=232)n=((e-232)*10+8)/255,i=n,r=n;else{e-=16;let o=e%36;n=Math.floor(e/36)/5,i=Math.floor(o/6)/5,r=o%6/5}let u=Math.max(n,i,r)*2;if(u===0)return 30;let s=30+(Math.round(r)<<2|Math.round(i)<<1|Math.round(n));return u===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(e,n,i)=>m.ansi256ToAnsi(m.rgbToAnsi256(e,n,i)),enumerable:!1},hexToAnsi:{value:e=>m.ansi256ToAnsi(m.hexToAnsi256(e)),enumerable:!1}}),m}var ji=Ri(),v=ji;var oe=p(require("process"),1),Wt=p(require("os"),1),ke=p(require("tty"),1);function x(t,e=globalThis.Deno?globalThis.Deno.args:oe.default.argv){let n=t.startsWith("-")?"":t.length===1?"-":"--",i=e.indexOf(n+t),r=e.indexOf("--");return i!==-1&&(r===-1||i<r)}var{env:d}=oe.default,se;x("no-color")||x("no-colors")||x("color=false")||x("color=never")?se=0:(x("color")||x("colors")||x("color=true")||x("color=always"))&&(se=1);function Vi(){if("FORCE_COLOR"in d)return d.FORCE_COLOR==="true"?1:d.FORCE_COLOR==="false"?0:d.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(d.FORCE_COLOR,10),3)}function Mi(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function Hi(t,{streamIsTTY:e,sniffFlags:n=!0}={}){let i=Vi();i!==void 0&&(se=i);let r=n?se:i;if(r===0)return 0;if(n){if(x("color=16m")||x("color=full")||x("color=truecolor"))return 3;if(x("color=256"))return 2}if("TF_BUILD"in d&&"AGENT_NAME"in d)return 1;if(t&&!e&&r===void 0)return 0;let u=r||0;if(d.TERM==="dumb")return u;if(oe.default.platform==="win32"){let s=Wt.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in d)return"GITHUB_ACTIONS"in d||"GITEA_ACTIONS"in d?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in d)||d.CI_NAME==="codeship"?1:u;if("TEAMCITY_VERSION"in d)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(d.TEAMCITY_VERSION)?1:0;if(d.COLORTERM==="truecolor"||d.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in d){let s=Number.parseInt((d.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(d.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(d.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(d.TERM)||"COLORTERM"in d?1:u}function Ht(t,e={}){let n=Hi(t,{streamIsTTY:t&&t.isTTY,...e});return Mi(n)}var Wi={stdout:Ht({isTTY:ke.default.isatty(1)}),stderr:Ht({isTTY:ke.default.isatty(2)})},qt=Wi;function Lt(t,e,n){let i=t.indexOf(e);if(i===-1)return t;let r=e.length,u=0,s="";do s+=t.slice(u,i)+e+n,u=i+r,i=t.indexOf(e,u);while(i!==-1);return s+=t.slice(u),s}function Gt(t,e,n,i){let r=0,u="";do{let s=t[i-1]==="\r";u+=t.slice(r,s?i-1:i)+e+(s?`\r
28
28
  `:`
29
29
  `)+n,r=i+1,i=t.indexOf(`
30
30
  `,r)}while(i!==-1);return u+=t.slice(r),u}var{stdout:Ut,stderr:Yt}=qt,$e=Symbol("GENERATOR"),R=Symbol("STYLER"),Y=Symbol("IS_EMPTY"),zt=["ansi","ansi","ansi256","ansi16m"],j=Object.create(null),qi=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let n=Ut?Ut.level:0;t.level=e.level===void 0?n:e.level};var Li=t=>{let e=(...n)=>n.join(" ");return qi(e,t),Object.setPrototypeOf(e,z.prototype),e};function z(t){return Li(t)}Object.setPrototypeOf(z.prototype,Function.prototype);for(let[t,e]of Object.entries(v))j[t]={get(){let n=ae(this,Ne(e.open,e.close,this[R]),this[Y]);return Object.defineProperty(this,t,{value:n}),n}};j.visible={get(){let t=ae(this,this[R],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var Pe=(t,e,n,...i)=>t==="rgb"?e==="ansi16m"?v[n].ansi16m(...i):e==="ansi256"?v[n].ansi256(v.rgbToAnsi256(...i)):v[n].ansi(v.rgbToAnsi(...i)):t==="hex"?Pe("rgb",e,n,...v.hexToRgb(...i)):v[n][t](...i),Gi=["rgb","hex","ansi256"];for(let t of Gi){j[t]={get(){let{level:n}=this;return function(...i){let r=Ne(Pe(t,zt[n],"color",...i),v.color.close,this[R]);return ae(this,r,this[Y])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);j[e]={get(){let{level:n}=this;return function(...i){let r=Ne(Pe(t,zt[n],"bgColor",...i),v.bgColor.close,this[R]);return ae(this,r,this[Y])}}}}var Ui=Object.defineProperties(()=>{},{...j,level:{enumerable:!0,get(){return this[$e].level},set(t){this[$e].level=t}}}),Ne=(t,e,n)=>{let i,r;return n===void 0?(i=t,r=e):(i=n.openAll+t,r=e+n.closeAll),{open:t,close:e,openAll:i,closeAll:r,parent:n}},ae=(t,e,n)=>{let i=(...r)=>Yi(i,r.length===1?""+r[0]:r.join(" "));return Object.setPrototypeOf(i,Ui),i[$e]=t,i[R]=e,i[Y]=n,i},Yi=(t,e)=>{if(t.level<=0||!e)return t[Y]?"":e;let n=t[R];if(n===void 0)return e;let{openAll:i,closeAll:r}=n;if(e.includes("\x1B"))for(;n!==void 0;)e=Lt(e,n.close,n.open),n=n.parent;let u=e.indexOf(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-vitnode-app",
3
- "version": "0.0.9",
3
+ "version": "0.0.10-canary.1",
4
4
  "description": "Create a new VitNode app in seconds.",
5
5
  "author": "VitNode Team",
6
6
  "license": "MIT",
@@ -42,7 +42,7 @@
42
42
  "ora": "^8.1.0",
43
43
  "tsup": "^8.3.0",
44
44
  "typescript": "^5.6.3",
45
- "eslint-config-typescript-vitnode": "0.0.9"
45
+ "eslint-config-typescript-vitnode": "0.0.10-canary.1"
46
46
  },
47
47
  "scripts": {
48
48
  "lint": "eslint .",
@@ -0,0 +1,5 @@
1
+ import { notFound } from 'next/navigation';
2
+
3
+ export default function Page() {
4
+ return notFound();
5
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ generateMetadataItemLegal,
3
+ ItemLegalView,
4
+ } from 'vitnode-frontend/views/theme/views/legal/item/item-legal-view';
5
+
6
+ export const generateMetadata = generateMetadataItemLegal;
7
+
8
+ export default function Page(
9
+ props: React.ComponentProps<typeof ItemLegalView>,
10
+ ) {
11
+ return <ItemLegalView {...props} />;
12
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ generateMetadataLegal,
3
+ LegalView,
4
+ } from 'vitnode-frontend/views/theme/views/legal/legal-view';
5
+
6
+ export const generateMetadata = generateMetadataLegal;
7
+
8
+ export default function Page() {
9
+ return <LegalView />;
10
+ }
@@ -0,0 +1,9 @@
1
+ import { TranslationsProvider } from 'vitnode-frontend/components/translations-provider';
2
+
3
+ export default function Layout({ children }: { children: React.ReactNode }) {
4
+ return (
5
+ <TranslationsProvider namespaces="core.sign_in">
6
+ {children}
7
+ </TranslationsProvider>
8
+ );
9
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ generateMetadataSignIn,
3
+ SignInView,
4
+ } from 'vitnode-frontend/views/theme/views/auth/sign/in/sign-in-view';
5
+
6
+ export const generateMetadata = generateMetadataSignIn;
7
+
8
+ export default function Page() {
9
+ return <SignInView />;
10
+ }
@@ -0,0 +1,23 @@
1
+ // ! DO NOT TOUCH THIS FILE!!! IT IS GENERATED BY VITNODE-CLI
2
+ // ! If you remove this then default page plugin will not work
3
+ import React from 'react';
4
+ import { getSessionData } from 'vitnode-frontend/graphql/get-session-data';
5
+ import { generateMetadataDefaultPage } from 'vitnode-frontend/views/theme/views/default-page';
6
+
7
+ export const generateMetadata = generateMetadataDefaultPage;
8
+
9
+ export default async function Page() {
10
+ const {
11
+ core_sessions__authorization: { plugin_default },
12
+ } = await getSessionData();
13
+
14
+ const PageFromTheme = React.lazy(async () =>
15
+ import(`@/plugins/${plugin_default}/templates/default-page`).then(
16
+ module => ({
17
+ default: module.default,
18
+ }),
19
+ ),
20
+ );
21
+
22
+ return <PageFromTheme />;
23
+ }
@@ -0,0 +1,5 @@
1
+ import { ProfileView } from 'vitnode-frontend/views/theme/views/profile/profile-view';
2
+
3
+ export default function Page(props: React.ComponentProps<typeof ProfileView>) {
4
+ return <ProfileView {...props} />;
5
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ ConfirmEmailSignUpView,
3
+ metadataConfirmEmailSignUp,
4
+ } from 'vitnode-frontend/views/theme/views/auth/sign/up/confirm-email/confirm-email-sign-up-view';
5
+
6
+ export const metadata = metadataConfirmEmailSignUp;
7
+
8
+ export default function Page(
9
+ props: React.ComponentProps<typeof ConfirmEmailSignUpView>,
10
+ ) {
11
+ return <ConfirmEmailSignUpView {...props} />;
12
+ }
@@ -0,0 +1,9 @@
1
+ import { TranslationsProvider } from 'vitnode-frontend/components/translations-provider';
2
+
3
+ export default function Layout({ children }: { children: React.ReactNode }) {
4
+ return (
5
+ <TranslationsProvider namespaces="core.sign_up">
6
+ {children}
7
+ </TranslationsProvider>
8
+ );
9
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ generateMetadataSignUp,
3
+ SignUpView,
4
+ } from 'vitnode-frontend/views/theme/views/auth/sign/up/sign-up-view';
5
+
6
+ export const generateMetadata = generateMetadataSignUp;
7
+
8
+ export default function Page() {
9
+ return <SignUpView />;
10
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ DevicesSettingsView,
3
+ generateMetadataDevicesSettings,
4
+ } from 'vitnode-frontend/views/theme/views/settings/views/devices/devices-settings-view';
5
+
6
+ export const generateMetadata = generateMetadataDevicesSettings;
7
+
8
+ export default function Page() {
9
+ return <DevicesSettingsView />;
10
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ FilesSettingsView,
3
+ generateMetadataFilesSettings,
4
+ } from 'vitnode-frontend/views/theme/views/settings/views/files/files-settings-view';
5
+
6
+ export const generateMetadata = generateMetadataFilesSettings;
7
+
8
+ export default function Page(
9
+ props: React.ComponentProps<typeof FilesSettingsView>,
10
+ ) {
11
+ return <FilesSettingsView {...props} />;
12
+ }
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import {
3
+ generateMetadataLayoutSettings,
4
+ LayoutSettingsView,
5
+ } from 'vitnode-frontend/views/theme/views/settings/layout';
6
+
7
+ export const generateMetadata = generateMetadataLayoutSettings;
8
+
9
+ export default function Layout(
10
+ props: React.ComponentProps<typeof LayoutSettingsView>,
11
+ ) {
12
+ return <LayoutSettingsView {...props} />;
13
+ }
@@ -0,0 +1,5 @@
1
+ import { OverviewSettingsView } from 'vitnode-frontend/views/theme/views/settings/views/overview/overview-settings-view';
2
+
3
+ export default function Page() {
4
+ return <OverviewSettingsView />;
5
+ }
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+
3
+ import { WrapperError } from 'vitnode-frontend/views/theme/views/error/wrapper-error';
4
+
5
+ export default function Error(
6
+ props: React.ComponentProps<typeof WrapperError>,
7
+ ) {
8
+ return <WrapperError {...props} />;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { ThemeLayout } from 'vitnode-frontend/views/theme/layout/theme-layout';
2
+
3
+ export default function LocaleLayout({
4
+ children,
5
+ }: {
6
+ children: React.ReactNode;
7
+ }) {
8
+ return <ThemeLayout>{children}</ThemeLayout>;
9
+ }
@@ -0,0 +1,5 @@
1
+ import { ErrorView } from 'vitnode-frontend/views/theme/views/error/error-view';
2
+
3
+ export default function NotFoundPage() {
4
+ return <ErrorView code="404" />;
5
+ }
@@ -0,0 +1,94 @@
1
+ @tailwind components;
2
+ @tailwind utilities;
3
+ @tailwind base;
4
+
5
+ @layer base {
6
+ * {
7
+ @apply border-border;
8
+ }
9
+
10
+ body {
11
+ @apply bg-background text-foreground;
12
+ }
13
+
14
+ a {
15
+ @apply text-primary;
16
+ @apply cursor-pointer;
17
+ }
18
+
19
+ :root {
20
+ --background: 220 40% 98%;
21
+ --foreground: 213deg 5% 8%;
22
+ --card: 220 40% 100%;
23
+ --card-foreground: 213deg 26% 7%;
24
+ --popover: var(--card);
25
+ --popover-foreground: var(--card-foreground);
26
+ --primary: 220 58% 47%;
27
+ --primary-foreground: 220 40% 98%;
28
+ --secondary: 220 42% 94%;
29
+ --secondary-foreground: 210 40% 2%;
30
+ --muted: 220 40% 96%;
31
+ --muted-foreground: 220 8% 44%;
32
+ --accent: 220 40% 92%;
33
+ --accent-foreground: 222 47% 11%;
34
+ --destructive: 0 57% 43%;
35
+ --destructive-foreground: 210 40% 98%;
36
+ --border: 220 20% 90%;
37
+ --input: var(--border);
38
+ --ring: var(--primary);
39
+ --radius: 0.5rem;
40
+ --cover: 220 80% 67%;
41
+ --cover-foreground: 210 40% 98%;
42
+
43
+ --chart-1: 12 76% 61%;
44
+ --chart-2: 173 58% 39%;
45
+ --chart-3: 197 37% 24%;
46
+ --chart-4: 43 74% 66%;
47
+ --chart-5: 27 87% 67%;
48
+ }
49
+
50
+ .dark {
51
+ --background: 220 11% 6%;
52
+ --foreground: 0 0% 98%;
53
+ --card: 225 11% 8%;
54
+ --card-foreground: 0 0% 98%;
55
+ /* --popover: var(--card); */
56
+ /* --popover-foreground: var(--card-foreground); */
57
+ --primary: 220 83% 60%;
58
+ --primary-foreground: 220 40% 98%;
59
+ --secondary: 216 10% 18%;
60
+ --secondary-foreground: 0 0% 98%;
61
+ --muted: 228 11% 12%;
62
+ --muted-foreground: 216 0% 68%;
63
+ --accent: 228 11% 14%;
64
+ --accent-foreground: 0 0% 98%;
65
+ --destructive: 359 78% 55%;
66
+ --destructive-foreground: 210 40% 98%;
67
+ --border: 228 10% 16%;
68
+ /* --input: var(--border); */
69
+ /* --ring: var(--primary); */
70
+ --cover: 216 64% 39%;
71
+ --cover-foreground: 210 40% 98%;
72
+
73
+ --chart-1: 220 70% 50%;
74
+ --chart-2: 160 60% 45%;
75
+ --chart-3: 30 80% 55%;
76
+ --chart-4: 280 65% 60%;
77
+ --chart-5: 340 75% 55%;
78
+ }
79
+ }
80
+
81
+ @layer utilities {
82
+ .underline-strike-through {
83
+ text-decoration: underline line-through;
84
+ }
85
+
86
+ .no-scrollbar {
87
+ -ms-overflow-style: none;
88
+ scrollbar-width: none;
89
+
90
+ &::-webkit-scrollbar {
91
+ display: none;
92
+ }
93
+ }
94
+ }
@@ -0,0 +1,12 @@
1
+ import { TranslationsProvider } from 'vitnode-frontend/components/translations-provider';
2
+ import { AuthLayout } from 'vitnode-frontend/views/layout/auth/auth-layout';
3
+
4
+ import './global.css';
5
+
6
+ export default function Layout({ children }: { children: React.ReactNode }) {
7
+ return (
8
+ <TranslationsProvider namespaces={[]}>
9
+ <AuthLayout>{children}</AuthLayout>
10
+ </TranslationsProvider>
11
+ );
12
+ }
@@ -0,0 +1,5 @@
1
+ import { ErrorView } from 'vitnode-frontend/views/theme/views/error/error-view';
2
+
3
+ export default function NotFoundPage() {
4
+ return <ErrorView code="404" />;
5
+ }
@@ -0,0 +1,7 @@
1
+ // ! DO NOT TOUCH THIS FILE!!! IT IS GENERATED BY VITNODE-CLI
2
+
3
+ import { notFound } from 'next/navigation';
4
+
5
+ export default function Page() {
6
+ return notFound();
7
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ FilesAdvancedCoreAdminView,
3
+ generateMetadataFilesAdvancedCoreAdmin,
4
+ } from 'vitnode-frontend/views/admin/views/core/advanced/files/files-advanced-core-admin-view';
5
+
6
+ export const generateMetadata = generateMetadataFilesAdvancedCoreAdmin;
7
+
8
+ export default function Page(
9
+ props: React.ComponentProps<typeof FilesAdvancedCoreAdminView>,
10
+ ) {
11
+ return <FilesAdvancedCoreAdminView {...props} />;
12
+ }
@@ -0,0 +1,5 @@
1
+ import { DashboardCoreAdminView } from 'vitnode-frontend/views/admin/views/core/dashboard/dashboard-core-admin-view';
2
+
3
+ export default function Page() {
4
+ return <DashboardCoreAdminView />;
5
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ DiagnosticToolsView,
3
+ generateMetadataDiagnosticAdmin,
4
+ } from 'vitnode-frontend/views/admin/views/core/diagnostic/diagnostic-tools-view';
5
+
6
+ export const generateMetadata = generateMetadataDiagnosticAdmin;
7
+
8
+ export default function Page() {
9
+ return <DiagnosticToolsView />;
10
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ generateMetadataLangsCoreAdmin,
3
+ LangsCoreAdminView,
4
+ } from 'vitnode-frontend/views/admin/views/core/langs/langs-core-admin-view';
5
+
6
+ export const generateMetadata = generateMetadataLangsCoreAdmin;
7
+
8
+ export default function Page(
9
+ props: React.ComponentProps<typeof LangsCoreAdminView>,
10
+ ) {
11
+ return <LangsCoreAdminView {...props} />;
12
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ DevPluginAdminLayout,
3
+ generateMetadataDevPluginAdminLayout,
4
+ } from 'vitnode-frontend/admin/core/plugins/views/dev/layout/layout';
5
+
6
+ export const generateMetadata = generateMetadataDevPluginAdminLayout;
7
+
8
+ export default function Layout(
9
+ props: React.ComponentProps<typeof DevPluginAdminLayout>,
10
+ ) {
11
+ return <DevPluginAdminLayout {...props} />;
12
+ }
@@ -0,0 +1,7 @@
1
+ import { NavDevPluginAdminView } from 'vitnode-frontend/views/admin/views/core/plugins/views/dev/nav/nav';
2
+
3
+ export default function Page(
4
+ props: React.ComponentProps<typeof NavDevPluginAdminView>,
5
+ ) {
6
+ return <NavDevPluginAdminView {...props} />;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { OverviewDevPluginAdminView } from 'vitnode-frontend/views/admin/views/core/plugins/views/dev/overview';
2
+
3
+ export default function Page(
4
+ props: React.ComponentProps<typeof OverviewDevPluginAdminView>,
5
+ ) {
6
+ return <OverviewDevPluginAdminView {...props} />;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { PermissionsAdminDevPluginAdminView } from 'vitnode-frontend/views/admin/views/core/plugins/views/dev/permissions-admin/permissions-admin';
2
+
3
+ export default function Page(
4
+ props: React.ComponentProps<typeof PermissionsAdminDevPluginAdminView>,
5
+ ) {
6
+ return <PermissionsAdminDevPluginAdminView {...props} />;
7
+ }
@@ -0,0 +1,9 @@
1
+ import { TranslationsProvider } from 'vitnode-frontend/components/translations-provider';
2
+
3
+ export default function Layout({ children }: { children: React.ReactNode }) {
4
+ return (
5
+ <TranslationsProvider namespaces="admin.core.plugins">
6
+ {children}
7
+ </TranslationsProvider>
8
+ );
9
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ generateMetadataPluginsAdmin,
3
+ PluginsAdminView,
4
+ } from 'vitnode-frontend/views/admin/views/core/plugins/plugins-admin-view';
5
+
6
+ export const generateMetadata = generateMetadataPluginsAdmin;
7
+
8
+ export default function Page(
9
+ props: React.ComponentProps<typeof PluginsAdminView>,
10
+ ) {
11
+ return <PluginsAdminView {...props} />;
12
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ AiSettingsCoreAdminView,
3
+ generateMetadataAiSettingsAdmin,
4
+ } from 'vitnode-frontend/views/admin/views/core/settings/ai/ai-settings-core-admin-view';
5
+
6
+ export const generateMetadata = generateMetadataAiSettingsAdmin;
7
+
8
+ export default function Page() {
9
+ return <AiSettingsCoreAdminView />;
10
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ AuthorizationSettingsCoreAdminView,
3
+ generateMetadataAuthorizationSettingsAdmin,
4
+ } from 'vitnode-frontend/views/admin/views/core/settings/authorization/authorization-settings-core-admin-view';
5
+
6
+ export const generateMetadata = generateMetadataAuthorizationSettingsAdmin;
7
+
8
+ export default function Page() {
9
+ return <AuthorizationSettingsCoreAdminView />;
10
+ }
@@ -0,0 +1,9 @@
1
+ import { TranslationsProvider } from 'vitnode-frontend/components/translations-provider';
2
+
3
+ export default function Layout({ children }: { children: React.ReactNode }) {
4
+ return (
5
+ <TranslationsProvider namespaces="admin.core.settings.email">
6
+ {children}
7
+ </TranslationsProvider>
8
+ );
9
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ generateMetadataLogsEmailSettingsAdmin,
3
+ LogsEmailSettingsAdminView,
4
+ } from 'vitnode-frontend/views/admin/views/core/settings/email/logs/logs-email-settings-admin-view';
5
+
6
+ export const generateMetadata = generateMetadataLogsEmailSettingsAdmin;
7
+
8
+ export default function Page(
9
+ props: React.ComponentProps<typeof LogsEmailSettingsAdminView>,
10
+ ) {
11
+ return <LogsEmailSettingsAdminView {...props} />;
12
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ EmailSettingsAdminView,
3
+ generateMetadataEmailSettingsAdmin,
4
+ } from 'vitnode-frontend/views/admin/views/core/settings/email/email-settings-admin-view';
5
+
6
+ export const generateMetadata = generateMetadataEmailSettingsAdmin;
7
+
8
+ export default function Page() {
9
+ return <EmailSettingsAdminView />;
10
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ generateMetadataLegalSettingsAdmin,
3
+ LegalSettingsAdminView,
4
+ } from 'vitnode-frontend/views/admin/views/core/settings/legal/legal-core-admin-view';
5
+
6
+ export const generateMetadata = generateMetadataLegalSettingsAdmin;
7
+
8
+ export default function Page(
9
+ props: React.ComponentProps<typeof LegalSettingsAdminView>,
10
+ ) {
11
+ return <LegalSettingsAdminView {...props} />;
12
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ generateMetadataMainSettingsCoreAdmin,
3
+ MainSettingsCoreAdminView,
4
+ } from 'vitnode-frontend/views/admin/views/core/settings/main/main-settings-core-admin-view';
5
+
6
+ export const generateMetadata = generateMetadataMainSettingsCoreAdmin;
7
+
8
+ export default function Page() {
9
+ return <MainSettingsCoreAdminView />;
10
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ generateMetadataManifestMetadataCoreAdmin,
3
+ ManifestMetadataCoreAdminView,
4
+ } from 'vitnode-frontend/views/admin/views/core/settings/metadata/manifest/manifest-metadata-core-view';
5
+
6
+ export const generateMetadata = generateMetadataManifestMetadataCoreAdmin;
7
+
8
+ export default function Page() {
9
+ return <ManifestMetadataCoreAdminView />;
10
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ CaptchaSecurityAdminView,
3
+ generateMetadataCaptchaSecurityAdmin,
4
+ } from 'vitnode-frontend/views/admin/views/core/settings/security/captcha/captcha-security-admin-view';
5
+
6
+ export const generateMetadata = generateMetadataCaptchaSecurityAdmin;
7
+
8
+ export default function Page() {
9
+ return <CaptchaSecurityAdminView />;
10
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ EditorAdminView,
3
+ generateMetadataEditorAdmin,
4
+ } from 'vitnode-frontend/views/admin/views/core/styles/editor/editor-admin-view';
5
+
6
+ export const generateMetadata = generateMetadataEditorAdmin;
7
+
8
+ export default function Page() {
9
+ return <EditorAdminView />;
10
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ generateMetadataNavAdmin,
3
+ NavAdminView,
4
+ } from 'vitnode-frontend/views/admin/views/core/styles/nav/nav-admin-view';
5
+
6
+ export const generateMetadata = generateMetadataNavAdmin;
7
+
8
+ export default function Page() {
9
+ return <NavAdminView />;
10
+ }