Rev 6948 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState } from 'react'
import { EmojiActivity } from './emojis/EmojiActivity'
import { EmojiFlags } from './emojis/EmojiFlags'
import { EmojiFood } from './emojis/EmojiFood'
import { EmojiNature } from './emojis/EmojiNature'
import { EmojiObjects } from './emojis/EmojiObjects'
import { EmojiPeople } from './emojis/EmojiPeople'
import { EmojiSymbols } from './emojis/EmojiSymbols'
import { EmojiTravel } from './emojis/EmojiTravel'
import styled from 'styled-components'
import { Tab, Tabs } from '@mui/material'
import EmojiEmotionsIcon from '@mui/icons-material/EmojiEmotions'
import LandscapeIcon from '@mui/icons-material/Landscape'
import RestaurantIcon from '@mui/icons-material/Restaurant'
import SportsBasketballIcon from '@mui/icons-material/SportsBasketball'
import TimeToLeaveIcon from '@mui/icons-material/TimeToLeave'
import EmojiObjectsIcon from '@mui/icons-material/EmojiObjects'
import FavoriteIcon from '@mui/icons-material/Favorite'
import FlagIcon from '@mui/icons-material/Flag'
const StyledEmojiContainer = styled.div`
background-color: var(--bg-color);
bottom: 100%;
left: 0;
position: absolute;
width: 100%;
height: 200px;
transform: translateZ(0);
transform-origin: bottom;
overflow: hidden;
.smiley-panel-body {
background: #fff;
border-top: 1px solid var(--border-primary);
box-sizing: border-box;
height: 160px;
padding: 10px 0;
overflow: auto;
width: 100%;
.e1 {
cursor: pointer;
}
}
`
const StyledEmojiTabs = styled(Tabs)`
min-height: auto !important;
border-bottom: 1px solid #f7fafc;
border-top: 1px solid #f7fafc;
background: #f9f9f9;
display: flex;
align-items: center;
.MuiTabs-indicator {
background-color: var(--font-color);
}
`
const StyledTab = styled(Tab)`
flex-grow: 1;
color: var(--subtitle-color) !important;
font-weight: bold !important;
padding: 0.5rem 1rem !important;
min-height: auto !important;
&.Mui-selected {
color: var(--font-color) !important;
}
`
const Emojione = ({ onClickEmoji }) => {
const [currentTab, setCurrentTab] = useState('people')
const emojiTabs = {
activity: 'activity',
flags: 'flags',
food: 'food',
nature: 'nature',
objects: 'objects',
people: 'people',
symbols: 'symbols',
travel: 'travel',
}
const handleChangeTab = (tabToChange) => {
setCurrentTab(tabToChange)
}
return (
<StyledEmojiContainer>
<StyledEmojiTabs
value={currentTab}
onChange={(e, newValue) => handleChangeTab(newValue)}
>
<StyledTab
value={emojiTabs.people}
icon={<EmojiEmotionsIcon />}
disableRipple
/>
<StyledTab
value={emojiTabs.nature}
icon={<LandscapeIcon />}
disableRipple
/>
<StyledTab
value={emojiTabs.food}
icon={<RestaurantIcon />}
disableRipple
/>
<StyledTab
value={emojiTabs.activity}
icon={<SportsBasketballIcon />}
disableRipple
/>
<StyledTab
value={emojiTabs.travel}
icon={<TimeToLeaveIcon />}
disableRipple
/>
<StyledTab
value={emojiTabs.objects}
icon={<EmojiObjectsIcon />}
disableRipple
/>
<StyledTab
value={emojiTabs.symbols}
icon={<FavoriteIcon />}
disableRipple
/>
<StyledTab value={emojiTabs.flags} icon={<FlagIcon />} disableRipple />
</StyledEmojiTabs>
<EmojiPeople
onClickEmoji={onClickEmoji}
hidden={currentTab === emojiTabs.people}
/>
<EmojiNature
onClickEmoji={onClickEmoji}
hidden={currentTab === emojiTabs.nature}
/>
<EmojiFood
onClickEmoji={onClickEmoji}
hidden={currentTab === emojiTabs.food}
/>
<EmojiActivity
onClickEmoji={onClickEmoji}
hidden={currentTab === emojiTabs.activity}
/>
<EmojiTravel
onClickEmoji={onClickEmoji}
hidden={currentTab === emojiTabs.travel}
/>
<EmojiObjects
onClickEmoji={onClickEmoji}
hidden={currentTab === emojiTabs.objects}
/>
<EmojiSymbols
onClickEmoji={onClickEmoji}
hidden={currentTab === emojiTabs.symbols}
/>
<EmojiFlags
onClickEmoji={onClickEmoji}
hidden={currentTab === emojiTabs.flags}
/>
</StyledEmojiContainer>
)
}
export default Emojione