JS-файлы React переименованы в формат JSX

Этот коммит содержится в:
Глеб Иваницкий 2024-08-18 10:14:51 +03:00
родитель eeb55c04ba
Коммит dead15033c
15 изменённых файлов: 73 добавлений и 36 удалений

Просмотреть файл

Просмотреть файл

@ -8,12 +8,12 @@ import './FullScreenDialog.css'
import React from "react"; import React from "react";
const floatingActionButton = ( const floatingActionButton = (
<md-fab> <md-fab label="Добавить сообщение">
<md-icon slot="icon">add</md-icon> <md-icon slot="icon">add</md-icon>
</md-fab> </md-fab>
) )
export default function ({ export default function FullScreenDialog({
setEditPoll, setEditPoll,
classList, classList,
children, children,

Просмотреть файл

@ -13,6 +13,7 @@
.scaffold > .content { .scaffold > .content {
flex-grow: 1; flex-grow: 1;
flex-shrink: 1; flex-shrink: 1;
padding-bottom: 8rem !important;
overflow-y: auto; overflow-y: auto;
} }

Просмотреть файл

Просмотреть файл

@ -1,39 +1,40 @@
label, .poll-edit .content label,
.messages-title, .poll-edit .content .messages-title,
.title { .poll-edit .content .title {
color: var(--md-sys-color-on-surface); color: var(--md-sys-color-on-surface);
} }
label { .poll-edit .content label {
display: flex; display: flex;
align-items: center; align-items: center;
margin: 0;
} }
.messages-title { .poll-edit .content .messages-title {
margin: 1rem 0; margin: 1rem 0;
} }
.title:not(:first-child) { .poll-edit .content .title:not(:first-child) {
margin-top: 1rem; margin-top: 1rem;
} }
.poll-options { .poll-edit .content .poll-options {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.poll-options > .poll-option { .poll-edit .content .poll-options > .poll-option {
flex-shrink: 0; flex-shrink: 0;
display: flex; display: flex;
align-items: center; align-items: center;
} }
.poll-options > .poll-option > .option-text { .poll-edit .content .poll-options > .poll-option > .option-text {
flex-grow: 1; flex-grow: 1;
flex-shrink: 1; flex-shrink: 1;
} }
.poll-options > .poll-option > .option-action { .poll-edit .content .poll-options > .poll-option > .option-action {
flex-shrink: 0; flex-shrink: 0;
margin-left: 1rem; margin-left: 1rem;
} }

Просмотреть файл

@ -4,7 +4,7 @@ import '@material/web/fab/fab'
import '@material/web/icon/icon' import '@material/web/icon/icon'
import '@material/web/select/outlined-select' import '@material/web/select/outlined-select'
import '@material/web/select/select-option' import '@material/web/select/select-option'
import '@material/web/iconbutton/filled-icon-button' import '@material/web/iconbutton/icon-button'
import '@material/web/checkbox/checkbox' import '@material/web/checkbox/checkbox'
import PollListItem from '../components/PollListItem' import PollListItem from '../components/PollListItem'
@ -18,7 +18,7 @@ const PollContext = React.createContext({
fetchPolls: () => {}, fetchPolls: () => {},
}) })
const apiUrl = new URL(location) const apiUrl = new URL(window.location)
apiUrl.pathname = '/api/polls' apiUrl.pathname = '/api/polls'
export default function PollsScreen() { export default function PollsScreen() {
@ -58,12 +58,13 @@ export default function PollsScreen() {
</md-list> </md-list>
<FullScreenDialog <FullScreenDialog
setEditPoll={setEditPoll} classList={`poll-edit ${editPoll ? 'open' : 'close'}`}
classList={editPoll ? 'open' : 'close'}> setEditPoll={setEditPoll}>
<md-outlined-text-field <md-outlined-text-field
label="Название" label="Название"
value={editPoll ? editPoll.name : ''} value={editPoll ? editPoll.name : ''}
supporting-text="Отображается в списке опросов"
required="required"> required="required">
<md-icon slot="leading-icon">title</md-icon> <md-icon slot="leading-icon">title</md-icon>
</md-outlined-text-field> </md-outlined-text-field>
@ -108,7 +109,43 @@ export default function PollsScreen() {
<Card> <Card>
<div className="title md-typescale-title-small">Сообщение 1</div> <div className="title md-typescale-title-small">Общее</div>
<md-outlined-text-field
label="Название"
value=""
supporting-text="Позволяет идентифицировать сообщение"
required="required">
<md-icon slot="leading-icon">title</md-icon>
</md-outlined-text-field>
<md-outlined-text-field
label="Время начала"
value=""
supporting-text="Время отправки сообщения"
required="required">
<md-icon slot="leading-icon">title</md-icon>
</md-outlined-text-field>
<md-outlined-text-field
label="Время окончания"
value=""
supporting-text="Время прекращения обработки событий"
required="required">
<md-icon slot="leading-icon">title</md-icon>
</md-outlined-text-field>
<div>
<label className="md-typescale-body-large">
<md-checkbox touch-target="wrapper"></md-checkbox>
Не отправлять уведомление
</label>
<label className="md-typescale-body-large">
<md-checkbox touch-target="wrapper"></md-checkbox>
Удалить после окончания
</label>
</div>
<md-outlined-select label="Тип" value="poll" required="required"> <md-outlined-select label="Тип" value="poll" required="required">
@ -140,6 +177,8 @@ export default function PollsScreen() {
</md-outlined-select> </md-outlined-select>
<div className="title md-typescale-title-small">Опрос</div>
<md-outlined-text-field <md-outlined-text-field
label="Вопрос" label="Вопрос"
value="" value=""
@ -147,7 +186,7 @@ export default function PollsScreen() {
<md-icon slot="leading-icon">contact_support</md-icon> <md-icon slot="leading-icon">contact_support</md-icon>
</md-outlined-text-field> </md-outlined-text-field>
<div className="title md-typescale-title-small">Варианты ответа</div> <div className="title md-typescale-label-medium">Варианты ответа</div>
<div className="poll-options"> <div className="poll-options">
@ -156,17 +195,17 @@ export default function PollsScreen() {
class="option-text" class="option-text"
label="Добавить ответ" label="Добавить ответ"
value="" value=""
required="required" /> required="required"/>
<md-filled-icon-button class="option-action"> <md-icon-button class="option-action">
<md-icon>arrow_forward</md-icon> <md-icon>adjust</md-icon>
</md-filled-icon-button> </md-icon-button>
</div> </div>
</div> </div>
<div className="title md-typescale-title-small">Настройки</div> <div className="title md-typescale-title-small">Настройки</div>
<div>
<label className="md-typescale-body-large"> <label className="md-typescale-body-large">
<md-checkbox touch-target="wrapper"></md-checkbox> <md-checkbox touch-target="wrapper"></md-checkbox>
Анонимное голосование Анонимное голосование
@ -176,11 +215,7 @@ export default function PollsScreen() {
<md-checkbox touch-target="wrapper"></md-checkbox> <md-checkbox touch-target="wrapper"></md-checkbox>
Выбор нескольких ответов Выбор нескольких ответов
</label> </label>
</div>
<label className="md-typescale-body-large">
<md-checkbox touch-target="wrapper"></md-checkbox>
Не уведомлять получателей
</label>
</Card> </Card>