|
1 | 1 | import Navigation from "@/components/navigation"; |
2 | 2 | import styles from "./page.module.css"; |
| 3 | +import Actor from "@/components/actor"; |
| 4 | +import { ActorPartsFragment } from "@team-plain/typescript-sdk"; |
| 5 | + |
| 6 | +function getFullname(actor) { |
| 7 | + switch (actor.__typename) { |
| 8 | + case "CustomerActor": { |
| 9 | + return actor.customer.fullName; |
| 10 | + } |
| 11 | + case "UserActor": { |
| 12 | + return actor.user.fullName; |
| 13 | + } |
| 14 | + case "MachineUserActor": { |
| 15 | + return actor.user.fullName; |
| 16 | + } |
| 17 | + } |
| 18 | +} |
3 | 19 |
|
4 | 20 | export default async function ThreadPage({ |
5 | 21 | params, |
@@ -79,25 +95,33 @@ export default async function ThreadPage({ |
79 | 95 | <> |
80 | 96 | <Navigation hasBackButton title={thread.title} /> |
81 | 97 | <main className={styles.main}> |
82 | | - <div className={styles.message}> |
83 | | - {timelineEntries.edges.map((entry) => { |
84 | | - console.log("ENTRY", entry); |
| 98 | + <div className={styles.timeline}> |
| 99 | + <div className={styles.message}> |
| 100 | + {timelineEntries.edges.map((e) => { |
| 101 | + const entry = e.node; |
| 102 | + console.log("ENTRY", entry.actor); |
85 | 103 |
|
86 | | - return ( |
87 | | - <div key={entry.node.id}> |
88 | | - {entry.node.entry.components.map((component, idx) => { |
89 | | - if (component.__typename === "ComponentText") { |
90 | | - return ( |
91 | | - <div key={`comp_${component.text}`}>{component.text}</div> |
92 | | - ); |
93 | | - } |
| 104 | + return ( |
| 105 | + <div key={entry.id}> |
| 106 | + <Actor fullName={getFullname(entry.actor)} /> |
| 107 | + {entry.entry.components.map((component, idx) => { |
| 108 | + if (component.__typename === "ComponentText") { |
| 109 | + return ( |
| 110 | + <div key={`comp_${component.text}`}> |
| 111 | + {component.text} |
| 112 | + </div> |
| 113 | + ); |
| 114 | + } |
94 | 115 |
|
95 | | - return <div key={`comp_${idx}`}>TODO</div>; |
96 | | - })} |
97 | | - </div> |
98 | | - ); |
99 | | - })} |
| 116 | + return <div key={`comp_${idx}`}>TODO</div>; |
| 117 | + })} |
| 118 | + </div> |
| 119 | + ); |
| 120 | + })} |
| 121 | + </div> |
100 | 122 | </div> |
| 123 | + |
| 124 | + <div className={styles.threadinfo}>jkdsfjkfsd</div> |
101 | 125 | </main> |
102 | 126 | </> |
103 | 127 | ); |
|
0 commit comments