Merge branch 'feature/buttonGroup' into 'dev'

Feature/button group

See merge request kluppsoftware/smart-energia-web!32
This commit is contained in:
José Corte 2022-05-12 12:58:44 +00:00
commit f45110aed1
5 changed files with 72 additions and 22 deletions

View File

@ -2,7 +2,11 @@ import React from 'react';
import Header from '../src/components/header/Header';
import PageTitle from '../src/components/pageTitle/PageTitle';
import BasicButton from '../src/components/buttons/basicButton/BasicButton';
import { TableView, Pagination } from '../styles/layouts/ResumoOperacao/ResumoOperacaoView';
import Header from '../src/components/header/Header';
import PageTitle from '../src/components/pageTitle/PageTitle';
import Sidebar from '../src/components/sidebar/Sidebar';
import { TableView } from '../styles/layouts/ResumoOperacao/ResumoOperacaoView';
export default function ResumoOperacao() {
return(

View File

@ -45,8 +45,4 @@ export const BannerView = styled.div`
@media (max-width: 1008px) {
font-size: 170%;
}
`

View File

@ -0,0 +1,39 @@
import React from 'react'
import ToggleButton from '@mui/material/ToggleButton';
import ToggleButtonGroup from '@mui/material/ToggleButtonGroup';
import { ButtonGroupView } from './ButtonGroupView';
export default function ButtonGroup() {
const [timeCourse, setTimeCourse] = React.useState<string | null>('Mensal');
const handleAlignment = (
event: React.MouseEvent<HTMLElement>,
newTimeCourse: string | null,
) => {
setTimeCourse(newTimeCourse);
};
return (
<ButtonGroupView timeCourse={timeCourse} >
<ToggleButtonGroup
value={timeCourse}
exclusive
onChange={handleAlignment}
aria-label="time course"
className='groupButton'
style={{backgroundColor: 'transparent'}}
>
<div className='switch' />
<ToggleButton value="Mensal" aria-label="Mensal" style={{backgroundColor: 'transparent', minWidth: '90px', border: 'none'}}>
Mensal
</ToggleButton>
<ToggleButton value="Semanal" aria-label="Semanal" style={{backgroundColor: 'transparent', minWidth: '90px', border: 'none'}}>
Semanal
</ToggleButton>
<ToggleButton value="Hoje" aria-label="Hoje" style={{backgroundColor: 'transparent', minWidth: '90px', border: 'none'}}>
Hoje
</ToggleButton>
</ToggleButtonGroup>
</ButtonGroupView>
)
}

View File

@ -0,0 +1,26 @@
import { ButtonBaseClassKey } from "@mui/material";
import styled from "styled-components";
interface ButtonGroupViewInterface {
timeCourse: string | any;
}
export const ButtonGroupView = styled.div<ButtonGroupViewInterface>`
background-color: #F4F5F9;
border-radius: 10px;
.switch {
position: absolute;
width: 85px;
height: 40px;
margin-top: 3.5px;
transform: translateX(${props => props.timeCourse=='Mensal'? '4px' : props.timeCourse=='Semanal'? '94px' : '181px'});
transition-duration: 0.5s;
transition-delay: 0s;
border-radius: 8px;
background: #fff;
}
`

View File

@ -6,6 +6,7 @@ import ToggleButtonGroup from '@mui/material/ToggleButtonGroup';
import { ChartCardView } from './ChartCardView';
import Chart from '../Chart';
import ButtonGroup from '../../buttonGroup/ButtonGroup';
interface ChartCardInterface {
title: string,
@ -32,23 +33,7 @@ export default function ChartCard({ title, subtitle, consumption, className }: C
<h2>{title}</h2>
<span>{subtitle}</span>
</div>
<ToggleButtonGroup
value={timeCourse}
exclusive
onChange={handleAlignment}
aria-label="text alignment"
className='groupButton'
>
<ToggleButton value="left" aria-label="left aligned">
Mensal
</ToggleButton>
<ToggleButton value="center" aria-label="centered">
Semanal
</ToggleButton>
<ToggleButton value="right" aria-label="right aligned">
Hoje
</ToggleButton>
</ToggleButtonGroup>
<ButtonGroup />
</div>
{
consumption?