import Icon from "@mdi/react"; import { colors } from "~/lib/color"; import { icons } from "~/lib/icon"; import { NotePropertiesDialog } from "~/components/note/note_properties_dialog"; import { mdiCircle, mdiCog } from "@mdi/js"; import { NoteSettingsDialog } from "~/components/note/note_settings_dialog"; import { useCollection, useNoteMetadata } from "~/hooks/use-metadata"; import type { NoteId, NoteMetadata } from "~/lib/metadata"; export function NoteHeader(props: { id: NoteId }) { const noteMetadata = useNoteMetadata(props.id); if (!noteMetadata) { return null; } const primaryColorName = noteMetadata.get("primaryColor"); const secondaryColorName = noteMetadata.get("secondaryColor"); const primaryColor = primaryColorName ? colors[primaryColorName] : colors.white; const secondaryColor = secondaryColorName ? colors[secondaryColorName] : primaryColor; return ( <>
{noteMetadata.get("icon") && }
{ noteMetadata.set("title", e.target.value)} />}
); } function Properties(props: { noteMetadata: NoteMetadata }) { const { noteMetadata } = props; const collection = useCollection(noteMetadata.get("collectionId")); if (!collection) { return No properties; } const collectionProps = collection.get("properties")?.toArray(); if (!collectionProps) { return No properties; } const pinnedProperties = collectionProps.filter(property => property.get("pinned")); return ( ); }