Jelajahi Sumber

支持数组 meaning

visuddhinanda 9 bulan lalu
induk
melakukan
a8e612d422

+ 1 - 1
api-v8/app/Http/Api/TemplateRender.php

@@ -535,7 +535,7 @@ class TemplateRender
         $innerString = "";
         $props = [
             "pali" => $pali,
-            "meaning" => $meaning,
+            "meaning" => explode('=', $meaning),
             "lang" => $this->lang,
         ];
         switch ($this->format) {

+ 21 - 2
dashboard-v4/dashboard/src/components/template/Nissaya.tsx

@@ -1,12 +1,14 @@
+import { Popover } from "antd";
 import { useAppSelector } from "../../hooks";
 import { settingInfo } from "../../reducers/setting";
 import { GetUserSetting } from "../auth/setting/default";
 import NissayaMeaning from "./Nissaya/NissayaMeaning";
 import PaliText from "./Wbw/PaliText";
+import { MoreIcon } from "../../assets/icon";
 
 interface IWidgetNissayaCtl {
   pali?: string;
-  meaning?: string;
+  meaning?: string[];
   lang?: string;
   children?: React.ReactNode | React.ReactNode[];
 }
@@ -16,6 +18,10 @@ const NissayaCtl = ({ pali, meaning, lang, children }: IWidgetNissayaCtl) => {
   console.debug("NissayaCtl layout", layout);
   const isArray = Array.isArray(children);
   const meaning2 = isArray ? children[1] : "";
+  const show = -1;
+  const ect = meaning
+    ?.slice(0, -1)
+    .map((item, id) => <NissayaMeaning key={id} text={item} />);
   return (
     <span
       style={{
@@ -30,7 +36,20 @@ const NissayaCtl = ({ pali, meaning, lang, children }: IWidgetNissayaCtl) => {
         termToLocal={false}
         style={{ fontWeight: 700 }}
       />{" "}
-      {lang === "my" ? <NissayaMeaning text={meaning} /> : <>{meaning2}</>}
+      {ect && ect?.length > 0 ? (
+        <Popover content={ect}>
+          <MoreIcon />{" "}
+        </Popover>
+      ) : (
+        <></>
+      )}
+      {lang === "my" ? (
+        meaning
+          ?.slice(-1)
+          .map((item, id) => <NissayaMeaning key={id} text={item} />)
+      ) : (
+        <>{meaning2}</>
+      )}
     </span>
   );
 };