diff --git a/src/components/sections/social-section.tsx b/src/components/sections/social-section.tsx index 19809a97..2fd37dae 100644 --- a/src/components/sections/social-section.tsx +++ b/src/components/sections/social-section.tsx @@ -37,6 +37,7 @@ export function SocialSection({ register, errors, watch }: SocialSectionProps) { { key: 'dribbble', label: 'Dribbble', icon: '🎨', placeholder: 'username' }, { key: 'behance', label: 'Behance', icon: '🎭', placeholder: 'username' }, { key: 'discord', label: 'Discord', icon: '💬', placeholder: 'invite-code' }, + { key: 'telegram', label: 'Telegram', icon: '✈️', placeholder: '@username' }, { key: 'rssurl', label: 'RSS Feed', icon: '📡', placeholder: 'https://...' }, ]; diff --git a/src/constants/defaults.ts b/src/constants/defaults.ts index e23a51cf..46bf56e6 100644 --- a/src/constants/defaults.ts +++ b/src/constants/defaults.ts @@ -96,6 +96,7 @@ export const DEFAULT_SOCIAL: SocialLinks = { hackerearth: '', geeks_for_geeks: '', discord: '', + telegram: '', rssurl: '', twitterBadge: false, }; diff --git a/src/images/icons/Social/telegram.svg b/src/images/icons/Social/telegram.svg new file mode 100644 index 00000000..4976a30c --- /dev/null +++ b/src/images/icons/Social/telegram.svg @@ -0,0 +1 @@ + diff --git a/src/lib/markdown-generator.ts b/src/lib/markdown-generator.ts index a2f572f9..4f0abe40 100644 --- a/src/lib/markdown-generator.ts +++ b/src/lib/markdown-generator.ts @@ -37,6 +37,7 @@ const socialPlatformUrls: Record string> = { hackerearth: (u) => `https://hackerearth.com/${u}`, geeks_for_geeks: (u) => `https://auth.geeksforgeeks.org/user/${u}`, discord: (u) => `https://discord.gg/${u}`, + telegram: (u) => `https://t.me/${u.replace(/^@/, '')}`, }; const socialIcons: Record = { @@ -62,6 +63,7 @@ const socialIcons: Record = { hackerearth: 'hackerearth.svg', geeks_for_geeks: 'geeks-for-geeks.svg', discord: 'discord.svg', + telegram: 'telegram.svg', }; // Generate skill icon URL - uses skillicons.dev for consistent dark mode support diff --git a/src/lib/validations.ts b/src/lib/validations.ts index 776b2136..4c8cfd7b 100644 --- a/src/lib/validations.ts +++ b/src/lib/validations.ts @@ -92,6 +92,7 @@ export const socialSchema = z.object({ hackerearth: z.string().max(100), geeks_for_geeks: z.string().max(100), discord: z.string().max(100), + telegram: z.string().max(100), rssurl: z.string().url('Invalid URL').or(z.literal('')), // Twitter Badge Enhancement diff --git a/src/types/profile.ts b/src/types/profile.ts index 08089417..978cf6c5 100644 --- a/src/types/profile.ts +++ b/src/types/profile.ts @@ -95,6 +95,7 @@ export interface SocialLinks { hackerearth: string; geeks_for_geeks: string; discord: string; + telegram: string; rssurl: string; twitterBadge: boolean; }