11import { Modal , Setting } from 'obsidian' ;
22import WordpressPlugin from './main' ;
3- import { TranslateKey } from './i18n' ;
43import { WpProfile } from './wp-profile' ;
54import { WordPressAuthParams } from './wp-client' ;
65import { showError } from './utils' ;
6+ import { AbstractModal } from './abstract-modal' ;
77
88export function openLoginModal (
99 plugin : WordpressPlugin ,
@@ -30,30 +30,26 @@ export function openLoginModal(
3030/**
3131 * WordPress login modal with username and password inputs.
3232 */
33- export class WpLoginModal extends Modal {
33+ export class WpLoginModal extends AbstractModal {
3434
3535 constructor (
36- private readonly plugin : WordpressPlugin ,
36+ readonly plugin : WordpressPlugin ,
3737 private readonly profile : WpProfile ,
3838 private readonly onSubmit : ( auth : WordPressAuthParams , modal : Modal ) => void
3939 ) {
40- super ( plugin . app ) ;
40+ super ( plugin ) ;
4141 }
4242
4343 onOpen ( ) {
44- const t = ( key : TranslateKey , vars ?: Record < string , string > ) : string => {
45- return this . plugin . i18n . t ( key , vars ) ;
46- } ;
47-
4844 const { contentEl } = this ;
4945
50- contentEl . createEl ( 'h1' , { text : t ( 'loginModal_title' ) } ) ;
46+ this . createHeader ( this . t ( 'loginModal_title' ) ) ;
5147
5248 let username = this . profile . username ;
5349 let password = this . profile . password ;
5450 new Setting ( contentEl )
55- . setName ( t ( 'loginModal_username' ) )
56- . setDesc ( t ( 'loginModal_usernameDesc' , { url : this . profile . endpoint } ) )
51+ . setName ( this . t ( 'loginModal_username' ) )
52+ . setDesc ( this . t ( 'loginModal_usernameDesc' , { url : this . profile . endpoint } ) )
5753 . addText ( text => {
5854 text
5955 . setValue ( this . profile . username ?? '' )
@@ -71,8 +67,8 @@ export class WpLoginModal extends Modal {
7167 }
7268 } ) ;
7369 new Setting ( contentEl )
74- . setName ( t ( 'loginModal_password' ) )
75- . setDesc ( t ( 'loginModal_passwordDesc' , { url : this . profile . endpoint } ) )
70+ . setName ( this . t ( 'loginModal_password' ) )
71+ . setDesc ( this . t ( 'loginModal_passwordDesc' , { url : this . profile . endpoint } ) )
7672 . addText ( text => {
7773 text
7874 . setValue ( this . profile . password ?? '' )
@@ -90,8 +86,8 @@ export class WpLoginModal extends Modal {
9086 }
9187 } ) ;
9288 // new Setting(contentEl)
93- // .setName(t('loginModal_rememberUsername'))
94- // .setDesc(t('loginModal_rememberUsernameDesc'))
89+ // .setName(this. t('loginModal_rememberUsername'))
90+ // .setDesc(this. t('loginModal_rememberUsernameDesc'))
9591 // .addToggle((toggle) =>
9692 // toggle
9793 // .setValue(this.profile.saveUsername)
@@ -106,8 +102,8 @@ export class WpLoginModal extends Modal {
106102 // }),
107103 // );
108104 // new Setting(contentEl)
109- // .setName(t('loginModal_rememberPassword'))
110- // .setDesc(t('loginModal_rememberPasswordDesc'))
105+ // .setName(this. t('loginModal_rememberPassword'))
106+ // .setDesc(this. t('loginModal_rememberPasswordDesc'))
111107 // .addToggle((toggle) =>
112108 // toggle
113109 // .setValue(this.profile.savePassword)
@@ -123,13 +119,13 @@ export class WpLoginModal extends Modal {
123119 // );
124120 new Setting ( contentEl )
125121 . addButton ( button => button
126- . setButtonText ( t ( 'loginModal_loginButtonText' ) )
122+ . setButtonText ( this . t ( 'loginModal_loginButtonText' ) )
127123 . setCta ( )
128124 . onClick ( ( ) => {
129125 if ( ! username ) {
130- showError ( t ( 'error_noUsername' ) ) ;
126+ showError ( this . t ( 'error_noUsername' ) ) ;
131127 } else if ( ! password ) {
132- showError ( t ( 'error_noPassword' ) ) ;
128+ showError ( this . t ( 'error_noPassword' ) ) ;
133129 }
134130 if ( username && password ) {
135131 this . onSubmit ( { username, password } , this ) ;
0 commit comments