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

Добавили заметки в сайдбар (#126)

* added notes sidebar

* added note dropping and editing

* added sidebar navigation

* handling sidebarchanges over time

* using router back for closing sidebar

* fixed tripping inside single sidebar

* added superpowers toggle to sidebar

* user button opens sidebar now

* added profile cover for profile sidebar

* removed profile sidebar completely

* ran prettier over project

* added note not found error literal
This commit is contained in:
muerwre 2022-08-12 14:07:19 +07:00 committed by GitHub
parent fe3db608d6
commit 5d34090238
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
72 changed files with 1241 additions and 664 deletions

View file

@ -3,12 +3,12 @@ import { FC, useMemo } from 'react';
import { observer } from 'mobx-react-lite';
import { BorisGraphicStats } from '~/components/boris/BorisGraphicStats';
import { BorisSidebar } from '~/components/boris/BorisSidebar';
import { Superpower } from '~/components/boris/Superpower';
import { Card } from '~/components/containers/Card';
import { Group } from '~/components/containers/Group';
import { Sticky } from '~/components/containers/Sticky';
import { BorisComments } from '~/containers/boris/BorisComments';
import { BorisSidebar } from '~/containers/boris/BorisSidebar';
import { BorisSuperPowersSSR } from '~/containers/boris/BorisSuperpowers/ssr';
import { Container } from '~/containers/main/Container';
import { SidebarRouter } from '~/containers/main/SidebarRouter';
@ -19,71 +19,69 @@ import styles from './styles.module.scss';
type IProps = {
title: string;
setIsBetaTester: (val: boolean) => void;
isTester: boolean;
stats: BorisUsageStats;
isLoadingStats: boolean;
};
const BorisLayout: FC<IProps> = observer(
({ title, setIsBetaTester, isTester, stats, isLoadingStats }) => {
const { isUser } = useAuthProvider();
const commentsByMonth = useMemo(() => stats.backend.comments.by_month?.slice(0, -1), [
stats.backend.comments.by_month,
]);
const nodesByMonth = useMemo(() => stats.backend.nodes.by_month?.slice(0, -1), [
stats.backend.comments.by_month,
]);
const BorisLayout: FC<IProps> = observer(({ title, stats, isLoadingStats }) => {
const { isUser } = useAuthProvider();
const commentsByMonth = useMemo(
() => stats.backend.comments.by_month?.slice(0, -1),
[stats.backend.comments.by_month],
);
const nodesByMonth = useMemo(
() => stats.backend.nodes.by_month?.slice(0, -1),
[stats.backend.comments.by_month],
);
return (
<Container>
<div className={styles.wrap}>
<div className={styles.cover} />
return (
<Container>
<div className={styles.wrap}>
<div className={styles.cover} />
<div className={styles.image}>
<div className={styles.caption}>
<div className={styles.caption_text}>{title}</div>
</div>
<img src="/images/boris_robot.svg" alt="Борис" />
<div className={styles.image}>
<div className={styles.caption}>
<div className={styles.caption_text}>{title}</div>
</div>
<div className={styles.container}>
<Card className={styles.content}>
<Group>
<img src="/images/boris_robot.svg" alt="Борис" />
</div>
<div className={styles.container}>
<Card className={styles.content}>
<Group>
<div>
<Superpower>
<BorisSuperPowersSSR />
</Superpower>
</div>
<BorisGraphicStats
totalComments={stats.backend.comments.total}
commentsByMonth={commentsByMonth}
totalNodes={stats.backend.nodes.total}
nodesByMonth={nodesByMonth}
/>
<BorisGraphicStats
totalComments={stats.backend.comments.total}
commentsByMonth={commentsByMonth}
totalNodes={stats.backend.nodes.total}
nodesByMonth={nodesByMonth}
/>
<BorisComments />
</Group>
</Card>
<Group className={styles.stats}>
<Sticky>
<BorisSidebar
isTester={isTester}
stats={stats}
setBetaTester={setIsBetaTester}
isUser={isUser}
isLoading={isLoadingStats}
/>
</Sticky>
<BorisComments />
</Group>
</div>
</div>
</Card>
<SidebarRouter prefix="/" />
</Container>
);
}
);
<Group className={styles.stats}>
<Sticky>
<BorisSidebar
stats={stats}
isUser={isUser}
isLoading={isLoadingStats}
/>
</Sticky>
</Group>
</div>
</div>
<SidebarRouter prefix="/" />
</Container>
);
});
export { BorisLayout };