11<script >
22 import { RichType } from " $lib/helpers/enums" ;
33 import Markdown from " $lib/common/Markdown.svelte" ;
4- import RcOptions from " ./rc-options.svelte" ;
5- import RcGenericOptions from " ./rc-generic -options.svelte" ;
4+ import RcPlainOptions from " ./rc-plain -options.svelte" ;
5+ import RcComplexOptions from " ./rc-complex -options.svelte" ;
66
77 /** @type {any} */
88 export let message;
1616 /** @type {(args0: string, args1: string) => any} */
1717 export let onConfirm = () => {};
1818
19+ /** @type {boolean} */
20+ let isComplexElement = false ;
21+
1922 /**
2023 * @param {string} title
2124 * @param {string} payload
2225 */
2326 function handleConfirm (title , payload ) {
2427 onConfirm && onConfirm (title, payload);
2528 }
29+
30+ $: {
31+ const isGeneric = message? .rich_content ? .message ? .rich_type === RichType .Generic ;
32+ // @ts-ignore
33+ const hasSuboptions = message? .rich_content ? .message ? .elements ? .some (x => x .buttons ? .length > 0 ) || false ;
34+ isComplexElement = isGeneric && hasSuboptions;
35+ }
2636< / script>
2737
2838< div class = " ctext-wrap" >
3343
3444{#if displayExtraElements}
3545 {#if message? .rich_content ? .message ? .rich_type === RichType .QuickReply }
36- < RcOptions options ={message ?.rich_content ?.message ?.quick_replies } disableOption ={disableOption } onConfirm ={handleConfirm } />
46+ < RcPlainOptions options= {message? .rich_content ? .message ? .quick_replies } disableOption= {disableOption} onConfirm= {handleConfirm} / >
3747 {: else if message? .rich_content ? .message ? .rich_type === RichType .Button }
38- < RcOptions options ={message ?.rich_content ?.message ?.buttons } disableOption ={disableOption } onConfirm ={handleConfirm } />
48+ < RcPlainOptions options= {message? .rich_content ? .message ? .buttons } disableOption= {disableOption} onConfirm= {handleConfirm} / >
3949 {: else if message? .rich_content ? .message ? .rich_type === RichType .MultiSelect }
40- < RcOptions options ={message ?.rich_content ?.message ?.options } isMultiSelect disableOption ={disableOption } onConfirm ={handleConfirm } />
50+ < RcPlainOptions options= {message? .rich_content ? .message ? .options } isMultiSelect disableOption= {disableOption} onConfirm= {handleConfirm} / >
4151 {: else if message? .rich_content ? .message ? .rich_type === RichType .Generic }
42- <RcGenericOptions options ={message ?.rich_content ?.message ?.elements } disableOption ={disableOption } onConfirm ={handleConfirm } />
52+ {#if isComplexElement}
53+ < RcComplexOptions options= {message? .rich_content ? .message ? .elements } disableOption= {disableOption} onConfirm= {handleConfirm} / >
54+ {: else }
55+ < RcPlainOptions options= {message? .rich_content ? .message ? .elements } disableOption= {disableOption} onConfirm= {handleConfirm} / >
56+ {/ if }
4357 {/ if }
4458{/ if }
0 commit comments