diff --git a/client/package.json b/client/package.json index c37b3f8..1dd9152 100644 --- a/client/package.json +++ b/client/package.json @@ -18,19 +18,7 @@ "@emotion/styled": "^11.14.1", "@gsap/react": "^2.1.2", "@hookform/resolvers": "^5.2.2", - "@iconify-json/entypo-social": "^1.2.3", - "@iconify-json/eva": "^1.2.3", - "@iconify-json/fa6-brands": "^1.2.6", - "@iconify-json/flag": "^1.2.9", - "@iconify-json/ic": "^1.2.4", - "@iconify-json/material-symbols": "^1.2.42", - "@iconify-json/material-symbols-light": "^1.2.42", - "@iconify-json/mdi": "^1.2.3", - "@iconify-json/mdi-light": "^1.2.2", - "@iconify-json/ri": "^1.2.6", - "@iconify-json/twemoji": "^1.2.4", "@iconify/react": "^6.0.2", - "@iconify/utils": "^3.0.2", "@mui/lab": "7.0.1-beta.18", "@mui/material": "^7.3.4", "@mui/material-nextjs": "^7.3.3", diff --git a/client/src/components/base/IconifyIcon.tsx b/client/src/components/base/IconifyIcon.tsx index b48f0dc..9bc5799 100644 --- a/client/src/components/base/IconifyIcon.tsx +++ b/client/src/components/base/IconifyIcon.tsx @@ -1,52 +1,11 @@ -import { icons as entypoSocialIcons } from "@iconify-json/entypo-social"; -import { icons as evaIcons } from "@iconify-json/eva"; -import { icons as fa6Brands } from "@iconify-json/fa6-brands"; -import { icons as flagIcons } from "@iconify-json/flag"; -import { icons as icIcons } from "@iconify-json/ic"; -import { icons as materialIcons } from "@iconify-json/material-symbols"; -import { icons as materialLightIcons } from "@iconify-json/material-symbols-light"; -import { icons as mdiIcons } from "@iconify-json/mdi"; -import { icons as mdiLightIcons } from "@iconify-json/mdi-light"; -import { icons as riIcons } from "@iconify-json/ri"; -import { icons as twemojiIcons } from "@iconify-json/twemoji"; -import { Icon, IconifyJSON, IconProps } from "@iconify/react"; -import { getIconData } from "@iconify/utils"; +import { Icon, IconProps } from "@iconify/react"; import { Box, BoxProps } from "@mui/material"; interface IconifyProps extends IconProps { sx?: BoxProps["sx"]; flipOnRTL?: boolean; - icon: string; } -const iconSets: Record = { - "material-symbols": materialIcons, - "material-symbols-light": materialLightIcons, - twemoji: twemojiIcons, - eva: evaIcons, - ri: riIcons, - ic: icIcons, - flag: flagIcons, - "fa6-brands": fa6Brands, - "entypo-social": entypoSocialIcons, - mdi: mdiIcons, - "mdi-light": mdiLightIcons, -}; - -const iconData = (icon: string) => { - const [prefix, name] = icon.includes(":") ? icon.split(":") : ["", icon]; - - if (prefix && iconSets[prefix]) { - const data = getIconData(iconSets[prefix], name); - if (data) return data; - } - - for (const [_, icons] of Object.entries(iconSets)) { - const data = getIconData(icons, name); - if (data) return data; - } -}; - const IconifyIcon = ({ icon, flipOnRTL = false, @@ -56,8 +15,8 @@ const IconifyIcon = ({ return ( @@ -65,7 +24,7 @@ const IconifyIcon = ({ }, ...(Array.isArray(sx) ? sx : [sx]), ]} - {...rest} + {...(rest as any)} /> ); }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6c2018b..03c5ca4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,45 +42,9 @@ importers: '@hookform/resolvers': specifier: ^5.2.2 version: 5.2.2(react-hook-form@7.68.0(react@19.2.0)) - '@iconify-json/entypo-social': - specifier: ^1.2.3 - version: 1.2.3 - '@iconify-json/eva': - specifier: ^1.2.3 - version: 1.2.3 - '@iconify-json/fa6-brands': - specifier: ^1.2.6 - version: 1.2.6 - '@iconify-json/flag': - specifier: ^1.2.9 - version: 1.2.10 - '@iconify-json/ic': - specifier: ^1.2.4 - version: 1.2.4 - '@iconify-json/material-symbols': - specifier: ^1.2.42 - version: 1.2.50 - '@iconify-json/material-symbols-light': - specifier: ^1.2.42 - version: 1.2.50 - '@iconify-json/mdi': - specifier: ^1.2.3 - version: 1.2.3 - '@iconify-json/mdi-light': - specifier: ^1.2.2 - version: 1.2.2 - '@iconify-json/ri': - specifier: ^1.2.6 - version: 1.2.6 - '@iconify-json/twemoji': - specifier: ^1.2.4 - version: 1.2.4 '@iconify/react': specifier: ^6.0.2 version: 6.0.2(react@19.2.0) - '@iconify/utils': - specifier: ^3.0.2 - version: 3.1.0 '@mui/lab': specifier: 7.0.1-beta.18 version: 7.0.1-beta.18(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@mui/material@7.3.6(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -259,9 +223,6 @@ importers: '@prisma/adapter-pg': specifier: ^7.1.0 version: 7.1.0 - '@prisma/client': - specifier: ^7.3.0 - version: 7.3.0(prisma@7.3.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(typescript@5.9.3) '@thallesp/nestjs-better-auth': specifier: ^2.2.0 version: 2.2.0(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.9)(@nestjs/graphql@13.2.0(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.9)(class-transformer@0.5.1)(class-validator@0.14.3)(graphql@16.12.0)(reflect-metadata@0.2.2))(@nestjs/websockets@11.1.9)(better-auth@1.4.6(next@16.0.3(@babel/core@7.28.5)(babel-plugin-macros@3.1.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(express@5.1.0)(graphql@16.12.0)(typescript@5.9.3) @@ -317,6 +278,9 @@ importers: '@nestjs/testing': specifier: ^11.0.1 version: 11.1.9(@nestjs/common@11.1.9(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.9)(@nestjs/platform-express@11.1.9) + '@prisma/client': + specifier: ^7.3.0 + version: 7.3.0(prisma@7.3.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(typescript@5.9.3) '@types/compression': specifier: ^1.8.1 version: 1.8.1 @@ -417,9 +381,6 @@ packages: resolution: {integrity: sha512-J4Jarr0SohdrHcb40gTL4wGPCQ952IMWF1G/MSAQfBAPvA9ZKApYhpxcY7PmehVePve+ujpus1dGsJ7dPxz8Kg==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@antfu/install-pkg@1.1.0': - resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} @@ -951,39 +912,6 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@iconify-json/entypo-social@1.2.3': - resolution: {integrity: sha512-bElykASATvhofbhceBs3cg9OOt5X4nb0I4KtpYgtG3yRRtAURRCPvRu0X3IafDA6CnuRBLGF36tssCU2Tm0ysw==} - - '@iconify-json/eva@1.2.3': - resolution: {integrity: sha512-67nZvxOHdoV2SaTLBw+seq+pbfB8OFRB7CVNI5gGJCGPXJKniPo/x9H/dYGovxq7q+GU0NwKrPxBcHyEFDwSUw==} - - '@iconify-json/fa6-brands@1.2.6': - resolution: {integrity: sha512-twL3X4KWcxAhbc1vz/mIDsVr+CAItk1/EIfxKUVQtpv6O4eydk5KNYqTZWdvJNHGInUgd6vKg21aWfVgb5DXEg==} - - '@iconify-json/flag@1.2.10': - resolution: {integrity: sha512-wmlTfQCZYaUJgtJ0L6r4RGpzpXhRR5+eTQ8ezERBUwxIQJvPEo+C29XwSahht0/M5a8aqwEnqd29JOqyu9beVg==} - - '@iconify-json/ic@1.2.4': - resolution: {integrity: sha512-pzPMmrZrBQuwT7nmtrYdkttun8KalRGgZPIL1Ny9KpF2zjRGIUPN+npTfuD3lrgO/OnSwAoJWuekQwBpt/Cqrw==} - - '@iconify-json/material-symbols-light@1.2.50': - resolution: {integrity: sha512-Ehvmar2TPoYxmKgB5szeIMlmvA/mIc7gzUoQ5/AWFG+N6d4T53uCHwxnXFf1nXPWlpf0+cv26AXMJC6W5mkdrQ==} - - '@iconify-json/material-symbols@1.2.50': - resolution: {integrity: sha512-71tjHR70h46LHtBFab3fAd2V/wPTO7JMV5lKnRn3IcF303LaFgAlO0BZeTJDcmCv9d0snRZmnoLZAJVD7/eisw==} - - '@iconify-json/mdi-light@1.2.2': - resolution: {integrity: sha512-86UV9uyNve8zRFWiPrOrrDp9GDzsZM7plYV/on4VjgLLqXlyriuy541eHZB7LIOzTUyIPVli7QiUpBbTtBhsFw==} - - '@iconify-json/mdi@1.2.3': - resolution: {integrity: sha512-O3cLwbDOK7NNDf2ihaQOH5F9JglnulNDFV7WprU2dSoZu3h3cWH//h74uQAB87brHmvFVxIOkuBX2sZSzYhScg==} - - '@iconify-json/ri@1.2.6': - resolution: {integrity: sha512-tGXRmXtb8oFu8DNg9MsS1pywKFgs9QZ4U6LBzUamBHaw3ePSiPd7ouE64gzHzfEcR16hgVaXoUa+XxD3BB0XOg==} - - '@iconify-json/twemoji@1.2.4': - resolution: {integrity: sha512-REYJeXhzaLktNe32DxJJf3t65sYC5KO9K0Jh+RApXRBAo1/IB+jBqd8rny2sXci+wtQLBEfD4z4AGCLBrTMGWA==} - '@iconify/react@6.0.2': resolution: {integrity: sha512-SMmC2sactfpJD427WJEDN6PMyznTFMhByK9yLW0gOTtnjzzbsi/Ke/XqsumsavFPwNiXs8jSiYeZTmLCLwO+Fg==} peerDependencies: @@ -992,9 +920,6 @@ packages: '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@iconify/utils@3.1.0': - resolution: {integrity: sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==} - '@img/colour@1.0.0': resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==} engines: {node: '>=18'} @@ -3054,9 +2979,6 @@ packages: engines: {node: '>=18'} hasBin: true - confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - confbox@0.2.2: resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} @@ -4722,9 +4644,6 @@ packages: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true - mlly@1.8.0: - resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} - mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -4996,9 +4915,6 @@ packages: package-manager-detector@0.2.11: resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} - package-manager-detector@1.6.0: - resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} - parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -5118,9 +5034,6 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - pkg-types@1.3.1: - resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - pkg-types@2.3.0: resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} @@ -5966,9 +5879,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - ufo@1.6.1: - resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} @@ -6274,11 +6184,6 @@ snapshots: transitivePeerDependencies: - chokidar - '@antfu/install-pkg@1.1.0': - dependencies: - package-manager-detector: 1.6.0 - tinyexec: 1.0.2 - '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.28.5 @@ -7014,50 +6919,6 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@iconify-json/entypo-social@1.2.3': - dependencies: - '@iconify/types': 2.0.0 - - '@iconify-json/eva@1.2.3': - dependencies: - '@iconify/types': 2.0.0 - - '@iconify-json/fa6-brands@1.2.6': - dependencies: - '@iconify/types': 2.0.0 - - '@iconify-json/flag@1.2.10': - dependencies: - '@iconify/types': 2.0.0 - - '@iconify-json/ic@1.2.4': - dependencies: - '@iconify/types': 2.0.0 - - '@iconify-json/material-symbols-light@1.2.50': - dependencies: - '@iconify/types': 2.0.0 - - '@iconify-json/material-symbols@1.2.50': - dependencies: - '@iconify/types': 2.0.0 - - '@iconify-json/mdi-light@1.2.2': - dependencies: - '@iconify/types': 2.0.0 - - '@iconify-json/mdi@1.2.3': - dependencies: - '@iconify/types': 2.0.0 - - '@iconify-json/ri@1.2.6': - dependencies: - '@iconify/types': 2.0.0 - - '@iconify-json/twemoji@1.2.4': - dependencies: - '@iconify/types': 2.0.0 - '@iconify/react@6.0.2(react@19.2.0)': dependencies: '@iconify/types': 2.0.0 @@ -7065,12 +6926,6 @@ snapshots: '@iconify/types@2.0.0': {} - '@iconify/utils@3.1.0': - dependencies: - '@antfu/install-pkg': 1.1.0 - '@iconify/types': 2.0.0 - mlly: 1.8.0 - '@img/colour@1.0.0': optional: true @@ -9347,8 +9202,6 @@ snapshots: tree-kill: 1.2.2 yargs: 17.7.2 - confbox@0.1.8: {} - confbox@0.2.2: {} consola@2.15.3: {} @@ -11319,13 +11172,6 @@ snapshots: dependencies: minimist: 1.2.8 - mlly@1.8.0: - dependencies: - acorn: 8.15.0 - pathe: 2.0.3 - pkg-types: 1.3.1 - ufo: 1.6.1 - mri@1.2.0: {} ms@2.0.0: {} @@ -11611,8 +11457,6 @@ snapshots: dependencies: quansync: 0.2.11 - package-manager-detector@1.6.0: {} - parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -11711,12 +11555,6 @@ snapshots: dependencies: find-up: 4.1.0 - pkg-types@1.3.1: - dependencies: - confbox: 0.1.8 - mlly: 1.8.0 - pathe: 2.0.3 - pkg-types@2.3.0: dependencies: confbox: 0.2.2 @@ -12640,8 +12478,6 @@ snapshots: typescript@5.9.3: {} - ufo@1.6.1: {} - uglify-js@3.19.3: optional: true