6ede33ccdb
Build and Push Docker Images / create_manifest (web, surfsense-web, , cpu) (push) Has been cancelled
Build and Push Docker Images / finalize_release (push) Has been cancelled
Obsidian Plugin Lint / lint (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64, , runner, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, cpu, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64, , runner, false, cpu) (push) Has been cancelled
Build and Push Docker Images / compute_version (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, , production, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cpu, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, , production, false, cpu) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda126, production, true, cuda126) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu126, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda126, production, true, cuda126) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64, -cuda, production, true, cuda) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, cu128, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64, -cuda, production, true, cuda) (push) Has been cancelled
Build and Push Docker Images / verify_digests (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, , cpu) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda, cuda) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend, -cuda126, cuda126) (push) Has been cancelled
40 lines
1014 B
TypeScript
40 lines
1014 B
TypeScript
"use client";
|
|
|
|
import { createPlatePlugin, useEditorReadOnly } from "platejs/react";
|
|
|
|
import { useEditorSave } from "@/components/editor/editor-save-context";
|
|
import { FixedToolbar } from "@/components/ui/fixed-toolbar";
|
|
import { FixedToolbarButtons } from "@/components/ui/fixed-toolbar-buttons";
|
|
|
|
function ConditionalFixedToolbar() {
|
|
const readOnly = useEditorReadOnly();
|
|
const { onSave, hasUnsavedChanges, canToggleMode, reserveToolbarSpace } = useEditorSave();
|
|
|
|
const hasVisibleControls =
|
|
!readOnly || canToggleMode || (!!onSave && hasUnsavedChanges && !readOnly);
|
|
|
|
if (!hasVisibleControls) {
|
|
if (!reserveToolbarSpace) return null;
|
|
return (
|
|
<FixedToolbar className="pointer-events-none opacity-0">
|
|
<div className="h-8 w-full" />
|
|
</FixedToolbar>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<FixedToolbar>
|
|
<FixedToolbarButtons />
|
|
</FixedToolbar>
|
|
);
|
|
}
|
|
|
|
export const FixedToolbarKit = [
|
|
createPlatePlugin({
|
|
key: "fixed-toolbar",
|
|
render: {
|
|
beforeEditable: () => <ConditionalFixedToolbar />,
|
|
},
|
|
}),
|
|
];
|