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