Files
TechradarDev/radar-app/src/components/SocialLinks/SocialLinks.tsx
syoul 9d8ae3d32a refactor: projet stand-alone sans dépendance aoe_technology_radar
- Intégration du code source du framework dans radar-app/ (vendoring)
- Suppression de la dépendance npm aoe_technology_radar
- Création de scripts build-radar.js et serve-radar.js pour remplacer le CLI techradar
- Adaptation de tous les scripts et Docker pour utiliser radar-app/ au lieu de .techradar
- Refactorisation complète de Dockerfile.business
- Mise à jour de la documentation (architecture, déploiement, développement)
- Mise à jour de .gitignore pour ignorer les artefacts de build de radar-app/
- Ajout de postcss dans les dépendances Docker pour le build Next.js

Le projet est maintenant complètement indépendant du package externe.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 18:11:40 +01:00

67 lines
1.4 KiB
TypeScript

import styles from "./SocialLinks.module.css";
import {
SocialFacebook,
SocialGithub,
SocialGitlab,
SocialInstagram,
SocialLinkedin,
SocialX,
SocialXing,
SocialYoutube,
} from "@/components/Icons";
import { getSocialLinks } from "@/lib/data";
import { cn } from "@/lib/utils";
interface SocialLinksProps {
className?: string;
}
function getIcon(name: string) {
switch (name.toLowerCase()) {
case "facebook":
return SocialFacebook;
case "github":
return SocialGithub;
case "gitlab":
return SocialGitlab;
case "instagram":
return SocialInstagram;
case "linkedin":
return SocialLinkedin;
case "x":
return SocialX;
case "xing":
return SocialXing;
case "youtube":
return SocialYoutube;
default:
return null;
}
}
export function SocialLinks({ className }: SocialLinksProps) {
const links = getSocialLinks();
return (
<ul className={cn(styles.links, className)}>
{links.map((link, i) => {
const Icon = getIcon(link.icon);
return (
Icon && (
<li key={i}>
<a
href={link.href}
className={styles.link}
target="_blank"
rel="noopener noreferrer"
>
<Icon className={styles.icon} />
</a>
</li>
)
);
})}
</ul>
);
}