diff --git a/frontend/app/view/directorypreview.less b/frontend/app/view/directorypreview.less
index d1e4bb886..ee4ca3383 100644
--- a/frontend/app/view/directorypreview.less
+++ b/frontend/app/view/directorypreview.less
@@ -1,16 +1,18 @@
.dir-table {
overflow: auto;
width: 100%;
- border: 2px solid var(--border-color);
border-radius: 3px;
.dir-table-head {
.dir-table-head-row {
display: flex;
border-bottom: 2px solid var(--border-color);
padding: 4px 0;
+ background-color: var(--panel-bg-color);
+
.dir-table-head-cell {
position: relative;
padding: 2px 4px;
+ font-weight: bold;
.dir-table-head-resize {
position: absolute;
top: 0;
@@ -36,14 +38,24 @@
.dir-table-body-row {
display: flex;
border-radius: 3px;
+
&:focus {
background-color: var(--accent-color);
}
+ &:hover:not(:focus) {
+ background-color: var(--highlight-bg-color);
+ }
+
.dir-table-body-cell {
overflow: hidden;
white-space: nowrap;
padding: 0.25rem;
+ cursor: default;
+
+ &.col-size {
+ text-align: right;
+ }
}
}
}
diff --git a/frontend/app/view/directorypreview.tsx b/frontend/app/view/directorypreview.tsx
index 8801e93ea..664475bd7 100644
--- a/frontend/app/view/directorypreview.tsx
+++ b/frontend/app/view/directorypreview.tsx
@@ -3,6 +3,7 @@
import { FileInfo } from "@/bindings/fileservice";
import { Table, createColumnHelper, flexRender, getCoreRowModel, useReactTable } from "@tanstack/react-table";
+import clsx from "clsx";
import * as jotai from "jotai";
import React from "react";
@@ -107,7 +108,7 @@ function TableBody({ table, cwd, setFileName }: TableBodyProps) {
{row.getVisibleCells().map((cell) => {
return (
diff --git a/frontend/app/view/preview.tsx b/frontend/app/view/preview.tsx
index dacfee4ea..d23b07c96 100644
--- a/frontend/app/view/preview.tsx
+++ b/frontend/app/view/preview.tsx
@@ -6,6 +6,7 @@ import { Markdown } from "@/element/markdown";
import { useBlockAtom, useBlockCache } from "@/store/global";
import * as WOS from "@/store/wos";
import * as util from "@/util/util";
+import clsx from "clsx";
import * as jotai from "jotai";
import { CenteredDiv } from "../element/quickelems";
import { DirectoryPreview } from "./directorypreview";
@@ -31,18 +32,27 @@ function DirNav({ cwdAtom }: { cwdAtom: jotai.WritableAtom
- {splitNav.map((item) => {
+ {splitNav.map((item, idx) => {
let splitPath = item.split("/");
if (splitPath.length === 0) {
splitPath = [item];
}
- const baseName = splitPath[splitPath.length - 1];
+ const isLast = idx == splitNav.length - 1;
+ let baseName = splitPath[splitPath.length - 1];
+ if (!isLast) {
+ baseName += "/";
+ }
return (
- setCwd(item)}>
+ setCwd(item)}
+ >
{baseName}
-
+
);
})}
+
);
}
@@ -95,16 +105,6 @@ function StreamingPreview({ fileInfo }: { fileInfo: FileInfo }) {
}
function PreviewView({ blockId }: { blockId: string }) {
- /*
- const blockData = WOS.useWaveObjectValueWithSuspense(WOS.makeORef("block", blockId));
- if (blockData == null) {
- return (
-
- Block Not Found
-
- );
- }
- */
const blockAtom = WOS.getWaveObjectAtom(`block:${blockId}`);
const fileNameAtom: jotai.WritableAtom = useBlockCache(blockId, "preview:filename", () =>
jotai.atom(
diff --git a/frontend/app/view/view.less b/frontend/app/view/view.less
index 2f6b2aca9..ac948837c 100644
--- a/frontend/app/view/view.less
+++ b/frontend/app/view/view.less
@@ -82,23 +82,30 @@
.full-preview {
display: flex;
flex-direction: column;
+ width: 100%;
}
.view-nav {
display: flex;
- gap: 0.5rem;
+ padding: 0.2rem 0 0.2rem 0;
+ border-bottom: 1px solid var(--border-color);
.view-nav-item {
- background-color: var(--panel-bg-color);
border-radius: 3px;
- padding: 0.2rem;
+ padding: 0.2rem 0;
- &:hover {
- background-color: var(--highlight-bg-color);
+ &.clickable {
+ cursor: pointer;
+
+ &:hover {
+ background-color: var(--highlight-bg-color);
+ }
}
- &:active {
- background-color: var(--accent-color);
+ &.current-file {
+ background-color: transparent;
+ cursor: default;
+ font-weight: bold;
}
}
}