mirror of
https://github.com/muerwre/vault-frontend.git
synced 2025-05-04 00:56:40 +07:00
added sidebar router
This commit is contained in:
parent
8a4709103b
commit
8a71d3d462
18 changed files with 166 additions and 108 deletions
|
@ -1,11 +1,9 @@
|
|||
import React, { FC, useState } from 'react';
|
||||
import { FC, useState } from 'react';
|
||||
|
||||
import { Card } from '~/components/containers/Card';
|
||||
import { Group } from '~/components/containers/Group';
|
||||
import { Button } from '~/components/input/Button';
|
||||
import { InputText } from '~/components/input/InputText';
|
||||
import { Dialog } from '~/constants/modal';
|
||||
import { useShowModal } from '~/hooks/modal/useShowModal';
|
||||
import markdown from '~/styles/common/markdown.module.scss';
|
||||
|
||||
import styles from './styles.module.scss';
|
||||
|
@ -14,7 +12,6 @@ interface IProps {}
|
|||
|
||||
const BorisUIDemo: FC<IProps> = () => {
|
||||
const [text, setText] = useState('');
|
||||
const openProfileSidebar = useShowModal(Dialog.ProfileSidebar);
|
||||
|
||||
return (
|
||||
<Card className={styles.card}>
|
||||
|
@ -25,9 +22,6 @@ const BorisUIDemo: FC<IProps> = () => {
|
|||
разработке
|
||||
</p>
|
||||
|
||||
<h2>Тестовые фичи</h2>
|
||||
<Button onClick={() => openProfileSidebar({})}>Профиль в сайдбаре</Button>
|
||||
|
||||
<h2>Инпуты</h2>
|
||||
|
||||
<form autoComplete="off">
|
||||
|
|
|
@ -17,11 +17,11 @@ const NodeTags: FC<IProps> = memo(
|
|||
return (
|
||||
<Tags
|
||||
tags={tags}
|
||||
is_editable={is_editable}
|
||||
editable={is_editable}
|
||||
onTagsChange={onChange}
|
||||
onTagClick={onTagClick}
|
||||
onTagDelete={onTagDelete}
|
||||
is_deletable={is_deletable}
|
||||
deletable={is_deletable}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ interface IProps {
|
|||
}
|
||||
|
||||
const NodeTagsPlaceholder: FC<IProps> = memo(({ is_editable, tags, onChange }) => (
|
||||
<Tags tags={tags} is_editable={is_editable} onTagsChange={onChange} />
|
||||
<Tags tags={tags} editable={is_editable} onTagsChange={onChange} />
|
||||
));
|
||||
|
||||
export { NodeTagsPlaceholder };
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import React, { VFC } from 'react';
|
||||
import { VFC } from 'react';
|
||||
|
||||
import Link from 'next/link';
|
||||
|
||||
|
@ -8,7 +8,6 @@ import { Button } from '~/components/input/Button';
|
|||
import { VerticalMenu } from '~/components/menu/VerticalMenu';
|
||||
import { URLS } from '~/constants/urls';
|
||||
import { ProfileSidebarHead } from '~/containers/profile/ProfileSidebarHead';
|
||||
import { ProfileStats } from '~/containers/profile/ProfileStats';
|
||||
|
||||
import styles from './styles.module.scss';
|
||||
|
||||
|
@ -18,8 +17,6 @@ const SettingsMenu: VFC<SettingsMenuProps> = () => (
|
|||
<Group>
|
||||
<ProfileSidebarHead />
|
||||
|
||||
<br />
|
||||
|
||||
<Group>
|
||||
<VerticalMenu className={styles.menu}>
|
||||
<Link href={URLS.SETTINGS.BASE} passHref>
|
||||
|
@ -35,10 +32,6 @@ const SettingsMenu: VFC<SettingsMenuProps> = () => (
|
|||
</Link>
|
||||
</VerticalMenu>
|
||||
|
||||
<div className={styles.stats}>
|
||||
<ProfileStats />
|
||||
</div>
|
||||
|
||||
<Group horizontal>
|
||||
<Filler />
|
||||
|
||||
|
|
|
@ -13,9 +13,9 @@ interface IProps {
|
|||
tag: Partial<ITag>;
|
||||
size?: 'normal' | 'big';
|
||||
|
||||
is_deletable?: boolean;
|
||||
is_hoverable?: boolean;
|
||||
is_editing?: boolean;
|
||||
deletable?: boolean;
|
||||
hoverable?: boolean;
|
||||
editing?: boolean;
|
||||
|
||||
onBlur?: FocusEventHandler<HTMLInputElement>;
|
||||
onClick?: (tag: Partial<ITag>) => void;
|
||||
|
@ -24,9 +24,9 @@ interface IProps {
|
|||
|
||||
const Tag: FC<IProps> = ({
|
||||
tag,
|
||||
is_deletable,
|
||||
is_hoverable,
|
||||
is_editing,
|
||||
deletable: deletable,
|
||||
hoverable: hoverable,
|
||||
editing: editing,
|
||||
size = 'normal',
|
||||
onClick,
|
||||
onDelete,
|
||||
|
@ -48,9 +48,9 @@ const Tag: FC<IProps> = ({
|
|||
<TagWrapper
|
||||
feature={getTagFeature(tag)}
|
||||
size={size}
|
||||
is_deletable={is_deletable}
|
||||
is_hoverable={is_hoverable}
|
||||
is_editing={is_editing}
|
||||
deletable={deletable}
|
||||
hoverable={hoverable}
|
||||
editing={editing}
|
||||
onClick={onClick && onClickHandler}
|
||||
onDelete={onDeleteHandler}
|
||||
title={tag.title}
|
||||
|
|
|
@ -9,10 +9,10 @@ import styles from './styles.module.scss';
|
|||
interface IProps {
|
||||
feature?: string;
|
||||
size?: string;
|
||||
is_deletable?: boolean;
|
||||
is_hoverable?: boolean;
|
||||
is_editing?: boolean;
|
||||
has_input?: boolean;
|
||||
deletable?: boolean;
|
||||
hoverable?: boolean;
|
||||
editing?: boolean;
|
||||
hasInput?: boolean;
|
||||
onClick?: () => void;
|
||||
onDelete?: () => void;
|
||||
title?: string;
|
||||
|
@ -22,15 +22,15 @@ const TagWrapper: FC<IProps> = ({
|
|||
children,
|
||||
feature,
|
||||
size,
|
||||
is_deletable,
|
||||
is_hoverable,
|
||||
is_editing,
|
||||
has_input,
|
||||
deletable,
|
||||
hoverable,
|
||||
editing,
|
||||
hasInput,
|
||||
onClick,
|
||||
onDelete,
|
||||
title = '',
|
||||
}) => {
|
||||
const deletable = is_deletable && !is_editing && !has_input;
|
||||
const canBeDeleted = deletable && !editing && !hasInput;
|
||||
const onDeletePress = useCallback(
|
||||
event => {
|
||||
if (!onDelete) {
|
||||
|
@ -46,10 +46,10 @@ const TagWrapper: FC<IProps> = ({
|
|||
return (
|
||||
<div
|
||||
className={classNames(styles.tag, feature, size, {
|
||||
is_hoverable,
|
||||
is_editing,
|
||||
deletable,
|
||||
input: has_input,
|
||||
is_hoverable: hoverable,
|
||||
is_editing: editing,
|
||||
deletable: canBeDeleted,
|
||||
input: hasInput,
|
||||
clickable: onClick,
|
||||
})}
|
||||
onClick={onClick}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue