Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 532 | Rev 535 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
5 stevensc 1
import React from 'react'
530 stevensc 2
import styled from 'styled-components'
3
import { device } from '../../styles/MediaQueries'
534 stevensc 4
import { Avatar } from '@mui/material'
5 stevensc 5
 
531 stevensc 6
const LayoutContainer = styled.div`
530 stevensc 7
  background-color: var(--bg-color);
8
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.08);
5 stevensc 9
  height: fit-content;
530 stevensc 10
  width: -moz-available;
11
  width: -webkit-fill-available;
12
  width: fill-available;
13
  p {
14
    color: var(--font-color);
15
    font-size: 14px;
16
    text-align: justify;
5 stevensc 17
  }
531 stevensc 18
  span {
19
    font-size: 0.9rem;
20
  }
530 stevensc 21
  @media ${device.tablet} {
22
    border-radius: var(--border-radius);
23
  }
5 stevensc 24
`
25
 
532 stevensc 26
const LayoutHeader = styled.div`
27
  display: flex;
28
  gap: 0.5rem;
29
  padding: 5px 1rem;
30
  align-items: center;
31
  position: relative;
32
`
33
 
534 stevensc 34
const HeaderInfo = styled.div`
35
  align-items: center;
36
  display: inline-flex;
37
  gap: 0.5rem;
38
  width: fit-content;
39
`
40
 
531 stevensc 41
const LayoutActions = styled.div`
42
  display: flex;
532 stevensc 43
  justify-content: space-around;
531 stevensc 44
  border-top: 1px solid rgb(211, 211, 211);
532 stevensc 45
  padding: 5px 0;
531 stevensc 46
  & > button {
47
    align-items: center;
48
    border-radius: var(--border-radius);
49
    cursor: pointer;
50
    display: inline-flex;
51
    flex-direction: column;
52
    font-size: 0.9rem;
53
    padding: 5px;
54
    position: relative;
55
    &:hover {
56
      background-color: whitesmoke;
57
    }
58
    @media ${device.tablet} {
59
      flex-direction: row;
60
      gap: 0.5rem;
61
      font-size: 1rem;
62
    }
63
  }
64
`
65
 
66
const StyledContainer = ({ children, ...rest }) => {
67
  return <LayoutContainer {...rest}>{children}</LayoutContainer>
5 stevensc 68
}
69
 
531 stevensc 70
const Actions = ({ children, ...rest }) => {
71
  return <LayoutActions {...rest}>{children}</LayoutActions>
72
}
73
 
534 stevensc 74
const Header = ({ image, title, children, ...rest }) => {
75
  return (
76
    <LayoutHeader {...rest}>
77
      <HeaderInfo>
78
        {image && (
79
          <Avatar
80
            src={image}
81
            alt={`${title} profile image`}
82
            sx={{ width: '50px', height: '50px' }}
83
          />
84
        )}
85
        {title && <h2>{title}</h2>}
86
      </HeaderInfo>
87
      {children}
88
    </LayoutHeader>
89
  )
532 stevensc 90
}
91
 
531 stevensc 92
StyledContainer.Actions = Actions
532 stevensc 93
StyledContainer.Header = Header
531 stevensc 94
 
95
export default StyledContainer