From 86627cb25b913ae8545d2812d40da68afe31c0f9 Mon Sep 17 00:00:00 2001 From: Daniel B Date: Sun, 10 Dec 2023 00:04:20 -0600 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=8E=A8=20Style:=20Name=20step=204=20f?= =?UTF-8?q?ormat=20uniform?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/staging.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/staging.yaml b/.github/workflows/staging.yaml index e1b02a6..c456cb3 100644 --- a/.github/workflows/staging.yaml +++ b/.github/workflows/staging.yaml @@ -97,5 +97,5 @@ jobs: run: gcloud app deploy app.yaml --project ${{secrets.GCP_PROJECT_ID}} --promote # - Deployment to 'staging' service - if: github.ref == 'refs/heads/staging' - name: 4. Deploy to Staging Service + name: 4. Deploy to 'staging' Service run: gcloud app deploy app.yaml --project ${{secrets.GCP_PROJECT_ID}} --no-promote \ No newline at end of file From fb1abb303a2792611e95a94d28b48c4fd8ed7ab6 Mon Sep 17 00:00:00 2001 From: Daniel B Date: Sun, 10 Dec 2023 03:07:49 -0600 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=94=A7=20Refactor:=20Divide=20logic?= =?UTF-8?q?=20for=20frontend=20and=20backend=20=E2=80=A2=20Define=20logic?= =?UTF-8?q?=20for=20both=20=E2=80=A2=20Define=20hooks=20and=20ui=20compone?= =?UTF-8?q?nts=20for=20frontend=20=E2=80=A2=20Define=20api=20and=20logic?= =?UTF-8?q?=20for=20backend=20=E2=80=A2=20Fix=20mail=20in=20package.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 9 +- pnpm-lock.yaml | 659 ++++++++++++------ src/app/layout.jsx | 8 +- src/app/not-found.jsx | 4 +- src/app/page.css | 4 +- src/app/page.jsx | 8 +- src/backend/api/knowledge/getAppKnowledge.js | 31 + .../api/knowledge/getKnowledge.js} | 22 +- src/backend/api/solid/getNumber.js | 22 + .../api/solid/getProperties.js} | 22 +- .../api/solid/getProperty.js} | 58 +- src/backend/api/solid/getString.js | 26 + src/backend/api/solid/getThing.js | 28 + .../api/solid/getURL.js} | 14 +- .../api/solid/getURLAll.js} | 12 +- .../auth/service.js => backend/logic/auth.js} | 12 +- src/backend/logic/kgm/nodes.js | 25 + .../shape.js => backend/logic/kgm/shapes.js} | 7 +- .../service.js => backend/logic/seo.js} | 8 +- .../hooks/useKnowledge.js} | 14 +- .../manager.jsx => frontend/logic/state.jsx} | 12 +- .../components/atoms/buttons}/authButton.jsx | 4 +- .../components/atoms/buttons}/loginButton.jsx | 6 +- .../atoms/buttons}/logoutButton.jsx | 4 +- .../ui/components/atoms/images/icon.jsx | 23 + .../components/molecules/footer/component.jsx | 6 +- .../components/molecules/footer/layout.jsx | 6 +- 27 files changed, 717 insertions(+), 337 deletions(-) create mode 100644 src/backend/api/knowledge/getAppKnowledge.js rename src/{logic/data/service.js => backend/api/knowledge/getKnowledge.js} (62%) create mode 100644 src/backend/api/solid/getNumber.js rename src/{services/app/nodes.js => backend/api/solid/getProperties.js} (54%) rename src/{services/solid/service.js => backend/api/solid/getProperty.js} (52%) create mode 100644 src/backend/api/solid/getString.js create mode 100644 src/backend/api/solid/getThing.js rename src/{services/app/namespaces.js => backend/api/solid/getURL.js} (69%) rename src/{services/solid/namespaces.js => backend/api/solid/getURLAll.js} (71%) rename src/{logic/auth/service.js => backend/logic/auth.js} (75%) create mode 100644 src/backend/logic/kgm/nodes.js rename src/{services/app/shape.js => backend/logic/kgm/shapes.js} (89%) rename src/{logic/metadata/service.js => backend/logic/seo.js} (92%) rename src/{logic/data/hook.js => frontend/hooks/useKnowledge.js} (76%) rename src/{logic/state/manager.jsx => frontend/logic/state.jsx} (85%) rename src/{components/atoms => frontend/ui/components/atoms/buttons}/authButton.jsx (94%) rename src/{components/atoms => frontend/ui/components/atoms/buttons}/loginButton.jsx (91%) rename src/{components/atoms => frontend/ui/components/atoms/buttons}/logoutButton.jsx (95%) create mode 100644 src/frontend/ui/components/atoms/images/icon.jsx rename src/{ => frontend/ui}/components/molecules/footer/component.jsx (89%) rename src/{ => frontend/ui}/components/molecules/footer/layout.jsx (88%) diff --git a/package.json b/package.json index 37eb450..d2d91d6 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "client", - "author": "Daniel Bakas ", + "author": "Daniel Bakas ", "bugs": "https://github.com/semantyk/client/issues", "description": "Client for semantyk.com | Semantyk", "license": "CC-BY-NC-SA-4.0", "maintainers": [ - "Daniel Bakas " + "Daniel Bakas " ], "private": true, "repository": { @@ -22,7 +22,8 @@ "react": "^18.2.0", "react-bootstrap": "^2.9.1", "react-dom": "^18.2.0", - "recoil": "^0.7.7" + "recoil": "^0.7.7", + "sharp": "^0.33.0" }, "devDependencies": { "@testing-library/jest-dom": "^6.1.5", @@ -30,7 +31,7 @@ "@testing-library/user-event": "^14.5.1", "eslint": "^8.55.0", "eslint-config-next": "14.0.3", - "next": "^14.0.3", + "next": "^14.0.4", "vitest": "^1.0.4" }, "scripts": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dac1811..27d4ba2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,6 +32,9 @@ dependencies: recoil: specifier: ^0.7.7 version: 0.7.7(react-dom@18.2.0)(react@18.2.0) + sharp: + specifier: ^0.33.0 + version: 0.33.0 devDependencies: '@testing-library/jest-dom': @@ -48,10 +51,10 @@ devDependencies: version: 8.55.0 eslint-config-next: specifier: 14.0.3 - version: 14.0.3(eslint@8.55.0)(typescript@5.3.2) + version: 14.0.3(eslint@8.55.0)(typescript@5.3.3) next: - specifier: ^14.0.3 - version: 14.0.3(react-dom@18.2.0)(react@18.2.0) + specifier: ^14.0.4 + version: 14.0.4(react-dom@18.2.0)(react@18.2.0) vitest: specifier: ^1.0.4 version: 1.0.4(jsdom@23.0.1) @@ -112,8 +115,16 @@ packages: - web-streams-polyfill dev: false - /@esbuild/android-arm64@0.19.8: - resolution: {integrity: sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==} + /@emnapi/runtime@0.44.0: + resolution: {integrity: sha512-ZX/etZEZw8DR7zAB1eVQT40lNo0jeqpb6dCgOvctB6FIQ5PoXfMuNY8+ayQfu8tNQbAB8gQWSSJupR8NxeiZXw==} + requiresBuild: true + dependencies: + tslib: 2.6.2 + dev: false + optional: true + + /@esbuild/android-arm64@0.19.9: + resolution: {integrity: sha512-q4cR+6ZD0938R19MyEW3jEsMzbb/1rulLXiNAJQADD/XYp7pT+rOS5JGxvpRW8dFDEfjW4wLgC/3FXIw4zYglQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -121,8 +132,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.19.8: - resolution: {integrity: sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==} + /@esbuild/android-arm@0.19.9: + resolution: {integrity: sha512-jkYjjq7SdsWuNI6b5quymW0oC83NN5FdRPuCbs9HZ02mfVdAP8B8eeqLSYU3gb6OJEaY5CQabtTFbqBf26H3GA==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -130,8 +141,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.19.8: - resolution: {integrity: sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==} + /@esbuild/android-x64@0.19.9: + resolution: {integrity: sha512-KOqoPntWAH6ZxDwx1D6mRntIgZh9KodzgNOy5Ebt9ghzffOk9X2c1sPwtM9P+0eXbefnDhqYfkh5PLP5ULtWFA==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -139,8 +150,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.19.8: - resolution: {integrity: sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==} + /@esbuild/darwin-arm64@0.19.9: + resolution: {integrity: sha512-KBJ9S0AFyLVx2E5D8W0vExqRW01WqRtczUZ8NRu+Pi+87opZn5tL4Y0xT0mA4FtHctd0ZgwNoN639fUUGlNIWw==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -148,8 +159,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.19.8: - resolution: {integrity: sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==} + /@esbuild/darwin-x64@0.19.9: + resolution: {integrity: sha512-vE0VotmNTQaTdX0Q9dOHmMTao6ObjyPm58CHZr1UK7qpNleQyxlFlNCaHsHx6Uqv86VgPmR4o2wdNq3dP1qyDQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -157,8 +168,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.19.8: - resolution: {integrity: sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==} + /@esbuild/freebsd-arm64@0.19.9: + resolution: {integrity: sha512-uFQyd/o1IjiEk3rUHSwUKkqZwqdvuD8GevWF065eqgYfexcVkxh+IJgwTaGZVu59XczZGcN/YMh9uF1fWD8j1g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -166,8 +177,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.19.8: - resolution: {integrity: sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==} + /@esbuild/freebsd-x64@0.19.9: + resolution: {integrity: sha512-WMLgWAtkdTbTu1AWacY7uoj/YtHthgqrqhf1OaEWnZb7PQgpt8eaA/F3LkV0E6K/Lc0cUr/uaVP/49iE4M4asA==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -175,8 +186,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.19.8: - resolution: {integrity: sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==} + /@esbuild/linux-arm64@0.19.9: + resolution: {integrity: sha512-PiPblfe1BjK7WDAKR1Cr9O7VVPqVNpwFcPWgfn4xu0eMemzRp442hXyzF/fSwgrufI66FpHOEJk0yYdPInsmyQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -184,8 +195,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.19.8: - resolution: {integrity: sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==} + /@esbuild/linux-arm@0.19.9: + resolution: {integrity: sha512-C/ChPohUYoyUaqn1h17m/6yt6OB14hbXvT8EgM1ZWaiiTYz7nWZR0SYmMnB5BzQA4GXl3BgBO1l8MYqL/He3qw==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -193,8 +204,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.19.8: - resolution: {integrity: sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==} + /@esbuild/linux-ia32@0.19.9: + resolution: {integrity: sha512-f37i/0zE0MjDxijkPSQw1CO/7C27Eojqb+r3BbHVxMLkj8GCa78TrBZzvPyA/FNLUMzP3eyHCVkAopkKVja+6Q==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -202,8 +213,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.19.8: - resolution: {integrity: sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==} + /@esbuild/linux-loong64@0.19.9: + resolution: {integrity: sha512-t6mN147pUIf3t6wUt3FeumoOTPfmv9Cc6DQlsVBpB7eCpLOqQDyWBP1ymXn1lDw4fNUSb/gBcKAmvTP49oIkaA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -211,8 +222,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.19.8: - resolution: {integrity: sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==} + /@esbuild/linux-mips64el@0.19.9: + resolution: {integrity: sha512-jg9fujJTNTQBuDXdmAg1eeJUL4Jds7BklOTkkH80ZgQIoCTdQrDaHYgbFZyeTq8zbY+axgptncko3v9p5hLZtw==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -220,8 +231,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.19.8: - resolution: {integrity: sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==} + /@esbuild/linux-ppc64@0.19.9: + resolution: {integrity: sha512-tkV0xUX0pUUgY4ha7z5BbDS85uI7ABw3V1d0RNTii7E9lbmV8Z37Pup2tsLV46SQWzjOeyDi1Q7Wx2+QM8WaCQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -229,8 +240,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.19.8: - resolution: {integrity: sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==} + /@esbuild/linux-riscv64@0.19.9: + resolution: {integrity: sha512-DfLp8dj91cufgPZDXr9p3FoR++m3ZJ6uIXsXrIvJdOjXVREtXuQCjfMfvmc3LScAVmLjcfloyVtpn43D56JFHg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -238,8 +249,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.19.8: - resolution: {integrity: sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==} + /@esbuild/linux-s390x@0.19.9: + resolution: {integrity: sha512-zHbglfEdC88KMgCWpOl/zc6dDYJvWGLiUtmPRsr1OgCViu3z5GncvNVdf+6/56O2Ca8jUU+t1BW261V6kp8qdw==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -247,8 +258,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.19.8: - resolution: {integrity: sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==} + /@esbuild/linux-x64@0.19.9: + resolution: {integrity: sha512-JUjpystGFFmNrEHQnIVG8hKwvA2DN5o7RqiO1CVX8EN/F/gkCjkUMgVn6hzScpwnJtl2mPR6I9XV1oW8k9O+0A==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -256,8 +267,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.19.8: - resolution: {integrity: sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==} + /@esbuild/netbsd-x64@0.19.9: + resolution: {integrity: sha512-GThgZPAwOBOsheA2RUlW5UeroRfESwMq/guy8uEe3wJlAOjpOXuSevLRd70NZ37ZrpO6RHGHgEHvPg1h3S1Jug==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -265,8 +276,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.19.8: - resolution: {integrity: sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==} + /@esbuild/openbsd-x64@0.19.9: + resolution: {integrity: sha512-Ki6PlzppaFVbLnD8PtlVQfsYw4S9n3eQl87cqgeIw+O3sRr9IghpfSKY62mggdt1yCSZ8QWvTZ9jo9fjDSg9uw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -274,8 +285,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.19.8: - resolution: {integrity: sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==} + /@esbuild/sunos-x64@0.19.9: + resolution: {integrity: sha512-MLHj7k9hWh4y1ddkBpvRj2b9NCBhfgBt3VpWbHQnXRedVun/hC7sIyTGDGTfsGuXo4ebik2+3ShjcPbhtFwWDw==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -283,8 +294,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.19.8: - resolution: {integrity: sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==} + /@esbuild/win32-arm64@0.19.9: + resolution: {integrity: sha512-GQoa6OrQ8G08guMFgeXPH7yE/8Dt0IfOGWJSfSH4uafwdC7rWwrfE6P9N8AtPGIjUzdo2+7bN8Xo3qC578olhg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -292,8 +303,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.19.8: - resolution: {integrity: sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==} + /@esbuild/win32-ia32@0.19.9: + resolution: {integrity: sha512-UOozV7Ntykvr5tSOlGCrqU3NBr3d8JqPes0QWN2WOXfvkWVGRajC+Ym0/Wj88fUgecUCLDdJPDF0Nna2UK3Qtg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -301,8 +312,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.19.8: - resolution: {integrity: sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==} + /@esbuild/win32-x64@0.19.9: + resolution: {integrity: sha512-oxoQgglOP7RH6iasDrhY+R/3cHrfwIDvRlT4CGChflq6twk8iENeVvMJjmvBb94Ik1Z+93iGO27err7w6l54GQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -370,6 +381,194 @@ packages: /@humanwhocodes/object-schema@2.0.1: resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + /@img/sharp-darwin-arm64@0.33.0: + resolution: {integrity: sha512-070tEheekI1LJWTGPC9WlQEa5UoKTXzzlORBHMX4TbfUxMiL336YHR8vBEUNsjse0RJCX8dZ4ZXwT595aEF1ug==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.0 + dev: false + optional: true + + /@img/sharp-darwin-x64@0.33.0: + resolution: {integrity: sha512-pu/nvn152F3qbPeUkr+4e9zVvEhD3jhwzF473veQfMPkOYo9aoWXSfdZH/E6F+nYC3qvFjbxbvdDbUtEbghLqw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.0 + dev: false + optional: true + + /@img/sharp-libvips-darwin-arm64@1.0.0: + resolution: {integrity: sha512-VzYd6OwnUR81sInf3alj1wiokY50DjsHz5bvfnsFpxs5tqQxESoHtJO6xyksDs3RIkyhMWq2FufXo6GNSU9BMw==} + engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@img/sharp-libvips-darwin-x64@1.0.0: + resolution: {integrity: sha512-dD9OznTlHD6aovRswaPNEy8dKtSAmNo4++tO7uuR4o5VxbVAOoEQ1uSmN4iFAdQneTHws1lkTZeiXPrcCkh6IA==} + engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@img/sharp-libvips-linux-arm64@1.0.0: + resolution: {integrity: sha512-xTYThiqEZEZc0PRU90yVtM3KE7lw1bKdnDQ9kCTHWbqWyHOe4NpPOtMGy27YnN51q0J5dqRrvicfPbALIOeAZA==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@img/sharp-libvips-linux-arm@1.0.0: + resolution: {integrity: sha512-VwgD2eEikDJUk09Mn9Dzi1OW2OJFRQK+XlBTkUNmAWPrtj8Ly0yq05DFgu1VCMx2/DqCGQVi5A1dM9hTmxf3uw==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@img/sharp-libvips-linux-s390x@1.0.0: + resolution: {integrity: sha512-o9E46WWBC6JsBlwU4QyU9578G77HBDT1NInd+aERfxeOPbk0qBZHgoDsQmA2v9TbqJRWzoBPx1aLOhprBMgPjw==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@img/sharp-libvips-linux-x64@1.0.0: + resolution: {integrity: sha512-naldaJy4hSVhWBgEjfdBY85CAa4UO+W1nx6a1sWStHZ7EUfNiuBTTN2KUYT5dH1+p/xij1t2QSXfCiFJoC5S/Q==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@img/sharp-libvips-linuxmusl-arm64@1.0.0: + resolution: {integrity: sha512-OdorplCyvmSAPsoJLldtLh3nLxRrkAAAOHsGWGDYfN0kh730gifK+UZb3dWORRa6EusNqCTjfXV4GxvgJ/nPDQ==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@img/sharp-libvips-linuxmusl-x64@1.0.0: + resolution: {integrity: sha512-FW8iK6rJrg+X2jKD0Ajhjv6y74lToIBEvkZhl42nZt563FfxkCYacrXZtd+q/sRQDypQLzY5WdLkVTbJoPyqNg==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@img/sharp-linux-arm64@0.33.0: + resolution: {integrity: sha512-dcomVSrtgF70SyOr8RCOCQ8XGVThXwe71A1d8MGA+mXEVRJ/J6/TrCbBEJh9ddcEIIsrnrkolaEvYSHqVhswQw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.0 + dev: false + optional: true + + /@img/sharp-linux-arm@0.33.0: + resolution: {integrity: sha512-4horD3wMFd5a0ddbDY8/dXU9CaOgHjEHALAddXgafoR5oWq5s8X61PDgsSeh4Qupsdo6ycfPPSSNBrfVQnwwrg==} + engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm] + os: [linux] + requiresBuild: true + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.0 + dev: false + optional: true + + /@img/sharp-linux-s390x@0.33.0: + resolution: {integrity: sha512-TiVJbx38J2rNVfA309ffSOB+3/7wOsZYQEOlKqOUdWD/nqkjNGrX+YQGz7nzcf5oy2lC+d37+w183iNXRZNngQ==} + engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.0 + dev: false + optional: true + + /@img/sharp-linux-x64@0.33.0: + resolution: {integrity: sha512-PaZM4Zi7/Ek71WgTdvR+KzTZpBqrQOFcPe7/8ZoPRlTYYRe43k6TWsf4GVH6XKRLMYeSp8J89RfAhBrSP4itNA==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.0 + dev: false + optional: true + + /@img/sharp-linuxmusl-arm64@0.33.0: + resolution: {integrity: sha512-1QLbbN0zt+32eVrg7bb1lwtvEaZwlhEsY1OrijroMkwAqlHqFj6R33Y47s2XUv7P6Ie1PwCxK/uFnNqMnkd5kg==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.0 + dev: false + optional: true + + /@img/sharp-linuxmusl-x64@0.33.0: + resolution: {integrity: sha512-CecqgB/CnkvCWFhmfN9ZhPGMLXaEBXl4o7WtA6U3Ztrlh/s7FUKX4vNxpMSYLIrWuuzjiaYdfU3+Tdqh1xaHfw==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.0 + dev: false + optional: true + + /@img/sharp-wasm32@0.33.0: + resolution: {integrity: sha512-Hn4js32gUX9qkISlemZBUPuMs0k/xNJebUNl/L6djnU07B/HAA2KaxRVb3HvbU5fL242hLOcp0+tR+M8dvJUFw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [wasm32] + requiresBuild: true + dependencies: + '@emnapi/runtime': 0.44.0 + dev: false + optional: true + + /@img/sharp-win32-ia32@0.33.0: + resolution: {integrity: sha512-5HfcsCZi3l5nPRF2q3bllMVMDXBqEWI3Q8KQONfzl0TferFE5lnsIG0A1YrntMAGqvkzdW6y1Ci1A2uTvxhfzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@img/sharp-win32-x64@0.33.0: + resolution: {integrity: sha512-i3DtP/2ce1yKFj4OzOnOYltOEL/+dp4dc4dJXJBv6god1AFTcmkaA99H/7SwOmkCOBQkbVvA3lCGm3/5nDtf9Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@inrupt/oidc-client-ext@1.17.5: resolution: {integrity: sha512-vYnYbNW+EwDeAkzLzLF77PLXVeajhZ0IqocC5M2xM9aGc0JgRIy8lnrwxrV/VLf2AXRig9Aqlv/RmLY1VTz2eg==} dependencies: @@ -474,8 +673,8 @@ packages: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} dev: true - /@next/env@14.0.3: - resolution: {integrity: sha512-7xRqh9nMvP5xrW4/+L0jgRRX+HoNRGnfJpD+5Wq6/13j3dsdzxO3BCXn7D3hMqsDb+vjZnJq+vI7+EtgrYZTeA==} + /@next/env@14.0.4: + resolution: {integrity: sha512-irQnbMLbUNQpP1wcE5NstJtbuA/69kRfzBrpAD7Gsn8zm/CY6YQYc3HQBz8QPxwISG26tIm5afvvVbu508oBeQ==} dev: true /@next/eslint-plugin-next@14.0.3: @@ -484,8 +683,8 @@ packages: glob: 7.1.7 dev: true - /@next/swc-darwin-arm64@14.0.3: - resolution: {integrity: sha512-64JbSvi3nbbcEtyitNn2LEDS/hcleAFpHdykpcnrstITFlzFgB/bW0ER5/SJJwUPj+ZPY+z3e+1jAfcczRLVGw==} + /@next/swc-darwin-arm64@14.0.4: + resolution: {integrity: sha512-mF05E/5uPthWzyYDyptcwHptucf/jj09i2SXBPwNzbgBNc+XnwzrL0U6BmPjQeOL+FiB+iG1gwBeq7mlDjSRPg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -493,8 +692,8 @@ packages: dev: true optional: true - /@next/swc-darwin-x64@14.0.3: - resolution: {integrity: sha512-RkTf+KbAD0SgYdVn1XzqE/+sIxYGB7NLMZRn9I4Z24afrhUpVJx6L8hsRnIwxz3ERE2NFURNliPjJ2QNfnWicQ==} + /@next/swc-darwin-x64@14.0.4: + resolution: {integrity: sha512-IZQ3C7Bx0k2rYtrZZxKKiusMTM9WWcK5ajyhOZkYYTCc8xytmwSzR1skU7qLgVT/EY9xtXDG0WhY6fyujnI3rw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -502,8 +701,8 @@ packages: dev: true optional: true - /@next/swc-linux-arm64-gnu@14.0.3: - resolution: {integrity: sha512-3tBWGgz7M9RKLO6sPWC6c4pAw4geujSwQ7q7Si4d6bo0l6cLs4tmO+lnSwFp1Tm3lxwfMk0SgkJT7EdwYSJvcg==} + /@next/swc-linux-arm64-gnu@14.0.4: + resolution: {integrity: sha512-VwwZKrBQo/MGb1VOrxJ6LrKvbpo7UbROuyMRvQKTFKhNaXjUmKTu7wxVkIuCARAfiI8JpaWAnKR+D6tzpCcM4w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -511,8 +710,8 @@ packages: dev: true optional: true - /@next/swc-linux-arm64-musl@14.0.3: - resolution: {integrity: sha512-v0v8Kb8j8T23jvVUWZeA2D8+izWspeyeDGNaT2/mTHWp7+37fiNfL8bmBWiOmeumXkacM/AB0XOUQvEbncSnHA==} + /@next/swc-linux-arm64-musl@14.0.4: + resolution: {integrity: sha512-8QftwPEW37XxXoAwsn+nXlodKWHfpMaSvt81W43Wh8dv0gkheD+30ezWMcFGHLI71KiWmHK5PSQbTQGUiidvLQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -520,8 +719,8 @@ packages: dev: true optional: true - /@next/swc-linux-x64-gnu@14.0.3: - resolution: {integrity: sha512-VM1aE1tJKLBwMGtyBR21yy+STfl0MapMQnNrXkxeyLs0GFv/kZqXS5Jw/TQ3TSUnbv0QPDf/X8sDXuMtSgG6eg==} + /@next/swc-linux-x64-gnu@14.0.4: + resolution: {integrity: sha512-/s/Pme3VKfZAfISlYVq2hzFS8AcAIOTnoKupc/j4WlvF6GQ0VouS2Q2KEgPuO1eMBwakWPB1aYFIA4VNVh667A==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -529,8 +728,8 @@ packages: dev: true optional: true - /@next/swc-linux-x64-musl@14.0.3: - resolution: {integrity: sha512-64EnmKy18MYFL5CzLaSuUn561hbO1Gk16jM/KHznYP3iCIfF9e3yULtHaMy0D8zbHfxset9LTOv6cuYKJgcOxg==} + /@next/swc-linux-x64-musl@14.0.4: + resolution: {integrity: sha512-m8z/6Fyal4L9Bnlxde5g2Mfa1Z7dasMQyhEhskDATpqr+Y0mjOBZcXQ7G5U+vgL22cI4T7MfvgtrM2jdopqWaw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -538,8 +737,8 @@ packages: dev: true optional: true - /@next/swc-win32-arm64-msvc@14.0.3: - resolution: {integrity: sha512-WRDp8QrmsL1bbGtsh5GqQ/KWulmrnMBgbnb+59qNTW1kVi1nG/2ndZLkcbs2GX7NpFLlToLRMWSQXmPzQm4tog==} + /@next/swc-win32-arm64-msvc@14.0.4: + resolution: {integrity: sha512-7Wv4PRiWIAWbm5XrGz3D8HUkCVDMMz9igffZG4NB1p4u1KoItwx9qjATHz88kwCEal/HXmbShucaslXCQXUM5w==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -547,8 +746,8 @@ packages: dev: true optional: true - /@next/swc-win32-ia32-msvc@14.0.3: - resolution: {integrity: sha512-EKffQeqCrj+t6qFFhIFTRoqb2QwX1mU7iTOvMyLbYw3QtqTw9sMwjykyiMlZlrfm2a4fA84+/aeW+PMg1MjuTg==} + /@next/swc-win32-ia32-msvc@14.0.4: + resolution: {integrity: sha512-zLeNEAPULsl0phfGb4kdzF/cAVIfaC7hY+kt0/d+y9mzcZHsMS3hAS829WbJ31DkSlVKQeHEjZHIdhN+Pg7Gyg==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -556,8 +755,8 @@ packages: dev: true optional: true - /@next/swc-win32-x64-msvc@14.0.3: - resolution: {integrity: sha512-ERhKPSJ1vQrPiwrs15Pjz/rvDHZmkmvbf/BjPN/UCOI++ODftT0GtasDPi0j+y6PPJi5HsXw+dpRaXUaw4vjuQ==} + /@next/swc-win32-x64-msvc@14.0.4: + resolution: {integrity: sha512-yEh2+R8qDlDCjxVpzOTEpBLQTEFAcP2A8fUFLaWNap9GitYKkKv1//y2S6XY6zsR4rCOPRpU7plYDR+az2n30A==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -604,7 +803,7 @@ packages: /@rdfjs/types@1.1.0: resolution: {integrity: sha512-5zm8bN2/CC634dTcn/0AhTRLaQRjXDZs3QfcAsQKNturHT7XVWcKy/8p3P5gXl+YkZTAmy7T5M/LyiT/jbkENw==} dependencies: - '@types/node': 20.10.3 + '@types/node': 20.10.4 dev: false /@react-aria/ssr@3.9.0(react@18.2.0): @@ -617,8 +816,8 @@ packages: react: 18.2.0 dev: false - /@restart/hooks@0.4.11(react@18.2.0): - resolution: {integrity: sha512-Ft/ncTULZN6ldGHiF/k5qt72O8JyRMOeg0tApvCni8LkoiEahO+z3TNxfXIVGy890YtWVDvJAl662dVJSJXvMw==} + /@restart/hooks@0.4.15(react@18.2.0): + resolution: {integrity: sha512-cZFXYTxbpzYcieq/mBwSyXgqnGMHoBVh3J7MU0CCoIB4NRZxV9/TuwTBAaLMqpNhC3zTPMCgkQ5Ey07L02Xmcw==} peerDependencies: react: '>=16.8.0' dependencies: @@ -635,7 +834,7 @@ packages: '@babel/runtime': 7.23.5 '@popperjs/core': 2.11.8 '@react-aria/ssr': 3.9.0(react@18.2.0) - '@restart/hooks': 0.4.11(react@18.2.0) + '@restart/hooks': 0.4.15(react@18.2.0) '@types/warning': 3.0.3 dequal: 2.0.3 dom-helpers: 5.2.1 @@ -645,96 +844,104 @@ packages: warning: 4.0.3 dev: false - /@rollup/rollup-android-arm-eabi@4.6.1: - resolution: {integrity: sha512-0WQ0ouLejaUCRsL93GD4uft3rOmB8qoQMU05Kb8CmMtMBe7XUDLAltxVZI1q6byNqEtU7N1ZX1Vw5lIpgulLQA==} + /@rollup/rollup-android-arm-eabi@4.7.0: + resolution: {integrity: sha512-rGku10pL1StFlFvXX5pEv88KdGW6DHUghsxyP/aRYb9eH+74jTGJ3U0S/rtlsQ4yYq1Hcc7AMkoJOb1xu29Fxw==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.6.1: - resolution: {integrity: sha512-1TKm25Rn20vr5aTGGZqo6E4mzPicCUD79k17EgTLAsXc1zysyi4xXKACfUbwyANEPAEIxkzwue6JZ+stYzWUTA==} + /@rollup/rollup-android-arm64@4.7.0: + resolution: {integrity: sha512-/EBw0cuJ/KVHiU2qyVYUhogXz7W2vXxBzeE9xtVIMC+RyitlY2vvaoysMUqASpkUtoNIHlnKTu/l7mXOPgnKOA==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.6.1: - resolution: {integrity: sha512-cEXJQY/ZqMACb+nxzDeX9IPLAg7S94xouJJCNVE5BJM8JUEP4HeTF+ti3cmxWeSJo+5D+o8Tc0UAWUkfENdeyw==} + /@rollup/rollup-darwin-arm64@4.7.0: + resolution: {integrity: sha512-4VXG1bgvClJdbEYYjQ85RkOtwN8sqI3uCxH0HC5w9fKdqzRzgG39K7GAehATGS8jghA7zNoS5CjSKkDEqWmNZg==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.6.1: - resolution: {integrity: sha512-LoSU9Xu56isrkV2jLldcKspJ7sSXmZWkAxg7sW/RfF7GS4F5/v4EiqKSMCFbZtDu2Nc1gxxFdQdKwkKS4rwxNg==} + /@rollup/rollup-darwin-x64@4.7.0: + resolution: {integrity: sha512-/ImhO+T/RWJ96hUbxiCn2yWI0/MeQZV/aeukQQfhxiSXuZJfyqtdHPUPrc84jxCfXTxbJLmg4q+GBETeb61aNw==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.6.1: - resolution: {integrity: sha512-EfI3hzYAy5vFNDqpXsNxXcgRDcFHUWSx5nnRSCKwXuQlI5J9dD84g2Usw81n3FLBNsGCegKGwwTVsSKK9cooSQ==} + /@rollup/rollup-linux-arm-gnueabihf@4.7.0: + resolution: {integrity: sha512-zhye8POvTyUXlKbfPBVqoHy3t43gIgffY+7qBFqFxNqVtltQLtWeHNAbrMnXiLIfYmxcoL/feuLDote2tx+Qbg==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.6.1: - resolution: {integrity: sha512-9lhc4UZstsegbNLhH0Zu6TqvDfmhGzuCWtcTFXY10VjLLUe4Mr0Ye2L3rrtHaDd/J5+tFMEuo5LTCSCMXWfUKw==} + /@rollup/rollup-linux-arm64-gnu@4.7.0: + resolution: {integrity: sha512-RAdr3OJnUum6Vs83cQmKjxdTg31zJnLLTkjhcFt0auxM6jw00GD6IPFF42uasYPr/wGC6TRm7FsQiJyk0qIEfg==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.6.1: - resolution: {integrity: sha512-FfoOK1yP5ksX3wwZ4Zk1NgyGHZyuRhf99j64I5oEmirV8EFT7+OhUZEnP+x17lcP/QHJNWGsoJwrz4PJ9fBEXw==} + /@rollup/rollup-linux-arm64-musl@4.7.0: + resolution: {integrity: sha512-nhWwYsiJwZGq7SyR3afS3EekEOsEAlrNMpPC4ZDKn5ooYSEjDLe9W/xGvoIV8/F/+HNIY6jY8lIdXjjxfxopXw==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.6.1: - resolution: {integrity: sha512-DNGZvZDO5YF7jN5fX8ZqmGLjZEXIJRdJEdTFMhiyXqyXubBa0WVLDWSNlQ5JR2PNgDbEV1VQowhVRUh+74D+RA==} + /@rollup/rollup-linux-riscv64-gnu@4.7.0: + resolution: {integrity: sha512-rlfy5RnQG1aop1BL/gjdH42M2geMUyVQqd52GJVirqYc787A/XVvl3kQ5NG/43KXgOgE9HXgCaEH05kzQ+hLoA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.7.0: + resolution: {integrity: sha512-cCkoGlGWfBobdDtiiypxf79q6k3/iRVGu1HVLbD92gWV5WZbmuWJCgRM4x2N6i7ljGn1cGytPn9ZAfS8UwF6vg==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.6.1: - resolution: {integrity: sha512-RkJVNVRM+piYy87HrKmhbexCHg3A6Z6MU0W9GHnJwBQNBeyhCJG9KDce4SAMdicQnpURggSvtbGo9xAWOfSvIQ==} + /@rollup/rollup-linux-x64-musl@4.7.0: + resolution: {integrity: sha512-R2oBf2p/Arc1m+tWmiWbpHBjEcJnHVnv6bsypu4tcKdrYTpDfl1UT9qTyfkIL1iiii5D4WHxUHCg5X0pzqmxFg==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.6.1: - resolution: {integrity: sha512-v2FVT6xfnnmTe3W9bJXl6r5KwJglMK/iRlkKiIFfO6ysKs0rDgz7Cwwf3tjldxQUrHL9INT/1r4VA0n9L/F1vQ==} + /@rollup/rollup-win32-arm64-msvc@4.7.0: + resolution: {integrity: sha512-CPtgaQL1aaPc80m8SCVEoxFGHxKYIt3zQYC3AccL/SqqiWXblo3pgToHuBwR8eCP2Toa+X1WmTR/QKFMykws7g==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.6.1: - resolution: {integrity: sha512-YEeOjxRyEjqcWphH9dyLbzgkF8wZSKAKUkldRY6dgNR5oKs2LZazqGB41cWJ4Iqqcy9/zqYgmzBkRoVz3Q9MLw==} + /@rollup/rollup-win32-ia32-msvc@4.7.0: + resolution: {integrity: sha512-pmioUlttNh9GXF5x2CzNa7Z8kmRTyhEzzAC+2WOOapjewMbl+3tGuAnxbwc5JyG8Jsz2+hf/QD/n5VjimOZ63g==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.6.1: - resolution: {integrity: sha512-0zfTlFAIhgz8V2G8STq8toAjsYYA6eci1hnXuyOTUFnymrtJwnS6uGKiv3v5UrPZkBlamLvrLV2iiaeqCKzb0A==} + /@rollup/rollup-win32-x64-msvc@4.7.0: + resolution: {integrity: sha512-SeZzC2QhhdBQUm3U0c8+c/P6UlRyBcLL2Xp5KX7z46WXZxzR8RJSIWL9wSUeBTgxog5LTPJuPj0WOT9lvrtP7Q==} cpu: [x64] os: [win32] requiresBuild: true @@ -834,20 +1041,20 @@ packages: /@types/http-link-header@1.0.5: resolution: {integrity: sha512-AxhIKR8UbyoqCTNp9rRepkktHuUOw3DjfOfDCaO9kwI8AYzjhxyrvZq4+mRw/2daD3hYDknrtSeV6SsPwmc71w==} dependencies: - '@types/node': 18.19.2 + '@types/node': 18.19.3 dev: false /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - /@types/node@18.19.2: - resolution: {integrity: sha512-6wzfBdbWpe8QykUkXBjtmO3zITA0A3FIjoy+in0Y2K4KrCiRhNYJIdwAPDffZ3G6GnaKaSLSEa9ZuORLfEoiwg==} + /@types/node@18.19.3: + resolution: {integrity: sha512-k5fggr14DwAytoA/t8rPrIz++lXK7/DqckthCmoZOKNsEbJkId4Z//BqgApXBUGrGddrigYa1oqheo/7YmW4rg==} dependencies: undici-types: 5.26.5 dev: false - /@types/node@20.10.3: - resolution: {integrity: sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg==} + /@types/node@20.10.4: + resolution: {integrity: sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==} dependencies: undici-types: 5.26.5 dev: false @@ -864,26 +1071,26 @@ packages: /@types/react-dom@18.2.17: resolution: {integrity: sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==} dependencies: - '@types/react': 18.2.42 + '@types/react': 18.2.43 dev: true /@types/react-transition-group@4.4.10: resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==} dependencies: - '@types/react': 18.2.42 + '@types/react': 18.2.43 dev: false - /@types/react@18.2.42: - resolution: {integrity: sha512-c1zEr96MjakLYus/wPnuWDo1/zErfdU9rNsIGmE+NV71nx88FG9Ttgo5dqorXTu/LImX2f63WBP986gJkMPNbA==} + /@types/react@18.2.43: + resolution: {integrity: sha512-nvOV01ZdBdd/KW6FahSbcNplt2jCJfyWdTos61RYHV+FVv5L/g9AOX1bmbVcWcLFL8+KHQfh1zVIQrud6ihyQA==} dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 - csstype: 3.1.2 + csstype: 3.1.3 /@types/readable-stream@2.3.15: resolution: {integrity: sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==} dependencies: - '@types/node': 20.10.3 + '@types/node': 20.10.4 safe-buffer: 5.1.2 dev: false @@ -894,7 +1101,7 @@ packages: resolution: {integrity: sha512-D1XC7WK8K+zZEveUPY+cf4+kgauk8N4eHr/XIHXGlGYkHLud6hK9lYfZk1ry1TNh798cZUCgb6MqGEG8DkJt6Q==} dev: false - /@typescript-eslint/parser@6.13.2(eslint@8.55.0)(typescript@5.3.2): + /@typescript-eslint/parser@6.13.2(eslint@8.55.0)(typescript@5.3.3): resolution: {integrity: sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -906,11 +1113,11 @@ packages: dependencies: '@typescript-eslint/scope-manager': 6.13.2 '@typescript-eslint/types': 6.13.2 - '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.2) + '@typescript-eslint/typescript-estree': 6.13.2(typescript@5.3.3) '@typescript-eslint/visitor-keys': 6.13.2 debug: 4.3.4 eslint: 8.55.0 - typescript: 5.3.2 + typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -925,7 +1132,7 @@ packages: resolution: {integrity: sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==} engines: {node: ^16.0.0 || >=18.0.0} - /@typescript-eslint/typescript-estree@6.13.2(typescript@5.3.2): + /@typescript-eslint/typescript-estree@6.13.2(typescript@5.3.3): resolution: {integrity: sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -940,8 +1147,8 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.2) - typescript: 5.3.2 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -1012,8 +1219,8 @@ packages: dependencies: acorn: 8.11.2 - /acorn-walk@8.3.0: - resolution: {integrity: sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==} + /acorn-walk@8.3.1: + resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==} engines: {node: '>=0.4.0'} dev: true @@ -1244,8 +1451,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - /caniuse-lite@1.0.30001566: - resolution: {integrity: sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==} + /caniuse-lite@1.0.30001568: + resolution: {integrity: sha512-vSUkH84HontZJ88MiNrOau1EBrCqEQYgkC5gIySiDlpsm8sGVrhU7Kx4V6h0tnqaHzIHZv08HlJIwPbL4XL9+A==} dev: true /canonicalize@1.0.8: @@ -1322,6 +1529,21 @@ packages: /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + /color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + + /color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + dev: false + /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -1366,8 +1588,8 @@ packages: dependencies: rrweb-cssom: 0.6.0 - /csstype@3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} /damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} @@ -1467,6 +1689,11 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1498,7 +1725,7 @@ packages: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: '@babel/runtime': 7.23.5 - csstype: 3.1.2 + csstype: 3.1.3 dev: false /emitter-component@1.1.2: @@ -1623,34 +1850,34 @@ packages: is-date-object: 1.0.5 is-symbol: 1.0.4 - /esbuild@0.19.8: - resolution: {integrity: sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==} + /esbuild@0.19.9: + resolution: {integrity: sha512-U9CHtKSy+EpPsEBa+/A2gMs/h3ylBC0H0KSqIg7tpztHerLi6nrrcoUJAkNCEPumx8yJ+Byic4BVwHgRbN0TBg==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.19.8 - '@esbuild/android-arm64': 0.19.8 - '@esbuild/android-x64': 0.19.8 - '@esbuild/darwin-arm64': 0.19.8 - '@esbuild/darwin-x64': 0.19.8 - '@esbuild/freebsd-arm64': 0.19.8 - '@esbuild/freebsd-x64': 0.19.8 - '@esbuild/linux-arm': 0.19.8 - '@esbuild/linux-arm64': 0.19.8 - '@esbuild/linux-ia32': 0.19.8 - '@esbuild/linux-loong64': 0.19.8 - '@esbuild/linux-mips64el': 0.19.8 - '@esbuild/linux-ppc64': 0.19.8 - '@esbuild/linux-riscv64': 0.19.8 - '@esbuild/linux-s390x': 0.19.8 - '@esbuild/linux-x64': 0.19.8 - '@esbuild/netbsd-x64': 0.19.8 - '@esbuild/openbsd-x64': 0.19.8 - '@esbuild/sunos-x64': 0.19.8 - '@esbuild/win32-arm64': 0.19.8 - '@esbuild/win32-ia32': 0.19.8 - '@esbuild/win32-x64': 0.19.8 + '@esbuild/android-arm': 0.19.9 + '@esbuild/android-arm64': 0.19.9 + '@esbuild/android-x64': 0.19.9 + '@esbuild/darwin-arm64': 0.19.9 + '@esbuild/darwin-x64': 0.19.9 + '@esbuild/freebsd-arm64': 0.19.9 + '@esbuild/freebsd-x64': 0.19.9 + '@esbuild/linux-arm': 0.19.9 + '@esbuild/linux-arm64': 0.19.9 + '@esbuild/linux-ia32': 0.19.9 + '@esbuild/linux-loong64': 0.19.9 + '@esbuild/linux-mips64el': 0.19.9 + '@esbuild/linux-ppc64': 0.19.9 + '@esbuild/linux-riscv64': 0.19.9 + '@esbuild/linux-s390x': 0.19.9 + '@esbuild/linux-x64': 0.19.9 + '@esbuild/netbsd-x64': 0.19.9 + '@esbuild/openbsd-x64': 0.19.9 + '@esbuild/sunos-x64': 0.19.9 + '@esbuild/win32-arm64': 0.19.9 + '@esbuild/win32-ia32': 0.19.9 + '@esbuild/win32-x64': 0.19.9 dev: true /escape-string-regexp@1.0.5: @@ -1662,7 +1889,7 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - /eslint-config-next@14.0.3(eslint@8.55.0)(typescript@5.3.2): + /eslint-config-next@14.0.3(eslint@8.55.0)(typescript@5.3.3): resolution: {integrity: sha512-IKPhpLdpSUyKofmsXUfrvBC49JMUTdeaD8ZIH4v9Vk0sC1X6URTuTJCLtA0Vwuj7V/CQh0oISuSTvNn5//Buew==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 @@ -1673,7 +1900,7 @@ packages: dependencies: '@next/eslint-plugin-next': 14.0.3 '@rushstack/eslint-patch': 1.6.0 - '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.2) + '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.3) eslint: 8.55.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.13.2)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.55.0) @@ -1681,7 +1908,7 @@ packages: eslint-plugin-jsx-a11y: 6.8.0(eslint@8.55.0) eslint-plugin-react: 7.33.2(eslint@8.55.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.55.0) - typescript: 5.3.2 + typescript: 5.3.3 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color @@ -1764,7 +1991,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.2) + '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.3) debug: 3.2.7 eslint: 8.55.0 eslint-import-resolver-node: 0.3.9 @@ -1793,7 +2020,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.2) + '@typescript-eslint/parser': 6.13.2(eslint@8.55.0)(typescript@5.3.3) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -2404,6 +2631,10 @@ packages: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: false + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: false + /is-async-function@2.0.0: resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} engines: {node: '>= 0.4'} @@ -2590,7 +2821,7 @@ packages: whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 whatwg-url: 14.0.0 - ws: 8.14.2 + ws: 8.15.0 xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil @@ -2625,7 +2856,7 @@ packages: hasBin: true dependencies: '@types/http-link-header': 1.0.5 - '@types/node': 18.19.2 + '@types/node': 18.19.3 cross-fetch: 3.1.8 http-link-header: 1.1.1 relative-to-absolute-iri: 1.0.7 @@ -2650,8 +2881,8 @@ packages: - encoding dev: false - /jsonld@8.3.1: - resolution: {integrity: sha512-tYfKpWL56meSJCHS91Ph0+EUThHZOZ8bKuboME4998SF+Kkukp2PhCPdRCvA7tsGUKr9FvSoyIRqJPuImBcBuA==} + /jsonld@8.3.2: + resolution: {integrity: sha512-MwBbq95szLwt8eVQ1Bcfwmgju/Y5P2GdtlHE2ncyfuYjIdEhluUVyj1eudacf1mOkWIoS9GpDBTECqhmq7EOaA==} engines: {node: '>=14'} dependencies: '@digitalbazaar/http-client': 3.4.1 @@ -2859,8 +3090,8 @@ packages: /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - /next@14.0.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-AbYdRNfImBr3XGtvnwOxq8ekVCwbFTv/UJoLwmaX89nk9i051AEY4/HAWzU0YpaTDw8IofUpmuIlvzWF13jxIw==} + /next@14.0.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-qbwypnM7327SadwFtxXnQdGiKpkuhaRLE2uq62/nRul9cj9KhQ5LhHmlziTNqUidZotw/Q1I9OjirBROdUJNgA==} engines: {node: '>=18.17.0'} hasBin: true peerDependencies: @@ -2874,25 +3105,26 @@ packages: sass: optional: true dependencies: - '@next/env': 14.0.3 + '@next/env': 14.0.4 '@swc/helpers': 0.5.2 busboy: 1.6.0 - caniuse-lite: 1.0.30001566 + caniuse-lite: 1.0.30001568 + graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) styled-jsx: 5.1.1(react@18.2.0) watchpack: 2.4.0 optionalDependencies: - '@next/swc-darwin-arm64': 14.0.3 - '@next/swc-darwin-x64': 14.0.3 - '@next/swc-linux-arm64-gnu': 14.0.3 - '@next/swc-linux-arm64-musl': 14.0.3 - '@next/swc-linux-x64-gnu': 14.0.3 - '@next/swc-linux-x64-musl': 14.0.3 - '@next/swc-win32-arm64-msvc': 14.0.3 - '@next/swc-win32-ia32-msvc': 14.0.3 - '@next/swc-win32-x64-msvc': 14.0.3 + '@next/swc-darwin-arm64': 14.0.4 + '@next/swc-darwin-x64': 14.0.4 + '@next/swc-linux-arm64-gnu': 14.0.4 + '@next/swc-linux-arm64-musl': 14.0.4 + '@next/swc-linux-x64-gnu': 14.0.4 + '@next/swc-linux-x64-musl': 14.0.4 + '@next/swc-win32-arm64-msvc': 14.0.4 + '@next/swc-win32-ia32-msvc': 14.0.4 + '@next/swc-win32-x64-msvc': 14.0.4 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -3253,7 +3485,7 @@ packages: '@frogcat/ttl2jsonld': 0.0.9 '@xmldom/xmldom': 0.8.10 cross-fetch: 3.1.8 - jsonld: 8.3.1 + jsonld: 8.3.2 n3: 1.17.2 solid-namespace: 0.5.3 transitivePeerDependencies: @@ -3276,7 +3508,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.23.5 - '@restart/hooks': 0.4.11(react@18.2.0) + '@restart/hooks': 0.4.15(react@18.2.0) '@restart/ui': 1.6.6(react-dom@18.2.0)(react@18.2.0) '@types/react-transition-group': 4.4.10 classnames: 2.3.2 @@ -3446,23 +3678,24 @@ packages: dependencies: glob: 7.2.3 - /rollup@4.6.1: - resolution: {integrity: sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ==} + /rollup@4.7.0: + resolution: {integrity: sha512-7Kw0dUP4BWH78zaZCqF1rPyQ8D5DSU6URG45v1dqS/faNsx9WXyess00uTOZxKr7oR/4TOjO1CPudT8L1UsEgw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.6.1 - '@rollup/rollup-android-arm64': 4.6.1 - '@rollup/rollup-darwin-arm64': 4.6.1 - '@rollup/rollup-darwin-x64': 4.6.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.6.1 - '@rollup/rollup-linux-arm64-gnu': 4.6.1 - '@rollup/rollup-linux-arm64-musl': 4.6.1 - '@rollup/rollup-linux-x64-gnu': 4.6.1 - '@rollup/rollup-linux-x64-musl': 4.6.1 - '@rollup/rollup-win32-arm64-msvc': 4.6.1 - '@rollup/rollup-win32-ia32-msvc': 4.6.1 - '@rollup/rollup-win32-x64-msvc': 4.6.1 + '@rollup/rollup-android-arm-eabi': 4.7.0 + '@rollup/rollup-android-arm64': 4.7.0 + '@rollup/rollup-darwin-arm64': 4.7.0 + '@rollup/rollup-darwin-x64': 4.7.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.7.0 + '@rollup/rollup-linux-arm64-gnu': 4.7.0 + '@rollup/rollup-linux-arm64-musl': 4.7.0 + '@rollup/rollup-linux-riscv64-gnu': 4.7.0 + '@rollup/rollup-linux-x64-gnu': 4.7.0 + '@rollup/rollup-linux-x64-musl': 4.7.0 + '@rollup/rollup-win32-arm64-msvc': 4.7.0 + '@rollup/rollup-win32-ia32-msvc': 4.7.0 + '@rollup/rollup-win32-x64-msvc': 4.7.0 fsevents: 2.3.3 dev: true @@ -3550,6 +3783,36 @@ packages: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: false + /sharp@0.33.0: + resolution: {integrity: sha512-99DZKudjm/Rmz+M0/26t4DKpXyywAOJaayGS9boEn7FvgtG0RYBi46uPE2c+obcJRtA3AZa0QwJot63gJQ1F0Q==} + engines: {libvips: '>=8.15.0', node: ^18.17.0 || ^20.3.0 || >=21.0.0} + requiresBuild: true + dependencies: + color: 4.2.3 + detect-libc: 2.0.2 + semver: 7.5.4 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.0 + '@img/sharp-darwin-x64': 0.33.0 + '@img/sharp-libvips-darwin-arm64': 1.0.0 + '@img/sharp-libvips-darwin-x64': 1.0.0 + '@img/sharp-libvips-linux-arm': 1.0.0 + '@img/sharp-libvips-linux-arm64': 1.0.0 + '@img/sharp-libvips-linux-s390x': 1.0.0 + '@img/sharp-libvips-linux-x64': 1.0.0 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.0 + '@img/sharp-libvips-linuxmusl-x64': 1.0.0 + '@img/sharp-linux-arm': 0.33.0 + '@img/sharp-linux-arm64': 0.33.0 + '@img/sharp-linux-s390x': 0.33.0 + '@img/sharp-linux-x64': 0.33.0 + '@img/sharp-linuxmusl-arm64': 0.33.0 + '@img/sharp-linuxmusl-x64': 0.33.0 + '@img/sharp-wasm32': 0.33.0 + '@img/sharp-win32-ia32': 0.33.0 + '@img/sharp-win32-x64': 0.33.0 + dev: false + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3576,6 +3839,12 @@ packages: engines: {node: '>=14'} dev: true + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + dependencies: + is-arrayish: 0.3.2 + dev: false + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -3817,13 +4086,13 @@ packages: dependencies: punycode: 2.3.1 - /ts-api-utils@1.0.3(typescript@5.3.2): + /ts-api-utils@1.0.3(typescript@5.3.3): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.3.2 + typescript: 5.3.3 /tsconfig-paths@3.14.2: resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} @@ -3890,8 +4159,8 @@ packages: for-each: 0.3.3 is-typed-array: 1.1.12 - /typescript@5.3.2: - resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==} + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} engines: {node: '>=14.17'} hasBin: true @@ -3913,7 +4182,7 @@ packages: react: '>=15.0.0' dependencies: '@babel/runtime': 7.23.5 - '@types/react': 18.2.42 + '@types/react': 18.2.43 invariant: 2.2.4 react: 18.2.0 react-lifecycles-compat: 3.0.4 @@ -3972,7 +4241,7 @@ packages: debug: 4.3.4 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.0.5 + vite: 5.0.7 transitivePeerDependencies: - '@types/node' - less @@ -3984,8 +4253,8 @@ packages: - terser dev: true - /vite@5.0.5: - resolution: {integrity: sha512-OekeWqR9Ls56f3zd4CaxzbbS11gqYkEiBtnWFFgYR2WV8oPJRRKq0mpskYy/XaoCL3L7VINDhqqOMNDiYdGvGg==} + /vite@5.0.7: + resolution: {integrity: sha512-B4T4rJCDPihrQo2B+h1MbeGL/k/GMAHzhQ8S0LjQ142s6/+l3hHTT095ORvsshj4QCkoWu3Xtmob5mazvakaOw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -4012,9 +4281,9 @@ packages: terser: optional: true dependencies: - esbuild: 0.19.8 + esbuild: 0.19.9 postcss: 8.4.32 - rollup: 4.6.1 + rollup: 4.7.0 optionalDependencies: fsevents: 2.3.3 dev: true @@ -4049,7 +4318,7 @@ packages: '@vitest/snapshot': 1.0.4 '@vitest/spy': 1.0.4 '@vitest/utils': 1.0.4 - acorn-walk: 8.3.0 + acorn-walk: 8.3.1 cac: 6.7.14 chai: 4.3.10 debug: 4.3.4 @@ -4063,7 +4332,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.8.1 - vite: 5.0.5 + vite: 5.0.7 vite-node: 1.0.4 why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -4196,8 +4465,8 @@ packages: /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - /ws@8.14.2: - resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} + /ws@8.15.0: + resolution: {integrity: sha512-H/Z3H55mrcrgjFwI+5jKavgXvwQLtfPCUEp6pi35VhoB0pfcHnSoyuTzkBEZpzq49g1193CUEwIvmsjcotenYw==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 diff --git a/src/app/layout.jsx b/src/app/layout.jsx index 6b36562..08334b4 100644 --- a/src/app/layout.jsx +++ b/src/app/layout.jsx @@ -1,10 +1,10 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `layout.jsx` | `data` + * # `layout.jsx` | `app` * client | Semantyk * * Created: Nov 30, 2023 - * Modified: Dec 5, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team * Maintainer(s): Daniel Bakas @@ -17,8 +17,8 @@ import "bootstrap/dist/css/bootstrap.min.css"; import React from "react"; //* Local Imports -import { getMetadata } from "@/logic/metadata/service"; -import StateManager from "@/logic/state/manager"; +import { getMetadata } from "@/backend/logic/seo"; +import StateManager from "@/frontend/logic/state"; //* Main diff --git a/src/app/not-found.jsx b/src/app/not-found.jsx index f1ae4db..445e62f 100644 --- a/src/app/not-found.jsx +++ b/src/app/not-found.jsx @@ -1,13 +1,13 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `not-found.jsx` + * # `not-found.jsx` | `app` * client | Semantyk * * Created: Dec 06, 2023 * Modified: Dec 06, 2023 * * Author(s): Semantyk Team - * Maintainer(s): + * Maintainer(s): Daniel Bakas diff --git a/src/app/page.jsx b/src/app/page.jsx index 1bcfd93..189c4d3 100644 --- a/src/app/page.jsx +++ b/src/app/page.jsx @@ -1,10 +1,10 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `page.jsx` | `data` + * # `page.jsx` | `app` * client | Semantyk * * Created: Nov 30, 2023 - * Modified: Dic 6, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team * Maintainer(s): Daniel Bakas @@ -17,8 +17,7 @@ import React from "react"; //* Local Imports import "./page.css"; -import Footer from "@/components/molecules/footer/component"; -import AuthButton from "@/components/atoms/authButton"; +import Footer from "@/frontend/ui/components/molecules/footer/component"; //* Main @@ -27,7 +26,6 @@ export default function Page({ children }) { return (
{children} -
); diff --git a/src/backend/api/knowledge/getAppKnowledge.js b/src/backend/api/knowledge/getAppKnowledge.js new file mode 100644 index 0000000..dd8c388 --- /dev/null +++ b/src/backend/api/knowledge/getAppKnowledge.js @@ -0,0 +1,31 @@ +/* + * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– + * # `getAppKnowledge.js` | `knowledge` + * client | Semantyk + * + * Created: Dec 10, 2023 + * Modified: Dec 10, 2023 + * + * Author(s): Semantyk Team + * Maintainer(s): Daniel Bakas + * + * Copyright © Semantyk 2023. All rights reserved. + * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– + */ + +//* Imports +import { APP_WEBID, APP_WEBID_DOC } from "@/backend/logic/kgm/nodes"; +import { getThing } from "@/backend/api/solid/getThing"; +import { getProperties } from "@/backend/api/solid/getProperties"; +import { appShape } from "@/backend/logic/kgm/shapes"; + +//* Main +export async function getAppKnowledge(fetch) { + // Logic + const document = APP_WEBID_DOC; + const uri = APP_WEBID; + const thing = await getThing(fetch, document, uri); + const lang = "en"; + // Return + return getProperties(thing, appShape, lang); +} \ No newline at end of file diff --git a/src/logic/data/service.js b/src/backend/api/knowledge/getKnowledge.js similarity index 62% rename from src/logic/data/service.js rename to src/backend/api/knowledge/getKnowledge.js index 7c9729b..c0c7a31 100644 --- a/src/logic/data/service.js +++ b/src/backend/api/knowledge/getKnowledge.js @@ -1,10 +1,10 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `service.js` + * # `getKnowledge.js` | `knowledge` * client | Semantyk * * Created: Dec 05, 2023 - * Modified: Dec 05, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team * Maintainer(s): Daniel Bakas @@ -13,22 +13,13 @@ * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */ -//* Imports - //* Local Imports -import { APP_WEBID, APP_WEBID_DOC } from "@/services/app/nodes"; -import { getProperties, getThing } from "@/services/solid/service"; -import { appShape } from "@/services/app/shape"; - +import { getAppKnowledge } from "@/backend/api/knowledge/getAppKnowledge"; //* Main -export async function getData(fetch) { +export async function getKnowledge(fetch) { // Logic - const document = APP_WEBID_DOC.value; - const uri = APP_WEBID.value; - const thing = await getThing(fetch, document, uri); - const lang = "en"; - const properties = getProperties(thing, appShape, lang); + const appData = await getAppKnowledge(fetch); // Props const team = "Semantyk Team"; const twitter = "@semantyk"; @@ -36,8 +27,7 @@ export async function getData(fetch) { return { author: team, creator: team, - lang, twitter, - ...properties + ...appData }; } \ No newline at end of file diff --git a/src/backend/api/solid/getNumber.js b/src/backend/api/solid/getNumber.js new file mode 100644 index 0000000..189d82d --- /dev/null +++ b/src/backend/api/solid/getNumber.js @@ -0,0 +1,22 @@ +/* + * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– + * # `getNumber.js` | `solid` + * client | Semantyk + * + * Created: Dec 10, 2023 + * Modified: Dec 10, 2023 + * + * Author(s): Semantyk Team + * Maintainer(s): Daniel Bakas + * + * Copyright © Semantyk 2023. All rights reserved. + * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– + */ + +//* Imports +import { getInteger } from "@inrupt/solid-client"; + +//* Main +export const getNumber = (thing, property) => { + return getInteger(thing, property); +}; \ No newline at end of file diff --git a/src/services/app/nodes.js b/src/backend/api/solid/getProperties.js similarity index 54% rename from src/services/app/nodes.js rename to src/backend/api/solid/getProperties.js index 05c3dbf..83ab4c4 100644 --- a/src/services/app/nodes.js +++ b/src/backend/api/solid/getProperties.js @@ -1,23 +1,27 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `nodes.js` + * # `getProperties.js` | `solid` * client | Semantyk * - * Created: Dec 05, 2023 - * Modified: Dec 05, 2023 + * Created: Dec 10, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team - * Maintainer(s): + * Maintainer(s): Daniel Bakas * * Copyright © Semantyk 2023. All rights reserved. * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */ //* Imports -import { NamedNode } from "rdflib"; +import { getProperty } from "@/backend/api/solid/getProperty"; //* Main -export const APP_WEBID = NamedNode.fromValue("https://id.inrupt.com/semantyk"); -export const APP_WEBID_DOC = NamedNode.fromValue("https://storage.inrupt.com/93eee8ab-4002-4bbf-a457-38eab9979cc8/public/profile/card"); -export const CLIENT_ID = NamedNode.fromValue("https://id.www.semantyk.com"); -export const POD_PROVIDER_URI = NamedNode.fromValue("https://pod.danielbakas.com"); \ No newline at end of file +export const getProperties = (thing, shape, locale) => { + let properties = { lang: locale }; + for (const { ns, fragment, type } of shape) { + const property = ns + fragment; + properties[fragment] = getProperty(thing, type, property, locale); + } + return properties; +}; \ No newline at end of file diff --git a/src/services/solid/service.js b/src/backend/api/solid/getProperty.js similarity index 52% rename from src/services/solid/service.js rename to src/backend/api/solid/getProperty.js index 852ae1e..5d497b1 100644 --- a/src/services/solid/service.js +++ b/src/backend/api/solid/getProperty.js @@ -1,35 +1,30 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `service.js` + * # `getProperty.js` | `solid` * client | Semantyk * - * Created: Dec 05, 2023 - * Modified: Dec 06, 2023 + * Created: Dec 10, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team - * Maintainer(s): + * Maintainer(s): Daniel Bakas * * Copyright © Semantyk 2023. All rights reserved. * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */ //* Imports +import { getNumber } from "@/backend/api/solid/getNumber"; import { - getInteger, - getSolidDataset, getStringNoLocale, getStringNoLocaleAll, - getStringWithLocale, - getStringWithLocaleAll, - getThing as getSolidThing, - getUrl, - getUrlAll + getStringWithLocaleAll } from "@inrupt/solid-client"; +import { getURLAll } from "@/backend/api/solid/getURLAll"; +import { getString } from "@/backend/api/solid/getString"; +import { getURL } from "@/backend/api/solid/getURL"; -export const getNumber = (thing, property) => { - return getInteger(thing, property); -}; - +//* Main export const getProperty = (thing, type, property, locale) => { // Ranges switch (type) { @@ -48,37 +43,4 @@ export const getProperty = (thing, type, property, locale) => { case "urlAll": return getURLAll(thing, property); } -}; - -export const getProperties = (thing, shape, locale) => { - let properties = {}; - for (const { ns, fragment, type } of shape) { - const property = ns(fragment).value; - properties[fragment] = getProperty(thing, type, property, locale); - } - return properties; -}; - -export const getString = (thing, property, locale) => { - if (locale) { - const result = getStringWithLocale(thing, property, locale); - if (result) return result; - } - return getStringNoLocale(thing, property); -}; - -export const getThing = async (fetch, document, uri) => { - // Project Dataset - const dataset = await getSolidDataset(document, { fetch }); - // Return - return getSolidThing(dataset, uri); -}; - - -export const getURL = (thing, property) => { - return getUrl(thing, property); -}; - -export const getURLAll = (thing, property) => { - return getUrlAll(thing, property); }; \ No newline at end of file diff --git a/src/backend/api/solid/getString.js b/src/backend/api/solid/getString.js new file mode 100644 index 0000000..d05be86 --- /dev/null +++ b/src/backend/api/solid/getString.js @@ -0,0 +1,26 @@ +/* + * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– + * # `getString.js` | `solid` + * client | Semantyk + * + * Created: Dec 10, 2023 + * Modified: Dec 10, 2023 + * + * Author(s): Semantyk Team + * Maintainer(s): Daniel Bakas + * + * Copyright © Semantyk 2023. All rights reserved. + * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– + */ + +//* Imports +import { getStringNoLocale, getStringWithLocale } from "@inrupt/solid-client"; + +//* Main +export const getString = (thing, property, locale) => { + if (locale) { + const result = getStringWithLocale(thing, property, locale); + if (result) return result; + } + return getStringNoLocale(thing, property); +}; \ No newline at end of file diff --git a/src/backend/api/solid/getThing.js b/src/backend/api/solid/getThing.js new file mode 100644 index 0000000..4106779 --- /dev/null +++ b/src/backend/api/solid/getThing.js @@ -0,0 +1,28 @@ +/* + * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– + * # `getThing.js` | `solid` + * client | Semantyk + * + * Created: Dec 10, 2023 + * Modified: Dec 10, 2023 + * + * Author(s): Semantyk Team + * Maintainer(s): Daniel Bakas + * + * Copyright © Semantyk 2023. All rights reserved. + * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– + */ + +//* Imports +import { + getSolidDataset, + getThing as getSolidThing +} from "@inrupt/solid-client"; + +//* Main +export const getThing = async (fetch, document, uri) => { + // Project Dataset + const dataset = await getSolidDataset(document, { fetch }); + // Return + return getSolidThing(dataset, uri); +}; \ No newline at end of file diff --git a/src/services/app/namespaces.js b/src/backend/api/solid/getURL.js similarity index 69% rename from src/services/app/namespaces.js rename to src/backend/api/solid/getURL.js index b218bc8..6fe8354 100644 --- a/src/services/app/namespaces.js +++ b/src/backend/api/solid/getURL.js @@ -1,20 +1,22 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `namespaces.js` + * # `getURL.js` | `solid` * client | Semantyk * - * Created: Dec 05, 2023 - * Modified: Dec 05, 2023 + * Created: Dec 10, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team - * Maintainer(s): + * Maintainer(s): Daniel Bakas * * Copyright © Semantyk 2023. All rights reserved. * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */ //* Imports -import { Namespace } from "rdflib"; +import { getUrl } from "@inrupt/solid-client"; //* Main -export const ARCHIVE = Namespace("https://www.semantyk.com/archive/"); \ No newline at end of file +export const getURL = (thing, property) => { + return getUrl(thing, property); +}; \ No newline at end of file diff --git a/src/services/solid/namespaces.js b/src/backend/api/solid/getURLAll.js similarity index 71% rename from src/services/solid/namespaces.js rename to src/backend/api/solid/getURLAll.js index eb0dd75..d0decd7 100644 --- a/src/services/solid/namespaces.js +++ b/src/backend/api/solid/getURLAll.js @@ -1,20 +1,22 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `nodes.js` + * # `getURLAll.js` | `solid` * client | Semantyk * * Created: Dec 05, 2023 - * Modified: Dec 05, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team - * Maintainer(s): + * Maintainer(s): Daniel Bakas * * Copyright © Semantyk 2023. All rights reserved. * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */ //* Imports -import { Namespace } from "rdflib"; +import { getUrlAll } from "@inrupt/solid-client"; //* Main -export const SCHEMA = Namespace("http://schema.org/"); \ No newline at end of file +export const getURLAll = (thing, property) => { + return getUrlAll(thing, property); +}; \ No newline at end of file diff --git a/src/logic/auth/service.js b/src/backend/logic/auth.js similarity index 75% rename from src/logic/auth/service.js rename to src/backend/logic/auth.js index c944bfc..89d9587 100644 --- a/src/logic/auth/service.js +++ b/src/backend/logic/auth.js @@ -1,25 +1,25 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `service.js` | `auth` + * # `auth.js` | `logic` * client | Semantyk * * Created: Dec 04, 2023 - * Modified: Dec 04, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team - * Maintainer(s): + * Maintainer(s): Daniel Bakas * * Copyright © Semantyk 2023. All rights reserved. * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */ //* Imports -import { CLIENT_ID, POD_PROVIDER_URI } from "@/services/app/nodes"; +import { CLIENT_WEBID, POD_PROVIDER_WEBID } from "@/backend/logic/kgm/nodes"; export async function getOptions() { // Logic - const clientId = CLIENT_ID.value; - const oidcIssuer = POD_PROVIDER_URI.value; + const clientId = CLIENT_WEBID; + const oidcIssuer = POD_PROVIDER_WEBID; const redirectUrl = window.location.href; // Return return { diff --git a/src/backend/logic/kgm/nodes.js b/src/backend/logic/kgm/nodes.js new file mode 100644 index 0000000..f085c18 --- /dev/null +++ b/src/backend/logic/kgm/nodes.js @@ -0,0 +1,25 @@ +/* + * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– + * # `nodes.js` | `kgm` + * client | Semantyk + * + * Created: Dec 05, 2023 + * Modified: Dec 10, 2023 + * + * Author(s): Semantyk Team + * Maintainer(s): Daniel Bakas + * + * Copyright © Semantyk 2023. All rights reserved. + * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– + */ + +//* Main +// Namespaces +export const ARCHIVE = "https://www.semantyk.com/archive/"; +export const SCHEMA = "http://schema.org/"; +// WebIDs +export const APP_WEBID = "https://id.inrupt.com/semantyk"; +export const CLIENT_WEBID = "https://id.www.semantyk.com"; +export const POD_PROVIDER_WEBID = "https://pod.danielbakas.com"; +// WebID Documents +export const APP_WEBID_DOC = "https://storage.inrupt.com/93eee8ab-4002-4bbf-a457-38eab9979cc8/public/profile/card"; \ No newline at end of file diff --git a/src/services/app/shape.js b/src/backend/logic/kgm/shapes.js similarity index 89% rename from src/services/app/shape.js rename to src/backend/logic/kgm/shapes.js index 7a34978..396fee4 100644 --- a/src/services/app/shape.js +++ b/src/backend/logic/kgm/shapes.js @@ -1,10 +1,10 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `shape.js` + * # `shapes.js` | `kgm` * client | Semantyk * * Created: Dec 05, 2023 - * Modified: Dec 05, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team * Maintainer(s): Daniel Bakas @@ -14,8 +14,7 @@ */ //* Local Imports -import { SCHEMA } from "../solid/namespaces"; -import { ARCHIVE } from "./namespaces"; +import { ARCHIVE, SCHEMA } from "./nodes"; //* Main diff --git a/src/logic/metadata/service.js b/src/backend/logic/seo.js similarity index 92% rename from src/logic/metadata/service.js rename to src/backend/logic/seo.js index f66e5df..c8144b4 100644 --- a/src/logic/metadata/service.js +++ b/src/backend/logic/seo.js @@ -1,10 +1,10 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `service.js` | `metadata` + * # `seo.js` | `logic` * client | Semantyk * * Created: Dec 05, 2023 - * Modified: Dec 05, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team * Maintainer(s): Daniel Bakas @@ -14,13 +14,13 @@ */ //* Imports -import { getData } from "../data/service"; +import { getKnowledge } from "@/backend/api/knowledge/getKnowledge"; //* Main export async function getMetadata() { // Hooks - const app = await getData(fetch); + const app = await getKnowledge(fetch); // Return return { // Base URL diff --git a/src/logic/data/hook.js b/src/frontend/hooks/useKnowledge.js similarity index 76% rename from src/logic/data/hook.js rename to src/frontend/hooks/useKnowledge.js index cba0ff8..79dbf33 100644 --- a/src/logic/data/hook.js +++ b/src/frontend/hooks/useKnowledge.js @@ -1,10 +1,10 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `hook.js` | `data` + * # `useKnowledge.js` | `api` * client | Semantyk * * Created: Dec 05, 2023 - * Modified: Dec 05, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team * Maintainer(s): Daniel Bakas @@ -17,19 +17,19 @@ import { useEffect, useState } from "react"; import { useSession } from "@inrupt/solid-ui-react"; //* Local Imports -import { getData } from "./service"; +import { getKnowledge } from "@/backend/api/knowledge/getKnowledge"; //* Main -export default function useData() { +export default function useKnowledge() { // Hooks const { fetch } = useSession(); // - useState - const [data, setData] = useState({}); + const [knowledge, setKnowledge] = useState({}); // - useEffect useEffect(() => { - getData(fetch).then(setData); + getKnowledge(fetch).then(setKnowledge); }, [fetch]); // Return - return data; + return knowledge; } \ No newline at end of file diff --git a/src/logic/state/manager.jsx b/src/frontend/logic/state.jsx similarity index 85% rename from src/logic/state/manager.jsx rename to src/frontend/logic/state.jsx index 5e099e6..aee34bf 100644 --- a/src/logic/state/manager.jsx +++ b/src/frontend/logic/state.jsx @@ -1,13 +1,13 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `manager.jsx` + * # `state.jsx` | `logic` * client | Semantyk * * Created: Dec 04, 2023 - * Modified: Dec 05, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team - * Maintainer(s): + * Maintainer(s): Daniel Bakas * * Copyright © Semantyk 2023. All rights reserved. * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– @@ -19,7 +19,7 @@ import React from "react"; import { SessionProvider, useSession } from "@inrupt/solid-ui-react"; -function StateManager({ children }) { +export default function StateManager({ children }) { // Hooks const { session } = useSession(); // Logic @@ -30,6 +30,4 @@ function StateManager({ children }) { {children} ); -} - -export default StateManager; \ No newline at end of file +} \ No newline at end of file diff --git a/src/components/atoms/authButton.jsx b/src/frontend/ui/components/atoms/buttons/authButton.jsx similarity index 94% rename from src/components/atoms/authButton.jsx rename to src/frontend/ui/components/atoms/buttons/authButton.jsx index a45bfdb..2099718 100644 --- a/src/components/atoms/authButton.jsx +++ b/src/frontend/ui/components/atoms/buttons/authButton.jsx @@ -1,10 +1,10 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `loginButton.jsx` | `molecules` + * # `loginButton.jsx` | `buttons` * client | Semantyk * * Created: Dec 05, 2023 - * Modified: Dec 05, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team * Maintainer(s): Daniel Bakas diff --git a/src/components/atoms/loginButton.jsx b/src/frontend/ui/components/atoms/buttons/loginButton.jsx similarity index 91% rename from src/components/atoms/loginButton.jsx rename to src/frontend/ui/components/atoms/buttons/loginButton.jsx index 9ff42da..c042576 100644 --- a/src/components/atoms/loginButton.jsx +++ b/src/frontend/ui/components/atoms/buttons/loginButton.jsx @@ -1,10 +1,10 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `loginButton.jsx` | `atoms` + * # `loginButton.jsx` | `buttons` * client | Semantyk * * Created: Dec 04, 2023 - * Modified: Dec 05, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team * Maintainer(s): Daniel Bakas @@ -20,7 +20,7 @@ import React, { useEffect, useState } from "react"; import { LoginButton as SolidLoginButton } from "@inrupt/solid-ui-react"; import { Button } from "react-bootstrap"; //* Local imports -import { getOptions } from "@/logic/auth/service"; +import { getOptions } from "@/backend/logic/auth"; //* Main diff --git a/src/components/atoms/logoutButton.jsx b/src/frontend/ui/components/atoms/buttons/logoutButton.jsx similarity index 95% rename from src/components/atoms/logoutButton.jsx rename to src/frontend/ui/components/atoms/buttons/logoutButton.jsx index 562339a..6e25794 100644 --- a/src/components/atoms/logoutButton.jsx +++ b/src/frontend/ui/components/atoms/buttons/logoutButton.jsx @@ -1,10 +1,10 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `logoutButton.jsx` | `atoms` + * # `logoutButton.jsx` | `buttons` * client | Semantyk * * Created: Dec 04, 2023 - * Modified: Dec 05, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team * Maintainer(s): Daniel Bakas diff --git a/src/frontend/ui/components/atoms/images/icon.jsx b/src/frontend/ui/components/atoms/images/icon.jsx new file mode 100644 index 0000000..9b23427 --- /dev/null +++ b/src/frontend/ui/components/atoms/images/icon.jsx @@ -0,0 +1,23 @@ +/* + * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– + * # `icon.jsx` | `images` + * client | Semantyk + * + * Created: Dec 10, 2023 + * Modified: Dec 10, 2023 + * + * Author(s): Semantyk Team + * Maintainer(s): + * + * Copyright © Semantyk 2023. All rights reserved. + * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– + */ + +import Image from "next/image"; +import icon from "@/app/icon.png"; + +export default function Icon(props) { + return ( + Semantyk + ); +} \ No newline at end of file diff --git a/src/components/molecules/footer/component.jsx b/src/frontend/ui/components/molecules/footer/component.jsx similarity index 89% rename from src/components/molecules/footer/component.jsx rename to src/frontend/ui/components/molecules/footer/component.jsx index d8a119e..477eb80 100644 --- a/src/components/molecules/footer/component.jsx +++ b/src/frontend/ui/components/molecules/footer/component.jsx @@ -4,7 +4,7 @@ * client | Semantyk * * Created: Dec 05, 2023 - * Modified: Dec 05, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team * Maintainer(s): Daniel Bakas @@ -18,13 +18,13 @@ //* Imports import Link from "next/link"; //* Local Imports -import useData from "@/logic/data/hook"; +import useKnowledge from "@/frontend/hooks/useKnowledge"; import FooterLayout from "./layout"; export default function Footer() { // Hooks - const { name, copyrightYear } = useData(); + const { name, copyrightYear } = useKnowledge(); // Return const link = {name}; return ( diff --git a/src/components/molecules/footer/layout.jsx b/src/frontend/ui/components/molecules/footer/layout.jsx similarity index 88% rename from src/components/molecules/footer/layout.jsx rename to src/frontend/ui/components/molecules/footer/layout.jsx index 1a1ee60..8d720b4 100644 --- a/src/components/molecules/footer/layout.jsx +++ b/src/frontend/ui/components/molecules/footer/layout.jsx @@ -1,13 +1,13 @@ /* * ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– - * # `layout.jsx` + * # `layout.jsx` | `footer` * client | Semantyk * * Created: Dec 04, 2023 - * Modified: Dec 05, 2023 + * Modified: Dec 10, 2023 * * Author(s): Semantyk Team - * Maintainer(s): Daniel Bakas Amuchástegui + * Maintainer(s): Daniel Bakas * * Copyright © Semantyk 2023. All rights reserved. * –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––