From ac3fb460881daa4b8c46bdfa74eaadea4ef7b1fd Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Fri, 9 Feb 2024 12:29:47 +0100 Subject: [PATCH] Add info page, pipeline --- .gitlab-ci.yml | 17 ++++ next-env.d.ts | 4 +- package-lock.json | 143 +++++++++++++++++--------------- package.json | 36 ++++---- pages/_app.tsx | 27 ++++-- pages/api/auth/[...nextauth].ts | 6 +- pages/info/index.jsx | 19 +++++ pages/login/index.tsx | 3 + public/favicon.ico | Bin 101076 -> 67646 bytes src/components/fdo_logo.jsx | 15 ++++ tsconfig.json | 51 +++++++++--- 11 files changed, 215 insertions(+), 106 deletions(-) create mode 100644 .gitlab-ci.yml create mode 100644 pages/info/index.jsx create mode 100644 src/components/fdo_logo.jsx diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..887a823 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,17 @@ + +default: + image: node:lts-alpine + tags: + - docker + +workflow: + rules: + - if: $CI_PIPELINE_SOURCE != "merge_request_event" && $CI_COMMIT_REF_NAME != $CI_COMMIT_TAG + +stages: + - test + +webui:build-test: + stage: test + script: + - npm run build diff --git a/next-env.d.ts b/next-env.d.ts index c6643fd..4f11a03 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,3 +1,5 @@ /// <reference types="next" /> -/// <reference types="next/types/global" /> /// <reference types="next/image-types/global" /> + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/package-lock.json b/package-lock.json index 49efe31..e46bc7d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,14 +14,14 @@ "@mui/lab": "^5.0.0-alpha.85", "@mui/material": "^5.8.6", "@mui/x-data-grid": "^6.6.0", - "@refinedev/cli": "^2.16.21", - "@refinedev/core": "^4.46.1", - "@refinedev/devtools": "^1.1.29", - "@refinedev/inferencer": "^4.5.16", - "@refinedev/kbar": "^1.3.5", - "@refinedev/mui": "^5.14.1", - "@refinedev/nextjs-router": "^5.5.5", - "@refinedev/react-hook-form": "^4.8.13", + "@refinedev/cli": "^2.16.24", + "@refinedev/core": "^4.47.1", + "@refinedev/devtools": "^1.1.32", + "@refinedev/inferencer": "^4.5.20", + "@refinedev/kbar": "^1.3.6", + "@refinedev/mui": "^5.14.4", + "@refinedev/nextjs-router": "^5.5.7", + "@refinedev/react-hook-form": "^4.8.14", "@refinedev/simple-rest": "^5.0.1", "next": "^13.0.6", "next-auth": "^4.20.1", @@ -1635,9 +1635,9 @@ } }, "node_modules/@ory/client": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@ory/client/-/client-1.5.2.tgz", - "integrity": "sha512-GjCzukyyMPg1Pp3uyAIbIhI+OOO9ekR1Zonz4+X29nt6OtD3Efha8BCRKEooKeeoKLtI3HYUXXxD6zLuPns41Q==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@ory/client/-/client-1.6.1.tgz", + "integrity": "sha512-CboARAoTtXOFx1fVVPN/IezU5S6uEOtSvI8Y6LkXD6NKiMzJdc9Ezt8m807toI6lCz1Gc+DCD1OX6gnHnMjb4g==", "dependencies": { "axios": "^1.6.1" } @@ -1755,11 +1755,11 @@ "integrity": "sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==" }, "node_modules/@refinedev/cli": { - "version": "2.16.23", - "resolved": "https://registry.npmjs.org/@refinedev/cli/-/cli-2.16.23.tgz", - "integrity": "sha512-Me7VOhC/gx5bZEakkaYb1kaOObWRPxNAYgW78Ji96wu25+7V7rURiLJfEF9FtIv3XxIChuybO8cbTzp27NDsKA==", + "version": "2.16.24", + "resolved": "https://registry.npmjs.org/@refinedev/cli/-/cli-2.16.24.tgz", + "integrity": "sha512-xN7xJMbA8tyHCIvTR6ZuvMNEbEDzjGH3XF4CKhRql7k5Q8TCpWhmUZ2cFHEIa5RpdYaboS7lFAdwwm2uW0rLVQ==", "dependencies": { - "@refinedev/devtools-server": "1.1.23", + "@refinedev/devtools-server": "1.1.24", "boxen": "^5.1.2", "cardinal": "^2.1.1", "center-align": "1.0.1", @@ -1800,11 +1800,11 @@ } }, "node_modules/@refinedev/core": { - "version": "4.47.0", - "resolved": "https://registry.npmjs.org/@refinedev/core/-/core-4.47.0.tgz", - "integrity": "sha512-kCKw7zvm6kbdUmBcoDLEF3+lN6d+FZ2x++KEWfbiMDaU8RndMCgPwywz3Edi1ehbZ5e4PkitenwrsKVmrRBRCw==", + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@refinedev/core/-/core-4.47.1.tgz", + "integrity": "sha512-J2bsJTZ+pkqwXlkH84oauPkc0O9P6m+39FF7TgvvkKzu7XKIg/ifoeG1PDMy5Nxgdb9oiJLr0H4YQYKNi8JErA==", "dependencies": { - "@refinedev/devtools-internal": "1.1.4", + "@refinedev/devtools-internal": "1.1.5", "@tanstack/react-query": "^4.10.1", "lodash": "^4.17.21", "lodash-es": "^4.17.21", @@ -1823,12 +1823,12 @@ } }, "node_modules/@refinedev/devtools": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/@refinedev/devtools/-/devtools-1.1.31.tgz", - "integrity": "sha512-waCCUvE5qW8N2c8m3ub0wVPb88hPH0CAFfHpIzCinkccDZ8dLZpvEl3v89IxcsvrNAwFLW69zEx6n4j4TibKhA==", + "version": "1.1.32", + "resolved": "https://registry.npmjs.org/@refinedev/devtools/-/devtools-1.1.32.tgz", + "integrity": "sha512-xFtIiYUjbvqhz0iKFl/CZZOajIOuHWmprSwOt85qdTAF3VkUzwDiPdK/6QdgcBgCZ7aToWu1jFKyGs5h4uIiXA==", "dependencies": { "@aliemir/dom-to-fiber-utils": "^0.4.0", - "@refinedev/devtools-shared": "1.1.2", + "@refinedev/devtools-shared": "1.1.3", "error-stack-parser": "^2.1.4", "lodash": "^4.17.21", "lodash-es": "^4.17.21" @@ -1837,9 +1837,9 @@ "node": ">=10" }, "peerDependencies": { - "@refinedev/cli": "2.16.23", + "@refinedev/cli": "2.16.24", "@refinedev/core": "^4.46.1", - "@refinedev/devtools-server": "1.1.23", + "@refinedev/devtools-server": "1.1.24", "@types/react": "^17.0.0 || ^18.0.0", "@types/react-dom": "^17.0.0 || ^18.0.0", "react": "^17.0.0 || ^18.0.0", @@ -1847,11 +1847,11 @@ } }, "node_modules/@refinedev/devtools-internal": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@refinedev/devtools-internal/-/devtools-internal-1.1.4.tgz", - "integrity": "sha512-AuXlKRdDZ8POC1B2DMa3AzSICN3LmKebmsMUry3+T9xc7TkL2lGy3anqJnBOQw8asWd5fr+vz1UYjdVcvqUqJA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@refinedev/devtools-internal/-/devtools-internal-1.1.5.tgz", + "integrity": "sha512-24yE9r6rnTcCAe35XqmeiL5oL9FlodAOAPo4joMxu2SDzBNndh1ZdEEuFxoLd9t9CYu46cjLKQhaWcWWC2Ii3A==", "dependencies": { - "@refinedev/devtools-shared": "1.1.2", + "@refinedev/devtools-shared": "1.1.3", "@tanstack/react-query": "^4.10.1", "error-stack-parser": "^2.1.4" }, @@ -1866,13 +1866,13 @@ } }, "node_modules/@refinedev/devtools-server": { - "version": "1.1.23", - "resolved": "https://registry.npmjs.org/@refinedev/devtools-server/-/devtools-server-1.1.23.tgz", - "integrity": "sha512-Bxi+tFv48WefmD8r7QE2ovPzg9pksgfP8YKIOcYu2aBCFJZ133F35fG5AOdiSHHAp7Y9gl2tDL2cR1PVH/7Pow==", + "version": "1.1.24", + "resolved": "https://registry.npmjs.org/@refinedev/devtools-server/-/devtools-server-1.1.24.tgz", + "integrity": "sha512-4nKBhOKBOSPdO6LGfZnk0XmJ74TSQ/MQ2h5204aQgM1znPhPNnLERsTzKL6b0vHoli/EKzm0nRFcTfFJ0WOEUg==", "dependencies": { "@ory/client": "^1.5.2", - "@refinedev/devtools-shared": "1.1.2", - "@refinedev/devtools-ui": "1.1.16", + "@refinedev/devtools-shared": "1.1.3", + "@refinedev/devtools-ui": "1.1.17", "body-parser": "^1.20.2", "boxen": "^5.1.2", "chalk": "^4.1.2", @@ -1908,9 +1908,9 @@ } }, "node_modules/@refinedev/devtools-shared": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@refinedev/devtools-shared/-/devtools-shared-1.1.2.tgz", - "integrity": "sha512-ze+akDLtCblBBEZuFTYoiAu1CfEdzBRBdttVaLJEAgSNdMva9vpbV/7gG5yTQRIIi4kIdfghphwrGHBxOOKjXQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@refinedev/devtools-shared/-/devtools-shared-1.1.3.tgz", + "integrity": "sha512-3xtVUwMGWwwnufDL+QDEdMkoi+qLQllefil+y5UyNsDuEIeh9xcNn/Uxl/N27lObA+zakHX9QOR++lR8SQ+TnQ==", "dependencies": { "@tanstack/react-query": "^4.10.1", "error-stack-parser": "^2.1.4" @@ -1926,14 +1926,14 @@ } }, "node_modules/@refinedev/devtools-ui": { - "version": "1.1.16", - "resolved": "https://registry.npmjs.org/@refinedev/devtools-ui/-/devtools-ui-1.1.16.tgz", - "integrity": "sha512-i7TJ7vj4kF16PK8t8bn1TDSOk/vgSihHwSGq/vCuDEw9D6C0+gxDBQGbb6iAXPthoT3TK3KnPbkPZOj8xRzycQ==", + "version": "1.1.17", + "resolved": "https://registry.npmjs.org/@refinedev/devtools-ui/-/devtools-ui-1.1.17.tgz", + "integrity": "sha512-bV9FjWBYIB73pwSS/2jBbmWznqxvBHSXXk9cNqY+FhqKHWBUznFs5c64YimCBRZajcdGeFZhiJ8FZhC8l5T8vw==", "dependencies": { "@fireworks-js/react": "^2.10.7", "@headlessui/react": "^1.7.17", "@ory/client": "^1.5.2", - "@refinedev/devtools-shared": "1.1.2", + "@refinedev/devtools-shared": "1.1.3", "@tanstack/react-table": "^8.2.6", "clsx": "^1.1.1", "dayjs": "^1.10.7", @@ -1963,14 +1963,15 @@ } }, "node_modules/@refinedev/inferencer": { - "version": "4.5.18", - "resolved": "https://registry.npmjs.org/@refinedev/inferencer/-/inferencer-4.5.18.tgz", - "integrity": "sha512-zg3aZC9H108prwLtf120CNYyNsr+vuwa2XPXUnArbuy+LzIO6tCUFhZblsQUf+olR7Cf9rPUmEKOPe/Ne3clUA==", + "version": "4.5.20", + "resolved": "https://registry.npmjs.org/@refinedev/inferencer/-/inferencer-4.5.20.tgz", + "integrity": "sha512-3BlTrhmMijzhoWuVbnez2VbtINPp1YV+ZZFv7mg5eRYgV1pfjacz10EjIsmhihQ51W/1NhLG4kkp+SzYBWjTkA==", "dependencies": { "@aliemir/react-live": "^4.0.0", - "@refinedev/core": "^4.47.0", + "@refinedev/core": "^4.47.1", "@tabler/icons": "^1.119.0", "dayjs": "^1.10.7", + "graphql": "^15.6.1", "graphql-tag": "^2.12.6", "lodash": "^4.17.21", "lodash-es": "^4.17.21", @@ -2077,9 +2078,9 @@ } }, "node_modules/@refinedev/kbar": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@refinedev/kbar/-/kbar-1.3.5.tgz", - "integrity": "sha512-bb0SURbi1fubJx5RD6FPrlq9YbvFVdoLUIbf69hW1UslSTdC9bgXU6raWKCosKWrFyt7Au7CVVP8IqSXoIgb6w==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@refinedev/kbar/-/kbar-1.3.6.tgz", + "integrity": "sha512-5eDnrEeyY0INJWgbXPimmPMq1lrcRv80kQmU+PCuTZZwz6GwFXdpp4Oxyf/PQdxfea9yFyXpfkmLe0P7KSewXw==", "dependencies": { "kbar": "^0.1.0-beta.40" }, @@ -2093,9 +2094,9 @@ } }, "node_modules/@refinedev/mui": { - "version": "5.14.3", - "resolved": "https://registry.npmjs.org/@refinedev/mui/-/mui-5.14.3.tgz", - "integrity": "sha512-Db7xkPvI8TlKMmCT+lSXhofQ1s9wlE60pYNNByvcDeXuSAaK9mWU06bRStjE3chq+nzLNsKHUXdXxtq8Zg1Dwg==", + "version": "5.14.4", + "resolved": "https://registry.npmjs.org/@refinedev/mui/-/mui-5.14.4.tgz", + "integrity": "sha512-D3XI4KI0ttvBZTyaYDHvDH+wQqDOZUAPldAVft4SnjFPxjaf/piWaUj7WwJR+peXtE/+gLGydk4W3oGDUVQ/RA==", "dependencies": { "@emotion/react": "^11.8.2", "@emotion/styled": "^11.8.1", @@ -2103,7 +2104,7 @@ "@mui/lab": "^5.0.0-alpha.85", "@mui/material": "^5.14.2", "@mui/x-data-grid": "^6.6.0", - "@refinedev/react-hook-form": "^4.8.13", + "@refinedev/react-hook-form": "^4.8.14", "@refinedev/ui-types": "^1.22.4", "dayjs": "^1.10.7", "lodash": "^4.17.21", @@ -2130,9 +2131,9 @@ } }, "node_modules/@refinedev/nextjs-router": { - "version": "5.5.6", - "resolved": "https://registry.npmjs.org/@refinedev/nextjs-router/-/nextjs-router-5.5.6.tgz", - "integrity": "sha512-K0VOSfe4CdcfkHkTJyiUbrRzwLhLfQG9DhcUi/qsVWcioqD2u7eSeLPolI5WsnzdhV7TdRsm1/2N3O8GDCyNxg==", + "version": "5.5.7", + "resolved": "https://registry.npmjs.org/@refinedev/nextjs-router/-/nextjs-router-5.5.7.tgz", + "integrity": "sha512-tmZuryorJtgWr2lvuUI8AjAVNyZpVJvGr/v+t+TJp5uiAY8RLuOlUxGBIiYvlFpA2Ach2kaaqx+yBa8rC2Gmsw==", "dependencies": { "qs": "^6.10.1", "warn-once": "^0.1.0" @@ -2150,9 +2151,9 @@ } }, "node_modules/@refinedev/react-hook-form": { - "version": "4.8.13", - "resolved": "https://registry.npmjs.org/@refinedev/react-hook-form/-/react-hook-form-4.8.13.tgz", - "integrity": "sha512-IgW5REXgnXQ2jsu//4Lj51MmXjxi/GKIxJs6XXDnNQsdAstLVDW3vneDzokTyt1ywazAeyruSfOYViaDTsEBqg==", + "version": "4.8.14", + "resolved": "https://registry.npmjs.org/@refinedev/react-hook-form/-/react-hook-form-4.8.14.tgz", + "integrity": "sha512-buUTprTFIoc7bB3GWBSIkxmYf7aWKv5yBGbFF064TVXaJowrNHtedltoQ+NujMALglvyTKFXfw+D/PgTEJrPGA==", "dependencies": { "lodash": "^4.17.21", "lodash-es": "^4.17.21", @@ -3770,9 +3771,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.656", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.656.tgz", - "integrity": "sha512-9AQB5eFTHyR3Gvt2t/NwR0le2jBSUNwCnMbUCejFWHD+so4tH40/dRLgoE+jxlPeWS43XJewyvCv+I8LPMl49Q==" + "version": "1.4.661", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.661.tgz", + "integrity": "sha512-AFg4wDHSOk5F+zA8aR+SVIOabu7m0e7BiJnigCvPXzIGy731XENw/lmNxTySpVFtkFEy+eyt4oHhh5FF3NjQNw==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -3847,9 +3848,9 @@ } }, "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "engines": { "node": ">=6" } @@ -4677,6 +4678,14 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, + "node_modules/graphql": { + "version": "15.8.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz", + "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==", + "engines": { + "node": ">= 10.x" + } + }, "node_modules/graphql-tag": { "version": "2.12.6", "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", @@ -7364,9 +7373,9 @@ } }, "node_modules/react-hook-form": { - "version": "7.50.0", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.50.0.tgz", - "integrity": "sha512-AOhuzM3RdP09ZCnq+Z0yvKGHK25yiOX5phwxjV9L7U6HMla10ezkBnvQ+Pk4GTuDfsC5P2zza3k8mawFwFLVuQ==", + "version": "7.50.1", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.50.1.tgz", + "integrity": "sha512-3PCY82oE0WgeOgUtIr3nYNNtNvqtJ7BZjsbxh6TnYNbXButaD5WpjOmTjdxZfheuHKR68qfeFnEDVYoSSFPMTQ==", "engines": { "node": ">=12.22.0" }, diff --git a/package.json b/package.json index 09a9407..ccac9c6 100644 --- a/package.json +++ b/package.json @@ -13,35 +13,35 @@ "refine": "refine" }, "dependencies": { - "@refinedev/cli": "^2.16.21", - "@refinedev/core": "^4.46.1", - "@refinedev/devtools": "^1.1.29", - "@refinedev/nextjs-router": "^5.5.5", - "@refinedev/inferencer": "^4.5.16", - "@refinedev/kbar": "^1.3.5", - "next": "^13.0.6", - "nookies": "^2.5.2", - "react": "^18.0.0", - "react-dom": "^18.0.0", - "@refinedev/simple-rest": "^5.0.1", - "@refinedev/mui": "^5.14.1", - "@refinedev/react-hook-form": "^4.8.13", - "@mui/icons-material": "^5.8.3", "@emotion/react": "^11.8.2", "@emotion/styled": "^11.8.1", + "@mui/icons-material": "^5.8.3", "@mui/lab": "^5.0.0-alpha.85", "@mui/material": "^5.8.6", "@mui/x-data-grid": "^6.6.0", + "@refinedev/cli": "^2.16.24", + "@refinedev/core": "^4.47.1", + "@refinedev/devtools": "^1.1.32", + "@refinedev/inferencer": "^4.5.20", + "@refinedev/kbar": "^1.3.6", + "@refinedev/mui": "^5.14.4", + "@refinedev/nextjs-router": "^5.5.7", + "@refinedev/react-hook-form": "^4.8.14", + "@refinedev/simple-rest": "^5.0.1", + "next": "^13.0.6", "next-auth": "^4.20.1", - "next-i18next": "^8.9.0" + "next-i18next": "^8.9.0", + "nookies": "^2.5.2", + "react": "^18.0.0", + "react-dom": "^18.0.0" }, "devDependencies": { + "@types/node": "^18.0.0", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", - "@types/node": "^18.0.0", "@typescript-eslint/parser": "5.48.0", - "typescript": "^4.7.4", - "cross-env": "^7.0.3" + "cross-env": "^7.0.3", + "typescript": "^4.7.4" }, "refine": { "projectId": "sJp3Js-ginGsG-d3ioXd" diff --git a/pages/_app.tsx b/pages/_app.tsx index a207da8..98d6bbf 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -1,8 +1,9 @@ -import { AuthBindings, GitHubBanner, Refine } from "@refinedev/core"; +import { AuthBindings, Refine } from "@refinedev/core"; import { RefineKbar, RefineKbarProvider } from "@refinedev/kbar"; import { RefineSnackbarProvider, ThemedLayoutV2, + ThemedTitleV2, notificationProvider, } from "@refinedev/mui"; import routerProvider, { @@ -20,8 +21,9 @@ import CssBaseline from "@mui/material/CssBaseline"; import GlobalStyles from "@mui/material/GlobalStyles"; import dataProvider from "@refinedev/simple-rest"; import { appWithTranslation, useTranslation } from "next-i18next"; +import logo from "../src/components/fdo_logo"; -const API_URL = "https://api.fake-rest.refine.dev"; +const API_URL = "http://localhost:8081"; export type NextPageWithLayout<P = {}, IP = P> = NextPage<P, IP> & { noLayout?: boolean; @@ -51,7 +53,7 @@ const App = (props: React.PropsWithChildren) => { const authProvider: AuthBindings = { login: async () => { signIn("keycloak", { - callbackUrl: to ? to.toString() : "/", + callbackUrl: to ? to.toString() : "/info", redirect: true, }); @@ -105,7 +107,6 @@ const App = (props: React.PropsWithChildren) => { return ( <> - <GitHubBanner /> <RefineKbarProvider> <ColorModeContextProvider> <CssBaseline /> @@ -118,10 +119,17 @@ const App = (props: React.PropsWithChildren) => { authProvider={authProvider} i18nProvider={i18nProvider} options={{ + disableTelemetry: true, syncWithLocation: true, warnWhenUnsavedChanges: true, useNewQueryKeys: true, }} + resources={[ + { + name: "info", + list: "/info", + } + ]} > {props.children} <RefineKbar /> @@ -144,7 +152,16 @@ function MyApp({ } return ( - <ThemedLayoutV2 Header={() => <Header sticky />}> + <ThemedLayoutV2 + Header={() => <Header sticky />} + Title={({ collapsed }) => ( + <ThemedTitleV2 + collapsed={collapsed} + text="FDO Manager" + icon={logo} + /> + )} + > <Component {...pageProps} /> </ThemedLayoutV2> ); diff --git a/pages/api/auth/[...nextauth].ts b/pages/api/auth/[...nextauth].ts index 6c57768..9b30bf7 100644 --- a/pages/api/auth/[...nextauth].ts +++ b/pages/api/auth/[...nextauth].ts @@ -6,9 +6,9 @@ export const authOptions = { providers: [ // !!! Should be stored in .env file. KeycloakProvider({ - clientId: `refine-demo`, - clientSecret: `refine`, - issuer: `https://lemur-0.cloud-iam.com/auth/realms/refine`, + clientId: `fdo-manager-webui`, + clientSecret: `ay7l6jhECSohAZsEp6HYOaoXdARMQCei`, + issuer: `http://localhost:8080/realms/FDO%20Manager`, profile(profile) { return { id: profile.sub, diff --git a/pages/info/index.jsx b/pages/info/index.jsx new file mode 100644 index 0000000..bd71ad5 --- /dev/null +++ b/pages/info/index.jsx @@ -0,0 +1,19 @@ +import React from "react"; + +import { useGo, useList } from "@refinedev/core"; + +const Info = () => { + const { data, isLoading } = useList({resource: "hello"}); + + const go = useGo(); + + if (isLoading) return <div>Loading...</div>; + + return ( + <div> + {data?.data?.message} + </div> + ); +}; + +export default Info; diff --git a/pages/login/index.tsx b/pages/login/index.tsx index 4f2f6c2..9b4f0c9 100644 --- a/pages/login/index.tsx +++ b/pages/login/index.tsx @@ -11,6 +11,7 @@ import { serverSideTranslations } from "next-i18next/serverSideTranslations"; import { getServerSession } from "next-auth"; import { authOptions } from "../api/auth/[...nextauth]"; +import logo from "../../src/components/fdo_logo"; export default function Login() { const { mutate: login } = useLogin(); @@ -33,6 +34,8 @@ export default function Login() { flexDirection="column" > <ThemedTitleV2 + text="FDO Manager" + icon={logo} collapsed={false} wrapperStyles={{ fontSize: "22px", diff --git a/public/favicon.ico b/public/favicon.ico index 2f05c5f484fbf720523541519ff0cad4df752a9f..55cb44f83d7a6d4ab566588859282d5a39871964 100644 GIT binary patch literal 67646 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 literal 101076 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 diff --git a/src/components/fdo_logo.jsx b/src/components/fdo_logo.jsx new file mode 100644 index 0000000..82d8cbe --- /dev/null +++ b/src/components/fdo_logo.jsx @@ -0,0 +1,15 @@ +import React from "react"; + +const logo = <svg + width={24} + height={24} + viewBox="0 0 24 24" + fill="none" + xmlns="http://www.w3.org/2000/svg" + data-testid="fdo-manager-logo" + > + <path d="m12 2a10 10 0 0 0-10 10 10 10 0 0 0 10 10 10 10 0 0 0 10-10 10 10 0 0 0-10-10zm0 2a8 8 0 0 1 8 8 8 8 0 0 1-8 8 8 8 0 0 1-8-8 8 8 0 0 1 8-8zm0 2a6 6 0 0 0-6 6 6 6 0 0 0 6 6 6 6 0 0 0 6-6 6 6 0 0 0-6-6zm0 2a4 4 0 0 1 4 4 4 4 0 0 1-4 4 4 4 0 0 1-4-4 4 4 0 0 1 4-4zm0 2a2 2 0 0 0-2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0-2-2z" fill="currentColor"/> + + </svg> + +export default logo; diff --git a/tsconfig.json b/tsconfig.json index 6787272..2e4a628 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,11 @@ { "compilerOptions": { "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "allowJs": true, "skipLibCheck": true, "strict": true, @@ -15,16 +19,39 @@ "jsx": "preserve", "baseUrl": ".", "paths": { - "@components/*": ["src/components/*"], - "@components": ["src/components"], - "@contexts/*": ["src/contexts/*"], - "@contexts": ["src/contexts"], - "@styles/*": ["src/styles/*"], - "@styles": ["src/styles"], - "@public/*": ["public/*"], - "@public": ["public"] - } + "@components/*": [ + "src/components/*" + ], + "@components": [ + "src/components" + ], + "@contexts/*": [ + "src/contexts/*" + ], + "@contexts": [ + "src/contexts" + ], + "@styles/*": [ + "src/styles/*" + ], + "@styles": [ + "src/styles" + ], + "@public/*": [ + "public/*" + ], + "@public": [ + "public" + ] + }, + "incremental": true }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], - "exclude": ["node_modules"] + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx" + ], + "exclude": [ + "node_modules" + ] } -- GitLab