mirror of
https://github.com/zadam/trilium.git
synced 2025-12-11 05:08:00 +08:00
feat(breadcrumb): start implementing interactive breadcrumbs
This commit is contained in:
parent
6e29fe8d58
commit
5f215b14c2
2 changed files with 26 additions and 4 deletions
|
|
@ -1,4 +1,13 @@
|
|||
.component.breadcrumb {
|
||||
contain: none;
|
||||
margin: 0 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 0.9em;
|
||||
gap: 0.25em;
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
import { Fragment } from "preact/jsx-runtime";
|
||||
import "./Breadcrumb.css";
|
||||
import ActionButton from "./react/ActionButton";
|
||||
import { useNoteContext } from "./react/hooks";
|
||||
import NoteLink from "./react/NoteLink";
|
||||
import { joinElements } from "./react/react_utils";
|
||||
|
||||
export default function Breadcrumb() {
|
||||
const { noteContext } = useNoteContext();
|
||||
|
|
@ -9,9 +10,12 @@ export default function Breadcrumb() {
|
|||
|
||||
return (
|
||||
<div className="breadcrumb">
|
||||
{joinElements(notePath.map(item => (
|
||||
<BreadcrumbItem key={item} notePath={item} />
|
||||
)), <> › </>)}
|
||||
{notePath.map(item => (
|
||||
<Fragment key={item}>
|
||||
<BreadcrumbItem notePath={item} />
|
||||
<BreadcrumbSeparator notePath={item} />
|
||||
</Fragment>
|
||||
))}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
@ -25,6 +29,15 @@ function BreadcrumbItem({ notePath }: { notePath: string }) {
|
|||
)
|
||||
}
|
||||
|
||||
function BreadcrumbSeparator({ notePath }: { notePath: string}) {
|
||||
return (
|
||||
<ActionButton
|
||||
icon="bx bx-chevron-right"
|
||||
text=""
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
function buildNotePaths(notePathArray: string[] | undefined) {
|
||||
if (!notePathArray) return [];
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue