2
0

SentEdit.tsx 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import { Card } from "antd";
  2. import { IStudio } from "../auth/StudioName";
  3. import type { IUser } from "../auth/User";
  4. import { IChannel } from "../channel/Channel";
  5. import SentContent from "./SentEdit/SentContent";
  6. import SentMenu from "./SentEdit/SentMenu";
  7. import SentTab from "./SentEdit/SentTab";
  8. export interface ISuggestionCount {
  9. suggestion?: number;
  10. discussion?: number;
  11. }
  12. export interface ISentence {
  13. id?: string;
  14. content: string;
  15. html: string;
  16. book: number;
  17. para: number;
  18. wordStart: number;
  19. wordEnd: number;
  20. editor: IUser;
  21. acceptor?: IUser;
  22. prEditAt?: string;
  23. channel: IChannel;
  24. studio?: IStudio;
  25. updateAt: string;
  26. suggestionCount?: ISuggestionCount;
  27. }
  28. export interface ISentenceId {
  29. book: number;
  30. para: number;
  31. wordStart: number;
  32. wordEnd: number;
  33. }
  34. export interface IWidgetSentEditInner {
  35. id: string;
  36. channels?: string[];
  37. origin?: ISentence[];
  38. translation?: ISentence[];
  39. layout?: "row" | "column";
  40. tranNum?: number;
  41. nissayaNum?: number;
  42. commNum?: number;
  43. originNum: number;
  44. simNum?: number;
  45. }
  46. const SentEditInner = ({
  47. id,
  48. origin,
  49. translation,
  50. layout = "column",
  51. tranNum,
  52. nissayaNum,
  53. commNum,
  54. originNum,
  55. simNum,
  56. }: IWidgetSentEditInner) => {
  57. return (
  58. <Card>
  59. <SentMenu>
  60. <SentContent
  61. origin={origin}
  62. translation={translation}
  63. layout={layout}
  64. />
  65. <SentTab
  66. id={id}
  67. tranNum={tranNum}
  68. nissayaNum={nissayaNum}
  69. commNum={commNum}
  70. originNum={originNum}
  71. simNum={simNum}
  72. />
  73. </SentMenu>
  74. </Card>
  75. );
  76. };
  77. interface IWidgetSentEdit {
  78. props: string;
  79. }
  80. const Widget = ({ props }: IWidgetSentEdit) => {
  81. const prop = JSON.parse(atob(props)) as IWidgetSentEditInner;
  82. //console.log("sent data", prop);
  83. return <SentEditInner {...prop} />;
  84. };
  85. export default Widget;