Skip to content

Commit 758a8f7

Browse files
committed
Add skeleton page for collab page, including the code editor
component
1 parent 4e25d44 commit 758a8f7

File tree

4 files changed

+76
-3
lines changed

4 files changed

+76
-3
lines changed

frontend/src/app/collab/page.tsx

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
1-
import ContentPage from "../components/collab/ContentPage";
1+
import ChatComponent from "../components/collab/ChatComponent";
2+
import CodingComponent from "../components/collab/CodingComponent";
3+
import QuestionComponent from "../components/collab/QuestionComponent";
24
import SessionHeader from "../components/collab/SessionHeader";
35

46
export default function CollabPage() {
57
return (
6-
<main className="bg-stone-900 h-screen flex flex-col items-center">
8+
<main className="bg-stone-900 min-h-screen flex flex-col items-center">
79
<SessionHeader />
8-
<ContentPage />
10+
11+
<div className="flex flex-1 w-full bg-stone-800 ">
12+
<QuestionComponent />
13+
<CodingComponent />
14+
<ChatComponent />
15+
</div>
916
</main>
1017
);
1118
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default function ChatComponent() {
2+
return <div className="h-full w-[25%]"></div>;
3+
}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
"use client";
2+
3+
import Editor from "@monaco-editor/react";
4+
import {
5+
DropdownMenu,
6+
DropdownMenuContent,
7+
DropdownMenuGroup,
8+
DropdownMenuItem,
9+
DropdownMenuLabel,
10+
DropdownMenuPortal,
11+
DropdownMenuSeparator,
12+
DropdownMenuShortcut,
13+
DropdownMenuSub,
14+
DropdownMenuSubContent,
15+
DropdownMenuSubTrigger,
16+
DropdownMenuTrigger,
17+
} from "@/components/ui/dropdown-menu";
18+
import { useState } from "react";
19+
import { Button } from "@/components/ui/button";
20+
21+
export default function CodingComponent() {
22+
const [codeContent, setCodeContent] = useState<string>("");
23+
const [selectedLanguage, setSeletedLanguage] = useState<string>("Javascript");
24+
25+
function setInitialContent(value: string | undefined) {
26+
if (value != undefined) {
27+
setCodeContent(value);
28+
}
29+
}
30+
31+
return (
32+
<div className="h-full w-[50%] mt-10">
33+
<div className="mb-4">
34+
<DropdownMenu>
35+
<DropdownMenuTrigger asChild>
36+
<Button className="w-40 bg-white text-black">
37+
{selectedLanguage}{" "}
38+
</Button>
39+
</DropdownMenuTrigger>
40+
<DropdownMenuContent className="w-10" align="center">
41+
<DropdownMenuGroup>
42+
<DropdownMenuItem>Javascript</DropdownMenuItem>
43+
<DropdownMenuItem>Python</DropdownMenuItem>
44+
<DropdownMenuItem>C</DropdownMenuItem>
45+
<DropdownMenuItem>C++</DropdownMenuItem>
46+
<DropdownMenuItem>Java</DropdownMenuItem>
47+
</DropdownMenuGroup>
48+
</DropdownMenuContent>
49+
</DropdownMenu>
50+
</div>
51+
<Editor
52+
height="85vh"
53+
theme="vs-dark"
54+
defaultLanguage="python"
55+
defaultValue="Enter your code here..."
56+
onChange={(value) => setInitialContent(value)}
57+
></Editor>
58+
</div>
59+
);
60+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export default function QuestionComponent() {
2+
return <div className="h-full w-[25%]">Helo</div>;
3+
}

0 commit comments

Comments
 (0)