From 701b4f2d052b3aef2732b50fcf5c0ca9c1f886dd Mon Sep 17 00:00:00 2001 From: "Orace.A" Date: Wed, 26 Mar 2025 19:21:48 +0100 Subject: [PATCH] feat: add modal components --- package.json | 1 + pnpm-lock.yaml | 411 +++++++++++++++++++++++++++++++++ src/app/admin/home/page.tsx | 71 +++++- src/app/globals.css | 9 +- src/app/layout.tsx | 2 +- src/assets/fonts/Urbanist.ttf | Bin 0 -> 84840 bytes src/components/modal.tsx | 39 ++++ src/components/table/table.tsx | 6 +- 8 files changed, 529 insertions(+), 10 deletions(-) create mode 100644 src/assets/fonts/Urbanist.ttf create mode 100644 src/components/modal.tsx diff --git a/package.json b/package.json index d12471c..4db88b6 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "lint": "next lint" }, "dependencies": { + "@radix-ui/react-dialog": "^1.1.6", "@tanstack/react-query": "^5.69.0", "@tanstack/react-table": "^8.21.2", "axios": "^1.8.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5415cc1..c53538a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@radix-ui/react-dialog': + specifier: ^1.1.6 + version: 1.1.6(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@tanstack/react-query': specifier: ^5.69.0 version: 5.69.0(react@19.0.0) @@ -985,6 +988,168 @@ packages: resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} engines: {node: '>= 10.0.0'} + '@radix-ui/primitive@1.1.1': + resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==} + + '@radix-ui/react-compose-refs@1.1.1': + resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-context@1.1.1': + resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-dialog@1.1.6': + resolution: {integrity: sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-dismissable-layer@1.1.5': + resolution: {integrity: sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-focus-guards@1.1.1': + resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-focus-scope@1.1.2': + resolution: {integrity: sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-id@1.1.0': + resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-portal@1.1.4': + resolution: {integrity: sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-presence@1.1.2': + resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-primitive@2.0.2': + resolution: {integrity: sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-slot@1.1.2': + resolution: {integrity: sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-callback-ref@1.1.0': + resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-controllable-state@1.1.0': + resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-escape-keydown@1.1.0': + resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-layout-effect@1.1.0': + resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} @@ -1319,6 +1484,10 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + aria-hidden@1.2.4: + resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} + engines: {node: '>=10'} + aria-query@5.3.2: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} @@ -1588,6 +1757,9 @@ packages: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} + detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} @@ -1867,6 +2039,10 @@ packages: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} + get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} @@ -2502,6 +2678,36 @@ packages: react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + react-remove-scroll-bar@2.3.8: + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-remove-scroll@2.6.3: + resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + react-style-singleton@2.2.3: + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + react@19.0.0: resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} engines: {node: '>=0.10.0'} @@ -2798,6 +3004,26 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + use-callback-ref@1.3.3: + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + use-sidecar@1.1.3: + resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -3845,6 +4071,141 @@ snapshots: '@parcel/watcher-win32-x64': 2.5.1 optional: true + '@radix-ui/primitive@1.1.1': {} + + '@radix-ui/react-compose-refs@1.1.1(@types/react@19.0.12)(react@19.0.0)': + dependencies: + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.12 + + '@radix-ui/react-context@1.1.1(@types/react@19.0.12)(react@19.0.0)': + dependencies: + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.12 + + '@radix-ui/react-dialog@1.1.6(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.5(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-portal': 1.1.4(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-slot': 1.1.2(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.12)(react@19.0.0) + aria-hidden: 1.2.4 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react-remove-scroll: 2.6.3(@types/react@19.0.12)(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.12 + '@types/react-dom': 19.0.4(@types/react@19.0.12) + + '@radix-ui/react-dismissable-layer@1.1.5(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/primitive': 1.1.1 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.0.12)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.12 + '@types/react-dom': 19.0.4(@types/react@19.0.12) + + '@radix-ui/react-focus-guards@1.1.1(@types/react@19.0.12)(react@19.0.0)': + dependencies: + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.12 + + '@radix-ui/react-focus-scope@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.12)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.12 + '@types/react-dom': 19.0.4(@types/react@19.0.12) + + '@radix-ui/react-id@1.1.0(@types/react@19.0.12)(react@19.0.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.12)(react@19.0.0) + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.12 + + '@radix-ui/react-portal@1.1.4(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/react-primitive': 2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.12)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.12 + '@types/react-dom': 19.0.4(@types/react@19.0.12) + + '@radix-ui/react-presence@1.1.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.12)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.12 + '@types/react-dom': 19.0.4(@types/react@19.0.12) + + '@radix-ui/react-primitive@2.0.2(@types/react-dom@19.0.4(@types/react@19.0.12))(@types/react@19.0.12)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + dependencies: + '@radix-ui/react-slot': 1.1.2(@types/react@19.0.12)(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.12 + '@types/react-dom': 19.0.4(@types/react@19.0.12) + + '@radix-ui/react-slot@1.1.2(@types/react@19.0.12)(react@19.0.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.12)(react@19.0.0) + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.12 + + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.0.12)(react@19.0.0)': + dependencies: + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.12 + + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.0.12)(react@19.0.0)': + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.12)(react@19.0.0) + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.12 + + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.0.12)(react@19.0.0)': + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.12)(react@19.0.0) + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.12 + + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.0.12)(react@19.0.0)': + dependencies: + react: 19.0.0 + optionalDependencies: + '@types/react': 19.0.12 + '@rtsao/scc@1.1.0': {} '@rushstack/eslint-patch@1.11.0': {} @@ -4181,6 +4542,10 @@ snapshots: argparse@2.0.1: {} + aria-hidden@1.2.4: + dependencies: + tslib: 2.8.1 + aria-query@5.3.2: {} array-buffer-byte-length@1.0.2: @@ -4484,6 +4849,8 @@ snapshots: detect-libc@2.0.3: {} + detect-node-es@1.1.0: {} + doctrine@2.1.0: dependencies: esutils: 2.0.3 @@ -4922,6 +5289,8 @@ snapshots: hasown: 2.0.2 math-intrinsics: 1.1.0 + get-nonce@1.0.1: {} + get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 @@ -5509,6 +5878,33 @@ snapshots: react-is@16.13.1: {} + react-remove-scroll-bar@2.3.8(@types/react@19.0.12)(react@19.0.0): + dependencies: + react: 19.0.0 + react-style-singleton: 2.2.3(@types/react@19.0.12)(react@19.0.0) + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.0.12 + + react-remove-scroll@2.6.3(@types/react@19.0.12)(react@19.0.0): + dependencies: + react: 19.0.0 + react-remove-scroll-bar: 2.3.8(@types/react@19.0.12)(react@19.0.0) + react-style-singleton: 2.2.3(@types/react@19.0.12)(react@19.0.0) + tslib: 2.8.1 + use-callback-ref: 1.3.3(@types/react@19.0.12)(react@19.0.0) + use-sidecar: 1.1.3(@types/react@19.0.12)(react@19.0.0) + optionalDependencies: + '@types/react': 19.0.12 + + react-style-singleton@2.2.3(@types/react@19.0.12)(react@19.0.0): + dependencies: + get-nonce: 1.0.1 + react: 19.0.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.0.12 + react@19.0.0: {} readdirp@4.1.2: {} @@ -5902,6 +6298,21 @@ snapshots: dependencies: punycode: 2.3.1 + use-callback-ref@1.3.3(@types/react@19.0.12)(react@19.0.0): + dependencies: + react: 19.0.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.0.12 + + use-sidecar@1.1.3(@types/react@19.0.12)(react@19.0.0): + dependencies: + detect-node-es: 1.1.0 + react: 19.0.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.0.12 + uuid@8.3.2: {} which-boxed-primitive@1.1.1: diff --git a/src/app/admin/home/page.tsx b/src/app/admin/home/page.tsx index 3edb10a..550c177 100644 --- a/src/app/admin/home/page.tsx +++ b/src/app/admin/home/page.tsx @@ -9,12 +9,14 @@ import { ColumnDef } from "@tanstack/react-table" import axios from "axios" import { useSession } from "next-auth/react" import Image from "next/image" - +import { Modal } from "#/components/modal" +import { useState } from "react" export default function HomePage () { const {data: session, status} = useSession() const queryClient = useQueryClient() + const [open, setOpen] = useState(false); console.log("Session = ", session) @@ -91,7 +93,31 @@ export default function HomePage () { }, { accessorKey: "status", - header: "Statut" + header: "Statut", + cell: ({ cell }) => { + const status = String(cell.getValue()) + return ( +

+ { + status === "active" ? "Actif" : + status === "inactive" ? "Inactif" : + status === "pending" ? "En attente" : + status === "blocked" ? "Bloquée" : + "" + } +

+ ) + } }, { id: "delete", @@ -99,10 +125,43 @@ export default function HomePage () { const id = String(cell.row.original.id) return (
{ mutate(id) }} + // onClick={() => { mutate(id) }} > - -
+ setOpen(true)}> + + + } + title={ +

Supprimer une organisation

+ } + content={ +
+

Voulez-vous vraiment supprimer cette organisation ?

+ +
+ + +
+
+ } + /> + ) } } @@ -112,6 +171,8 @@ export default function HomePage () {
+

Dernières organisations actives

+ - + diff --git a/src/assets/fonts/Urbanist.ttf b/src/assets/fonts/Urbanist.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a867bdd9cbfb5a0cd30a7c5a06f0d71c3db62192 GIT binary patch literal 84840 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 literal 0 HcmV?d00001 diff --git a/src/components/modal.tsx b/src/components/modal.tsx new file mode 100644 index 0000000..019a0ce --- /dev/null +++ b/src/components/modal.tsx @@ -0,0 +1,39 @@ +import * as Dialog from "@radix-ui/react-dialog"; +import { ReactNode, useState } from "react"; + +export function Modal({ + trigger, + title, + content, + open +}: { + trigger: ReactNode; + title: string | ReactNode; + content: ReactNode; + open?: boolean; +}) { + const [toggle, setToggle] = useState(open); + + return ( + + + {trigger} + + + + + + {title} + + {content} + + {/*
{setToggle(false)}} + > + Fermer +
*/} +
+
+
+ ); +} \ No newline at end of file diff --git a/src/components/table/table.tsx b/src/components/table/table.tsx index a5145d0..b4829a0 100644 --- a/src/components/table/table.tsx +++ b/src/components/table/table.tsx @@ -64,8 +64,8 @@ export default function Table({ return(
-
-
+
+
{table.getHeaderGroups().map((headerGroup) => ( @@ -94,7 +94,7 @@ export default function Table({ {table.getRowModel().rows.length ? ( table.getRowModel().rows.map((row) => ( - +