Added sidebar navigation & pages
parent
db176c1b56
commit
757f255820
|
|
@ -1,29 +1,46 @@
|
||||||
import { VscAdd, VscCircuitBoard, VscCode, VscSettingsGear, VscSourceControl, VscTerminal } from "react-icons/vsc";
|
import {
|
||||||
|
VscCircuitBoard,
|
||||||
|
VscCode,
|
||||||
|
VscSettingsGear,
|
||||||
|
VscSourceControl,
|
||||||
|
VscTerminal,
|
||||||
|
} from "react-icons/vsc";
|
||||||
import { ReactElement, ReactNode } from "react";
|
import { ReactElement, ReactNode } from "react";
|
||||||
|
import ActiveLink from "../Navigation/ActiveLink";
|
||||||
|
|
||||||
const SideBar = () => {
|
const SideBar = () => {
|
||||||
return (
|
return (
|
||||||
<div className="sidebar">
|
<div className="sidebar">
|
||||||
<SideBarIcon
|
<ActiveLink href="/board" activeClassName="sidebar-icon-active" shallow>
|
||||||
tooltipText="Настройка Платы"
|
<SideBarIcon
|
||||||
icon={<VscCircuitBoard size={40} />}
|
tooltipText="Настройка Платы"
|
||||||
/>
|
icon={<VscCircuitBoard size={40} />}
|
||||||
<SideBarIcon
|
/>
|
||||||
tooltipText="No Code"
|
</ActiveLink>
|
||||||
icon={<VscSourceControl size={40} />}
|
<ActiveLink href="/flow" activeClassName="sidebar-icon-active" shallow>
|
||||||
/>
|
<SideBarIcon
|
||||||
<SideBarIcon
|
tooltipText="Визуальная среда"
|
||||||
tooltipText="Advence"
|
icon={<VscSourceControl size={40} />}
|
||||||
icon={<VscCode size={40} />}
|
/>
|
||||||
/>
|
</ActiveLink>
|
||||||
<SideBarIcon
|
<ActiveLink href="/editor" activeClassName="sidebar-icon-active" shallow>
|
||||||
tooltipText="Terminal"
|
<SideBarIcon tooltipText="Редактор кода" icon={<VscCode size={40} />} />
|
||||||
icon={<VscTerminal size={40} />}
|
</ActiveLink>
|
||||||
/>
|
|
||||||
<SideBarIcon
|
<ActiveLink href="/console" activeClassName="sidebar-icon-active" shallow>
|
||||||
tooltipText="Setting"
|
<SideBarIcon tooltipText="Консоль" icon={<VscTerminal size={40} />} />
|
||||||
icon={<VscSettingsGear size={40} />}
|
</ActiveLink>
|
||||||
/>
|
|
||||||
|
<ActiveLink
|
||||||
|
href="/settings"
|
||||||
|
activeClassName="sidebar-icon-active"
|
||||||
|
shallow
|
||||||
|
>
|
||||||
|
<SideBarIcon
|
||||||
|
tooltipText="Настройки"
|
||||||
|
icon={<VscSettingsGear size={40} />}
|
||||||
|
/>
|
||||||
|
</ActiveLink>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
@ -36,7 +53,7 @@ type SideBarIconProps = {
|
||||||
|
|
||||||
const SideBarIcon = ({ icon, tooltipText, className }: SideBarIconProps) => {
|
const SideBarIcon = ({ icon, tooltipText, className }: SideBarIconProps) => {
|
||||||
return (
|
return (
|
||||||
<div className="sidebar-icon group">
|
<div className={`sidebar-icon group ${className}`}>
|
||||||
{icon}
|
{icon}
|
||||||
<span className="sidebar-tooltip group-hover:visible">{tooltipText}</span>
|
<span className="sidebar-tooltip group-hover:visible">{tooltipText}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
const Board = () => {
|
||||||
|
return "Настройки платы";
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Board;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
const Console = () => {
|
||||||
|
return "Консоль";
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Console;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
const Editor = () => {
|
||||||
|
return "Редактор кода";
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Editor;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
const Flow = () => {
|
||||||
|
return "Визуальная среда";
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Flow;
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
const Settings = () => {
|
||||||
|
return "Настройки";
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Settings;
|
||||||
|
|
@ -14,15 +14,16 @@
|
||||||
.sidebar-icon {
|
.sidebar-icon {
|
||||||
@apply relative flex items-center justify-center
|
@apply relative flex items-center justify-center
|
||||||
h-16 w-16 my-2 mx-auto
|
h-16 w-16 my-2 mx-auto
|
||||||
shadow-lg bg-gray-800 text-secondary
|
shadow-lg bg-gray-800 text-secondary rounded-3xl
|
||||||
|
|
||||||
hover:bg-green-900 hover:text-primary
|
hover:bg-green-900 hover:text-primary
|
||||||
rounded-3xl hover:rounded-xl
|
hover:rounded-xl
|
||||||
transition-all duration-300 ease-linear
|
transition-all duration-300 ease-linear
|
||||||
cursor-pointer;
|
cursor-pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebar-icon-active {
|
.sidebar-icon-active {
|
||||||
@apply bg-green-900 text-white rounded-xl;
|
@apply bg-green-900 text-primary rounded-xl;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebar-tooltip {
|
.sidebar-tooltip {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue