@undp/create-app 0.2.1 → 0.2.3
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 +20 -21
- package/bin/generateFiles/generateEnv.js +21 -0
- package/bin/generateFiles/generateLayoutForNext.js +40 -0
- package/bin/generateFiles/generateNextEnvTypes.js +9 -0
- package/bin/generateFiles/generatePackageJson.js +10 -11
- package/bin/generateFiles/generatePageForNext.js +102 -0
- package/bin/generateFiles/generateStylesCss.js +8 -0
- package/bin/generateFiles/index.js +5 -0
- package/bin/index.js +25 -9
- package/bin/promptUser.js +22 -26
- package/bin/templates/next/auth/app/about/page.tsx +51 -0
- package/bin/templates/next/{withDataViz/auth → auth}/app/layout.tsx +2 -1
- package/bin/templates/next/{withDataViz/auth → auth}/app/login/page.tsx +20 -2
- package/bin/templates/next/auth/app/page.tsx +75 -0
- package/bin/templates/next/auth/app/user/page.tsx +84 -0
- package/bin/templates/next/auth/public/imgs/Zustand-logo.svg +266 -0
- package/bin/templates/next/auth/stores/counter.ts +23 -0
- package/bin/templates/next/basic/app/about/page.tsx +51 -0
- package/bin/templates/next/{withDataViz/basic → basic}/app/layout.tsx +2 -1
- package/bin/templates/next/basic/app/page.tsx +75 -0
- package/bin/templates/next/basic/public/imgs/Zustand-logo.svg +266 -0
- package/bin/templates/next/basic/stores/counter.ts +23 -0
- package/bin/templates/queryIntegrationForNext/integration/tanstack-query.tsx +27 -0
- package/bin/templates/vite/basic/public/imgs/Zustand-logo.svg +266 -0
- package/bin/templates/vite/{withDataViz/query → basic}/src/App.tsx +30 -31
- package/bin/templates/vite/{withDataViz/basic → basic}/src/main.tsx +1 -1
- package/bin/templates/vite/basic/src/stores/counter.ts +23 -0
- package/bin/templates/vite/query/public/imgs/Zustand-logo.svg +266 -0
- package/bin/templates/vite/{withoutDataViz/query → query}/src/App.tsx +39 -10
- package/bin/templates/vite/{withDataViz/query → query}/src/integration/tanstack-query.tsx +2 -1
- package/bin/templates/vite/query/src/stores/counter.ts +23 -0
- package/bin/templates/vite/query+router/public/imgs/Zustand-logo.svg +266 -0
- package/bin/templates/vite/query+router/src/App.tsx +73 -0
- package/bin/templates/vite/{withDataViz/query+router → query+router}/src/integration/tanstack-query.tsx +2 -1
- package/bin/templates/vite/{withDataViz/query+router → query+router}/src/routes/queryDemo.tsx +12 -8
- package/bin/templates/vite/query+router/src/stores/counter.ts +23 -0
- package/bin/templates/vite/router/public/imgs/Zustand-logo.svg +266 -0
- package/bin/templates/vite/router/src/App.tsx +73 -0
- package/bin/templates/vite/{withDataViz/router → router}/src/main.tsx +2 -2
- package/bin/templates/vite/{withoutDataViz/router/src/App.tsx → router/src/routes/about.tsx} +14 -7
- package/bin/templates/vite/router/src/stores/counter.ts +23 -0
- package/bin/templates/vite/{withoutDataViz/router → router}/src/styles/style.css +0 -1
- package/package.json +1 -1
- package/bin/templates/next/withDataViz/auth/README.md +0 -108
- package/bin/templates/next/withDataViz/auth/app/about/page.tsx +0 -33
- package/bin/templates/next/withDataViz/auth/app/page.tsx +0 -33
- package/bin/templates/next/withDataViz/auth/app/user/page.tsx +0 -86
- package/bin/templates/next/withDataViz/basic/README.md +0 -56
- package/bin/templates/next/withDataViz/basic/app/about/page.tsx +0 -33
- package/bin/templates/next/withDataViz/basic/app/page.tsx +0 -33
- package/bin/templates/next/withoutDataViz/auth/app/about/page.tsx +0 -33
- package/bin/templates/next/withoutDataViz/auth/app/api/auth/[...all]/route.ts +0 -5
- package/bin/templates/next/withoutDataViz/auth/app/globals.css +0 -3
- package/bin/templates/next/withoutDataViz/auth/app/layout.tsx +0 -30
- package/bin/templates/next/withoutDataViz/auth/app/login/page.tsx +0 -45
- package/bin/templates/next/withoutDataViz/auth/app/page.tsx +0 -33
- package/bin/templates/next/withoutDataViz/auth/app/user/page.tsx +0 -86
- package/bin/templates/next/withoutDataViz/auth/components/Footer.tsx +0 -16
- package/bin/templates/next/withoutDataViz/auth/components/Header.tsx +0 -56
- package/bin/templates/next/withoutDataViz/auth/eslint.config.mjs +0 -103
- package/bin/templates/next/withoutDataViz/auth/lib/auth-client.ts +0 -7
- package/bin/templates/next/withoutDataViz/auth/lib/auth.ts +0 -30
- package/bin/templates/next/withoutDataViz/auth/next.config.ts +0 -10
- package/bin/templates/next/withoutDataViz/auth/postcss.config.mjs +0 -7
- package/bin/templates/next/withoutDataViz/auth/public/next.svg +0 -1
- package/bin/templates/next/withoutDataViz/auth/tsconfig.json +0 -34
- package/bin/templates/next/withoutDataViz/basic/app/about/page.tsx +0 -33
- package/bin/templates/next/withoutDataViz/basic/app/globals.css +0 -3
- package/bin/templates/next/withoutDataViz/basic/app/layout.tsx +0 -31
- package/bin/templates/next/withoutDataViz/basic/app/page.tsx +0 -33
- package/bin/templates/next/withoutDataViz/basic/components/Footer.tsx +0 -16
- package/bin/templates/next/withoutDataViz/basic/components/Header.tsx +0 -27
- package/bin/templates/next/withoutDataViz/basic/eslint.config.mjs +0 -103
- package/bin/templates/next/withoutDataViz/basic/next.config.ts +0 -7
- package/bin/templates/next/withoutDataViz/basic/postcss.config.mjs +0 -7
- package/bin/templates/next/withoutDataViz/basic/public/next.svg +0 -1
- package/bin/templates/next/withoutDataViz/basic/tsconfig.json +0 -34
- package/bin/templates/vite/withDataViz/basic/README.md +0 -76
- package/bin/templates/vite/withDataViz/basic/src/App.tsx +0 -38
- package/bin/templates/vite/withDataViz/basic/src/styles/style.css +0 -4
- package/bin/templates/vite/withDataViz/basic/vite.config.ts +0 -74
- package/bin/templates/vite/withDataViz/query/.prettierrc +0 -10
- package/bin/templates/vite/withDataViz/query/README.md +0 -80
- package/bin/templates/vite/withDataViz/query/public/favicon.ico +0 -0
- package/bin/templates/vite/withDataViz/query/src/styles/style.css +0 -4
- package/bin/templates/vite/withDataViz/query/tailwind.config.js +0 -7
- package/bin/templates/vite/withDataViz/query+router/README.md +0 -112
- package/bin/templates/vite/withDataViz/query+router/src/App.tsx +0 -42
- package/bin/templates/vite/withDataViz/query+router/src/styles/style.css +0 -4
- package/bin/templates/vite/withDataViz/router/.prettierrc +0 -10
- package/bin/templates/vite/withDataViz/router/README.md +0 -107
- package/bin/templates/vite/withDataViz/router/public/favicon.ico +0 -0
- package/bin/templates/vite/withDataViz/router/public/imgs/undp-logo-blue.svg +0 -1
- package/bin/templates/vite/withDataViz/router/src/App.tsx +0 -51
- package/bin/templates/vite/withDataViz/router/src/assets/undp-logo-blue.svg +0 -1
- package/bin/templates/vite/withDataViz/router/src/routes/about.tsx +0 -73
- package/bin/templates/vite/withDataViz/router/src/styles/style.css +0 -4
- package/bin/templates/vite/withDataViz/router/tailwind.config.js +0 -7
- package/bin/templates/vite/withoutDataViz/basic/.prettierrc +0 -10
- package/bin/templates/vite/withoutDataViz/basic/eslint.config.mjs +0 -97
- package/bin/templates/vite/withoutDataViz/basic/index.html +0 -13
- package/bin/templates/vite/withoutDataViz/basic/public/favicon.ico +0 -0
- package/bin/templates/vite/withoutDataViz/basic/public/imgs/Vitejs-logo.svg +0 -15
- package/bin/templates/vite/withoutDataViz/basic/public/imgs/undp-logo-blue.svg +0 -1
- package/bin/templates/vite/withoutDataViz/basic/src/App.tsx +0 -38
- package/bin/templates/vite/withoutDataViz/basic/src/assets/undp-logo-blue.svg +0 -1
- package/bin/templates/vite/withoutDataViz/basic/src/components/Footer.tsx +0 -14
- package/bin/templates/vite/withoutDataViz/basic/src/components/Header.tsx +0 -25
- package/bin/templates/vite/withoutDataViz/basic/src/main.tsx +0 -10
- package/bin/templates/vite/withoutDataViz/basic/src/styles/fonts.css +0 -213
- package/bin/templates/vite/withoutDataViz/basic/src/vite-env.d.ts +0 -1
- package/bin/templates/vite/withoutDataViz/basic/tailwind.config.js +0 -7
- package/bin/templates/vite/withoutDataViz/basic/tsconfig.json +0 -29
- package/bin/templates/vite/withoutDataViz/basic/tsconfig.node.json +0 -9
- package/bin/templates/vite/withoutDataViz/query/.prettierrc +0 -10
- package/bin/templates/vite/withoutDataViz/query/eslint.config.mjs +0 -97
- package/bin/templates/vite/withoutDataViz/query/index.html +0 -13
- package/bin/templates/vite/withoutDataViz/query/public/favicon.ico +0 -0
- package/bin/templates/vite/withoutDataViz/query/public/imgs/Tailwind_CSS_Logo.svg +0 -1
- package/bin/templates/vite/withoutDataViz/query/public/imgs/Vitejs-logo.svg +0 -15
- package/bin/templates/vite/withoutDataViz/query/public/imgs/logo-color-600.png +0 -0
- package/bin/templates/vite/withoutDataViz/query/public/imgs/undp-logo-blue.svg +0 -1
- package/bin/templates/vite/withoutDataViz/query/src/assets/undp-logo-blue.svg +0 -1
- package/bin/templates/vite/withoutDataViz/query/src/components/Footer.tsx +0 -14
- package/bin/templates/vite/withoutDataViz/query/src/components/Header.tsx +0 -25
- package/bin/templates/vite/withoutDataViz/query/src/integration/tanstack-query.tsx +0 -27
- package/bin/templates/vite/withoutDataViz/query/src/main.tsx +0 -21
- package/bin/templates/vite/withoutDataViz/query/src/styles/fonts.css +0 -213
- package/bin/templates/vite/withoutDataViz/query/src/vite-env.d.ts +0 -1
- package/bin/templates/vite/withoutDataViz/query/tailwind.config.js +0 -7
- package/bin/templates/vite/withoutDataViz/query/tsconfig.json +0 -29
- package/bin/templates/vite/withoutDataViz/query/tsconfig.node.json +0 -9
- package/bin/templates/vite/withoutDataViz/query/vite.config.ts +0 -75
- package/bin/templates/vite/withoutDataViz/query+router/.prettierrc +0 -10
- package/bin/templates/vite/withoutDataViz/query+router/eslint.config.mjs +0 -97
- package/bin/templates/vite/withoutDataViz/query+router/index.html +0 -13
- package/bin/templates/vite/withoutDataViz/query+router/public/favicon.ico +0 -0
- package/bin/templates/vite/withoutDataViz/query+router/public/imgs/Vitejs-logo.svg +0 -15
- package/bin/templates/vite/withoutDataViz/query+router/public/imgs/logo-color-600.png +0 -0
- package/bin/templates/vite/withoutDataViz/query+router/public/imgs/undp-logo-blue.svg +0 -1
- package/bin/templates/vite/withoutDataViz/query+router/src/App.tsx +0 -42
- package/bin/templates/vite/withoutDataViz/query+router/src/assets/undp-logo-blue.svg +0 -1
- package/bin/templates/vite/withoutDataViz/query+router/src/components/Footer.tsx +0 -14
- package/bin/templates/vite/withoutDataViz/query+router/src/components/Header.tsx +0 -25
- package/bin/templates/vite/withoutDataViz/query+router/src/integration/tanstack-query.tsx +0 -27
- package/bin/templates/vite/withoutDataViz/query+router/src/main.tsx +0 -73
- package/bin/templates/vite/withoutDataViz/query+router/src/routes/queryDemo.tsx +0 -73
- package/bin/templates/vite/withoutDataViz/query+router/src/styles/fonts.css +0 -213
- package/bin/templates/vite/withoutDataViz/query+router/src/vite-env.d.ts +0 -1
- package/bin/templates/vite/withoutDataViz/query+router/tailwind.config.js +0 -7
- package/bin/templates/vite/withoutDataViz/query+router/tsconfig.json +0 -29
- package/bin/templates/vite/withoutDataViz/query+router/tsconfig.node.json +0 -9
- package/bin/templates/vite/withoutDataViz/query+router/vite.config.ts +0 -75
- package/bin/templates/vite/withoutDataViz/router/.prettierrc +0 -10
- package/bin/templates/vite/withoutDataViz/router/eslint.config.mjs +0 -97
- package/bin/templates/vite/withoutDataViz/router/index.html +0 -13
- package/bin/templates/vite/withoutDataViz/router/public/favicon.ico +0 -0
- package/bin/templates/vite/withoutDataViz/router/public/imgs/Tailwind_CSS_Logo.svg +0 -1
- package/bin/templates/vite/withoutDataViz/router/public/imgs/Vitejs-logo.svg +0 -15
- package/bin/templates/vite/withoutDataViz/router/public/imgs/logo-color-600.png +0 -0
- package/bin/templates/vite/withoutDataViz/router/public/imgs/undp-logo-blue.svg +0 -1
- package/bin/templates/vite/withoutDataViz/router/src/assets/undp-logo-blue.svg +0 -1
- package/bin/templates/vite/withoutDataViz/router/src/components/Footer.tsx +0 -14
- package/bin/templates/vite/withoutDataViz/router/src/components/Header.tsx +0 -25
- package/bin/templates/vite/withoutDataViz/router/src/main.tsx +0 -66
- package/bin/templates/vite/withoutDataViz/router/src/routes/about.tsx +0 -73
- package/bin/templates/vite/withoutDataViz/router/src/styles/fonts.css +0 -213
- package/bin/templates/vite/withoutDataViz/router/src/vite-env.d.ts +0 -1
- package/bin/templates/vite/withoutDataViz/router/tailwind.config.js +0 -7
- package/bin/templates/vite/withoutDataViz/router/tsconfig.json +0 -29
- package/bin/templates/vite/withoutDataViz/router/tsconfig.node.json +0 -9
- package/bin/templates/vite/withoutDataViz/router/vite.config.ts +0 -75
- /package/bin/templates/next/{withDataViz/auth → auth}/.prettierrc +0 -0
- /package/bin/templates/next/{withoutDataViz/auth → auth}/README.md +0 -0
- /package/bin/templates/next/{withDataViz/auth → auth}/app/api/auth/[...all]/route.ts +0 -0
- /package/bin/templates/next/{withDataViz/auth → auth}/app/favicon.ico +0 -0
- /package/bin/templates/next/{withDataViz/auth → auth}/app/globals.css +0 -0
- /package/bin/templates/next/{withDataViz/auth → auth}/components/Footer.tsx +0 -0
- /package/bin/templates/next/{withDataViz/auth → auth}/components/Header.tsx +0 -0
- /package/bin/templates/next/{withDataViz/auth → auth}/eslint.config.mjs +0 -0
- /package/bin/templates/next/{withDataViz/auth → auth}/lib/auth-client.ts +0 -0
- /package/bin/templates/next/{withDataViz/auth → auth}/lib/auth.ts +0 -0
- /package/bin/templates/next/{withDataViz/auth → auth}/next.config.ts +0 -0
- /package/bin/templates/next/{withDataViz/auth → auth}/postcss.config.mjs +0 -0
- /package/bin/templates/{vite/withDataViz/basic → next/auth}/public/imgs/Tailwind_CSS_Logo.svg +0 -0
- /package/bin/templates/next/{withDataViz/auth/public → auth/public/imgs}/next.svg +0 -0
- /package/bin/templates/next/{withDataViz/auth/public → auth/public/imgs}/undp-logo-blue.svg +0 -0
- /package/bin/templates/next/{withDataViz/auth → auth}/tailwind.config.js +0 -0
- /package/bin/templates/next/{withDataViz/auth → auth}/tsconfig.json +0 -0
- /package/bin/templates/next/{withDataViz/basic → basic}/.prettierrc +0 -0
- /package/bin/templates/next/{withoutDataViz/basic → basic}/README.md +0 -0
- /package/bin/templates/next/{withDataViz/basic → basic}/app/favicon.ico +0 -0
- /package/bin/templates/next/{withDataViz/basic → basic}/app/globals.css +0 -0
- /package/bin/templates/next/{withDataViz/basic → basic}/components/Footer.tsx +0 -0
- /package/bin/templates/next/{withDataViz/basic → basic}/components/Header.tsx +0 -0
- /package/bin/templates/next/{withDataViz/basic → basic}/eslint.config.mjs +0 -0
- /package/bin/templates/next/{withDataViz/basic → basic}/next.config.ts +0 -0
- /package/bin/templates/next/{withDataViz/basic → basic}/postcss.config.mjs +0 -0
- /package/bin/templates/{vite/withDataViz/query+router → next/basic}/public/imgs/Tailwind_CSS_Logo.svg +0 -0
- /package/bin/templates/next/{withDataViz/basic/public → basic/public/imgs}/next.svg +0 -0
- /package/bin/templates/next/{withDataViz/basic/public → basic/public/imgs}/undp-logo-blue.svg +0 -0
- /package/bin/templates/next/{withDataViz/basic → basic}/tailwind.config.js +0 -0
- /package/bin/templates/next/{withDataViz/basic → basic}/tsconfig.json +0 -0
- /package/bin/templates/{next/withoutDataViz/auth → vite/basic}/.prettierrc +0 -0
- /package/bin/templates/vite/{withoutDataViz/basic → basic}/README.md +0 -0
- /package/bin/templates/vite/{withDataViz/basic → basic}/eslint.config.mjs +0 -0
- /package/bin/templates/vite/{withDataViz/basic → basic}/index.html +0 -0
- /package/bin/templates/{next/withoutDataViz/auth/app → vite/basic/public}/favicon.ico +0 -0
- /package/bin/templates/vite/{withDataViz/query → basic}/public/imgs/Tailwind_CSS_Logo.svg +0 -0
- /package/bin/templates/vite/{withDataViz/basic → basic}/public/imgs/Vitejs-logo.svg +0 -0
- /package/bin/templates/{next/withoutDataViz/auth/public → vite/basic/public/imgs}/undp-logo-blue.svg +0 -0
- /package/bin/templates/{next/withoutDataViz/basic/public → vite/basic/src/assets}/undp-logo-blue.svg +0 -0
- /package/bin/templates/vite/{withDataViz/basic → basic}/src/components/Footer.tsx +0 -0
- /package/bin/templates/vite/{withDataViz/basic → basic}/src/components/Header.tsx +0 -0
- /package/bin/templates/vite/{withDataViz/basic → basic}/src/styles/fonts.css +0 -0
- /package/bin/templates/vite/{withoutDataViz/basic → basic}/src/styles/style.css +0 -0
- /package/bin/templates/vite/{withDataViz/basic → basic}/src/vite-env.d.ts +0 -0
- /package/bin/templates/{next/withoutDataViz/auth → vite/basic}/tailwind.config.js +0 -0
- /package/bin/templates/vite/{withDataViz/basic → basic}/tsconfig.json +0 -0
- /package/bin/templates/vite/{withDataViz/basic → basic}/tsconfig.node.json +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → basic}/vite.config.ts +0 -0
- /package/bin/templates/vite/{withDataViz/basic → query}/.prettierrc +0 -0
- /package/bin/templates/vite/{withoutDataViz/query → query}/README.md +0 -0
- /package/bin/templates/vite/{withDataViz/query → query}/eslint.config.mjs +0 -0
- /package/bin/templates/vite/{withDataViz/query → query}/index.html +0 -0
- /package/bin/templates/vite/{withDataViz/basic → query}/public/favicon.ico +0 -0
- /package/bin/templates/vite/{withoutDataViz/basic → query}/public/imgs/Tailwind_CSS_Logo.svg +0 -0
- /package/bin/templates/vite/{withDataViz/query/public/imgs/logo-color-600.png → query/public/imgs/Tanstack-logo.png} +0 -0
- /package/bin/templates/vite/{withDataViz/query → query}/public/imgs/Vitejs-logo.svg +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → query}/public/imgs/undp-logo-blue.svg +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → query}/src/assets/undp-logo-blue.svg +0 -0
- /package/bin/templates/vite/{withDataViz/query → query}/src/components/Footer.tsx +0 -0
- /package/bin/templates/vite/{withDataViz/query → query}/src/components/Header.tsx +0 -0
- /package/bin/templates/vite/{withDataViz/query → query}/src/main.tsx +0 -0
- /package/bin/templates/vite/{withDataViz/query → query}/src/styles/fonts.css +0 -0
- /package/bin/templates/vite/{withoutDataViz/query → query}/src/styles/style.css +0 -0
- /package/bin/templates/vite/{withDataViz/query → query}/src/vite-env.d.ts +0 -0
- /package/bin/templates/vite/{withDataViz/basic → query}/tailwind.config.js +0 -0
- /package/bin/templates/vite/{withDataViz/query → query}/tsconfig.json +0 -0
- /package/bin/templates/vite/{withDataViz/query → query}/tsconfig.node.json +0 -0
- /package/bin/templates/vite/{withDataViz/router → query}/vite.config.ts +0 -0
- /package/bin/templates/{next/withoutDataViz/basic → vite/query+router}/.prettierrc +0 -0
- /package/bin/templates/vite/{withoutDataViz/query+router → query+router}/README.md +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → query+router}/eslint.config.mjs +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → query+router}/index.html +0 -0
- /package/bin/templates/{next/withoutDataViz/basic/app → vite/query+router/public}/favicon.ico +0 -0
- /package/bin/templates/vite/{withDataViz/router → query+router}/public/imgs/Tailwind_CSS_Logo.svg +0 -0
- /package/bin/templates/vite/{withDataViz/query+router/public/imgs/logo-color-600.png → query+router/public/imgs/Tanstack-logo.png} +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → query+router}/public/imgs/Vitejs-logo.svg +0 -0
- /package/bin/templates/vite/{withDataViz/basic → query+router}/public/imgs/undp-logo-blue.svg +0 -0
- /package/bin/templates/vite/{withDataViz/basic → query+router}/src/assets/undp-logo-blue.svg +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → query+router}/src/components/Footer.tsx +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → query+router}/src/components/Header.tsx +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → query+router}/src/main.tsx +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → query+router}/src/styles/fonts.css +0 -0
- /package/bin/templates/vite/{withoutDataViz/query+router → query+router}/src/styles/style.css +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → query+router}/src/vite-env.d.ts +0 -0
- /package/bin/templates/{next/withoutDataViz/basic → vite/query+router}/tailwind.config.js +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → query+router}/tsconfig.json +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → query+router}/tsconfig.node.json +0 -0
- /package/bin/templates/vite/{withDataViz/query → query+router}/vite.config.ts +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → router}/.prettierrc +0 -0
- /package/bin/templates/vite/{withoutDataViz/router → router}/README.md +0 -0
- /package/bin/templates/vite/{withDataViz/router → router}/eslint.config.mjs +0 -0
- /package/bin/templates/vite/{withDataViz/router → router}/index.html +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → router}/public/favicon.ico +0 -0
- /package/bin/templates/vite/{withoutDataViz/query+router → router}/public/imgs/Tailwind_CSS_Logo.svg +0 -0
- /package/bin/templates/vite/{withDataViz/router/public/imgs/logo-color-600.png → router/public/imgs/Tanstack-logo.png} +0 -0
- /package/bin/templates/vite/{withDataViz/router → router}/public/imgs/Vitejs-logo.svg +0 -0
- /package/bin/templates/vite/{withDataViz/query → router}/public/imgs/undp-logo-blue.svg +0 -0
- /package/bin/templates/vite/{withDataViz/query → router}/src/assets/undp-logo-blue.svg +0 -0
- /package/bin/templates/vite/{withDataViz/router → router}/src/components/Footer.tsx +0 -0
- /package/bin/templates/vite/{withDataViz/router → router}/src/components/Header.tsx +0 -0
- /package/bin/templates/vite/{withDataViz/router → router}/src/styles/fonts.css +0 -0
- /package/bin/templates/vite/{withDataViz/router → router}/src/vite-env.d.ts +0 -0
- /package/bin/templates/vite/{withDataViz/query+router → router}/tailwind.config.js +0 -0
- /package/bin/templates/vite/{withDataViz/router → router}/tsconfig.json +0 -0
- /package/bin/templates/vite/{withDataViz/router → router}/tsconfig.node.json +0 -0
- /package/bin/templates/vite/{withoutDataViz/basic → router}/vite.config.ts +0 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { P } from '@undp/design-system-react/Typography';
|
|
2
|
+
import { Button } from '@undp/design-system-react/Button';
|
|
3
|
+
|
|
4
|
+
import { useCounterActions, useCounter } from './stores/counter';
|
|
5
|
+
|
|
6
|
+
export function App() {
|
|
7
|
+
const count = useCounter();
|
|
8
|
+
const { increment, decrement } = useCounterActions();
|
|
9
|
+
return (
|
|
10
|
+
<>
|
|
11
|
+
<div className='flex gap-4 items-center justify-center my-8 mx-auto'>
|
|
12
|
+
<img
|
|
13
|
+
src='./imgs/Vitejs-logo.svg'
|
|
14
|
+
alt='vite logo'
|
|
15
|
+
width='72px'
|
|
16
|
+
style={{ marginLeft: 'auto', marginRight: 'auto' }}
|
|
17
|
+
/>
|
|
18
|
+
<P marginBottom='none'>&</P>
|
|
19
|
+
<img
|
|
20
|
+
src='./imgs/Tailwind_CSS_Logo.svg'
|
|
21
|
+
alt='tailwind logo'
|
|
22
|
+
width='72px'
|
|
23
|
+
style={{ marginLeft: 'auto', marginRight: 'auto' }}
|
|
24
|
+
/>
|
|
25
|
+
<P marginBottom='none'>&</P>
|
|
26
|
+
<img
|
|
27
|
+
src='./imgs/Tanstack-logo.png'
|
|
28
|
+
alt='tanstack logo'
|
|
29
|
+
width='72px'
|
|
30
|
+
style={{ marginLeft: 'auto', marginRight: 'auto' }}
|
|
31
|
+
/>
|
|
32
|
+
<P marginBottom='none'>&</P>
|
|
33
|
+
<img
|
|
34
|
+
src='./imgs/Zustand-logo.svg'
|
|
35
|
+
alt='Zustand logo'
|
|
36
|
+
width='72px'
|
|
37
|
+
style={{ marginLeft: 'auto', marginRight: 'auto' }}
|
|
38
|
+
/>
|
|
39
|
+
<P marginBottom='none'>&</P>
|
|
40
|
+
<img
|
|
41
|
+
src='./imgs/undp-logo-blue.svg'
|
|
42
|
+
alt='UNDP logo'
|
|
43
|
+
width='72px'
|
|
44
|
+
style={{ marginLeft: 'auto', marginRight: 'auto' }}
|
|
45
|
+
/>
|
|
46
|
+
</div>
|
|
47
|
+
<P marginBottom='xl' className='text-center'>
|
|
48
|
+
To get started, edit the App.tsx file.
|
|
49
|
+
<span className='font-bold'>Count: {count}</span>
|
|
50
|
+
</P>
|
|
51
|
+
<div className='flex gap-4 justify-center mb-8'>
|
|
52
|
+
<Button
|
|
53
|
+
variant='tertiary'
|
|
54
|
+
onClick={() => {
|
|
55
|
+
increment();
|
|
56
|
+
}}
|
|
57
|
+
>
|
|
58
|
+
Increase counter
|
|
59
|
+
</Button>
|
|
60
|
+
<Button
|
|
61
|
+
variant='tertiary'
|
|
62
|
+
onClick={() => {
|
|
63
|
+
decrement();
|
|
64
|
+
}}
|
|
65
|
+
>
|
|
66
|
+
Decrease counter
|
|
67
|
+
</Button>
|
|
68
|
+
</div>
|
|
69
|
+
</>
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export default App;
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import HeaderEl from './components/Header';
|
|
12
12
|
import FooterEl from './components/Footer';
|
|
13
13
|
import App from './App';
|
|
14
|
-
import
|
|
14
|
+
import createAboutRoute from './routes/about';
|
|
15
15
|
|
|
16
16
|
import './styles/fonts.css';
|
|
17
17
|
import './styles/style.css';
|
|
@@ -38,7 +38,7 @@ const indexRoute = createRoute({
|
|
|
38
38
|
|
|
39
39
|
const routeTree = rootRoute.addChildren([
|
|
40
40
|
indexRoute,
|
|
41
|
-
|
|
41
|
+
createAboutRoute(rootRoute),
|
|
42
42
|
]);
|
|
43
43
|
|
|
44
44
|
const router = createRouter({
|
package/bin/templates/vite/{withoutDataViz/router/src/App.tsx → router/src/routes/about.tsx}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRoute } from '@tanstack/react-router';
|
|
2
2
|
import type { AnyRootRoute } from '@tanstack/react-router';
|
|
3
|
-
import {
|
|
3
|
+
import { P } from '@undp/design-system-react/Typography';
|
|
4
4
|
|
|
5
5
|
export function About() {
|
|
6
6
|
return (
|
|
@@ -21,12 +21,19 @@ export function About() {
|
|
|
21
21
|
/>
|
|
22
22
|
<P marginBottom='none'>&</P>
|
|
23
23
|
<img
|
|
24
|
-
src='./imgs/logo
|
|
24
|
+
src='./imgs/Tanstack-logo.png'
|
|
25
25
|
alt='tanstack logo'
|
|
26
26
|
width='72px'
|
|
27
27
|
style={{ marginLeft: 'auto', marginRight: 'auto' }}
|
|
28
28
|
/>
|
|
29
29
|
<P marginBottom='none'>&</P>
|
|
30
|
+
<img
|
|
31
|
+
src='./imgs/Zustand-logo.svg'
|
|
32
|
+
alt='Zustand logo'
|
|
33
|
+
width='72px'
|
|
34
|
+
style={{ marginLeft: 'auto', marginRight: 'auto' }}
|
|
35
|
+
/>
|
|
36
|
+
<P marginBottom='none'>&</P>
|
|
30
37
|
<img
|
|
31
38
|
src='./imgs/undp-logo-blue.svg'
|
|
32
39
|
alt='UNDP logo'
|
|
@@ -34,13 +41,13 @@ export function About() {
|
|
|
34
41
|
style={{ marginLeft: 'auto', marginRight: 'auto' }}
|
|
35
42
|
/>
|
|
36
43
|
</div>
|
|
37
|
-
<
|
|
38
|
-
|
|
39
|
-
</
|
|
44
|
+
<P marginBottom='xl' className='text-center'>
|
|
45
|
+
To edit this page, edit the about.tsx file in the routes folder.
|
|
46
|
+
</P>
|
|
40
47
|
</>
|
|
41
48
|
);
|
|
42
49
|
}
|
|
43
|
-
export default function
|
|
50
|
+
export default function createAboutRoute(
|
|
44
51
|
parentRoute: AnyRootRoute,
|
|
45
52
|
) {
|
|
46
53
|
return createRoute({
|
|
@@ -48,4 +55,4 @@ export default function createTanStackQueryAboutRoute(
|
|
|
48
55
|
component: About,
|
|
49
56
|
getParentRoute: () => parentRoute,
|
|
50
57
|
});
|
|
51
|
-
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { create } from 'zustand';
|
|
2
|
+
|
|
3
|
+
type Actions = {
|
|
4
|
+
increment: (d?: number) => void;
|
|
5
|
+
decrement: (d?: number) => void;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
type Store = {
|
|
9
|
+
count: number;
|
|
10
|
+
actions: Actions;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const useCounterStore = create<Store>(set => ({
|
|
14
|
+
count: 0,
|
|
15
|
+
actions: {
|
|
16
|
+
increment: (d = 1) => set(state => ({ count: state.count + d })),
|
|
17
|
+
decrement: (d = 1) => set(state => ({ count: state.count - d })),
|
|
18
|
+
},
|
|
19
|
+
}));
|
|
20
|
+
|
|
21
|
+
export const useCounter = () => useCounterStore(s => s.count);
|
|
22
|
+
|
|
23
|
+
export const useCounterActions = () => useCounterStore(s => s.actions);
|
package/package.json
CHANGED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
This is a Next.js project powered by Tailwind CSS, the UNDP Design System, and the UNDP Data Visualization Library, bootstrapped with [@undp/create-app](https://www.npmjs.com/package/@undp/create-app).
|
|
2
|
-
|
|
3
|
-
It includes:
|
|
4
|
-
* Next 16.x with React compiler
|
|
5
|
-
* UNDP Design System
|
|
6
|
-
* UNDP Data Visualization library
|
|
7
|
-
* Authentication with [Better Auth](https://www.better-auth.com/)
|
|
8
|
-
* TailwindCSS
|
|
9
|
-
* Code linting and formatting via ESLint and Prettier
|
|
10
|
-
|
|
11
|
-
## 🧩 Installation
|
|
12
|
-
|
|
13
|
-
This project uses `npm`.
|
|
14
|
-
|
|
15
|
-
For installation you will need to install `node` and `npm`, if you don't already have it. `node` and `npm` can be installed from [here](https://nodejs.org/en/download/).
|
|
16
|
-
|
|
17
|
-
To install the project, simply run `npm install` in the project folder in the terminal on Mac or Command Prompt on Windows.
|
|
18
|
-
|
|
19
|
-
## 🚀 Local Development
|
|
20
|
-
|
|
21
|
-
To start the project locally:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
npm run dev
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
This is run the app in development mode. Open [http://localhost:3000/](http://localhost:3000/) to view it in the browser.
|
|
28
|
-
|
|
29
|
-
The page will reload if you make edits. You will also see any lint errors in the console.
|
|
30
|
-
|
|
31
|
-
## 📜 Available Scripts
|
|
32
|
-
|
|
33
|
-
- `npm run dev`: Executes `next dev` and start the local server for local deployment.
|
|
34
|
-
- `npm run build`: Executes `next build` and builds the app for production and deployment.
|
|
35
|
-
- `npm run preview`: Executes `next start` and serves the static build output locally.
|
|
36
|
-
- `npm run clean`: Executes `rimraf node_modules && rimraf .next && rimraf package-lock.json` and remove node_modules folder, dist folder and package-lock.json.
|
|
37
|
-
- `npm run lint`: Executes `npx eslint --fix && npx prettier . --write` and resolve all the linting and prettier errors.
|
|
38
|
-
|
|
39
|
-
## 🧰 Tooling Setup
|
|
40
|
-
|
|
41
|
-
This project uses ESLint integrated with Prettier to automatically format and lint your code.
|
|
42
|
-
|
|
43
|
-
If you’re using Visual Studio Code, install:
|
|
44
|
-
* [ESLint extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
|
|
45
|
-
* [Prettier extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
|
|
46
|
-
|
|
47
|
-
Your editor should now show linting errors and automatically fix issues where possible.
|
|
48
|
-
|
|
49
|
-
More info: [ESLint Integrations](http://eslint.org/docs/user-guide/integrations)
|
|
50
|
-
|
|
51
|
-
## 🎨 Styling
|
|
52
|
-
|
|
53
|
-
This project uses [Tailwind CSS](https://tailwindcss.com/) for styling and and includes pre-configured design tokens from the UNDP Design System.
|
|
54
|
-
|
|
55
|
-
## 🛡️ Authentication
|
|
56
|
-
|
|
57
|
-
Authentication in this project is powered by [Better Auth](https://www.better-auth.com/), which provides a simple and flexible API for adding new providers.
|
|
58
|
-
|
|
59
|
-
**Add a new provider**
|
|
60
|
-
Add a new provider in `lib/auth.ts`. For example to add Google authenticator:
|
|
61
|
-
|
|
62
|
-
```ts
|
|
63
|
-
import { betterAuth } from 'better-auth';
|
|
64
|
-
import { nextCookies } from 'better-auth/next-js';
|
|
65
|
-
|
|
66
|
-
export const auth = betterAuth({
|
|
67
|
-
plugins: [nextCookies()],
|
|
68
|
-
secret: process.env.BETTER_AUTH_SECRET,
|
|
69
|
-
baseURL: process.env.BETTER_AUTH_URL,
|
|
70
|
-
session: {
|
|
71
|
-
strategy: 'jwt',
|
|
72
|
-
expiresIn: 60 * 60 * 24 * 7,
|
|
73
|
-
cookieCache: {
|
|
74
|
-
enabled: true,
|
|
75
|
-
maxAge: 60 * 60 * 24 * 7,
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
emailAndPassword: {
|
|
79
|
-
enabled: false,
|
|
80
|
-
},
|
|
81
|
-
socialProviders: {
|
|
82
|
-
goggle: {
|
|
83
|
-
clientId: process.env.GITHUB_CLIENT_ID as string,
|
|
84
|
-
clientSecret: process.env.GITHUB_CLIENT_SECRET as string,
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
});
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
**Add env variable**
|
|
91
|
-
Add client id and secret (and tenant id) in the `.env.local` file. These id and secret are used in `lib/auth.ts`.
|
|
92
|
-
|
|
93
|
-
**Add a sign in button**
|
|
94
|
-
Example of sign in button
|
|
95
|
-
|
|
96
|
-
```ts
|
|
97
|
-
import { signIn } from '@/lib/auth-client';
|
|
98
|
-
|
|
99
|
-
<button onClick={() => signIn.social({ provider: 'google', callbackURL: '/user' })}>
|
|
100
|
-
Sign in with Google
|
|
101
|
-
</button>
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
More info: [Better Auth docs](https://www.better-auth.com/docs/introduction)
|
|
105
|
-
|
|
106
|
-
## 📬 Contact us
|
|
107
|
-
|
|
108
|
-
For questions or feedback, contact us at [data@undp.org](mailto:data@undp.org).
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { H6, P } from '@undp/design-system-react/Typography';
|
|
4
|
-
import Image from 'next/image';
|
|
5
|
-
|
|
6
|
-
export default function Home() {
|
|
7
|
-
return (
|
|
8
|
-
<>
|
|
9
|
-
<div className='flex gap-4 items-center justify-center my-8 mx-auto'>
|
|
10
|
-
<Image
|
|
11
|
-
className='dark:invert'
|
|
12
|
-
src='/next.svg'
|
|
13
|
-
alt='Next.js logo'
|
|
14
|
-
width={100}
|
|
15
|
-
height={20}
|
|
16
|
-
priority
|
|
17
|
-
/>
|
|
18
|
-
<P marginBottom='none'>&</P>
|
|
19
|
-
<Image
|
|
20
|
-
className='dark:invert'
|
|
21
|
-
src='/undp-logo-blue.svg'
|
|
22
|
-
alt='UNDP logo'
|
|
23
|
-
width={40}
|
|
24
|
-
height={20}
|
|
25
|
-
priority
|
|
26
|
-
/>
|
|
27
|
-
</div>
|
|
28
|
-
<H6 marginBottom='xl' className='text-center'>
|
|
29
|
-
This is the about page.
|
|
30
|
-
</H6>
|
|
31
|
-
</>
|
|
32
|
-
);
|
|
33
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { H6, P } from '@undp/design-system-react/Typography';
|
|
4
|
-
import Image from 'next/image';
|
|
5
|
-
|
|
6
|
-
export default function Home() {
|
|
7
|
-
return (
|
|
8
|
-
<>
|
|
9
|
-
<div className='flex gap-4 items-center justify-center my-8 mx-auto'>
|
|
10
|
-
<Image
|
|
11
|
-
className='dark:invert'
|
|
12
|
-
src='/next.svg'
|
|
13
|
-
alt='Next.js logo'
|
|
14
|
-
width={100}
|
|
15
|
-
height={20}
|
|
16
|
-
priority
|
|
17
|
-
/>
|
|
18
|
-
<P marginBottom='none'>&</P>
|
|
19
|
-
<Image
|
|
20
|
-
className='dark:invert'
|
|
21
|
-
src='/undp-logo-blue.svg'
|
|
22
|
-
alt='UNDP logo'
|
|
23
|
-
width={40}
|
|
24
|
-
height={20}
|
|
25
|
-
priority
|
|
26
|
-
/>
|
|
27
|
-
</div>
|
|
28
|
-
<H6 marginBottom='xl' className='text-center'>
|
|
29
|
-
To get started, edit the page.tsx file.
|
|
30
|
-
</H6>
|
|
31
|
-
</>
|
|
32
|
-
);
|
|
33
|
-
}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import Image from 'next/image';
|
|
4
|
-
import { Spinner } from '@undp/design-system-react/Spinner';
|
|
5
|
-
import { H6, P } from '@undp/design-system-react/Typography';
|
|
6
|
-
import { Button } from '@undp/design-system-react/Button';
|
|
7
|
-
|
|
8
|
-
import { useSession, signIn } from '@/lib/auth-client';
|
|
9
|
-
|
|
10
|
-
export default function UserPage() {
|
|
11
|
-
const { data: session, isPending } = useSession();
|
|
12
|
-
|
|
13
|
-
if (isPending) {
|
|
14
|
-
return (
|
|
15
|
-
<div className='my-8 mx-aut'>
|
|
16
|
-
<Spinner />
|
|
17
|
-
</div>
|
|
18
|
-
);
|
|
19
|
-
}
|
|
20
|
-
const handleSignIn = async () => {
|
|
21
|
-
await signIn.social({
|
|
22
|
-
provider: 'microsoft',
|
|
23
|
-
callbackURL: '/user',
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
if (!session)
|
|
28
|
-
return (
|
|
29
|
-
<>
|
|
30
|
-
<div className='flex gap-4 items-center justify-center my-8 mx-auto'>
|
|
31
|
-
<Image
|
|
32
|
-
className='dark:invert'
|
|
33
|
-
src='/next.svg'
|
|
34
|
-
alt='Next.js logo'
|
|
35
|
-
width={100}
|
|
36
|
-
height={20}
|
|
37
|
-
priority
|
|
38
|
-
/>
|
|
39
|
-
<P marginBottom='none'>&</P>
|
|
40
|
-
<Image
|
|
41
|
-
className='dark:invert'
|
|
42
|
-
src='/undp-logo-blue.svg'
|
|
43
|
-
alt='UNDP logo'
|
|
44
|
-
width={40}
|
|
45
|
-
height={20}
|
|
46
|
-
priority
|
|
47
|
-
/>
|
|
48
|
-
</div>
|
|
49
|
-
<H6 marginBottom='xl' className='text-center'>
|
|
50
|
-
Please sign in to view this page
|
|
51
|
-
</H6>
|
|
52
|
-
<div className='flex justify-center'>
|
|
53
|
-
<Button variant='tertiary' onClick={handleSignIn}>
|
|
54
|
-
Sign In
|
|
55
|
-
</Button>
|
|
56
|
-
</div>
|
|
57
|
-
</>
|
|
58
|
-
);
|
|
59
|
-
|
|
60
|
-
return (
|
|
61
|
-
<>
|
|
62
|
-
<div className='flex gap-4 items-center justify-center my-8 mx-auto'>
|
|
63
|
-
<Image
|
|
64
|
-
className='dark:invert'
|
|
65
|
-
src='/next.svg'
|
|
66
|
-
alt='Next.js logo'
|
|
67
|
-
width={100}
|
|
68
|
-
height={20}
|
|
69
|
-
priority
|
|
70
|
-
/>
|
|
71
|
-
<P marginBottom='none'>&</P>
|
|
72
|
-
<Image
|
|
73
|
-
className='dark:invert'
|
|
74
|
-
src='/undp-logo-blue.svg'
|
|
75
|
-
alt='UNDP logo'
|
|
76
|
-
width={40}
|
|
77
|
-
height={20}
|
|
78
|
-
priority
|
|
79
|
-
/>
|
|
80
|
-
</div>
|
|
81
|
-
<H6 marginBottom='xl' className='text-center'>
|
|
82
|
-
Welcome, {session.user.name || session.user.email}!
|
|
83
|
-
</H6>
|
|
84
|
-
</>
|
|
85
|
-
);
|
|
86
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
This is a Next.js project powered by Tailwind CSS, the UNDP Design System, and the UNDP Data Visualization Library, bootstrapped with [@undp/create-app](https://www.npmjs.com/package/@undp/create-app).
|
|
2
|
-
|
|
3
|
-
It includes:
|
|
4
|
-
* Next 16.x with React compiler
|
|
5
|
-
* UNDP Design System
|
|
6
|
-
* UNDP Data Visualization library
|
|
7
|
-
* TailwindCSS
|
|
8
|
-
* Code linting and formatting via ESLint and Prettier
|
|
9
|
-
|
|
10
|
-
## 🧩 Installation
|
|
11
|
-
|
|
12
|
-
This project uses `npm`.
|
|
13
|
-
|
|
14
|
-
For installation you will need to install `node` and `npm`, if you don't already have it. `node` and `npm` can be installed from [here](https://nodejs.org/en/download/).
|
|
15
|
-
|
|
16
|
-
To install the project, simply run `npm install` in the project folder in the terminal on Mac or Command Prompt on Windows.
|
|
17
|
-
|
|
18
|
-
## 🚀 Local Development
|
|
19
|
-
|
|
20
|
-
To start the project locally:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
npm run dev
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
This is run the app in development mode. Open [http://localhost:3000/](http://localhost:3000/) to view it in the browser.
|
|
27
|
-
|
|
28
|
-
The page will reload if you make edits. You will also see any lint errors in the console.
|
|
29
|
-
|
|
30
|
-
## 📜 Available Scripts
|
|
31
|
-
|
|
32
|
-
- `npm run dev`: Executes `next dev` and start the local server for local deployment.
|
|
33
|
-
- `npm run build`: Executes `next build` and builds the app for production and deployment.
|
|
34
|
-
- `npm run preview`: Executes `next start` and serves the static build output locally.
|
|
35
|
-
- `npm run clean`: Executes `rimraf node_modules && rimraf .next && rimraf package-lock.json` and remove node_modules folder, dist folder and package-lock.json.
|
|
36
|
-
- `npm run lint`: Executes `npx eslint --fix && npx prettier . --write` and resolve all the linting and prettier errors.
|
|
37
|
-
|
|
38
|
-
## 🧰 Tooling Setup
|
|
39
|
-
|
|
40
|
-
This project uses ESLint integrated with Prettier to automatically format and lint your code.
|
|
41
|
-
|
|
42
|
-
If you’re using Visual Studio Code, install:
|
|
43
|
-
* [ESLint extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
|
|
44
|
-
* [Prettier extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
|
|
45
|
-
|
|
46
|
-
Your editor should now show linting errors and automatically fix issues where possible.
|
|
47
|
-
|
|
48
|
-
More info: [ESLint Integrations](http://eslint.org/docs/user-guide/integrations)
|
|
49
|
-
|
|
50
|
-
## 🎨 Styling
|
|
51
|
-
|
|
52
|
-
This project uses [Tailwind CSS](https://tailwindcss.com/) for styling and and includes pre-configured design tokens from the UNDP Design System.
|
|
53
|
-
|
|
54
|
-
## 📬 Contact us
|
|
55
|
-
|
|
56
|
-
For questions or feedback, contact us at [data@undp.org](mailto:data@undp.org).
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { H6, P } from '@undp/design-system-react/Typography';
|
|
4
|
-
import Image from 'next/image';
|
|
5
|
-
|
|
6
|
-
export default function Home() {
|
|
7
|
-
return (
|
|
8
|
-
<>
|
|
9
|
-
<div className='flex gap-4 items-center justify-center my-8 mx-auto'>
|
|
10
|
-
<Image
|
|
11
|
-
className='dark:invert'
|
|
12
|
-
src='/next.svg'
|
|
13
|
-
alt='Next.js logo'
|
|
14
|
-
width={100}
|
|
15
|
-
height={20}
|
|
16
|
-
priority
|
|
17
|
-
/>
|
|
18
|
-
<P marginBottom='none'>&</P>
|
|
19
|
-
<Image
|
|
20
|
-
className='dark:invert'
|
|
21
|
-
src='/undp-logo-blue.svg'
|
|
22
|
-
alt='UNDP logo'
|
|
23
|
-
width={40}
|
|
24
|
-
height={20}
|
|
25
|
-
priority
|
|
26
|
-
/>
|
|
27
|
-
</div>
|
|
28
|
-
<H6 marginBottom='xl' className='text-center'>
|
|
29
|
-
This is the about page.
|
|
30
|
-
</H6>
|
|
31
|
-
</>
|
|
32
|
-
);
|
|
33
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { H6, P } from '@undp/design-system-react/Typography';
|
|
4
|
-
import Image from 'next/image';
|
|
5
|
-
|
|
6
|
-
export default function Home() {
|
|
7
|
-
return (
|
|
8
|
-
<>
|
|
9
|
-
<div className='flex gap-4 items-center justify-center my-8 mx-auto'>
|
|
10
|
-
<Image
|
|
11
|
-
className='dark:invert'
|
|
12
|
-
src='/next.svg'
|
|
13
|
-
alt='Next.js logo'
|
|
14
|
-
width={100}
|
|
15
|
-
height={20}
|
|
16
|
-
priority
|
|
17
|
-
/>
|
|
18
|
-
<P marginBottom='none'>&</P>
|
|
19
|
-
<Image
|
|
20
|
-
className='dark:invert'
|
|
21
|
-
src='/undp-logo-blue.svg'
|
|
22
|
-
alt='UNDP logo'
|
|
23
|
-
width={40}
|
|
24
|
-
height={20}
|
|
25
|
-
priority
|
|
26
|
-
/>
|
|
27
|
-
</div>
|
|
28
|
-
<H6 marginBottom='xl' className='text-center'>
|
|
29
|
-
To get started, edit the page.tsx file.
|
|
30
|
-
</H6>
|
|
31
|
-
</>
|
|
32
|
-
);
|
|
33
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { H6, P } from '@undp/design-system-react/Typography';
|
|
4
|
-
import Image from 'next/image';
|
|
5
|
-
|
|
6
|
-
export default function Home() {
|
|
7
|
-
return (
|
|
8
|
-
<>
|
|
9
|
-
<div className='flex gap-4 items-center justify-center my-8 mx-auto'>
|
|
10
|
-
<Image
|
|
11
|
-
className='dark:invert'
|
|
12
|
-
src='/next.svg'
|
|
13
|
-
alt='Next.js logo'
|
|
14
|
-
width={100}
|
|
15
|
-
height={20}
|
|
16
|
-
priority
|
|
17
|
-
/>
|
|
18
|
-
<P marginBottom='none'>&</P>
|
|
19
|
-
<Image
|
|
20
|
-
className='dark:invert'
|
|
21
|
-
src='/undp-logo-blue.svg'
|
|
22
|
-
alt='UNDP logo'
|
|
23
|
-
width={40}
|
|
24
|
-
height={20}
|
|
25
|
-
priority
|
|
26
|
-
/>
|
|
27
|
-
</div>
|
|
28
|
-
<H6 marginBottom='xl' className='text-center'>
|
|
29
|
-
This is the about page.
|
|
30
|
-
</H6>
|
|
31
|
-
</>
|
|
32
|
-
);
|
|
33
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { Metadata } from 'next';
|
|
2
|
-
|
|
3
|
-
import HeaderEl from '@/components/Header';
|
|
4
|
-
import FooterEl from '@/components/Footer';
|
|
5
|
-
|
|
6
|
-
import './globals.css';
|
|
7
|
-
import '@undp/design-system-react/style.css';
|
|
8
|
-
|
|
9
|
-
export const metadata: Metadata = {
|
|
10
|
-
title: 'My Next + UNDP app',
|
|
11
|
-
description: 'Generated by create undp app',
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export default function RootLayout({
|
|
15
|
-
children,
|
|
16
|
-
}: Readonly<{
|
|
17
|
-
children: React.ReactNode;
|
|
18
|
-
}>) {
|
|
19
|
-
return (
|
|
20
|
-
<html lang='en'>
|
|
21
|
-
<body className='flex flex-col gap-0 min-h-screen'>
|
|
22
|
-
<HeaderEl />
|
|
23
|
-
<main className='grow-1 flex flex-col justify-center'>
|
|
24
|
-
<div className='flex flex-col justify-center'>{children}</div>
|
|
25
|
-
</main>
|
|
26
|
-
<FooterEl />
|
|
27
|
-
</body>
|
|
28
|
-
</html>
|
|
29
|
-
);
|
|
30
|
-
}
|