teoldalad/lib/models/socials.ts
2024-03-13 00:30:45 +01:00

239 lines
No EOL
5.9 KiB
TypeScript

export enum SocialLink {
REDDIT,
GITHUB,
STEAM,
SOUND_CLOUD,
NAME_MC,
ELEMENT,
FACEBOOK,
INSTAGRAM,
KO_FI,
LINKED_IN,
PATREON,
PAYPAL,
SNAPCHAT,
SPOTIFY_USER,
SPOTIFY_ARTIST,
TIKTOK,
TWITCH,
KICK,
YOUTUBE,
TWITTER,
DISCORD_USER,
DISCORD_GUILD,
EMAIL,
TELEGRAM,
ROCKSTAR,
STEAM_PROFILE,
STEAM_USER,
OSU,
THREADS,
PINTEREST,
BLUESKY,
ROBLOX,
TUMBLR,
}
export enum SocialText {
EMAIL,
DISCORD,
}
export interface Site {
type: string;
name: string;
color: string;
baseUrl?: string;
icon: string;
}
export const linkType: Site[] = [
{
type: 'REDDIT',
name: 'Reddit',
baseUrl: 'https://reddit.com/u/',
// https://reddit.lingoapp.com/s/orqY1E/?v=16
color: '#FF4500',
icon: '/assets/socials/reddit.svg',
},
{
type: 'GITHUB',
name: 'GitHub',
baseUrl: 'https://github.com/',
// https://github.com/logos
color: '#24292F',
icon: '/assets/socials/github.svg',
},
{
type: 'STEAM',
name: 'Steam',
baseUrl: 'https://steamcommunity.com/id/',
// https://partner.steamgames.com/doc/marketing/branding
color: '#000',
icon: '/assets/socials/steam.svg',
},
{
type: 'SOUND_CLOUD',
name: 'SoundCloud',
baseUrl: 'https://soundcloud.com/',
// no official brand guidelines
color: '#FF661A',
icon: '/assets/socials/soundcloud.svg',
},
{
type: 'NAME_MC',
name: 'NameMC',
baseUrl: 'https://namemc.com/profile/',
// no official brand guidelines
color: '#000',
icon: '/assets/socials/namemc.svg',
},
{
type: 'ELEMENT',
name: 'Matrix',
baseUrl: 'https://matrix.to/#/',
// no official brand guidelines
color: '#0dbd8b',
icon: '/assets/socials/element.svg',
},
{
type: 'FACEBOOK',
name: 'Facebook',
baseUrl: 'https://www.facebook.com/',
// https://about.meta.com/brand/resources/facebookapp/logo/
color: '#1778f2',
icon: '/assets/socials/facebook.svg',
},
{
type: 'INSTAGRAM',
name: 'Instagram',
baseUrl: 'https://www.instagram.com/',
// https://about.meta.com/brand/resources/instagram/instagram-brand/
color: 'linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%)',
icon: '/assets/socials/instagram.svg',
},
{
type: 'KO_FI',
name: 'Ko-fi',
baseUrl: 'https://ko-fi.com/',
// https://more.ko-fi.com/brand-assets
color: '#FF5E5B',
icon: '/assets/socials/ko-fi.svg',
},
{
type: 'LINKED_IN',
name: 'LinkedIn',
baseUrl: 'https://linkedin.com/in/',
// https://brand.linkedin.com/en-us
color: '#0073B1',
icon: '/assets/socials/linkedin.svg',
},
{
type: 'PATREON',
name: 'Patreon',
baseUrl: 'https://patreon.com/',
// https://www.patreon.com/brand
color: '#FF424D',
icon: '/assets/socials/patreon.svg',
},
{
type: 'PAYPAL',
name: 'PayPal',
baseUrl: 'https://paypal.me/',
// https://newsroom.paypal-corp.com/media-resources
color: '#0070E0',
icon: '/assets/socials/paypal.svg',
},
{
type: 'SNAPCHAT',
name: 'Snapchat',
baseUrl: 'https://www.snapchat.com/add/',
// https://snap.com/en-US/brand-guidelines
color: '#FFFC00',
icon: '/assets/socials/snapchat.svg',
},
{
type: 'SPOTIFY_USER',
name: 'Spotify',
baseUrl: 'https://open.spotify.com/user/',
// https://developer.spotify.com/documentation/design
color: '#1db954',
icon: '/assets/socials/spotify.svg',
},
{
type: 'SPOTIFY_ARTIST',
name: 'Spotify Artist',
baseUrl: 'https://open.spotify.com/artist/',
// https://developer.spotify.com/documentation/design
color: '#1db954',
icon: '/assets/socials/spotify.svg',
},
{
type: 'TIKTOK',
name: 'TikTok',
baseUrl: 'https://www.tiktok.com/@',
// https://developers.tiktok.com/doc/getting-started-design-guidelines
color: '#000',
icon: '/assets/socials/tiktok.svg', // stolen from their homepage, since no official vector-based icon in their branding guidelines
},
{
type: 'TWITCH',
name: 'Twitch',
baseUrl: 'https://twitch.tv/',
// https://brand.twitch.tv
color: '#9146FF',
icon: '/assets/socials/twitch.svg',
},
{
type: 'KICK',
name: 'Kick',
baseUrl: 'https://kick.com/',
// https://drive.google.com/drive/folders/1k_eggskCbj20tGMyXmCdnXna78p5SAfR
color: '#000',
icon: '/assets/socials/kick.svg',
},
{
type: 'YOUTUBE',
name: 'YouTube',
baseUrl: 'https://www.youtube.com/@',
// https://www.youtube.com/howyoutubeworks/resources/brand-resources/
color: '#f00',
icon: '/assets/socials/youtube.svg',
},
{
type: 'TWITTER',
name: 'Twitter',
baseUrl: 'https://twitter.com/',
// https://web.archive.org/web/20230101101250/https://about.twitter.com/en/who-we-are/brand-toolkit
color: '#1D9BF0',
icon: '/assets/socials/twitter.svg',
},
{
type: 'DISCORD_USER',
name: 'Discord',
baseUrl: 'https://discord.com/users/',
// https://discord.com/branding
color: '#5865F2',
icon: '/assets/socials/discord.svg',
},
{
type: 'DISCORD_GUILD',
name: 'Discord Server',
baseUrl: 'https://discord.gg/',
// https://discord.com/branding
color: '#5865F2',
icon: '/assets/socials/discord.svg',
},
{
type: 'EMAIL',
name: 'Email',
baseUrl: '',
color: '#121212',
icon: '/assets/socials/email.svg',
},
];
export const getLinkType = (type: string) => {
return linkType.find((link) => link.type === type);
};