From 92387a2779c2798f922540aefb1f2c7d954ecef9 Mon Sep 17 00:00:00 2001 From: raduwen Date: Wed, 18 Aug 2021 20:29:18 +0900 Subject: [PATCH] feat: hidden checkbox --- .gitignore | 1 + src/components/TextWidget/editor.tsx | 23 ++++++++++++++++++++++- src/components/TextWidget/types.ts | 1 + src/components/TextWidget/widget.tsx | 4 ++-- src/components/TimeWidget/editor.tsx | 23 ++++++++++++++++++++++- src/components/TimeWidget/types.ts | 1 + src/components/TimeWidget/widget.tsx | 6 +++--- 7 files changed, 52 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index fff2bb14..dddbe73a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ node_modules dist dist-ssr *.local +.env diff --git a/src/components/TextWidget/editor.tsx b/src/components/TextWidget/editor.tsx index e1a7639a..cbbad6d3 100644 --- a/src/components/TextWidget/editor.tsx +++ b/src/components/TextWidget/editor.tsx @@ -1,7 +1,13 @@ import React, { Component } from 'react'; import { Property } from 'csstype'; import styled from 'styled-components'; -import { TextField, Button, Typography } from '@material-ui/core'; +import { + TextField, + Button, + Typography, + FormControlLabel, + Checkbox, +} from '@material-ui/core'; import { FirebaseDatabaseMutation } from '@react-firebase/database' import type { TextWidgetProps } from '@/components/TextWidget/types'; @@ -285,6 +291,21 @@ class TextWidgetEditor extends Component { value={this.state.position?.left} /> + + { + this.setState({ ...this.state, hidden: e.target.checked }); + }} + name="hidden" + color="primary" + /> + } + label="非表示" + /> + = ({ height, padding, position, + hidden, }) => { const edge = calcTextShadow(edgeWeight || 1, edgeColor || '#000000'); @@ -54,6 +55,7 @@ const TextWidget: VFC = ({ textShadow: edge, textAlign: textAlign || 'left', backgroundColor: backgroundColor || 'rgba(0,0,0,0.1)', + display: hidden ? 'none' : 'block', }; if (position?.top !== undefined) style.top = position.top; @@ -61,8 +63,6 @@ const TextWidget: VFC = ({ if (position?.bottom !== undefined) style.bottom = position.bottom; if (position?.left !== undefined) style.left = position.left; - console.log(style); - return
{text}
; }; diff --git a/src/components/TimeWidget/editor.tsx b/src/components/TimeWidget/editor.tsx index 8b219d74..686fddac 100644 --- a/src/components/TimeWidget/editor.tsx +++ b/src/components/TimeWidget/editor.tsx @@ -1,6 +1,12 @@ import React, { Component } from 'react'; import styled from 'styled-components'; -import { TextField, Button, Typography } from '@material-ui/core'; +import { + TextField, + Button, + Typography, + FormControlLabel, + Checkbox, +} from '@material-ui/core'; import { FirebaseDatabaseMutation } from '@react-firebase/database' import type { TimeWidgetProps } from './types'; @@ -45,6 +51,21 @@ class TimeWidgetEditor extends Component { value={this.state.size} /> + + { + this.setState({ ...this.state, hidden: e.target.checked }); + }} + name="hidden" + color="primary" + /> + } + label="非表示" + /> + { constructor(props: TimeWidgetProps) { super(props) this.state = { - time: new Date() + time: new Date(), }; } @@ -19,7 +19,7 @@ class TimeWidget extends React.Component { const { size } = this.props const style: CSSProperties = { - display: 'flex', + display: this.props.hidden ? 'none' : 'flex', justifyContent: 'center', alignItems: 'center', textAlign: 'center', @@ -33,7 +33,7 @@ class TimeWidget extends React.Component { background: 'rgba(0, 128, 128, 0.75)', transform: `translate(${size*1.25}px, ${size*2.4}px) rotate(-20deg)`, fontSize: `${size}px`, - fontWeight: 'bold' + fontWeight: 'bold', } return (