start sidebar
This commit is contained in:
parent
5c4d114f14
commit
d874813586
@ -1,6 +1,5 @@
|
|||||||
import Navbar from "@/components/navbar"
|
import Navbar from "@/components/navbar"
|
||||||
import dynamic from "next/dynamic"
|
import dynamic from "next/dynamic"
|
||||||
import Image from "next/image"
|
|
||||||
|
|
||||||
const CodeEditor = dynamic(() => import("@/components/editor"), {
|
const CodeEditor = dynamic(() => import("@/components/editor"), {
|
||||||
ssr: false,
|
ssr: false,
|
||||||
@ -8,7 +7,7 @@ const CodeEditor = dynamic(() => import("@/components/editor"), {
|
|||||||
|
|
||||||
export default function CodePage() {
|
export default function CodePage() {
|
||||||
return (
|
return (
|
||||||
<div className="w-screen flex flex-col h-screen bg-background">
|
<div className="overflow-hidden overscroll-none w-screen flex flex-col h-screen bg-background">
|
||||||
<Navbar />
|
<Navbar />
|
||||||
<div className="w-screen flex grow">
|
<div className="w-screen flex grow">
|
||||||
<CodeEditor />
|
<CodeEditor />
|
||||||
|
@ -21,6 +21,7 @@ import {
|
|||||||
X,
|
X,
|
||||||
} from "lucide-react"
|
} from "lucide-react"
|
||||||
import Tab from "../ui/tab"
|
import Tab from "../ui/tab"
|
||||||
|
import Sidebar from "./sidebar"
|
||||||
|
|
||||||
export default function CodeEditor() {
|
export default function CodeEditor() {
|
||||||
const editorRef = useRef<null | monaco.editor.IStandaloneCodeEditor>(null)
|
const editorRef = useRef<null | monaco.editor.IStandaloneCodeEditor>(null)
|
||||||
@ -65,7 +66,7 @@ export default function CodeEditor() {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="h-full w-52"></div>
|
<Sidebar />
|
||||||
<ResizablePanelGroup direction="horizontal">
|
<ResizablePanelGroup direction="horizontal">
|
||||||
<ResizablePanel
|
<ResizablePanel
|
||||||
className="p-2 flex flex-col"
|
className="p-2 flex flex-col"
|
||||||
@ -108,16 +109,16 @@ export default function CodeEditor() {
|
|||||||
<div className="h-8 rounded-md px-3 text-xs bg-secondary flex items-center w-full justify-between">
|
<div className="h-8 rounded-md px-3 text-xs bg-secondary flex items-center w-full justify-between">
|
||||||
Preview
|
Preview
|
||||||
<div className="flex space-x-1 translate-x-1">
|
<div className="flex space-x-1 translate-x-1">
|
||||||
<div className="p-0.5 h-5 w-5 ml-0.5 flex items-center justify-center transition-colors bg-transparent hover:bg-muted-foreground/25 rounded-sm">
|
<div className="p-0.5 h-5 w-5 ml-0.5 flex items-center justify-center transition-colors bg-transparent hover:bg-muted-foreground/25 cursor-pointer rounded-sm">
|
||||||
<TerminalSquare className="w-4 h-4" />
|
<TerminalSquare className="w-4 h-4" />
|
||||||
</div>
|
</div>
|
||||||
<div className="p-0.5 h-5 w-5 ml-0.5 flex items-center justify-center transition-colors bg-transparent hover:bg-muted-foreground/25 rounded-sm">
|
<div className="p-0.5 h-5 w-5 ml-0.5 flex items-center justify-center transition-colors bg-transparent hover:bg-muted-foreground/25 cursor-pointer rounded-sm">
|
||||||
<ChevronLeft className="w-4 h-4" />
|
<ChevronLeft className="w-4 h-4" />
|
||||||
</div>
|
</div>
|
||||||
<div className="p-0.5 h-5 w-5 ml-0.5 flex items-center justify-center transition-colors bg-transparent hover:bg-muted-foreground/25 rounded-sm">
|
<div className="p-0.5 h-5 w-5 ml-0.5 flex items-center justify-center transition-colors bg-transparent hover:bg-muted-foreground/25 cursor-pointer rounded-sm">
|
||||||
<ChevronRight className="w-4 h-4" />
|
<ChevronRight className="w-4 h-4" />
|
||||||
</div>
|
</div>
|
||||||
<div className="p-0.5 h-5 w-5 ml-0.5 flex items-center justify-center transition-colors bg-transparent hover:bg-muted-foreground/25 rounded-sm">
|
<div className="p-0.5 h-5 w-5 ml-0.5 flex items-center justify-center transition-colors bg-transparent hover:bg-muted-foreground/25 cursor-pointer rounded-sm">
|
||||||
<RotateCw className="w-3 h-3" />
|
<RotateCw className="w-3 h-3" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
39
components/editor/sidebar.tsx
Normal file
39
components/editor/sidebar.tsx
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import {
|
||||||
|
File,
|
||||||
|
FilePlus,
|
||||||
|
Folder,
|
||||||
|
FolderOpen,
|
||||||
|
FolderPlus,
|
||||||
|
Search,
|
||||||
|
} from "lucide-react"
|
||||||
|
|
||||||
|
export default function Sidebar() {
|
||||||
|
return (
|
||||||
|
<div className="h-full w-56 flex flex-col text-sm items-start p-2">
|
||||||
|
<div className="flex w-full items-center justify-between h-8 mb-1 ">
|
||||||
|
<div className="text-muted-foreground">EXPLORER</div>
|
||||||
|
<div className="flex space-x-1">
|
||||||
|
<div className="h-6 w-6 text-muted-foreground ml-0.5 flex items-center justify-center translate-x-1 transition-colors bg-transparent hover:bg-muted-foreground/25 cursor-pointer rounded-sm">
|
||||||
|
<FilePlus className="w-4 h-4" />
|
||||||
|
</div>
|
||||||
|
<div className="h-6 w-6 text-muted-foreground ml-0.5 flex items-center justify-center translate-x-1 transition-colors bg-transparent hover:bg-muted-foreground/25 cursor-pointer rounded-sm">
|
||||||
|
<FolderPlus className="w-4 h-4" />
|
||||||
|
</div>
|
||||||
|
<div className="h-6 w-6 text-muted-foreground ml-0.5 flex items-center justify-center translate-x-1 transition-colors bg-transparent hover:bg-muted-foreground/25 cursor-pointer rounded-sm">
|
||||||
|
<Search className="w-4 h-4" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="w-full mt-2">
|
||||||
|
<div className="w-full flex items-center h-6 transition-colors hover:text-muted-foreground cursor-pointer">
|
||||||
|
<File className="w-4 h-4 mr-2" />
|
||||||
|
index.html
|
||||||
|
</div>
|
||||||
|
<div className="w-full flex items-center h-6 transition-colors hover:text-muted-foreground cursor-pointer">
|
||||||
|
<Folder className="w-4 h-4 mr-2" />
|
||||||
|
styles
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
@ -12,7 +12,7 @@ export default function Navbar() {
|
|||||||
</button>
|
</button>
|
||||||
<div className="text-sm font-medium flex items-center">
|
<div className="text-sm font-medium flex items-center">
|
||||||
My React Project{" "}
|
My React Project{" "}
|
||||||
<div className="h-7 w-7 ml-1 flex items-center justify-center transition-colors bg-transparent hover:bg-muted-foreground/25 rounded-md">
|
<div className="h-7 w-7 ml-1 flex items-center justify-center transition-colors bg-transparent hover:bg-muted-foreground/25 cursor-pointer rounded-md">
|
||||||
<Pencil className="w-4 h-4" />
|
<Pencil className="w-4 h-4" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -22,7 +22,7 @@ export default function Tab({
|
|||||||
{children}
|
{children}
|
||||||
<div
|
<div
|
||||||
onClick={onClose ?? undefined}
|
onClick={onClose ?? undefined}
|
||||||
className="h-5 w-5 ml-0.5 flex items-center justify-center translate-x-1 transition-colors bg-transparent hover:bg-muted-foreground/25 rounded-sm"
|
className="h-5 w-5 ml-0.5 flex items-center justify-center translate-x-1 transition-colors bg-transparent hover:bg-muted-foreground/25 cursor-pointer rounded-sm"
|
||||||
>
|
>
|
||||||
<X className="w-3 h-3" />
|
<X className="w-3 h-3" />
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user