Update layout

This commit is contained in:
2024-09-26 19:54:12 +02:00
parent 148b3438b4
commit 79bd172f70
2 changed files with 71 additions and 37 deletions

View File

@@ -1,5 +1,6 @@
import React, { useState, useEffect, useCallback } from 'react'; import React, { useState, useEffect, useCallback } from 'react';
import { GeistProvider, CssBaseline, useToasts } from '@geist-ui/core'; import { GeistProvider, CssBaseline, useToasts, Page, Text, User, Button, Spacer, Breadcrumbs } from '@geist-ui/core';
import { Settings } from '@geist-ui/icons';
import Editor from './components/Editor'; import Editor from './components/Editor';
import FileTree from './components/FileTree'; import FileTree from './components/FileTree';
import { fetchFileList, fetchFileContent, saveFileContent } from './services/api'; import { fetchFileList, fetchFileContent, saveFileContent } from './services/api';
@@ -52,10 +53,30 @@ function App() {
} }
}, [setToast]); }, [setToast]);
const renderBreadcrumbs = () => {
if (!selectedFile) return null;
const pathParts = selectedFile.split('/');
return (
<Breadcrumbs>
{pathParts.map((part, index) => (
<Breadcrumbs.Item key={index}>{part}</Breadcrumbs.Item>
))}
</Breadcrumbs>
);
};
return ( return (
<GeistProvider> <GeistProvider>
<CssBaseline /> <CssBaseline />
<div className="App"> <Page>
<Page.Header className="custom-navbar">
<Text b>NovaMD</Text>
<Spacer w={1} />
<User src="https://via.placeholder.com/40" name="User" />
<Spacer w={0.5} />
<Button auto icon={<Settings />} />
</Page.Header>
<Page.Content className="main-container">
<div className="sidebar"> <div className="sidebar">
{error ? ( {error ? (
<div className="error">{error}</div> <div className="error">{error}</div>
@@ -68,7 +89,7 @@ function App() {
)} )}
</div> </div>
<div className="main-content"> <div className="main-content">
<h1>NovaMD</h1> {renderBreadcrumbs()}
<Editor <Editor
content={content} content={content}
onChange={setContent} onChange={setContent}
@@ -76,7 +97,8 @@ function App() {
filePath={selectedFile} filePath={selectedFile}
/> />
</div> </div>
</div> </Page.Content>
</Page>
</GeistProvider> </GeistProvider>
); );
} }

View File

@@ -2,10 +2,22 @@
$sidebar-width: 250px; $sidebar-width: 250px;
$border-color: #eaeaea; $border-color: #eaeaea;
$padding: 20px; $padding: 20px;
$navbar-height: 64px; // Adjust this value based on your preference
.App { .custom-navbar {
display: flex; display: flex;
height: 100vh; align-items: center;
justify-content: space-between;
padding: 0 $padding;
height: $navbar-height;
border-bottom: 1px solid $border-color;
}
.main-container {
display: flex;
height: calc(100vh - #{$navbar-height});
padding: 0 !important; // Override Geist UI's default padding
}
.sidebar { .sidebar {
width: $sidebar-width; width: $sidebar-width;
@@ -19,9 +31,9 @@ $padding: 20px;
padding: $padding; padding: $padding;
overflow-y: auto; overflow-y: auto;
h1 { // Add styles for breadcrumbs
margin-top: 0; .breadcrumbs {
} margin-bottom: $padding;
} }
} }