diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..887a82320f48e1c2de254b2f830722e7cfe163e4 --- /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 c6643fda12ff6f86da14e44369faa91fd9877a29..4f11a03dc6cc37f2b5105c08f2e7b24c603ab2f4 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 49efe310df4016111e4587e45aca4a82985a6903..e46bc7d74278e22e49acef31cf5b1dc780545b7b 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 09a94079bdd8c5a39eae74d7cc71acf0b83c8443..ccac9c610940ede2a23ab6ff4cc55ff55bda21d2 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 a207da8cedaddcea499300f0974dfffc7418cbe6..98d6bbf2620cb4760c5a82b8051e014055330066 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 6c57768e5c53abbc84d1a9de6975bb692f35abfc..9b30bf70c881a388ca5c24805be7b801dbb4a496 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 0000000000000000000000000000000000000000..bd71ad5c21d7cf26e592cf4566a58785dec2c547 --- /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 4f2f6c2fc682c2fd3b8f55fe174b3ae9fc9b06db..9b4f0c92a7abebda57e88f61d1b1640d214c4cbb 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 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/src/components/fdo_logo.jsx b/src/components/fdo_logo.jsx new file mode 100644 index 0000000000000000000000000000000000000000..82d8cbe13ecc0343914fccaddab13e0bd3bfc2e1 --- /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 67872729ec5d985454921f597c1cd4a6d51936b6..2e4a6289eb8ad74ff8f2cb6b751f61aa414f87d8 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" + ] }