Skip to content

Commit 359bb36

Browse files
committed
add sidebar component
1 parent 4e5bac1 commit 359bb36

File tree

4 files changed

+25
-16
lines changed

4 files changed

+25
-16
lines changed

client/src/App.jsx

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import Header from "./components/Header";
88
import Toolbar from "./components/Toolbar";
99
import Socials from "./components/Socials";
1010
import LoginAndLogout from "./components/LoginAndLogout";
11+
import Sidebar from "./components/Sidebar";
1112

1213
function App() {
1314
const canvasRef = useRef(null);
@@ -118,19 +119,7 @@ function App() {
118119

119120
return (
120121
<div id="container" style={{ display: "flex" }}>
121-
<div
122-
id="sidebar"
123-
className="flex flex-col w-64 bg-zinc-800 relative"
124-
ref={sidebarRef}
125-
>
126-
<Header></Header>
127-
<Toolbar></Toolbar>
128-
<Socials></Socials>
129-
<button id="clear" onClick={clearOnClick}>
130-
Clear
131-
</button>
132-
<LoginAndLogout></LoginAndLogout>
133-
</div>
122+
<Sidebar clearOnClick={clearOnClick} ref={sidebarRef} id="clear"></Sidebar>
134123
<div className="canvas-container">
135124
<canvas className="canvas" ref={canvasRef}></canvas>
136125
</div>

client/src/components/ClearBtn.jsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
function ClearBtn(){
1+
/* eslint-disable react/prop-types */
2+
function ClearBtn(props){
23
return (
34
<div className="border block flex items-center justify-center mt-5">
45
<button
56
type="button"
67
className="text-white bg-gradient-to-r from-red-400 via-red-500 to-red-600 hover:bg-gradient-to-br font-medium rounded-lg text-sm px-5 py-2.5 text-center"
8+
onClick={props.clearOnClick}
9+
id={props.id}
710
>
811
Clear
912
</button>

client/src/components/Sidebar.jsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/* eslint-disable react/prop-types */
2+
import Header from "./Header";
3+
import Toolbar from "./Toolbar";
4+
import LoginAndLogout from "./LoginAndLogout";
5+
6+
function Sidebar(props){
7+
return (
8+
<div className="flex flex-col w-64 bg-zinc-800 relative" ref={props.ref}>
9+
<Header></Header>
10+
<Toolbar clearOnClick={props.clearOnClick} id={props.id}></Toolbar>
11+
<LoginAndLogout></LoginAndLogout>
12+
</div>
13+
);
14+
}
15+
16+
export default Sidebar;

client/src/components/Toolbar.jsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1+
/* eslint-disable react/prop-types */
12
import ColorPicker from "./ColorPicker";
23
import StrokeWidthPicker from "./StrokeWidthPicker";
34
import ClearBtn from "./ClearBtn";
45

5-
function Toolbar(){
6+
function Toolbar(props){
67
return (
78
<div className="block w-full mt-20 border align-center">
89
<ColorPicker name="Colors :" defaultColor="#000000"></ColorPicker>
910
<ColorPicker name="Canvas :" defaultColor="#FFFFFF"></ColorPicker>
1011
<StrokeWidthPicker></StrokeWidthPicker>
11-
<ClearBtn></ClearBtn>
12+
<ClearBtn clearOnClick={props.clearOnClick} id={props.id}></ClearBtn>
1213
</div>
1314
);
1415
}

0 commit comments

Comments
 (0)