Rev 656 | Rev 849 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react'import styled from 'styled-components'import { device } from '../../styles/MediaQueries'import { Avatar } from '@mui/material'import { Link } from 'react-router-dom'const LayoutContainer = styled.div`background-color: var(--bg-color);box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08);height: fit-content;width: -moz-available;width: -webkit-fill-available;width: fill-available;overflow: hidden;position: relative;span {font-size: 0.9rem;}p {color: var(--font-color);font-size: 14px;text-align: justify;margin-bottom: 0.5rem;}h2 {font-size: 1rem;}@media ${device.tablet} {border-radius: var(--border-radius);}`const LayoutHeader = styled.div`display: flex;gap: 0.5rem;padding: 10px 1rem;align-items: center;justify-content: space-between;position: relative;`const LayoutBody = styled.div`padding: 10px 1rem;display: flex;flex-direction: column;`const HeaderInfo = styled.div`align-items: center;display: inline-flex;gap: 0.5rem;width: fit-content;`const HeaderContent = styled.div`display: flex;flex-direction: column;`const LayoutActions = styled.div`display: flex;justify-content: space-around;border-top: 1px solid rgb(211, 211, 211);padding: 5px;& > button,& > a {align-items: center;border-radius: var(--border-radius);cursor: pointer;display: inline-flex;flex-direction: column;font-size: 0.9rem;padding: 5px;position: relative;&:hover {background-color: whitesmoke;}@media ${device.tablet} {flex-direction: row;gap: 0.5rem;font-size: 1rem;}}`const StyledContainer = ({ children, ...rest }) => {return <LayoutContainer {...rest}>{children}</LayoutContainer>}const Actions = ({ children, ...rest }) => {return <LayoutActions {...rest}>{children}</LayoutActions>}const Body = ({ children, ...rest }) => {return <LayoutBody {...rest}>{children}</LayoutBody>}const Header = ({image = '',title = '',url = '',timeElapsed = '',children,...rest}) => {return (<LayoutHeader {...rest}><HeaderInfo>{image && (<Avatarsrc={image}alt={`${title} profile image`}sx={{ width: '50px', height: '50px' }}/>)}<HeaderContent>{url ? (<Link to={url}><h2>{title}</h2></Link>) : (<h2>{title}</h2>)}{timeElapsed && <span>{timeElapsed}</span>}</HeaderContent></HeaderInfo>{children}</LayoutHeader>)}StyledContainer.Actions = ActionsStyledContainer.Header = HeaderStyledContainer.Body = Bodyexport default StyledContainer