1- import type { Components } from '@metamask/sdk-install-modal-web ' ;
1+ import type { Components } from '@metamask/sdk-multichain-ui ' ;
22
33export interface InstallWidgetProps extends Components . MmInstallModal {
44 parentElement ?: Element ;
@@ -8,19 +8,14 @@ export interface InstallWidgetProps extends Components.MmInstallModal {
88 } ;
99}
1010
11- export interface PendingWidgetProps extends Components . MmPendingModal {
11+ //TODO: Extend from the right component once modal is implemented
12+ export interface OTPCodeWidgetProps extends Components . MmInstallModal {
1213 parentElement ?: Element ;
1314 onClose : ( ) => void ;
1415 onDisconnect ?: ( ) => void ;
1516 updateOTPValue : ( otpValue : string ) => void ;
1617}
1718
18- export interface SelectWidgetProps extends Components . MmSelectModal {
19- parentElement ?: Element ;
20- onClose : ( shouldTerminate ?: boolean ) => void ;
21- connect : ( ) => void ;
22- }
23-
2419export type RenderedModal = {
2520 mount ( qrcodeLink ?: string ) : void ;
2621 unmount ( shouldTerminate ?: boolean ) : void ;
@@ -33,21 +28,16 @@ export type RenderedModal = {
3328
3429// biome-ignore lint/suspicious/noExplicitAny: Expected here
3530export abstract class Modal < T extends Record < string , any > > {
36- abstract instance ?: HTMLMmInstallModalElement | HTMLMmSelectModalElement | HTMLMmPendingModalElement ;
31+ abstract instance ?: HTMLMmInstallModalElement | undefined ;
3732 abstract render ( options : T ) : Promise < RenderedModal > ;
3833
3934 updateQRCode ( link : string ) {
4035 const installModal = this . instance ?. querySelector ( 'mm-install-modal' ) as HTMLMmInstallModalElement | null ;
4136 if ( installModal ) {
4237 installModal . link = link ;
43- } else {
44- const selectModal = this . instance ?. querySelector ( 'mm-select-modal' ) as HTMLMmSelectModalElement | null ;
45- if ( selectModal ) {
46- selectModal . link = link ;
47- }
4838 }
4939 }
5040}
5141
52- export abstract class AbstractInstallModal extends Modal < InstallWidgetProps | SelectWidgetProps > { }
53- export abstract class AbstractPendingModal extends Modal < PendingWidgetProps > { }
42+ export abstract class AbstractInstallModal extends Modal < InstallWidgetProps > { }
43+ export abstract class AbstractOTPCodeModal extends Modal < OTPCodeWidgetProps > { }
0 commit comments