Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6948 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6911 stevensc 1
import React, { useState } from 'react'
2
import { EmojiActivity } from './emojis/EmojiActivity'
3
import { EmojiFlags } from './emojis/EmojiFlags'
4
import { EmojiFood } from './emojis/EmojiFood'
5
import { EmojiNature } from './emojis/EmojiNature'
6
import { EmojiObjects } from './emojis/EmojiObjects'
7
import { EmojiPeople } from './emojis/EmojiPeople'
8
import { EmojiSymbols } from './emojis/EmojiSymbols'
9
import { EmojiTravel } from './emojis/EmojiTravel'
6948 stevensc 10
import styled from 'styled-components'
11
import { Tab, Tabs } from '@mui/material'
12
import EmojiEmotionsIcon from '@mui/icons-material/EmojiEmotions'
13
import LandscapeIcon from '@mui/icons-material/Landscape'
14
import RestaurantIcon from '@mui/icons-material/Restaurant'
6950 stevensc 15
import SportsBasketballIcon from '@mui/icons-material/SportsBasketball'
16
import TimeToLeaveIcon from '@mui/icons-material/TimeToLeave'
17
import EmojiObjectsIcon from '@mui/icons-material/EmojiObjects'
18
import FavoriteIcon from '@mui/icons-material/Favorite'
19
import FlagIcon from '@mui/icons-material/Flag'
6911 stevensc 20
 
6947 stevensc 21
const StyledEmojiContainer = styled.div`
22
  background-color: var(--bg-color);
23
  bottom: 100%;
24
  left: 0;
25
  position: absolute;
26
  width: 100%;
27
  height: 200px;
28
  transform: translateZ(0);
29
  transform-origin: bottom;
30
  overflow: hidden;
6948 stevensc 31
 
32
  .smiley-panel-body {
33
    background: #fff;
34
    border-top: 1px solid var(--border-primary);
35
    box-sizing: border-box;
36
    height: 160px;
37
    padding: 10px 0;
38
    overflow: auto;
39
    width: 100%;
40
 
41
    .e1 {
42
      cursor: pointer;
43
    }
44
  }
6947 stevensc 45
`
46
 
6948 stevensc 47
const StyledEmojiTabs = styled(Tabs)`
48
  min-height: auto !important;
6947 stevensc 49
  border-bottom: 1px solid #f7fafc;
50
  border-top: 1px solid #f7fafc;
51
  background: #f9f9f9;
52
  display: flex;
53
  align-items: center;
54
 
6948 stevensc 55
  .MuiTabs-indicator {
56
    background-color: var(--font-color);
6947 stevensc 57
  }
58
`
59
 
6948 stevensc 60
const StyledTab = styled(Tab)`
61
  flex-grow: 1;
62
  color: var(--subtitle-color) !important;
63
  font-weight: bold !important;
64
  padding: 0.5rem 1rem !important;
65
  min-height: auto !important;
66
  &.Mui-selected {
67
    color: var(--font-color) !important;
68
  }
69
`
70
 
6911 stevensc 71
const Emojione = ({ onClickEmoji }) => {
72
  const [currentTab, setCurrentTab] = useState('people')
73
 
74
  const emojiTabs = {
75
    activity: 'activity',
76
    flags: 'flags',
77
    food: 'food',
78
    nature: 'nature',
79
    objects: 'objects',
80
    people: 'people',
81
    symbols: 'symbols',
82
    travel: 'travel',
83
  }
84
 
85
  const handleChangeTab = (tabToChange) => {
86
    setCurrentTab(tabToChange)
87
  }
88
 
89
  return (
6947 stevensc 90
    <StyledEmojiContainer>
6948 stevensc 91
      <StyledEmojiTabs
92
        value={currentTab}
93
        onChange={(e, newValue) => handleChangeTab(newValue)}
94
      >
95
        <StyledTab
96
          value={emojiTabs.people}
97
          icon={<EmojiEmotionsIcon />}
98
          disableRipple
99
        />
100
        <StyledTab
101
          value={emojiTabs.nature}
102
          icon={<LandscapeIcon />}
103
          disableRipple
104
        />
105
        <StyledTab
106
          value={emojiTabs.food}
107
          icon={<RestaurantIcon />}
108
          disableRipple
109
        />
6950 stevensc 110
        <StyledTab
111
          value={emojiTabs.activity}
112
          icon={<SportsBasketballIcon />}
113
          disableRipple
114
        />
115
        <StyledTab
116
          value={emojiTabs.travel}
117
          icon={<TimeToLeaveIcon />}
118
          disableRipple
119
        />
120
        <StyledTab
121
          value={emojiTabs.objects}
122
          icon={<EmojiObjectsIcon />}
123
          disableRipple
124
        />
125
        <StyledTab
126
          value={emojiTabs.symbols}
127
          icon={<FavoriteIcon />}
128
          disableRipple
129
        />
130
        <StyledTab value={emojiTabs.flags} icon={<FlagIcon />} disableRipple />
6947 stevensc 131
      </StyledEmojiTabs>
132
 
6911 stevensc 133
      <EmojiPeople
134
        onClickEmoji={onClickEmoji}
135
        hidden={currentTab === emojiTabs.people}
136
      />
137
      <EmojiNature
138
        onClickEmoji={onClickEmoji}
139
        hidden={currentTab === emojiTabs.nature}
140
      />
141
      <EmojiFood
142
        onClickEmoji={onClickEmoji}
143
        hidden={currentTab === emojiTabs.food}
144
      />
145
      <EmojiActivity
146
        onClickEmoji={onClickEmoji}
147
        hidden={currentTab === emojiTabs.activity}
148
      />
149
      <EmojiTravel
150
        onClickEmoji={onClickEmoji}
151
        hidden={currentTab === emojiTabs.travel}
152
      />
153
      <EmojiObjects
154
        onClickEmoji={onClickEmoji}
155
        hidden={currentTab === emojiTabs.objects}
156
      />
157
      <EmojiSymbols
158
        onClickEmoji={onClickEmoji}
159
        hidden={currentTab === emojiTabs.symbols}
160
      />
161
      <EmojiFlags
162
        onClickEmoji={onClickEmoji}
163
        hidden={currentTab === emojiTabs.flags}
164
      />
6947 stevensc 165
    </StyledEmojiContainer>
6911 stevensc 166
  )
167
}
168
 
169
export default Emojione