1
0
Fork 0
mirror of https://github.com/muerwre/vault-frontend.git synced 2025-04-25 21:06:42 +07:00

added sample settings page

This commit is contained in:
Fedor Katurov 2022-03-25 20:52:39 +07:00
parent 7a6a44cccf
commit 100c4c138a
29 changed files with 527 additions and 113 deletions

View file

@ -0,0 +1,70 @@
import React, { useState, VFC } from 'react';
import Masonry from 'react-masonry-css';
import { Card } from '~/components/containers/Card';
import { Filler } from '~/components/containers/Filler';
import { Group } from '~/components/containers/Group';
import { Padder } from '~/components/containers/Padder';
import { Button } from '~/components/input/Button';
import { Icon } from '~/components/input/Icon';
import { InputText } from '~/components/input/InputText';
import { Textarea } from '~/components/input/Textarea';
import { HorizontalMenu } from '~/components/menu/HorizontalMenu';
import styles from './styles.module.scss';
interface SettingsNotesProps {}
const breakpointCols = {
default: 2,
1280: 1,
};
const sampleNotes = [...new Array(40)].map((_, i) => (
<Card key={i} style={{ height: Math.random() * 400 + 50 }}>
{i}
</Card>
));
const SettingsNotes: VFC<SettingsNotesProps> = () => {
const [text, setText] = useState('');
return (
<div>
<Padder>
<Group horizontal>
<HorizontalMenu>
<HorizontalMenu.Item active>Новые</HorizontalMenu.Item>
<HorizontalMenu.Item>Старые</HorizontalMenu.Item>
</HorizontalMenu>
<Filler />
<InputText suffix={<Icon icon="search" size={24} />} />
</Group>
</Padder>
<Masonry
className={styles.wrap}
breakpointCols={breakpointCols}
columnClassName={styles.column}
>
<Card>
<Group>
<Textarea handler={setText} value={text} />
<Group horizontal>
<Filler />
<Button size="mini">Добавить</Button>
</Group>
</Group>
</Card>
{sampleNotes}
</Masonry>
</div>
);
};
export { SettingsNotes };

View file

@ -0,0 +1,27 @@
@import "src/styles/variables";
@import "src/styles/mixins";
div.wrap {
display: flex;
width: 100%;
margin-right: 0;
padding: $gap $gap * 0.5;
@include tablet {
padding: 0 $gap * 0.5;
}
}
.column {
background-clip: padding-box;
box-sizing: border-box;
padding: 0 $gap * 0.5;
@include tablet {
padding: 0;
}
& > div {
margin-bottom: $gap;
}
}