Rev 611 | Rev 616 | 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: 0.5rem 0;}h2 {font-size: 1rem;}@media ${device.tablet} {border-radius: var(--border-radius);}`;const LayoutHeader = styled.div`display: flex;gap: 0.5rem;padding: 5px 1rem;align-items: center;justify-content: space-between;position: relative;`;const LayoutBody = styled.div`padding: 5px 1rem;display: flex;flex-direction: column;`;const HeaderInfo = styled.div`align-items: center;display: inline-flex;gap: 0.5rem;width: fit-content;`;const LayoutActions = styled.div`display: flex;justify-content: space-around;border-top: 1px solid rgb(211, 211, 211);padding: 5px 0;& > button {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 = "", children, ...rest }) => {return (<LayoutHeader {...rest}><HeaderInfo>{image && (<Avatarsrc={image}alt={`${title} profile image`}sx={{ width: "50px", height: "50px" }}/>)}{title ? (<Link to={url}><h2>{title}</h2></Link>) : null}</HeaderInfo>{children}</LayoutHeader>);};StyledContainer.Actions = Actions;StyledContainer.Header = Header;StyledContainer.Body = Body;export default StyledContainer;