aboutsummaryrefslogtreecommitdiff
path: root/src/components/common/SocialIcon.tsx
blob: cb3b926bb1907151b96ee00464e1fdb075161158 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import React from 'react';
import {Image} from 'react-native';

interface SocialIconProps {
  social: string;
  style: object;
  whiteRing: boolean | undefined;
}
/**
 * An image component that returns the <Image> of the icon for a specific social media platform.
 */
const SocialIcon: React.FC<SocialIconProps> = ({
  social: social,
  style: style,
  whiteRing,
}) => {
  switch (social) {
    case 'Instagram':
      var icon = require('../../assets/socials/instagram-icon.png');
      if (whiteRing) {
        icon = require('../../assets/socials/instagram-icon-white-bg.png');
      }
      break;
    case 'Facebook':
      var icon = require('../../assets/socials/facebook-icon.png');
      break;
    case 'Twitter':
      var icon = require('../../assets/socials/twitter-icon.png');
      break;
    case 'Twitch':
      var icon = require('../../assets/socials/twitch-icon.png');
      break;
    case 'Pinterest':
      var icon = require('../../assets/socials/pinterest-icon.png');
      break;
    case 'Whatsapp':
      var icon = require('../../assets/socials/whatsapp-icon.png');
      break;
    case 'Linkedin':
      var icon = require('../../assets/socials/linkedin-icon.png');
      break;
    case 'Snapchat':
      var icon = require('../../assets/socials/snapchat-icon.png');
      break;
    case 'Youtube':
      var icon = require('../../assets/socials/youtube-icon.png');
      break;
    case 'TikTok':
      var icon = require('../../assets/socials/tiktok-icon.png');
      break;
    default:
      var icon = require('../../assets/socials/logo.png');
      break;
  }
  return <Image style={style} source={icon} />;
};

export default SocialIcon;