From d1fdfb140cc440664f77a24886172f9976a05a31 Mon Sep 17 00:00:00 2001
From: soryu <soryu@soryu.co>
Date: Tue, 28 Apr 2026 19:12:52 +0100
Subject: feat: revert broken directive PRs, re-implement Lexical document
 orchestrator (#98)

* feat: soryu-co/soryu - makima: Revert broken directive PRs and verify clean build

* feat: soryu-co/soryu - makima: Re-implement frontend: Lexical document editor with feature flag and base components

* WIP: heartbeat checkpoint

* feat: soryu-co/soryu - makima: Add contract blocks, expandable log rows, and interaction controls

* WIP: heartbeat checkpoint

* feat: soryu-co/soryu - makima: End-to-end build verification and integration polish
---
 .../document/nodes/ContractBlockNode.tsx           | 106 ---------------------
 1 file changed, 106 deletions(-)
 delete mode 100644 frontend/src/components/document/nodes/ContractBlockNode.tsx

(limited to 'frontend/src/components/document/nodes/ContractBlockNode.tsx')

diff --git a/frontend/src/components/document/nodes/ContractBlockNode.tsx b/frontend/src/components/document/nodes/ContractBlockNode.tsx
deleted file mode 100644
index 86e4c9d..0000000
--- a/frontend/src/components/document/nodes/ContractBlockNode.tsx
+++ /dev/null
@@ -1,106 +0,0 @@
-import {
-  DecoratorNode,
-  DOMExportOutput,
-  LexicalNode,
-  NodeKey,
-  SerializedLexicalNode,
-  Spread,
-} from 'lexical';
-import React from 'react';
-import { ContractBlockComponent } from './ContractBlockComponent';
-
-export type SerializedContractBlockNode = Spread<
-  {
-    contractId: string;
-    contractName: string;
-  },
-  SerializedLexicalNode
->;
-
-export class ContractBlockNode extends DecoratorNode<JSX.Element> {
-  __contractId: string;
-  __contractName: string;
-
-  static getType(): string {
-    return 'contract-block';
-  }
-
-  static clone(node: ContractBlockNode): ContractBlockNode {
-    return new ContractBlockNode(node.__contractId, node.__contractName, node.__key);
-  }
-
-  constructor(contractId: string, contractName: string, key?: NodeKey) {
-    super(key);
-    this.__contractId = contractId;
-    this.__contractName = contractName;
-  }
-
-  createDOM(): HTMLElement {
-    const div = document.createElement('div');
-    div.className = 'contract-block-wrapper';
-    return div;
-  }
-
-  updateDOM(): boolean {
-    return false;
-  }
-
-  decorate(): JSX.Element {
-    return (
-      <ContractBlockComponent
-        contractId={this.__contractId}
-        contractName={this.__contractName}
-      />
-    );
-  }
-
-  exportJSON(): SerializedContractBlockNode {
-    return {
-      ...super.exportJSON(),
-      type: 'contract-block',
-      contractId: this.__contractId,
-      contractName: this.__contractName,
-      version: 1,
-    };
-  }
-
-  static importJSON(serializedNode: SerializedContractBlockNode): ContractBlockNode {
-    return $createContractBlockNode(
-      serializedNode.contractId,
-      serializedNode.contractName
-    );
-  }
-
-  isInline(): boolean {
-    return false;
-  }
-
-  canInsertTextBefore(): boolean {
-    return false;
-  }
-
-  canInsertTextAfter(): boolean {
-    return false;
-  }
-
-  exportDOM(): DOMExportOutput {
-    const element = document.createElement('div');
-    element.className = 'contract-block-wrapper';
-    element.setAttribute('data-contract-id', this.__contractId);
-    element.textContent = `[Contract: ${this.__contractName}]`;
-    return { element };
-  }
-}
-
-export function $createContractBlockNode(
-  contractId: string,
-  contractName: string
-): ContractBlockNode {
-  return new ContractBlockNode(contractId, contractName);
-}
-
-export function $isContractBlockNode(
-  node: LexicalNode | null | undefined,
-): node is ContractBlockNode {
-  return node instanceof ContractBlockNode;
-}
-- 
cgit v1.2.3

