diff --git a/src/components/src/blocks/Block.tsx b/src/components/src/blocks/Block.tsx
index 5104a4b..ab1f7f9 100644
--- a/src/components/src/blocks/Block.tsx
+++ b/src/components/src/blocks/Block.tsx
@@ -3,7 +3,7 @@ import classNames from "classnames";
import {
getEnglishFromRendered,
} from "../../../lib/src/phrase-building/np-tools";
-import { getEnglishPersonInfo, getEnglishParticipleInflection } from "../../../lib/src/misc-helpers";
+import { getEnglishPersonInfo, getEnglishParticipleInflection, getEnglishGenNumInfo } from "../../../lib/src/misc-helpers";
import { useState } from "react";
import { getLength } from "../../../lib/src/p-text-helpers";
import { roleIcon } from "../vp-explorer/VPExplorerExplanationModal";
@@ -26,6 +26,10 @@ function Block({ opts, block, king, script }: {
const role = king === "subject" ? "king" : king === "object" ? "servant" : undefined;
return
}
+ if (block.block.type === "objectSelection") {
+ const role = king === "object" ? "king" : king === "subject" ? "servant" : undefined;
+ return ;
+ }
if (block.block.type === "predicateSelection") {
const english = getEnglishFromRendered(block.block.selection);
return
@@ -38,33 +42,19 @@ function Block({ opts, block, king, script }: {
if (block.block.type === "negative") {
return
}
- return
TODO
- // if (block.block.type === "perfectiveHead") {
- // return
- // }
- // if (block.block.type === "verb") {
- // return
;
- // }
- // if (block.block.type === "objectSelection") {
- // const role = king === "object" ? "king" : king === "subject" ? "servant" : undefined;
- // return
;
- // }
- // if (block.block.type === "perfectParticipleBlock") {
- // return
;
- // }
- // if (block.block.type === "perfectEquativeBlock") {
- // return
;
- // }
- // if (block.block.type === "modalVerbBlock") {
- // return
;
- // }
- // if (block.block.type === "modalVerbKedulPart") {
- // return
- // }
- // if (block.block.type === "complement") {
- // return
;
- // }
- return null;
+ if (block.block.type === "PH") {
+ return
;
+ }
+ if (block.block.type === "VB") {
+ return
;
+ }
+ if (block.block.type === "complement") {
+ return
+ }
+ if (block.block.type === "NComp") {
+ return
+ }
+ return
}
export default Block;
@@ -75,12 +65,72 @@ function Border({ children, extraClassName, padding }: { children: JSX.Element |
style={{
padding: padding ? padding : "1rem",
textAlign: "center",
+ gap: "0.5rem",
}}
>
<>{children}>
}
+function VBBlock({ opts, block, script }: {
+ opts: T.TextOptions,
+ script: "p" | "f",
+ block: T.VBBasic | T.VBGenNum | (T.VBBasic & {
+ person: T.Person;
+ }),
+}) {
+ const [length, setLength] = useState