diff --git a/next.config.js b/next.config.js
index 28ad6e2..ad36f31 100644
--- a/next.config.js
+++ b/next.config.js
@@ -15,7 +15,15 @@ const config = {
output: "standalone",
experimental: {
reactCompiler: true
- }
+ },
+ images: {
+ remotePatterns: [
+ {
+ protocol: "https",
+ hostname: "*.blob.core.windows.net",
+ },
+ ],
+ },
}
export default config
diff --git a/package.json b/package.json
index fbded5a..e07a356 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
"cmdk": "1.1.1",
"embla-carousel-react": "^8.6.0",
"geist": "^1.5.1",
- "next": "^15.5.18",
+ "next": "^15.5.21",
"next-themes": "^0.4.6",
"radix-ui": "^1.4.3",
"react": "^19.2.3",
@@ -51,7 +51,7 @@
"@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3",
"cross-env": "^10.1.0",
- "postcss": "^8.5.10",
+ "postcss": "^8.5.23",
"tailwindcss": "^4.1.14",
"tw-animate-css": "^1.4.0",
"typescript": "^5.9.3"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d676f50..9909d8d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -40,7 +40,7 @@ importers:
version: 11.5.1(@trpc/server@11.5.1(typescript@5.9.3))(typescript@5.9.3)
'@trpc/next':
specifier: 11.5.1
- version: 11.5.1(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.5.1(typescript@5.9.3))(next@15.5.18(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
+ version: 11.5.1(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.5.1(typescript@5.9.3))(next@15.5.21(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)
babel-plugin-react-compiler:
specifier: ^1.0.0
version: 1.0.0
@@ -58,10 +58,10 @@ importers:
version: 8.6.0(react@19.2.3)
geist:
specifier: ^1.5.1
- version: 1.5.1(next@15.5.18(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))
+ version: 1.5.1(next@15.5.21(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))
next:
- specifier: ^15.5.18
- version: 15.5.18(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ specifier: ^15.5.21
+ version: 15.5.21(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
next-themes:
specifier: ^0.4.6
version: 0.4.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
@@ -115,8 +115,8 @@ importers:
specifier: ^10.1.0
version: 10.1.0
postcss:
- specifier: ^8.5.10
- version: 8.5.10
+ specifier: ^8.5.23
+ version: 8.5.23
tailwindcss:
specifier: ^4.1.14
version: 4.1.18
@@ -202,8 +202,8 @@ packages:
cpu: [x64]
os: [win32]
- '@emnapi/runtime@1.10.0':
- resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
+ '@emnapi/runtime@1.11.3':
+ resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==}
'@epic-web/invariant@1.0.0':
resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==}
@@ -392,57 +392,57 @@ packages:
'@jridgewell/trace-mapping@0.3.31':
resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
- '@next/env@15.5.18':
- resolution: {integrity: sha512-hAV85Ckd9QR6RvH04MEKwsfLTksvFpO47j9xwtoIuvuPnlwecpSi+uZTtm8HirVbtlI2Fnz//xpcSTjFdyJk+g==}
+ '@next/env@15.5.21':
+ resolution: {integrity: sha512-hjJI/GfrjWHgNguRIBzItjRRu0m3Nrz17GhxsjuHfjIvg9hyg3239REd2dpI+bpMTFuVrVprHzEQ19m++cDtbw==}
- '@next/swc-darwin-arm64@15.5.18':
- resolution: {integrity: sha512-w0WvQf1n+txiwns/9pwIQteCJpZTbxzO2SE0FLcwuD4v0WEh1JPOjdyxWL21XwJsdpx8cFRjyzxzCS/siP7HcQ==}
+ '@next/swc-darwin-arm64@15.5.21':
+ resolution: {integrity: sha512-ZfjqPEdi6TRC/fWx7UDbwb1fbVgyh2uD5tVTRKIDZDlYM+UNuE/LafDG2fwuAoZilADpABh46OY/F5qf9JjqLQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@next/swc-darwin-x64@15.5.18':
- resolution: {integrity: sha512-znn71QmDuxm+BOaglihMZfvyySMnNljkVIY5Z2TCssBmm+WqL6c19VhtH5ktFkHa8EZ2bnTUpcNcmNSQsg67og==}
+ '@next/swc-darwin-x64@15.5.21':
+ resolution: {integrity: sha512-TlCf1NpxgQLzTrexuev75xwmNCJMd1/qkJpTVP1GRRcih93hlIBn1P72hkh8T0gnRFr6BmWksQtbyG3jT6jnww==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@next/swc-linux-arm64-gnu@15.5.18':
- resolution: {integrity: sha512-yPPe5MNL+igZUa+OsqQJisqSfh6oarIuA1Q0BDxljGJhRQyZeP+WRHh7rs/jZUGMh5aY0YdIjXZG0VohkKkUdw==}
+ '@next/swc-linux-arm64-gnu@15.5.21':
+ resolution: {integrity: sha512-LXRsq1p+HvHSi7ygwNcSEEcK0zuo5jS75ZlqFHtOH+LF7qntXAJVJxah+1Pi/GyBm7EpkwU7m4EgbvIKrMqm9A==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@next/swc-linux-arm64-musl@15.5.18':
- resolution: {integrity: sha512-glaCczEWIrHsokFZ3pP08U4BpKxwIdnT+txdOM32OBgpL9Yw4aqx8NejmgtZQZOdstQ5f0L3CasIZudzCuD+nw==}
+ '@next/swc-linux-arm64-musl@15.5.21':
+ resolution: {integrity: sha512-hyGixhFxpDKjqoev6l4KlcRBlt9AXWrGhDZwmwg49sMJM5tnKQPSi+SEj9+e5n+l/bthRGZUdh59GKIs6lQPRw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@next/swc-linux-x64-gnu@15.5.18':
- resolution: {integrity: sha512-oUfg2EgJmU3R0OCOWiokGFUTvZiPfXtriXiuF3YNxRoROCdgvTedHIzYoeKH34gsZxS/V7mHbfq2hpAHwhH1/A==}
+ '@next/swc-linux-x64-gnu@15.5.21':
+ resolution: {integrity: sha512-qfE+YfOba6S2+13e8qn1/UozDVNZ2clBlrs8UtDoax4s8ediu6sq93z66OEHUYlb69Tffh5JTNkgtsAKiSuugg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@next/swc-linux-x64-musl@15.5.18':
- resolution: {integrity: sha512-JLxSP3KTd9iu/bvUMQxH7RJo9xKSHf55/6RPE4a6FTSZygGn7uvZbCej0AHXydwkggQGSD9UddSjwv6Xz5ESfA==}
+ '@next/swc-linux-x64-musl@15.5.21':
+ resolution: {integrity: sha512-BXLGG+EvIwp/Rrgl6HY8sqvD6BOUOIRz8/naDbeLNX7mlA5H2XRcL6MW/0IGnJISfj5BA9gNhFyJj5yOoiIDJQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [musl]
- '@next/swc-win32-arm64-msvc@15.5.18':
- resolution: {integrity: sha512-ir1v7enP52K2HNz3tQQvwF+x7VNxBk1ciiZ18WBPvxf4C59IqdfmHPJYK3vH7rSxpuCVw/8C712wTXNAtEp+NA==}
+ '@next/swc-win32-arm64-msvc@15.5.21':
+ resolution: {integrity: sha512-tNGNOlT0Wn7E4IMsSnufjXN/l2L2/AGdLLpa2vzS89SYCBuihgLn3ngLsIrvndAnWo9nAkus+4gZHTI/Ijx9HA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@next/swc-win32-x64-msvc@15.5.18':
- resolution: {integrity: sha512-LIu5me6QTANCd25E7I5uIEfvgQ06RK7tvHAbYo3zCb3VpxQEPvMcSpd87NwUABDT6MbGPdEGR5VRiK4PPTJhQg==}
+ '@next/swc-win32-x64-msvc@15.5.21':
+ resolution: {integrity: sha512-DmIdWmC9p4rdNIiQqo8ap0+Cnj6kKtTZnuSCxoYydSc8sgpDgAg9wFhxplunak9imLV0pTvc5WVCOHwm5eHLtQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -1386,8 +1386,8 @@ packages:
babel-plugin-react-compiler@1.0.0:
resolution: {integrity: sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==}
- caniuse-lite@1.0.30001793:
- resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==}
+ caniuse-lite@1.0.30001806:
+ resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==}
class-variance-authority@0.7.1:
resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
@@ -1545,8 +1545,8 @@ packages:
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
- nanoid@3.3.12:
- resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==}
+ nanoid@3.3.18:
+ resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
@@ -1556,8 +1556,8 @@ packages:
react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
- next@15.5.18:
- resolution: {integrity: sha512-eKL8zUJkX9Y5lE+RX/2YJoItVdGlIscyVyboeD9wSpp0PaGqjoA4tTpT2qPqz9ax+5IzGESyLSeZ/RCwbSZ2uQ==}
+ next@15.5.21:
+ resolution: {integrity: sha512-/TsdBtkWLhkl+NVL3Uqws2UphNd6IPzOtzSk1fHaf+0P7GQKLZDUytyhns/Ykbzdy9+YRjwG7ONvrHaaTDdFqQ==}
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
hasBin: true
peerDependencies:
@@ -1588,8 +1588,8 @@ packages:
resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
engines: {node: ^10 || ^12 || >=14}
- postcss@8.5.10:
- resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==}
+ postcss@8.5.23:
+ resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==}
engines: {node: ^10 || ^12 || >=14}
radix-ui@1.4.3:
@@ -1658,8 +1658,8 @@ packages:
scheduler@0.27.0:
resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
- semver@7.8.1:
- resolution: {integrity: sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==}
+ semver@7.8.5:
+ resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==}
engines: {node: '>=10'}
hasBin: true
@@ -1806,7 +1806,7 @@ snapshots:
'@biomejs/cli-win32-x64@2.2.5':
optional: true
- '@emnapi/runtime@1.10.0':
+ '@emnapi/runtime@1.11.3':
dependencies:
tslib: 2.8.1
optional: true
@@ -1915,7 +1915,7 @@ snapshots:
'@img/sharp-wasm32@0.34.5':
dependencies:
- '@emnapi/runtime': 1.10.0
+ '@emnapi/runtime': 1.11.3
optional: true
'@img/sharp-win32-arm64@0.34.5':
@@ -1946,30 +1946,30 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
- '@next/env@15.5.18': {}
+ '@next/env@15.5.21': {}
- '@next/swc-darwin-arm64@15.5.18':
+ '@next/swc-darwin-arm64@15.5.21':
optional: true
- '@next/swc-darwin-x64@15.5.18':
+ '@next/swc-darwin-x64@15.5.21':
optional: true
- '@next/swc-linux-arm64-gnu@15.5.18':
+ '@next/swc-linux-arm64-gnu@15.5.21':
optional: true
- '@next/swc-linux-arm64-musl@15.5.18':
+ '@next/swc-linux-arm64-musl@15.5.21':
optional: true
- '@next/swc-linux-x64-gnu@15.5.18':
+ '@next/swc-linux-x64-gnu@15.5.21':
optional: true
- '@next/swc-linux-x64-musl@15.5.18':
+ '@next/swc-linux-x64-musl@15.5.21':
optional: true
- '@next/swc-win32-arm64-msvc@15.5.18':
+ '@next/swc-win32-arm64-msvc@15.5.21':
optional: true
- '@next/swc-win32-x64-msvc@15.5.18':
+ '@next/swc-win32-x64-msvc@15.5.21':
optional: true
'@polinetwork/backend@0.16.4': {}
@@ -2828,7 +2828,7 @@ snapshots:
'@alloc/quick-lru': 5.2.0
'@tailwindcss/node': 4.1.18
'@tailwindcss/oxide': 4.1.18
- postcss: 8.5.10
+ postcss: 8.5.23
tailwindcss: 4.1.18
'@tanstack/devtools-event-client@0.4.3': {}
@@ -2867,11 +2867,11 @@ snapshots:
'@trpc/server': 11.5.1(typescript@5.9.3)
typescript: 5.9.3
- '@trpc/next@11.5.1(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.5.1(typescript@5.9.3))(next@15.5.18(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)':
+ '@trpc/next@11.5.1(@trpc/client@11.5.1(@trpc/server@11.5.1(typescript@5.9.3))(typescript@5.9.3))(@trpc/server@11.5.1(typescript@5.9.3))(next@15.5.21(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(typescript@5.9.3)':
dependencies:
'@trpc/client': 11.5.1(@trpc/server@11.5.1(typescript@5.9.3))(typescript@5.9.3)
'@trpc/server': 11.5.1(typescript@5.9.3)
- next: 15.5.18(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ next: 15.5.21(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
typescript: 5.9.3
@@ -2900,7 +2900,7 @@ snapshots:
dependencies:
'@babel/types': 7.28.5
- caniuse-lite@1.0.30001793: {}
+ caniuse-lite@1.0.30001806: {}
class-variance-authority@0.7.1:
dependencies:
@@ -2960,9 +2960,9 @@ snapshots:
graceful-fs: 4.2.11
tapable: 2.3.0
- geist@1.5.1(next@15.5.18(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)):
+ geist@1.5.1(next@15.5.21(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)):
dependencies:
- next: 15.5.18(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
+ next: 15.5.21(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
get-nonce@1.0.1: {}
@@ -3027,31 +3027,31 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
- nanoid@3.3.12: {}
+ nanoid@3.3.18: {}
next-themes@0.4.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
dependencies:
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
- next@15.5.18(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
+ next@15.5.21(babel-plugin-react-compiler@1.0.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
dependencies:
- '@next/env': 15.5.18
+ '@next/env': 15.5.21
'@swc/helpers': 0.5.15
- caniuse-lite: 1.0.30001793
+ caniuse-lite: 1.0.30001806
postcss: 8.4.31
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
styled-jsx: 5.1.6(react@19.2.3)
optionalDependencies:
- '@next/swc-darwin-arm64': 15.5.18
- '@next/swc-darwin-x64': 15.5.18
- '@next/swc-linux-arm64-gnu': 15.5.18
- '@next/swc-linux-arm64-musl': 15.5.18
- '@next/swc-linux-x64-gnu': 15.5.18
- '@next/swc-linux-x64-musl': 15.5.18
- '@next/swc-win32-arm64-msvc': 15.5.18
- '@next/swc-win32-x64-msvc': 15.5.18
+ '@next/swc-darwin-arm64': 15.5.21
+ '@next/swc-darwin-x64': 15.5.21
+ '@next/swc-linux-arm64-gnu': 15.5.21
+ '@next/swc-linux-arm64-musl': 15.5.21
+ '@next/swc-linux-x64-gnu': 15.5.21
+ '@next/swc-linux-x64-musl': 15.5.21
+ '@next/swc-win32-arm64-msvc': 15.5.21
+ '@next/swc-win32-x64-msvc': 15.5.21
babel-plugin-react-compiler: 1.0.0
sharp: 0.34.5
transitivePeerDependencies:
@@ -3064,13 +3064,13 @@ snapshots:
postcss@8.4.31:
dependencies:
- nanoid: 3.3.12
+ nanoid: 3.3.18
picocolors: 1.1.1
source-map-js: 1.2.1
- postcss@8.5.10:
+ postcss@8.5.23:
dependencies:
- nanoid: 3.3.12
+ nanoid: 3.3.18
picocolors: 1.1.1
source-map-js: 1.2.1
@@ -3181,14 +3181,14 @@ snapshots:
scheduler@0.27.0: {}
- semver@7.8.1:
+ semver@7.8.5:
optional: true
sharp@0.34.5:
dependencies:
'@img/colour': 1.1.0
detect-libc: 2.1.2
- semver: 7.8.1
+ semver: 7.8.5
optionalDependencies:
'@img/sharp-darwin-arm64': 0.34.5
'@img/sharp-darwin-x64': 0.34.5
diff --git a/src/app/associations/page.tsx b/src/app/associations/page.tsx
index 34d89d0..aa70906 100644
--- a/src/app/associations/page.tsx
+++ b/src/app/associations/page.tsx
@@ -1,19 +1,24 @@
import type { Metadata } from "next"
import { AssociationsList } from "@/components/associations/associations-list"
import { Hero } from "@/components/ui/hero"
+import { getAllAssociations } from "@/queries/associations"
export const metadata: Metadata = {
title: "Associazioni",
description: "Scopri le associazioni studentesche del Politecnico",
}
-export default function AssociationsPage() {
+export const dynamic = "force-dynamic"
+
+export default async function AssociationsPage() {
+ const associations = await getAllAssociations()
+
return (