Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6947 | Ir a la última revisión | | 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'
6911 stevensc 15
 
6947 stevensc 16
const StyledEmojiContainer = styled.div`
17
  background-color: var(--bg-color);
18
  bottom: 100%;
19
  left: 0;
20
  position: absolute;
21
  width: 100%;
22
  height: 200px;
23
  transform: translateZ(0);
24
  transform-origin: bottom;
25
  overflow: hidden;
6948 stevensc 26
 
27
  .smiley-panel-body {
28
    background: #fff;
29
    border-top: 1px solid var(--border-primary);
30
    box-sizing: border-box;
31
    height: 160px;
32
    padding: 10px 0;
33
    overflow: auto;
34
    width: 100%;
35
 
36
    .e1 {
37
      cursor: pointer;
38
    }
39
  }
6947 stevensc 40
`
41
 
6948 stevensc 42
const StyledEmojiTabs = styled(Tabs)`
43
  min-height: auto !important;
6947 stevensc 44
  border-bottom: 1px solid #f7fafc;
45
  border-top: 1px solid #f7fafc;
46
  background: #f9f9f9;
47
  display: flex;
48
  align-items: center;
49
 
6948 stevensc 50
  .MuiTabs-indicator {
51
    background-color: var(--font-color);
6947 stevensc 52
  }
53
`
54
 
6948 stevensc 55
const StyledTab = styled(Tab)`
56
  flex-grow: 1;
57
  color: var(--subtitle-color) !important;
58
  font-weight: bold !important;
59
  padding: 0.5rem 1rem !important;
60
  min-height: auto !important;
61
  &.Mui-selected {
62
    color: var(--font-color) !important;
63
  }
64
`
65
 
6911 stevensc 66
const Emojione = ({ onClickEmoji }) => {
67
  const [currentTab, setCurrentTab] = useState('people')
68
 
69
  const emojiTabs = {
70
    activity: 'activity',
71
    flags: 'flags',
72
    food: 'food',
73
    nature: 'nature',
74
    objects: 'objects',
75
    people: 'people',
76
    symbols: 'symbols',
77
    travel: 'travel',
78
  }
79
 
80
  const handleChangeTab = (tabToChange) => {
81
    setCurrentTab(tabToChange)
82
  }
83
 
84
  return (
6947 stevensc 85
    <StyledEmojiContainer>
6948 stevensc 86
      <StyledEmojiTabs
87
        value={currentTab}
88
        onChange={(e, newValue) => handleChangeTab(newValue)}
89
      >
90
        <StyledTab
91
          value={emojiTabs.people}
92
          icon={<EmojiEmotionsIcon />}
93
          disableRipple
94
        />
95
        <StyledTab
96
          value={emojiTabs.nature}
97
          icon={<LandscapeIcon />}
98
          disableRipple
99
        />
100
        <StyledTab
101
          value={emojiTabs.food}
102
          icon={<RestaurantIcon />}
103
          disableRipple
104
        />
105
 
106
        {/*   <li
6947 stevensc 107
          className={`menu-item ${
108
            currentTab === emojiTabs.activity ? 'active' : ''
109
          }`}
110
        >
111
          <a onClick={() => handleChangeTab(emojiTabs.activity)}>
112
            <i className="ti-basketball"></i>
113
          </a>
114
        </li>
115
        <li
116
          className={`menu-item ${
117
            currentTab === emojiTabs.travel ? 'active' : ''
118
          }`}
119
        >
120
          <a onClick={() => handleChangeTab(emojiTabs.travel)}>
121
            <i className="fa fa-car"></i>
122
          </a>
123
        </li>
124
        <li
125
          className={`menu-item ${
126
            currentTab === emojiTabs.objects ? 'active' : ''
127
          }`}
128
        >
129
          <a onClick={() => handleChangeTab(emojiTabs.objects)}>
130
            <i className="ti-light-bulb"></i>
131
          </a>
132
        </li>
133
        <li
134
          className={`menu-item ${
135
            currentTab === emojiTabs.symbols ? 'active' : ''
136
          }`}
137
        >
138
          <a onClick={() => handleChangeTab(emojiTabs.symbols)}>
139
            <i className="ti-heart"></i>
140
          </a>
141
        </li>
142
        <li
143
          className={`menu-item ${
144
            currentTab === emojiTabs.flags ? 'active' : ''
145
          }`}
146
        >
147
          <a onClick={() => handleChangeTab(emojiTabs.flags)}>
148
            <i className="ti-flag-alt"></i>
149
          </a>
6948 stevensc 150
        </li> */}
6947 stevensc 151
      </StyledEmojiTabs>
152
 
6911 stevensc 153
      <EmojiPeople
154
        onClickEmoji={onClickEmoji}
155
        hidden={currentTab === emojiTabs.people}
156
      />
157
      <EmojiNature
158
        onClickEmoji={onClickEmoji}
159
        hidden={currentTab === emojiTabs.nature}
160
      />
161
      <EmojiFood
162
        onClickEmoji={onClickEmoji}
163
        hidden={currentTab === emojiTabs.food}
164
      />
165
      <EmojiActivity
166
        onClickEmoji={onClickEmoji}
167
        hidden={currentTab === emojiTabs.activity}
168
      />
169
      <EmojiTravel
170
        onClickEmoji={onClickEmoji}
171
        hidden={currentTab === emojiTabs.travel}
172
      />
173
      <EmojiObjects
174
        onClickEmoji={onClickEmoji}
175
        hidden={currentTab === emojiTabs.objects}
176
      />
177
      <EmojiSymbols
178
        onClickEmoji={onClickEmoji}
179
        hidden={currentTab === emojiTabs.symbols}
180
      />
181
      <EmojiFlags
182
        onClickEmoji={onClickEmoji}
183
        hidden={currentTab === emojiTabs.flags}
184
      />
6947 stevensc 185
    </StyledEmojiContainer>
6911 stevensc 186
  )
187
}
188
 
189
export default Emojione