@konemono/nostr-login-components 1.1.15 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/button-base2.js.map +1 -1
- package/dist/components/css.js +1 -1
- package/dist/components/index2.js +1 -0
- package/dist/components/index2.js.map +1 -1
- package/dist/components/index3.js +5 -0
- package/dist/components/index3.js.map +1 -1
- package/dist/components/nl-auth2.js +42 -34
- package/dist/components/nl-auth2.js.map +1 -1
- package/dist/components/nl-banner2.js.map +1 -1
- package/dist/components/nl-change-account2.js.map +1 -1
- package/dist/components/nl-confirm-logout2.js.map +1 -1
- package/dist/components/nl-connect2.js +1 -1
- package/dist/components/nl-connect2.js.map +1 -1
- package/dist/components/nl-dialog2.js +1 -1
- package/dist/components/nl-dialog2.js.map +1 -1
- package/dist/components/nl-iframe2.js +1 -1
- package/dist/components/nl-iframe2.js.map +1 -1
- package/dist/components/nl-import-flow2.js.map +1 -1
- package/dist/components/nl-info-extension2.js +1 -1
- package/dist/components/nl-info-extension2.js.map +1 -1
- package/dist/components/nl-info2.js +1 -1
- package/dist/components/nl-info2.js.map +1 -1
- package/dist/components/nl-loading2.js +1 -1
- package/dist/components/nl-loading2.js.map +1 -1
- package/dist/components/nl-local-signup2.js +1 -1
- package/dist/components/nl-local-signup2.js.map +1 -1
- package/dist/components/nl-nip46-relay-settings2.js +2 -2
- package/dist/components/nl-nip46-relay-settings2.js.map +1 -1
- package/dist/components/nl-otp-migrate2.js +1 -1
- package/dist/components/nl-otp-migrate2.js.map +1 -1
- package/dist/components/nl-previously-logged2.js +3 -3
- package/dist/components/nl-previously-logged2.js.map +1 -1
- package/dist/components/nl-select2.js.map +1 -1
- package/dist/components/nl-signin-bunker-url2.js +1 -1
- package/dist/components/nl-signin-bunker-url2.js.map +1 -1
- package/dist/components/nl-signin-connection-string2.js +1 -1
- package/dist/components/nl-signin-connection-string2.js.map +1 -1
- package/dist/components/nl-signin-nsec.d.ts +11 -0
- package/dist/components/nl-signin-nsec.js +8 -0
- package/dist/components/nl-signin-nsec.js.map +1 -0
- package/dist/components/nl-signin-nsec2.js +55 -0
- package/dist/components/nl-signin-nsec2.js.map +1 -0
- package/dist/components/nl-signin-otp2.js +1 -1
- package/dist/components/nl-signin-otp2.js.map +1 -1
- package/dist/components/nl-signin-read-only2.js +1 -1
- package/dist/components/nl-signin-read-only2.js.map +1 -1
- package/dist/components/nl-signin2.js +1 -1
- package/dist/components/nl-signin2.js.map +1 -1
- package/dist/components/nl-signup2.js +1 -1
- package/dist/components/nl-signup2.js.map +1 -1
- package/dist/components/nl-welcome-signin2.js +1 -1
- package/dist/components/nl-welcome-signin2.js.map +1 -1
- package/dist/components/nl-welcome-signup2.js +1 -1
- package/dist/components/nl-welcome-signup2.js.map +1 -1
- package/dist/components/nl-welcome2.js +1 -1
- package/dist/components/nl-welcome2.js.map +1 -1
- package/dist/components/ns-login-status.js +1 -1
- package/dist/types/components/nl-signin-nsec/nl-signin-nsec.d.ts +9 -0
- package/dist/types/components.d.ts +33 -0
- package/dist/types/store/index.d.ts +3 -0
- package/dist/types/types/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"nl-auth2.js","mappings":"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","names":[],"sources":["src/components/nl-auth/nl-auth.css?tag=nl-auth&encapsulation=shadow","src/components/nl-auth/nl-auth.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Event, EventEmitter, Fragment, h, Prop, Watch } from '@stencil/core';\nimport { AuthMethod, ConnectionString, CURRENT_MODULE, Info, NlTheme, RecentType } from '@/types';\nimport { state } from '@/store';\n\n@Component({\n tag: 'nl-auth',\n styleUrl: 'nl-auth.css',\n shadow: true,\n})\nexport class NlAuth {\n @Prop({ mutable: true }) theme: NlTheme = 'default';\n @Prop() bunkers: string = '';\n @Prop() startScreen: string = CURRENT_MODULE.WELCOME;\n @Prop() authMethods: AuthMethod[] = [];\n @Prop() hasExtension: boolean = false;\n @Prop() hasOTP: boolean = false;\n @Prop() isLoading: boolean = false;\n @Prop() isLoadingExtension: boolean = false;\n @Prop() isOTP: boolean = false;\n @Prop() authUrl: string = '';\n @Prop() iframeUrl: string = '';\n @Prop() error: string = '';\n @Prop() localSignup: boolean = false;\n @Prop() signupNjump: boolean = false;\n @Prop() njumpIframe: string = '';\n @Prop({ mutable: true }) accounts: Info[] = [];\n @Prop({ mutable: true }) recents: RecentType[] = [];\n @Prop({ mutable: true }) darkMode: boolean = false;\n @Prop() welcomeTitle: string = '';\n @Prop() welcomeDescription: string = '';\n @Prop() connectionString: string = '';\n @Prop() connectionStringServices: ConnectionString[] = [];\n\n @Event() nlCloseModal: EventEmitter;\n @Event() nlChangeDarkMode: EventEmitter<boolean>;\n @Event() nlNostrConnectDefaultCancel: EventEmitter<void>;\n\n prevPath: string = '';\n\n @Watch('isLoading')\n watchLoadingHandler(newValue: boolean) {\n state.isLoading = newValue;\n }\n\n @Watch('isLoadingExtension')\n watchLoadingExtensionHandler(newValue: boolean) {\n state.isLoadingExtension = newValue;\n }\n\n @Watch('isOTP')\n watchOTPHandler(newValue: boolean) {\n state.isOTP = newValue;\n }\n\n @Watch('authUrl')\n watchAuthUrlHandler(newValue: string) {\n state.authUrl = newValue;\n }\n\n @Watch('iframeUrl')\n watchIframeUrlHandler(newValue: string) {\n state.iframeUrl = newValue;\n }\n\n @Watch('njumpIframe')\n watchNjumpIframeHandler(newValue: string) {\n state.njumpIframe = newValue;\n }\n\n @Watch('error')\n watchErrorHandler(newValue: string) {\n state.error = newValue;\n }\n\n handleClose() {\n this.nlCloseModal.emit();\n }\n\n handleChangeDarkMode() {\n this.nlChangeDarkMode.emit(!this.darkMode);\n }\n\n componentWillLoad() {\n // init state\n state.path = [this.startScreen as CURRENT_MODULE];\n state.error = '';\n state.iframeUrl = '';\n state.authUrl = '';\n state.isLoading = false;\n state.isLoadingExtension = false;\n state.isOTP = false;\n\n console.log('path', state.path);\n }\n\n handleClickToBack() {\n state.path.pop();\n state.path = [...state.path];\n\n // reset\n state.isLoading = false;\n state.isLoadingExtension = false;\n state.authUrl = '';\n state.isOTP = false;\n }\n\n switchSignSignUpStrategy(str: CURRENT_MODULE) {\n if (CURRENT_MODULE.LOCAL_SIGNUP === str) {\n state.path = [CURRENT_MODULE.WELCOME, CURRENT_MODULE.WELCOME_SIGNUP, str];\n\n return;\n }\n\n state.path = [CURRENT_MODULE.WELCOME, str];\n }\n\n render() {\n const classWrapper = `w-full h-full fixed top-0 start-0 z-[80] overflow-x-hidden overflow-y-auto flex items-center ${this.darkMode ? 'dark' : ''}`;\n const currentModule = state.path.at(-1);\n\n if (currentModule !== this.prevPath && this.prevPath === CURRENT_MODULE.CONNECTION_STRING) {\n this.nlNostrConnectDefaultCancel.emit();\n }\n this.prevPath = currentModule;\n\n const renderModule = () => {\n if (state.isOTP) return <nl-signin-otp />;\n\n // @ts-ignore\n // const t: CURRENT_MODULE = 'import' // lastValuePath\n\n switch (currentModule) {\n case CURRENT_MODULE.WELCOME:\n return <nl-welcome titleWelcome={this.welcomeTitle || undefined} description={this.welcomeDescription || undefined} />;\n case CURRENT_MODULE.LOGIN:\n return <nl-signin />;\n case CURRENT_MODULE.SIGNUP:\n return <nl-signup bunkers={this.bunkers} />;\n case CURRENT_MODULE.LOCAL_SIGNUP:\n return <nl-local-signup signupNjump={this.signupNjump} />;\n case CURRENT_MODULE.CONFIRM_LOGOUT:\n return <nl-confirm-logout />;\n case CURRENT_MODULE.IMPORT_FLOW:\n return <nl-import-flow services={this.connectionStringServices} />;\n case CURRENT_MODULE.IMPORT_OTP:\n return <nl-otp-migrate services={this.connectionStringServices} />;\n case CURRENT_MODULE.INFO:\n return <nl-info />;\n case CURRENT_MODULE.EXTENSION:\n return <nl-info-extension />;\n case CURRENT_MODULE.LOGIN_READ_ONLY:\n return <nl-signin-read-only />;\n case CURRENT_MODULE.LOGIN_BUNKER_URL:\n return <nl-signin-bunker-url />;\n case CURRENT_MODULE.LOGIN_OTP:\n return <nl-signin-otp />;\n case CURRENT_MODULE.WELCOME_LOGIN:\n return <nl-welcome-signin hasOTP={this.hasOTP} authMethods={this.authMethods} hasExtension={this.hasExtension} />;\n case CURRENT_MODULE.WELCOME_SIGNUP:\n return <nl-welcome-signup />;\n case CURRENT_MODULE.CONNECTION_STRING:\n return <nl-signin-connection-string connectionString={this.connectionString} />;\n case CURRENT_MODULE.CONNECT:\n return <nl-connect connectionStringServices={this.connectionStringServices} authMethods={this.authMethods} />;\n case CURRENT_MODULE.PREVIOUSLY_LOGGED:\n return <nl-previously-logged accounts={this.accounts} recents={this.recents} />;\n case CURRENT_MODULE.IFRAME:\n return <nl-iframe iframeUrl={this.authUrl} />;\n default:\n return <nl-welcome />;\n }\n };\n\n const showLogin =\n state.isOTP ||\n (currentModule !== CURRENT_MODULE.INFO &&\n currentModule !== CURRENT_MODULE.CONFIRM_LOGOUT &&\n currentModule !== CURRENT_MODULE.IMPORT_FLOW &&\n currentModule !== CURRENT_MODULE.WELCOME &&\n currentModule !== CURRENT_MODULE.EXTENSION &&\n currentModule !== CURRENT_MODULE.IFRAME &&\n currentModule !== CURRENT_MODULE.PREVIOUSLY_LOGGED);\n\n const showSignup =\n currentModule !== CURRENT_MODULE.IFRAME &&\n (!this.authMethods.length || (!this.localSignup && this.authMethods.includes('connect')) || (this.localSignup && this.authMethods.includes('local')));\n\n return (\n <div class={`theme-${this.theme}`} dir=\"ltr\">\n <div class={classWrapper}>\n <div onClick={() => this.handleClose()} class=\"absolute top-0 left-0 w-full h-full bg-gray-500 bg-opacity-75 z-[80]\" />\n\n <div class=\"nl-bg relative z-[81] w-full flex flex-col rounded-xl sm:max-w-lg sm:w-full sm:mx-auto\">\n <div class={`flex justify-between items-center py-3 px-4`}>\n <div class=\"flex gap-2 items-center\">\n <svg class=\"w-7 h-7\" width=\"225\" height=\"224\" viewBox=\"0 0 225 224\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"224.047\" height=\"224\" rx=\"64\" fill=\"#6951FA\" />\n <path\n d=\"M162.441 135.941V88.0593C170.359 85.1674 176 77.5348 176 68.6696C176 57.2919 166.708 48 155.33 48C143.953 48 134.661 57.2444 134.661 68.6696C134.661 77.5822 140.302 85.1674 148.219 88.0593V135.941C147.698 136.13 147.176 136.367 146.655 136.604L87.3956 77.3452C88.6282 74.6904 89.2919 71.7511 89.2919 68.6696C89.2919 57.2444 80.0474 48 68.6696 48C57.2919 48 48 57.2444 48 68.6696C48 77.5822 53.6415 85.1674 61.5585 88.0593V135.941C53.6415 138.833 48 146.465 48 155.33C48 166.708 57.2444 176 68.6696 176C80.0948 176 89.3393 166.708 89.3393 155.33C89.3393 146.418 83.6978 138.833 75.7807 135.941V88.0593C76.3022 87.8696 76.8237 87.6326 77.3452 87.3956L136.604 146.655C135.372 149.31 134.708 152.249 134.708 155.33C134.708 166.708 143.953 176 155.378 176C166.803 176 176.047 166.708 176.047 155.33C176.047 146.418 170.406 138.833 162.489 135.941H162.441Z\"\n fill=\"white\"\n />\n </svg>\n <p class=\"font-bold nl-logo text-base\">\n Nostr <span class=\"font-light\">Login</span>\n </p>\n </div>\n\n <div class=\"flex gap-1\">\n <button\n onClick={() => this.handleChangeDarkMode()}\n type=\"button\"\n class=\"nl-action-button flex justify-center items-center w-7 h-7 text-sm font-semibold rounded-full border border-transparent\"\n >\n <span class=\"sr-only\">Change theme</span>\n {this.darkMode ? (\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"flex-shrink-0 w-5 h-5\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z\"\n />\n </svg>\n ) : (\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"flex-shrink-0 w-5 h-5\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z\"\n />\n </svg>\n )}\n </button>\n {!state.isLoading && (\n <button\n onClick={() => (state.path = [...state.path, CURRENT_MODULE.INFO])}\n type=\"button\"\n class=\"nl-action-button flex justify-center items-center w-7 h-7 text-sm font-semibold rounded-full border border-transparent\"\n >\n <span class=\"sr-only\">Info</span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"flex-shrink-0 w-5 h-5\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z\"\n />\n </svg>\n </button>\n )}\n <button\n onClick={() => this.handleClose()}\n type=\"button\"\n class=\"nl-action-button flex justify-center items-center w-7 h-7 text-sm font-semibold rounded-full border border-transparent\"\n >\n <span class=\"sr-only\">Close</span>\n <svg\n class=\"flex-shrink-0 w-5 h-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n </div>\n </div>\n {state.path.length > 1 && !state.isLoading && (\n <div class=\"p-4\">\n <button\n onClick={() => this.handleClickToBack()}\n type=\"button\"\n class=\"nl-action-button flex justify-center items-center w-7 h-7 text-sm font-semibold rounded-full border border-transparent dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-gray-600\"\n data-hs-overlay=\"#hs-vertically-centered-modal\"\n >\n <span class=\"sr-only\">Back</span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"flex-shrink-0 w-5 h-5\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18\" />\n </svg>\n </button>\n </div>\n )}\n {state.isLoading || state.authUrl ? (\n <nl-loading path={currentModule} />\n ) : (\n <Fragment>\n {renderModule()}\n {showLogin && (\n <Fragment>\n {currentModule === CURRENT_MODULE.WELCOME_SIGNUP || currentModule === CURRENT_MODULE.SIGNUP || currentModule === CURRENT_MODULE.LOCAL_SIGNUP ? (\n <div class=\"p-4 overflow-y-auto\">\n <p class=\"nl-footer font-light text-center text-sm pt-3 max-w-96 mx-auto\">\n If you already have a profile please{' '}\n <span onClick={() => this.switchSignSignUpStrategy(CURRENT_MODULE.WELCOME_LOGIN)} class=\"cursor-pointer text-blue-400\">\n log in\n </span>\n .\n </p>\n </div>\n ) : (\n showSignup && (\n <div class=\"p-4 overflow-y-auto\">\n <p class=\"nl-footer font-light text-center text-sm pt-3 max-w-96 mx-auto\">\n If you don't have a profile please{' '}\n <span\n onClick={() =>\n this.localSignup ? this.switchSignSignUpStrategy(CURRENT_MODULE.LOCAL_SIGNUP) : this.switchSignSignUpStrategy(CURRENT_MODULE.WELCOME_SIGNUP)\n }\n class=\"cursor-pointer text-blue-400\"\n >\n sign up\n </span>\n .\n </p>\n </div>\n )\n )}\n </Fragment>\n )}\n </Fragment>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"nl-auth2.js","mappings":"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","names":[],"sources":["src/components/nl-auth/nl-auth.css?tag=nl-auth&encapsulation=shadow","src/components/nl-auth/nl-auth.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Event, EventEmitter, Fragment, h, Prop, Watch } from '@stencil/core';\nimport { AuthMethod, ConnectionString, CURRENT_MODULE, Info, NlTheme, RecentType } from '@/types';\nimport { state } from '@/store';\n\n@Component({\n tag: 'nl-auth',\n styleUrl: 'nl-auth.css',\n shadow: true,\n})\nexport class NlAuth {\n @Prop({ mutable: true }) theme: NlTheme = 'default';\n @Prop() bunkers: string = '';\n @Prop() startScreen: string = CURRENT_MODULE.WELCOME;\n @Prop() authMethods: AuthMethod[] = [];\n @Prop() hasExtension: boolean = false;\n @Prop() hasOTP: boolean = false;\n @Prop() isLoading: boolean = false;\n @Prop() isLoadingExtension: boolean = false;\n @Prop() isOTP: boolean = false;\n @Prop() authUrl: string = '';\n @Prop() iframeUrl: string = '';\n @Prop() error: string = '';\n @Prop() localSignup: boolean = false;\n @Prop() signupNjump: boolean = false;\n @Prop() njumpIframe: string = '';\n @Prop({ mutable: true }) accounts: Info[] = [];\n @Prop({ mutable: true }) recents: RecentType[] = [];\n @Prop({ mutable: true }) darkMode: boolean = false;\n @Prop() welcomeTitle: string = '';\n @Prop() welcomeDescription: string = '';\n @Prop() connectionString: string = '';\n @Prop() connectionStringServices: ConnectionString[] = [];\n\n @Event() nlCloseModal: EventEmitter;\n @Event() nlChangeDarkMode: EventEmitter<boolean>;\n @Event() nlNostrConnectDefaultCancel: EventEmitter<void>;\n\n prevPath: string = '';\n\n @Watch('isLoading')\n watchLoadingHandler(newValue: boolean) {\n state.isLoading = newValue;\n }\n\n @Watch('isLoadingExtension')\n watchLoadingExtensionHandler(newValue: boolean) {\n state.isLoadingExtension = newValue;\n }\n\n @Watch('isOTP')\n watchOTPHandler(newValue: boolean) {\n state.isOTP = newValue;\n }\n\n @Watch('authUrl')\n watchAuthUrlHandler(newValue: string) {\n state.authUrl = newValue;\n }\n\n @Watch('iframeUrl')\n watchIframeUrlHandler(newValue: string) {\n state.iframeUrl = newValue;\n }\n\n @Watch('njumpIframe')\n watchNjumpIframeHandler(newValue: string) {\n state.njumpIframe = newValue;\n }\n\n @Watch('error')\n watchErrorHandler(newValue: string) {\n state.error = newValue;\n }\n\n handleClose() {\n this.nlCloseModal.emit();\n }\n\n handleChangeDarkMode() {\n this.nlChangeDarkMode.emit(!this.darkMode);\n }\n\n componentWillLoad() {\n // init state\n state.path = [this.startScreen as CURRENT_MODULE];\n state.error = '';\n state.iframeUrl = '';\n state.authUrl = '';\n state.isLoading = false;\n state.isLoadingExtension = false;\n state.isOTP = false;\n\n console.log('path', state.path);\n }\n\n handleClickToBack() {\n state.path.pop();\n state.path = [...state.path];\n\n // reset\n state.isLoading = false;\n state.isLoadingExtension = false;\n state.authUrl = '';\n state.isOTP = false;\n }\n\n switchSignSignUpStrategy(str: CURRENT_MODULE) {\n if (CURRENT_MODULE.LOCAL_SIGNUP === str) {\n state.path = [CURRENT_MODULE.WELCOME, CURRENT_MODULE.WELCOME_SIGNUP, str];\n\n return;\n }\n\n state.path = [CURRENT_MODULE.WELCOME, str];\n }\n\n render() {\n const classWrapper = `w-full h-full fixed top-0 start-0 z-[80] overflow-x-hidden overflow-y-auto flex items-center ${this.darkMode ? 'dark' : ''}`;\n const currentModule = state.path.at(-1);\n\n if (currentModule !== this.prevPath && this.prevPath === CURRENT_MODULE.CONNECTION_STRING) {\n this.nlNostrConnectDefaultCancel.emit();\n }\n this.prevPath = currentModule;\n\n const renderModule = () => {\n if (state.isOTP) return <nl-signin-otp />;\n\n // @ts-ignore\n // const t: CURRENT_MODULE = 'import' // lastValuePath\n\n switch (currentModule) {\n case CURRENT_MODULE.WELCOME:\n return <nl-welcome titleWelcome={this.welcomeTitle || undefined} description={this.welcomeDescription || undefined} />;\n case CURRENT_MODULE.LOGIN:\n return <nl-signin />;\n case CURRENT_MODULE.SIGNUP:\n return <nl-signup bunkers={this.bunkers} />;\n case CURRENT_MODULE.LOCAL_SIGNUP:\n return <nl-local-signup signupNjump={this.signupNjump} />;\n case CURRENT_MODULE.CONFIRM_LOGOUT:\n return <nl-confirm-logout />;\n case CURRENT_MODULE.IMPORT_FLOW:\n return <nl-import-flow services={this.connectionStringServices} />;\n case CURRENT_MODULE.IMPORT_OTP:\n return <nl-otp-migrate services={this.connectionStringServices} />;\n case CURRENT_MODULE.INFO:\n return <nl-info />;\n case CURRENT_MODULE.EXTENSION:\n return <nl-info-extension />;\n case CURRENT_MODULE.LOGIN_READ_ONLY:\n return <nl-signin-read-only />;\n case CURRENT_MODULE.LOGIN_BUNKER_URL:\n return <nl-signin-bunker-url />;\n case CURRENT_MODULE.LOGIN_OTP:\n return <nl-signin-otp />;\n case CURRENT_MODULE.LOGIN_NSEC:\n return <nl-signin-nsec />;\n case CURRENT_MODULE.WELCOME_LOGIN:\n return <nl-welcome-signin hasOTP={this.hasOTP} authMethods={this.authMethods} hasExtension={this.hasExtension} />;\n case CURRENT_MODULE.WELCOME_SIGNUP:\n return <nl-welcome-signup />;\n case CURRENT_MODULE.CONNECTION_STRING:\n return <nl-signin-connection-string connectionString={this.connectionString} />;\n case CURRENT_MODULE.CONNECT:\n return <nl-connect connectionStringServices={this.connectionStringServices} authMethods={this.authMethods} />;\n case CURRENT_MODULE.PREVIOUSLY_LOGGED:\n return <nl-previously-logged accounts={this.accounts} recents={this.recents} />;\n case CURRENT_MODULE.IFRAME:\n return <nl-iframe iframeUrl={this.authUrl} />;\n default:\n return <nl-welcome />;\n }\n };\n\n const showLogin =\n state.isOTP ||\n (currentModule !== CURRENT_MODULE.INFO &&\n currentModule !== CURRENT_MODULE.CONFIRM_LOGOUT &&\n currentModule !== CURRENT_MODULE.IMPORT_FLOW &&\n currentModule !== CURRENT_MODULE.WELCOME &&\n currentModule !== CURRENT_MODULE.EXTENSION &&\n currentModule !== CURRENT_MODULE.IFRAME &&\n currentModule !== CURRENT_MODULE.PREVIOUSLY_LOGGED);\n\n const showSignup =\n currentModule !== CURRENT_MODULE.IFRAME &&\n (!this.authMethods.length || (!this.localSignup && this.authMethods.includes('connect')) || (this.localSignup && this.authMethods.includes('local')));\n\n return (\n <div class={`theme-${this.theme}`} dir=\"ltr\">\n <div class={classWrapper}>\n <div onClick={() => this.handleClose()} class=\"absolute top-0 left-0 w-full h-full bg-gray-500 bg-opacity-75 z-[80]\" />\n\n <div class=\"nl-bg relative z-[81] w-full flex flex-col rounded-xl sm:max-w-lg sm:w-full sm:mx-auto\">\n <div class={`flex justify-between items-center py-3 px-4`}>\n <div class=\"flex gap-2 items-center\">\n <svg class=\"w-7 h-7\" width=\"225\" height=\"224\" viewBox=\"0 0 225 224\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"224.047\" height=\"224\" rx=\"64\" fill=\"#6951FA\" />\n <path\n d=\"M162.441 135.941V88.0593C170.359 85.1674 176 77.5348 176 68.6696C176 57.2919 166.708 48 155.33 48C143.953 48 134.661 57.2444 134.661 68.6696C134.661 77.5822 140.302 85.1674 148.219 88.0593V135.941C147.698 136.13 147.176 136.367 146.655 136.604L87.3956 77.3452C88.6282 74.6904 89.2919 71.7511 89.2919 68.6696C89.2919 57.2444 80.0474 48 68.6696 48C57.2919 48 48 57.2444 48 68.6696C48 77.5822 53.6415 85.1674 61.5585 88.0593V135.941C53.6415 138.833 48 146.465 48 155.33C48 166.708 57.2444 176 68.6696 176C80.0948 176 89.3393 166.708 89.3393 155.33C89.3393 146.418 83.6978 138.833 75.7807 135.941V88.0593C76.3022 87.8696 76.8237 87.6326 77.3452 87.3956L136.604 146.655C135.372 149.31 134.708 152.249 134.708 155.33C134.708 166.708 143.953 176 155.378 176C166.803 176 176.047 166.708 176.047 155.33C176.047 146.418 170.406 138.833 162.489 135.941H162.441Z\"\n fill=\"white\"\n />\n </svg>\n <p class=\"font-bold nl-logo text-base\">\n Nostr <span class=\"font-light\">Login</span>\n </p>\n </div>\n\n <div class=\"flex gap-1\">\n <button\n onClick={() => this.handleChangeDarkMode()}\n type=\"button\"\n class=\"nl-action-button flex justify-center items-center w-7 h-7 text-sm font-semibold rounded-full border border-transparent\"\n >\n <span class=\"sr-only\">Change theme</span>\n {this.darkMode ? (\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"flex-shrink-0 w-5 h-5\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z\"\n />\n </svg>\n ) : (\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"flex-shrink-0 w-5 h-5\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z\"\n />\n </svg>\n )}\n </button>\n {!state.isLoading && (\n <button\n onClick={() => (state.path = [...state.path, CURRENT_MODULE.INFO])}\n type=\"button\"\n class=\"nl-action-button flex justify-center items-center w-7 h-7 text-sm font-semibold rounded-full border border-transparent\"\n >\n <span class=\"sr-only\">Info</span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"flex-shrink-0 w-5 h-5\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z\"\n />\n </svg>\n </button>\n )}\n <button\n onClick={() => this.handleClose()}\n type=\"button\"\n class=\"nl-action-button flex justify-center items-center w-7 h-7 text-sm font-semibold rounded-full border border-transparent\"\n >\n <span class=\"sr-only\">Close</span>\n <svg\n class=\"flex-shrink-0 w-5 h-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n </div>\n </div>\n {state.path.length > 1 && !state.isLoading && (\n <div class=\"p-4\">\n <button\n onClick={() => this.handleClickToBack()}\n type=\"button\"\n class=\"nl-action-button flex justify-center items-center w-7 h-7 text-sm font-semibold rounded-full border border-transparent dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-gray-600\"\n data-hs-overlay=\"#hs-vertically-centered-modal\"\n >\n <span class=\"sr-only\">Back</span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"flex-shrink-0 w-5 h-5\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18\" />\n </svg>\n </button>\n </div>\n )}\n {state.isLoading || state.authUrl ? (\n <nl-loading path={currentModule} />\n ) : (\n <Fragment>\n {renderModule()}\n {showLogin && (\n <Fragment>\n {currentModule === CURRENT_MODULE.WELCOME_SIGNUP || currentModule === CURRENT_MODULE.SIGNUP || currentModule === CURRENT_MODULE.LOCAL_SIGNUP ? (\n <div class=\"p-4 overflow-y-auto\">\n <p class=\"nl-footer font-light text-center text-sm pt-3 max-w-96 mx-auto\">\n If you already have a profile please{' '}\n <span onClick={() => this.switchSignSignUpStrategy(CURRENT_MODULE.WELCOME_LOGIN)} class=\"cursor-pointer text-blue-400\">\n log in\n </span>\n .\n </p>\n </div>\n ) : (\n showSignup && (\n <div class=\"p-4 overflow-y-auto\">\n <p class=\"nl-footer font-light text-center text-sm pt-3 max-w-96 mx-auto\">\n If you don't have a profile please{' '}\n <span\n onClick={() =>\n this.localSignup ? this.switchSignSignUpStrategy(CURRENT_MODULE.LOCAL_SIGNUP) : this.switchSignSignUpStrategy(CURRENT_MODULE.WELCOME_SIGNUP)\n }\n class=\"cursor-pointer text-blue-400\"\n >\n sign up\n </span>\n .\n </p>\n </div>\n )\n )}\n </Fragment>\n )}\n </Fragment>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"nl-banner2.js","mappings":"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","names":[],"sources":["src/components/nl-banner/nl-banner.css?tag=nl-banner&encapsulation=shadow","src/components/nl-banner/nl-banner.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n","import { Component, Event, EventEmitter, Fragment, h, Prop, State, Watch } from '@stencil/core';\nimport { BannerNotify, BannerNotifyMode, Info, METHOD_MODULE, NlTheme } from '@/types';\n\n@Component({\n tag: 'nl-banner',\n styleUrl: 'nl-banner.css',\n shadow: true,\n})\nexport class NlBanner {\n @Prop({ mutable: true }) theme: NlTheme = 'default';\n @Prop({ mutable: true }) darkMode: boolean = false;\n @Prop({ mutable: true }) hiddenMode: boolean = false;\n @Prop() titleBanner: string = '';\n @Prop({ mutable: true }) isOpen: boolean = false;\n\n @Prop() isLoading: boolean = false;\n @Prop() notify: BannerNotify | null = null;\n @Prop() userInfo: Info | null = null;\n @Prop({ mutable: true }) accounts: Info[] = [];\n\n @State() isUserImgError = false;\n\n @State() domain: string = '';\n @State() mode: BannerNotifyMode = '';\n @State() url: string = '';\n @State() isOpenConfirm: boolean = false;\n\n @Event() handleNotifyConfirmBanner: EventEmitter<string>;\n @Event() handleNotifyConfirmBannerIframe: EventEmitter<string>;\n @Event() handleLoginBanner: EventEmitter<string>;\n @Event() handleLogoutBanner: EventEmitter<string>;\n @Event() handleOpenWelcomeModal: EventEmitter<string>;\n @Event() handleConfirmLogout: EventEmitter<string>;\n @Event() handleImportModal: EventEmitter<string>;\n @Event() handleCancelTimeout: EventEmitter<void>;\n\n @Watch('notify')\n watchNotifyHandler(notify: BannerNotify) {\n this.isOpen = true;\n this.isOpenConfirm = true;\n this.domain = this.userInfo?.domain || this.userInfo?.nip05?.split('@')?.[1] || '';\n\n this.mode = notify.mode;\n this.url = notify.url;\n if (!this.mode) {\n this.isOpenConfirm = false;\n this.isOpen = false;\n }\n }\n\n handleOpen() {\n if (this.userInfo) {\n this.isOpen = true;\n } else {\n this.handleOpenWelcomeModal.emit();\n }\n }\n\n handleClose() {\n this.isOpen = false;\n }\n\n handleLogin() {\n this.handleLoginBanner.emit(METHOD_MODULE.LOGIN);\n this.handleClose();\n }\n\n handleSignup() {\n this.handleLoginBanner.emit(METHOD_MODULE.SIGNUP);\n this.handleClose();\n }\n\n handleImport() {\n this.handleImportModal.emit();\n this.handleClose();\n }\n\n handleLogout() {\n const isBackupKey = localStorage.getItem('backupKey');\n\n if (isBackupKey) {\n this.handleLogoutBanner.emit(METHOD_MODULE.LOGOUT);\n this.handleClose();\n localStorage.removeItem('backupKey');\n\n return;\n }\n\n if (this.userInfo.authMethod === 'local') {\n this.handleConfirmLogout.emit();\n } else {\n this.handleLogoutBanner.emit(METHOD_MODULE.LOGOUT);\n }\n\n this.handleClose();\n }\n\n handleConfirm() {\n switch (this.mode) {\n case 'authUrl':\n this.handleNotifyConfirmBanner.emit(this.url);\n break;\n case 'iframeAuthUrl':\n this.handleNotifyConfirmBannerIframe.emit(this.url);\n break;\n }\n this.handleClose();\n }\n\n render() {\n const isShowImg = Boolean(this.userInfo?.picture);\n const userName = this.userInfo?.name || this.userInfo?.nip05?.split('@')?.[0] || this.userInfo?.pubkey || '';\n const isShowUserName = Boolean(userName);\n const isTemporary = this.userInfo && this.userInfo.authMethod === 'local';\n const isBackupKey = localStorage.getItem('backupKey');\n\n const defaultUserAvatar = (\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-full\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17.982 18.725A7.488 7.488 0 0 0 12 15.75a7.488 7.488 0 0 0-5.982 2.975m11.963 0a9 9 0 1 0-11.963 0m11.963 0A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"\n />\n </svg>\n );\n\n const content = (\n <Fragment>\n <div class=\"block w-[48px] h-[46px] relative z-10\">\n <div onClick={() => this.handleOpen()} class={`flex w-52 h-[46px] items-center pl-[11px]`}>\n <span\n class={`${this.isLoading ? 'w-5 h-5 border-[2px] mr-3.5 ml-[2px] opacity-1' : 'w-0 h-0 border-[0px] mr-0 opacity-0 ml-0'} animate-spin transition-all duration-300 ease-in-out inline-block border-current border-t-transparent text-slate-900 dark:text-gray-300 rounded-full`}\n role=\"status\"\n aria-label=\"loading\"\n ></span>\n\n {this.userInfo ? (\n <div class={`uppercase font-bold w-6 h-6 mr-2 rounded-full border border-gray-200 flex justify-center items-center`}>\n {isShowImg ? (\n this.isUserImgError ? (\n defaultUserAvatar\n ) : (\n <img class=\"w-full rounded-full\" src={this.userInfo.picture} alt=\"Logo\" onError={() => (this.isUserImgError = true)} />\n )\n ) : isShowUserName ? (\n userName[0]\n ) : (\n defaultUserAvatar\n )}\n </div>\n ) : (\n <div class=\"flex justify-center items-center\">\n <svg class=\"w-6 h-6\" width=\"225\" height=\"224\" viewBox=\"0 0 225 224\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"224.047\" height=\"224\" rx=\"64\" fill=\"#6951FA\" />\n <path\n d=\"M162.441 135.941V88.0593C170.359 85.1674 176 77.5348 176 68.6696C176 57.2919 166.708 48 155.33 48C143.953 48 134.661 57.2444 134.661 68.6696C134.661 77.5822 140.302 85.1674 148.219 88.0593V135.941C147.698 136.13 147.176 136.367 146.655 136.604L87.3956 77.3452C88.6282 74.6904 89.2919 71.7511 89.2919 68.6696C89.2919 57.2444 80.0474 48 68.6696 48C57.2919 48 48 57.2444 48 68.6696C48 77.5822 53.6415 85.1674 61.5585 88.0593V135.941C53.6415 138.833 48 146.465 48 155.33C48 166.708 57.2444 176 68.6696 176C80.0948 176 89.3393 166.708 89.3393 155.33C89.3393 146.418 83.6978 138.833 75.7807 135.941V88.0593C76.3022 87.8696 76.8237 87.6326 77.3452 87.3956L136.604 146.655C135.372 149.31 134.708 152.249 134.708 155.33C134.708 166.708 143.953 176 155.378 176C166.803 176 176.047 166.708 176.047 155.33C176.047 146.418 170.406 138.833 162.489 135.941H162.441Z\"\n fill=\"white\"\n />\n </svg>\n {this.isOpen && (\n <span class=\"px-2\">\n <b>Nostr</b> Login\n </span>\n )}\n </div>\n )}\n\n {this.isOpen && isShowUserName && <div class=\"show-slow truncate w-16 text-xs\">{userName}</div>}\n {this.isOpen && isShowUserName && <nl-login-status info={this.userInfo} />}\n </div>\n </div>\n\n <button\n onClick={() => this.handleClose()}\n type=\"button\"\n class={`${this.isOpen ? 'z-20' : 'z-0'} nl-action-button absolute right-2 top-2 z-0 show-slow grid place-items-center w-7 h-7 text-sm font-semibold rounded-full border border-transparent`}\n >\n <span class=\"sr-only\">Close</span>\n <svg\n class=\"flex-shrink-0 w-5 h-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n\n <div class=\"p-3 show-slow\">\n {this.isOpenConfirm ? (\n <div>\n <div class=\"w-8 h-8 p-1/2 rounded-full border border-gray-200 bg-white mb-2 mt-2 show-slow m-auto\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"#5a68ff\" class=\"w-full\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z\"\n />\n </svg>\n </div>\n <p class=\"mb-2 text-center max-w-40 min-w-40 mx-auto\">\n {this.mode === 'timeout' ? 'Keys not responding, check your key storage app' : `Confirmation required at ${this.domain}`}\n </p>\n\n {this.mode === 'timeout' ? (\n <div>\n <a\n onClick={() => this.handleClose()}\n href={`https://${this.domain}`}\n target=\"_blank\"\n class=\"nl-button text-nowrap py-2.5 px-3 w-full inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-lg disabled:opacity-50 disabled:pointer-events-none dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-gray-600 mb-2\"\n >\n Go to {this.domain}\n </a>\n <button-base\n onClick={() => {\n this.handleCancelTimeout.emit();\n this.handleClose();\n }}\n titleBtn=\"Cancel\"\n />\n </div>\n ) : this.mode === 'rebind' ? (\n <iframe src={this.url} width={'180'} height={'80'} frameBorder={'0'}></iframe>\n ) : (\n <button-base onClick={() => this.handleConfirm()} titleBtn=\"Confirm\" />\n )}\n </div>\n ) : (\n <div>\n <div>\n {this.titleBanner && <p class=\"mb-2 text-center show-slow max-w-40 min-w-40 mx-auto\">{this.titleBanner}</p>}\n {isTemporary && (\n <Fragment>\n {!isBackupKey && <p class=\"mb-2 text-center show-slow text-red-400 max-w-40 min-w-40 mx-auto\">Your profile may be lost if you close this tab</p>}\n <div class=\"mb-2\">\n <button-base onClick={() => this.handleImport()} theme=\"lemonade\" titleBtn=\"Back up profile\" />\n </div>\n </Fragment>\n )}\n <div class=\"mb-2\">\n <nl-change-account currentAccount={this.userInfo} accounts={this.accounts} />\n </div>\n {/* {Boolean(this.listNotifies.length) && (\n <div\n onClick={() => this.handleRetryConfirm()}\n class=\"show-slow border border-yellow-600 text-yellow-600 bg-yellow-100 p-2 rounded-lg mb-2 cursor-pointer w-44 text-xs m-auto text-center\"\n >\n Requests: {this.listNotifies.length}\n </div>\n )} */}\n {!this.userInfo ? (\n <div>\n <button-base onClick={() => this.handleLogin()} titleBtn=\"Log in\">\n <svg\n style={{ display: 'none' }}\n slot=\"icon-start\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n class=\"flex-shrink-0 w-4 h-4\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15.75 5.25a3 3 0 0 1 3 3m3 0a6 6 0 0 1-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1 1 21.75 8.25Z\"\n />\n </svg>\n </button-base>\n <button-base onClick={() => this.handleSignup()} titleBtn=\"Sign up\">\n <svg\n style={{ display: 'none' }}\n slot=\"icon-start\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n class=\"flex-shrink-0 w-4 h-4\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 7.5v3m0 0v3m0-3h3m-3 0h-3m-2.25-4.125a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0ZM3 19.235v-.11a6.375 6.375 0 0 1 12.75 0v.109A12.318 12.318 0 0 1 9.374 21c-2.331 0-4.512-.645-6.374-1.766Z\"\n />\n </svg>\n </button-base>\n </div>\n ) : (\n <button-base onClick={() => this.handleLogout()} titleBtn=\"Log out\" />\n )}\n </div>\n </div>\n )}\n </div>\n </Fragment>\n );\n\n // https://gist.github.com/Haprog/848fc451c25da00b540e6d34c301e96a\n function deepQuerySelectorAll(selector: string, root?: Element) {\n root = root || document.body;\n const results = Array.from(root.querySelectorAll(selector));\n const pushNestedResults = function (root) {\n deepQuerySelectorAll(selector, root).forEach(elem => {\n if (!results.includes(elem)) {\n results.push(elem);\n }\n });\n };\n if (root.shadowRoot) {\n pushNestedResults(root.shadowRoot);\n }\n for (const elem of Array.from(root.querySelectorAll('*'))) {\n if (elem.shadowRoot) {\n pushNestedResults(elem.shadowRoot);\n }\n }\n return results;\n }\n\n const dialogs = deepQuerySelectorAll('dialog');\n const needDialog = !!dialogs.find(d => (d as HTMLDialogElement).open && !d.classList.contains('nl-banner-dialog'));\n\n return (\n <div class={`theme-${this.theme} ${!this.isOpen && this.hiddenMode ? 'hidden' : ''}`}>\n <div class={this.darkMode && 'dark'} dir=\"ltr\">\n {this.isOpenConfirm && needDialog ? (\n <nl-dialog>\n <div\n class={`nl-banner ${this.isOpen ? 'w-52 h-auto right-2 rounded-r-lg isOpen ' : 'rounded-r-none hover:rounded-r-lg cursor-pointer'} z-50 w-12 h-12 fixed top-52 right-0 inline-block gap-x-2 text-sm font-medium rounded-lg hover:right-2 transition-all duration-300 ease-in-out`}\n >\n {content}\n </div>\n </nl-dialog>\n ) : (\n <div\n class={`nl-banner ${this.isOpen ? 'w-52 h-auto right-2 rounded-r-lg isOpen' : 'rounded-r-none hover:rounded-r-lg cursor-pointer'} z-50 w-12 h-12 fixed top-52 right-0 inline-block gap-x-2 text-sm font-medium rounded-lg hover:right-2 transition-all duration-300 ease-in-out`}\n >\n {content}\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"nl-banner2.js","mappings":"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","names":[],"sources":["src/components/nl-banner/nl-banner.css?tag=nl-banner&encapsulation=shadow","src/components/nl-banner/nl-banner.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n","import { Component, Event, EventEmitter, Fragment, h, Prop, State, Watch } from '@stencil/core';\nimport { BannerNotify, BannerNotifyMode, Info, METHOD_MODULE, NlTheme } from '@/types';\n\n@Component({\n tag: 'nl-banner',\n styleUrl: 'nl-banner.css',\n shadow: true,\n})\nexport class NlBanner {\n @Prop({ mutable: true }) theme: NlTheme = 'default';\n @Prop({ mutable: true }) darkMode: boolean = false;\n @Prop({ mutable: true }) hiddenMode: boolean = false;\n @Prop() titleBanner: string = '';\n @Prop({ mutable: true }) isOpen: boolean = false;\n\n @Prop() isLoading: boolean = false;\n @Prop() notify: BannerNotify | null = null;\n @Prop() userInfo: Info | null = null;\n @Prop({ mutable: true }) accounts: Info[] = [];\n\n @State() isUserImgError = false;\n\n @State() domain: string = '';\n @State() mode: BannerNotifyMode = '';\n @State() url: string = '';\n @State() isOpenConfirm: boolean = false;\n\n @Event() handleNotifyConfirmBanner: EventEmitter<string>;\n @Event() handleNotifyConfirmBannerIframe: EventEmitter<string>;\n @Event() handleLoginBanner: EventEmitter<string>;\n @Event() handleLogoutBanner: EventEmitter<string>;\n @Event() handleOpenWelcomeModal: EventEmitter<string>;\n @Event() handleConfirmLogout: EventEmitter<string>;\n @Event() handleImportModal: EventEmitter<string>;\n @Event() handleCancelTimeout: EventEmitter<void>;\n\n @Watch('notify')\n watchNotifyHandler(notify: BannerNotify) {\n this.isOpen = true;\n this.isOpenConfirm = true;\n this.domain = this.userInfo?.domain || this.userInfo?.nip05?.split('@')?.[1] || '';\n\n this.mode = notify.mode;\n this.url = notify.url;\n if (!this.mode) {\n this.isOpenConfirm = false;\n this.isOpen = false;\n }\n }\n\n handleOpen() {\n if (this.userInfo) {\n this.isOpen = true;\n } else {\n this.handleOpenWelcomeModal.emit();\n }\n }\n\n handleClose() {\n this.isOpen = false;\n }\n\n handleLogin() {\n this.handleLoginBanner.emit(METHOD_MODULE.LOGIN);\n this.handleClose();\n }\n\n handleSignup() {\n this.handleLoginBanner.emit(METHOD_MODULE.SIGNUP);\n this.handleClose();\n }\n\n handleImport() {\n this.handleImportModal.emit();\n this.handleClose();\n }\n\n handleLogout() {\n const isBackupKey = localStorage.getItem('backupKey');\n\n if (isBackupKey) {\n this.handleLogoutBanner.emit(METHOD_MODULE.LOGOUT);\n this.handleClose();\n localStorage.removeItem('backupKey');\n\n return;\n }\n\n if (this.userInfo.authMethod === 'local') {\n this.handleConfirmLogout.emit();\n } else {\n this.handleLogoutBanner.emit(METHOD_MODULE.LOGOUT);\n }\n\n this.handleClose();\n }\n\n handleConfirm() {\n switch (this.mode) {\n case 'authUrl':\n this.handleNotifyConfirmBanner.emit(this.url);\n break;\n case 'iframeAuthUrl':\n this.handleNotifyConfirmBannerIframe.emit(this.url);\n break;\n }\n this.handleClose();\n }\n\n render() {\n const isShowImg = Boolean(this.userInfo?.picture);\n const userName = this.userInfo?.name || this.userInfo?.nip05?.split('@')?.[0] || this.userInfo?.pubkey || '';\n const isShowUserName = Boolean(userName);\n const isTemporary = this.userInfo && this.userInfo.authMethod === 'local';\n const isBackupKey = localStorage.getItem('backupKey');\n\n const defaultUserAvatar = (\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-full\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17.982 18.725A7.488 7.488 0 0 0 12 15.75a7.488 7.488 0 0 0-5.982 2.975m11.963 0a9 9 0 1 0-11.963 0m11.963 0A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"\n />\n </svg>\n );\n\n const content = (\n <Fragment>\n <div class=\"block w-[48px] h-[46px] relative z-10\">\n <div onClick={() => this.handleOpen()} class={`flex w-52 h-[46px] items-center pl-[11px]`}>\n <span\n class={`${this.isLoading ? 'w-5 h-5 border-[2px] mr-3.5 ml-[2px] opacity-1' : 'w-0 h-0 border-[0px] mr-0 opacity-0 ml-0'} animate-spin transition-all duration-300 ease-in-out inline-block border-current border-t-transparent text-slate-900 dark:text-gray-300 rounded-full`}\n role=\"status\"\n aria-label=\"loading\"\n ></span>\n\n {this.userInfo ? (\n <div class={`uppercase font-bold w-6 h-6 mr-2 rounded-full border border-gray-200 flex justify-center items-center`}>\n {isShowImg ? (\n this.isUserImgError ? (\n defaultUserAvatar\n ) : (\n <img class=\"w-full rounded-full\" src={this.userInfo.picture} alt=\"Logo\" onError={() => (this.isUserImgError = true)} />\n )\n ) : isShowUserName ? (\n userName[0]\n ) : (\n defaultUserAvatar\n )}\n </div>\n ) : (\n <div class=\"flex justify-center items-center\">\n <svg class=\"w-6 h-6\" width=\"225\" height=\"224\" viewBox=\"0 0 225 224\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect width=\"224.047\" height=\"224\" rx=\"64\" fill=\"#6951FA\" />\n <path\n d=\"M162.441 135.941V88.0593C170.359 85.1674 176 77.5348 176 68.6696C176 57.2919 166.708 48 155.33 48C143.953 48 134.661 57.2444 134.661 68.6696C134.661 77.5822 140.302 85.1674 148.219 88.0593V135.941C147.698 136.13 147.176 136.367 146.655 136.604L87.3956 77.3452C88.6282 74.6904 89.2919 71.7511 89.2919 68.6696C89.2919 57.2444 80.0474 48 68.6696 48C57.2919 48 48 57.2444 48 68.6696C48 77.5822 53.6415 85.1674 61.5585 88.0593V135.941C53.6415 138.833 48 146.465 48 155.33C48 166.708 57.2444 176 68.6696 176C80.0948 176 89.3393 166.708 89.3393 155.33C89.3393 146.418 83.6978 138.833 75.7807 135.941V88.0593C76.3022 87.8696 76.8237 87.6326 77.3452 87.3956L136.604 146.655C135.372 149.31 134.708 152.249 134.708 155.33C134.708 166.708 143.953 176 155.378 176C166.803 176 176.047 166.708 176.047 155.33C176.047 146.418 170.406 138.833 162.489 135.941H162.441Z\"\n fill=\"white\"\n />\n </svg>\n {this.isOpen && (\n <span class=\"px-2\">\n <b>Nostr</b> Login\n </span>\n )}\n </div>\n )}\n\n {this.isOpen && isShowUserName && <div class=\"show-slow truncate w-16 text-xs\">{userName}</div>}\n {this.isOpen && isShowUserName && <nl-login-status info={this.userInfo} />}\n </div>\n </div>\n\n <button\n onClick={() => this.handleClose()}\n type=\"button\"\n class={`${this.isOpen ? 'z-20' : 'z-0'} nl-action-button absolute right-2 top-2 z-0 show-slow grid place-items-center w-7 h-7 text-sm font-semibold rounded-full border border-transparent`}\n >\n <span class=\"sr-only\">Close</span>\n <svg\n class=\"flex-shrink-0 w-5 h-5\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n\n <div class=\"p-3 show-slow\">\n {this.isOpenConfirm ? (\n <div>\n <div class=\"w-8 h-8 p-1/2 rounded-full border border-gray-200 bg-white mb-2 mt-2 show-slow m-auto\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"#5a68ff\" class=\"w-full\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z\"\n />\n </svg>\n </div>\n <p class=\"mb-2 text-center max-w-40 min-w-40 mx-auto\">\n {this.mode === 'timeout' ? 'Keys not responding, check your key storage app' : `Confirmation required at ${this.domain}`}\n </p>\n\n {this.mode === 'timeout' ? (\n <div>\n <a\n onClick={() => this.handleClose()}\n href={`https://${this.domain}`}\n target=\"_blank\"\n class=\"nl-button text-nowrap py-2.5 px-3 w-full inline-flex justify-center items-center gap-x-2 text-sm font-medium rounded-lg disabled:opacity-50 disabled:pointer-events-none dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-gray-600 mb-2\"\n >\n Go to {this.domain}\n </a>\n <button-base\n onClick={() => {\n this.handleCancelTimeout.emit();\n this.handleClose();\n }}\n titleBtn=\"Cancel\"\n />\n </div>\n ) : this.mode === 'rebind' ? (\n <iframe src={this.url} width={'180'} height={'80'} frameBorder={'0'}></iframe>\n ) : (\n <button-base onClick={() => this.handleConfirm()} titleBtn=\"Confirm\" />\n )}\n </div>\n ) : (\n <div>\n <div>\n {this.titleBanner && <p class=\"mb-2 text-center show-slow max-w-40 min-w-40 mx-auto\">{this.titleBanner}</p>}\n {isTemporary && (\n <Fragment>\n {!isBackupKey && <p class=\"mb-2 text-center show-slow text-red-400 max-w-40 min-w-40 mx-auto\">Your profile may be lost if you close this tab</p>}\n <div class=\"mb-2\">\n <button-base onClick={() => this.handleImport()} theme=\"lemonade\" titleBtn=\"Back up profile\" />\n </div>\n </Fragment>\n )}\n <div class=\"mb-2\">\n <nl-change-account currentAccount={this.userInfo} accounts={this.accounts} />\n </div>\n {/* {Boolean(this.listNotifies.length) && (\n <div\n onClick={() => this.handleRetryConfirm()}\n class=\"show-slow border border-yellow-600 text-yellow-600 bg-yellow-100 p-2 rounded-lg mb-2 cursor-pointer w-44 text-xs m-auto text-center\"\n >\n Requests: {this.listNotifies.length}\n </div>\n )} */}\n {!this.userInfo ? (\n <div>\n <button-base onClick={() => this.handleLogin()} titleBtn=\"Log in\">\n <svg\n style={{ display: 'none' }}\n slot=\"icon-start\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n class=\"flex-shrink-0 w-4 h-4\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15.75 5.25a3 3 0 0 1 3 3m3 0a6 6 0 0 1-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1 1 21.75 8.25Z\"\n />\n </svg>\n </button-base>\n <button-base onClick={() => this.handleSignup()} titleBtn=\"Sign up\">\n <svg\n style={{ display: 'none' }}\n slot=\"icon-start\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n class=\"flex-shrink-0 w-4 h-4\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 7.5v3m0 0v3m0-3h3m-3 0h-3m-2.25-4.125a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0ZM3 19.235v-.11a6.375 6.375 0 0 1 12.75 0v.109A12.318 12.318 0 0 1 9.374 21c-2.331 0-4.512-.645-6.374-1.766Z\"\n />\n </svg>\n </button-base>\n </div>\n ) : (\n <button-base onClick={() => this.handleLogout()} titleBtn=\"Log out\" />\n )}\n </div>\n </div>\n )}\n </div>\n </Fragment>\n );\n\n // https://gist.github.com/Haprog/848fc451c25da00b540e6d34c301e96a\n function deepQuerySelectorAll(selector: string, root?: Element) {\n root = root || document.body;\n const results = Array.from(root.querySelectorAll(selector));\n const pushNestedResults = function (root) {\n deepQuerySelectorAll(selector, root).forEach(elem => {\n if (!results.includes(elem)) {\n results.push(elem);\n }\n });\n };\n if (root.shadowRoot) {\n pushNestedResults(root.shadowRoot);\n }\n for (const elem of Array.from(root.querySelectorAll('*'))) {\n if (elem.shadowRoot) {\n pushNestedResults(elem.shadowRoot);\n }\n }\n return results;\n }\n\n const dialogs = deepQuerySelectorAll('dialog');\n const needDialog = !!dialogs.find(d => (d as HTMLDialogElement).open && !d.classList.contains('nl-banner-dialog'));\n\n return (\n <div class={`theme-${this.theme} ${!this.isOpen && this.hiddenMode ? 'hidden' : ''}`}>\n <div class={this.darkMode && 'dark'} dir=\"ltr\">\n {this.isOpenConfirm && needDialog ? (\n <nl-dialog>\n <div\n class={`nl-banner ${this.isOpen ? 'w-52 h-auto right-2 rounded-r-lg isOpen ' : 'rounded-r-none hover:rounded-r-lg cursor-pointer'} z-50 w-12 h-12 fixed top-52 right-0 inline-block gap-x-2 text-sm font-medium rounded-lg hover:right-2 transition-all duration-300 ease-in-out`}\n >\n {content}\n </div>\n </nl-dialog>\n ) : (\n <div\n class={`nl-banner ${this.isOpen ? 'w-52 h-auto right-2 rounded-r-lg isOpen' : 'rounded-r-none hover:rounded-r-lg cursor-pointer'} z-50 w-12 h-12 fixed top-52 right-0 inline-block gap-x-2 text-sm font-medium rounded-lg hover:right-2 transition-all duration-300 ease-in-out`}\n >\n {content}\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"nl-change-account2.js","mappings":";;;AAAA,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"file":"nl-change-account2.js","mappings":"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","names":[],"sources":["src/components/nl-change-account/nl-change-account.css?tag=nl-change-account","src/components/nl-change-account/nl-change-account.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, h, Listen, Prop, State, Watch, Element, Event, EventEmitter } from '@stencil/core';\nimport { Info } from '@/types';\n\n@Component({\n tag: 'nl-change-account',\n styleUrl: 'nl-change-account.css',\n shadow: false,\n})\nexport class NLChangeAccount {\n @State() isOpen: boolean = false;\n @State() options: Info[] = [];\n @Prop() accounts: Info[] = [];\n @Prop() currentAccount: Info = null;\n\n @Element() element: HTMLElement;\n @Event() handleOpenWelcomeModal: EventEmitter<string>;\n @Event() handleSwitchAccount: EventEmitter<Info>;\n\n buttonRef: HTMLButtonElement;\n ulRef: HTMLUListElement;\n wrapperRef: HTMLDivElement;\n\n @Listen('click', { target: 'window' })\n handleWindowClick() {\n if (this.wrapperRef.querySelector('.listClass')) {\n this.isOpen = false;\n }\n }\n\n toggleDropdown() {\n this.isOpen = !this.isOpen;\n this.calculateDropdownPosition();\n }\n\n @State() mode: boolean = false;\n @Prop() darkMode: boolean = false;\n @State() themeState: 'default' | 'ocean' | 'lemonade' | 'purple' = 'default';\n @Prop() theme: 'default' | 'ocean' | 'lemonade' | 'purple' = 'default';\n @Watch('theme')\n watchPropHandler(newValue: 'default' | 'ocean' | 'lemonade' | 'purple') {\n this.themeState = newValue;\n }\n\n @Watch('darkMode')\n watchModeHandler(newValue: boolean) {\n this.mode = newValue;\n }\n\n @Watch('accounts')\n watchAccountsHandler(newValue: Info[]) {\n this.options = newValue;\n }\n\n connectedCallback() {\n this.themeState = this.theme;\n this.mode = this.darkMode;\n }\n\n calculateDropdownPosition() {\n if (this.isOpen && this.buttonRef) {\n const buttonRect = this.buttonRef.getBoundingClientRect();\n this.ulRef.style.top = `${buttonRect.height}px`;\n }\n }\n\n handleChange(el: Info) {\n this.handleSwitchAccount.emit(el);\n }\n\n handleOpenModal() {\n this.handleOpenWelcomeModal.emit();\n }\n\n render() {\n const listClass = `${this.isOpen ? 'listClass flex flex-col gap-2' : 'hidden'} w-full nl-select-list absolute z-10 left-0 shadow-md rounded-lg p-2 mt-1 after:h-4 after:absolute after:-bottom-4 after:start-0 after:w-full before:h-4 before:absolute before:-top-4 before:start-0 before:w-full`;\n const arrowClass = `${this.isOpen ? 'rotate-180' : 'rotate-0'} duration-300 flex-shrink-0 w-4 h-4 text-gray-500`;\n const filteredOptions =\n this.options && this.currentAccount ? this.options.filter(el => el.pubkey !== this.currentAccount.pubkey || el.authMethod !== this.currentAccount.authMethod) : [];\n\n return (\n <div class={`theme-${this.themeState}`}>\n <div class=\"relative\" ref={el => (this.wrapperRef = el)}>\n <button\n ref={el => (this.buttonRef = el)}\n onClick={() => this.toggleDropdown()}\n type=\"button\"\n class=\"nl-select peer py-3 px-4 flex items-center w-full justify-between border-transparent rounded-lg text-sm disabled:opacity-50 disabled:pointer-events-none dark:border-transparent\"\n >\n <span class=\"text-gray-500\">Switch profile</span>\n <svg\n class={arrowClass}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </button>\n\n <ul ref={el => (this.ulRef = el)} class={listClass}>\n {this.options &&\n filteredOptions.map(el => {\n const isShowImg = Boolean(el?.picture);\n const userName = el.name || el.nip05 || el.pubkey;\n const isShowUserName = Boolean(userName);\n\n return (\n <li onClick={() => this.handleChange(el)} class=\"nl-select-option flex cursor-pointer items-center gap-x-3.5 py-2 px-3 rounded-lg text-sm\">\n <div class=\"uppercase font-bold w-full max-w-6 h-6 rounded-full border border-gray-400 flex justify-center items-center\">\n {isShowImg ? (\n <img class=\"w-full rounded-full\" src={el.picture} alt=\"Logo\" />\n ) : isShowUserName ? (\n userName[0]\n ) : (\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-full\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M17.982 18.725A7.488 7.488 0 0 0 12 15.75a7.488 7.488 0 0 0-5.982 2.975m11.963 0a9 9 0 1 0-11.963 0m11.963 0A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"\n />\n </svg>\n )}\n </div>\n {/*<div class=\"truncate overflow-hidden w-full\">{userName}</div>*/}\n\n <div class=\"overflow-hidden flex flex-col w-full\">\n <div class=\"truncate overflow-hidden\">{userName}</div>\n <nl-login-status info={el} />\n </div>\n </li>\n );\n })}\n <li class=\"first:pt-0 pt-2 border-t-[1px] first:border-none border-gray-300\">\n <div onClick={() => this.handleOpenModal()} class=\"nl-select-option flex cursor-pointer items-center gap-x-3.5 py-2 px-3 rounded-lg text-sm\">\n <div class=\"uppercase font-bold w-6 h-6 rounded-full border border-gray-400 flex justify-center items-center\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"w-4 h-4\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 4.5v15m7.5-7.5h-15\" />\n </svg>\n </div>\n Add profile\n </div>\n </li>\n </ul>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"nl-confirm-logout2.js","mappings":";;;;;AAAA,MAAM,kBAAkB,GAAG
|
|
1
|
+
{"file":"nl-confirm-logout2.js","mappings":";;;;;AAAA,MAAM,kBAAkB,GAAG,4r3CAA4r3C,CAAC;AACxt3C,8BAAe,kBAAkB;;MCQpB,eAAe;;;;;;;0BACL,cAAc;2BACb,6HAA6H;;IAKnJ,YAAY;QACV,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC1B;IAED,YAAY;QACV,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC1B;IAED,YAAY;QACV,KAAK,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KAC3C;IAED,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,qBAAqB,IAC9B,2DAAI,KAAK,EAAC,yCAAyC,IAAE,IAAI,CAAC,UAAU,CAAM,EAC1E,0DAAG,KAAK,EAAC,qEAAqE,IAAE,IAAI,CAAC,WAAW,CAAK,EAErG,4DAAK,KAAK,EAAC,+CAA+C,IAExD,oEAAa,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAC,aAAa,EAAC,KAAK,EAAC,UAAU,GAAG,EAC3F,oEAAa,OAAO,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAC,MAAM,EAAC,QAAQ,EAAC,wBAAwB,GAAG,CAC9F,CACF,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/nl-confirm-logout/nl-confirm-logout.css?tag=nl-confirm-logout","src/components/nl-confirm-logout/nl-confirm-logout.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Event, EventEmitter, Prop, h } from '@stencil/core';\nimport { CURRENT_MODULE, METHOD_MODULE } from '@/types';\nimport { state } from '@/store';\n\n@Component({\n tag: 'nl-confirm-logout',\n styleUrl: 'nl-confirm-logout.css',\n shadow: false,\n})\nexport class NlConfirmLogout {\n @Prop() titleModal = \"Delete keys?\";\n @Prop() description = \"Your profile keys are stored in this browser tab and will be deleted if you log out, and your profile will be inaccessible.\";\n @Event() handleLogoutBanner: EventEmitter<string>;\n @Event() handleBackUpModal: EventEmitter<string>;\n @Event() nlCloseModal: EventEmitter;\n\n handleLogout() {\n this.handleLogoutBanner.emit(METHOD_MODULE.LOGOUT);\n this.nlCloseModal.emit();\n }\n\n handleCancel() {\n this.nlCloseModal.emit();\n }\n\n handleBackUp() {\n state.path = [CURRENT_MODULE.IMPORT_FLOW];\n }\n\n render() {\n return (\n <div class=\"p-4 overflow-y-auto\">\n <h1 class=\"nl-title font-bold text-center text-4xl\">{this.titleModal}</h1>\n <p class=\"nl-description font-light text-center text-lg pt-2 max-w-96 mx-auto\">{this.description}</p>\n\n <div class=\"mt-3 ml-auto mr-auto w-60 flex flex-col gap-2\">\n {/* <button-base onClick={() => this.handleCancel()} titleBtn=\"Cancel\" /> */}\n <button-base onClick={() => this.handleBackUp()} titleBtn=\"Backup keys\" theme=\"lemonade\" />\n <button-base onClick={() => this.handleLogout()} theme=\"crab\" titleBtn=\"Logout and delete keys\" />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -52,7 +52,7 @@ const NlConnect = /*@__PURE__*/ proxyCustomElement(class NlConnect extends HTMLE
|
|
|
52
52
|
}, class: `flex items-center gap-x-3.5 w-full py-2 px-3 rounded-lg text-sm justify-between ${isDisabled ? 'cursor-default' : 'hover:bg-gray-300 cursor-pointer'}` }, h("div", { class: "w-full max-w-7 h-7 flex relative" }, h("div", { class: "uppercase font-bold w-full h-full rounded-full border border-gray-400 flex justify-center items-center" }, Boolean(el.img) ? (h("img", { class: `w-full rounded-full ${isUnavailable ? 'grayscale' : ''}`, src: el.img, alt: el.name })) : (h("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "#9ca3af", class: "w-4 h-4 block" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M15.75 5.25a3 3 0 0 1 3 3m3 0a6 6 0 0 1-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1 1 21.75 8.25Z" }))))), h("div", { class: "overflow-hidden flex flex-col w-full" }, h("div", { class: "nl-title truncate overflow-hidden" }, el.name, isLoading && h("span", { class: "nl-description text-xs ml-2" }, "checking..."), isUnavailable && h("span", { class: "nl-description text-xs ml-2" }, "offline"))))));
|
|
53
53
|
}))))), h("div", { key: 'c372f1e8bd0cceb7b9660612eb6158d5ec625d3e', class: "ps-4 pe-4 overflow-y-auto" }, h("p", { key: '0b6c50602854cf06554c92505cfce1ef215e8f7d', class: "nl-error font-light text-center text-sm max-w-96 mx-auto" }, state.error)), h("div", { key: 'a67dd79c1f13bdc0636a34e4f0c6c0df80293aa6', class: "max-w-72 mx-auto" }, h("nl-nip46-relay-settings", { key: '0f358c327060445e14313331ca5e1ee8175d1493', defaultRelays: state.customNip46Relays, onNlRelaysChanged: e => {
|
|
54
54
|
state.customNip46Relays = e.detail;
|
|
55
|
-
} })), h("div", { key: 'beccc66491904a50dc44c720fa5e32208e1ff61e', class: "max-w-52 mx-auto pb-5" }, (this.allowAuthMethod('connect') || this.allowAuthMethod('readOnly')) && (h("div", { key: '7e670e898fd405c82cb749699a73d087525f4475', class: "flex justify-center" }, h("div", { key: '634509b97941ceeda9338cc29d431dcafab17b04', onClick: () => this.handleOpenAdvanced(), class: "text-blue-500 mt-3 decoration-dashed cursor-pointer inline-flex gap-2 items-center pb-1 border-dashed border-b-[1px] border-blue-500 text-sm font-light" }, "Advanced", h("svg", { key: '3e14d6c45fb72b1ad47beea455b36001ecb6c394', class: arrowClass, xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: '0ebce63b4caffd049c6e5a110792ca138e2e914b', d: "m6 9 6 6 6-6" }))))), h("div", { key: '7d22deba5c378a53056eae0884e0d051504d7c5b', class: `${this.isOpenAdvancedLogin ? 'max-h-[500px] mt-3 duration-300' : 'max-h-0 mt-0 duration-[0.25s]'} transition-max-height ease-in flex gap-3 flex-col overflow-hidden` }, this.allowAuthMethod('connect') && (h("button-base", { key: 'c4bbb92fcbf14048429099e26ab6e886a87e62f6', titleBtn: "User name", onClick: () => this.handleChangeScreen(CURRENT_MODULE.LOGIN) }, h("svg", { key: '8482dadd22930b1c17b328441a15609d41bc6c8d', style: { display: 'none' }, slot: "icon-start", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "2", stroke: "currentColor" }, h("path", { key: 'ce5b427cba70a646c07ce61ea738765322e6c4ff', "stroke-linecap": "round", "stroke-linejoin": "round", d: "M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z" })))), this.allowAuthMethod('connect') && (h("button-base", { key: '2859b956807892b0fcbbd88433733c7a905ad4f1', titleBtn: "Connection string", onClick: () => this.handleConnectionString() }, h("svg", { key: '8e2f155b9c5bfbec2f88a97013111739065c9914', style: { display: 'none' }, slot: "icon-start", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor" }, h("path", { key: '3071eb6d992c31d5fb11a03ec5c3c9dabde9eff1', "stroke-linecap": "round", "stroke-linejoin": "round", d: "M3.75 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 3.75 9.375v-4.5ZM3.75 14.625c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5a1.125 1.125 0 0 1-1.125-1.125v-4.5ZM13.5 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 13.5 9.375v-4.5Z" }), h("path", { key: 'fa667a1e898b232c1db217d10458c926b559568f', "stroke-linecap": "round", "stroke-linejoin": "round", d: "M6.75 6.75h.75v.75h-.75v-.75ZM6.75 16.5h.75v.75h-.75v-.75ZM16.5 6.75h.75v.75h-.75v-.75ZM13.5 13.5h.75v.75h-.75v-.75ZM13.5 19.5h.75v.75h-.75v-.75ZM19.5 13.5h.75v.75h-.75v-.75ZM19.5 19.5h.75v.75h-.75v-.75ZM16.5 16.5h.75v.75h-.75v-.75Z" })))), this.allowAuthMethod('connect') && (h("button-base", { key: '5c66ae1e86bae7a9c3fbc975a92eefae2d4253ec', onClick: () => this.handleChangeScreen(CURRENT_MODULE.LOGIN_BUNKER_URL), titleBtn: "Bunker URL" }, h("svg", { key: '04d85bf0ac2f66b44a9ddd95815dd20d81935bad', style: { display: 'none' }, slot: "icon-start", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor" }, h("path", { key: '763ef4a4f3f6f7807187e4d6aef8eecb7b858a44', "stroke-linecap": "round", "stroke-linejoin": "round", d: "M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244" }))))))));
|
|
55
|
+
} })), h("div", { key: 'beccc66491904a50dc44c720fa5e32208e1ff61e', class: "max-w-52 mx-auto pb-5" }, (this.allowAuthMethod('connect') || this.allowAuthMethod('readOnly')) && (h("div", { key: '7e670e898fd405c82cb749699a73d087525f4475', class: "flex justify-center" }, h("div", { key: '634509b97941ceeda9338cc29d431dcafab17b04', onClick: () => this.handleOpenAdvanced(), class: "text-blue-500 mt-3 decoration-dashed cursor-pointer inline-flex gap-2 items-center pb-1 border-dashed border-b-[1px] border-blue-500 text-sm font-light" }, "Advanced", h("svg", { key: '3e14d6c45fb72b1ad47beea455b36001ecb6c394', class: arrowClass, xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("path", { key: '0ebce63b4caffd049c6e5a110792ca138e2e914b', d: "m6 9 6 6 6-6" }))))), h("div", { key: '7d22deba5c378a53056eae0884e0d051504d7c5b', class: `${this.isOpenAdvancedLogin ? 'max-h-[500px] mt-3 duration-300' : 'max-h-0 mt-0 duration-[0.25s]'} transition-max-height ease-in flex gap-3 flex-col overflow-hidden` }, this.allowAuthMethod('connect') && (h("button-base", { key: 'c4bbb92fcbf14048429099e26ab6e886a87e62f6', titleBtn: "User name", onClick: () => this.handleChangeScreen(CURRENT_MODULE.LOGIN) }, h("svg", { key: '8482dadd22930b1c17b328441a15609d41bc6c8d', style: { display: 'none' }, slot: "icon-start", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "2", stroke: "currentColor" }, h("path", { key: 'ce5b427cba70a646c07ce61ea738765322e6c4ff', "stroke-linecap": "round", "stroke-linejoin": "round", d: "M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z" })))), this.allowAuthMethod('connect') && (h("button-base", { key: '2859b956807892b0fcbbd88433733c7a905ad4f1', titleBtn: "Connection string", onClick: () => this.handleConnectionString() }, h("svg", { key: '8e2f155b9c5bfbec2f88a97013111739065c9914', style: { display: 'none' }, slot: "icon-start", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor" }, h("path", { key: '3071eb6d992c31d5fb11a03ec5c3c9dabde9eff1', "stroke-linecap": "round", "stroke-linejoin": "round", d: "M3.75 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 3.75 9.375v-4.5ZM3.75 14.625c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5a1.125 1.125 0 0 1-1.125-1.125v-4.5ZM13.5 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 13.5 9.375v-4.5Z" }), h("path", { key: 'fa667a1e898b232c1db217d10458c926b559568f', "stroke-linecap": "round", "stroke-linejoin": "round", d: "M6.75 6.75h.75v.75h-.75v-.75ZM6.75 16.5h.75v.75h-.75v-.75ZM16.5 6.75h.75v.75h-.75v-.75ZM13.5 13.5h.75v.75h-.75v-.75ZM13.5 19.5h.75v.75h-.75v-.75ZM19.5 13.5h.75v.75h-.75v-.75ZM19.5 19.5h.75v.75h-.75v-.75ZM16.5 16.5h.75v.75h-.75v-.75Z" })))), this.allowAuthMethod('connect') && (h("button-base", { key: '5c66ae1e86bae7a9c3fbc975a92eefae2d4253ec', onClick: () => this.handleChangeScreen(CURRENT_MODULE.LOGIN_BUNKER_URL), titleBtn: "Bunker URL" }, h("svg", { key: '04d85bf0ac2f66b44a9ddd95815dd20d81935bad', style: { display: 'none' }, slot: "icon-start", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor" }, h("path", { key: '763ef4a4f3f6f7807187e4d6aef8eecb7b858a44', "stroke-linecap": "round", "stroke-linejoin": "round", d: "M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244" })))), h("button-base", { key: '04ccabc6f1ee50440b00d53a6053778f2f3338f4', onClick: () => this.handleChangeScreen(CURRENT_MODULE.LOGIN_NSEC), titleBtn: "Login with nsec" }, h("svg", { key: 'fc7661f2f65d87959f401b1fd99acad083e989b3', style: { display: 'none' }, slot: "icon-start", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor" }, h("path", { key: '12bf7025ee57ecaa84c01c303bfc7f2a0ce6c23d', "stroke-linecap": "round", "stroke-linejoin": "round", d: "M15.75 5.25a3 3 0 0 1 3 3m3 0a6 6 0 0 1-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1 1 21.75 8.25Z" })))))));
|
|
56
56
|
}
|
|
57
57
|
static get style() { return NlConnectStyle0; }
|
|
58
58
|
}, [0, "nl-connect", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"nl-connect2.js","mappings":"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","names":[],"sources":["src/components/nl-connect/nl-connect.css?tag=nl-connect","src/components/nl-connect/nl-connect.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Event, EventEmitter, Fragment, h, Prop, State } from '@stencil/core';\nimport { AuthMethod, ConnectionString, CURRENT_MODULE } from '@/types';\nimport { state } from '@/store';\n\n@Component({\n tag: 'nl-connect',\n styleUrl: 'nl-connect.css',\n shadow: false,\n})\nexport class NlConnect {\n @Prop() titleWelcome = 'Connect to key store';\n @Prop() authMethods: AuthMethod[] = [];\n @Prop() hasOTP: boolean = false;\n @Prop() connectionStringServices: ConnectionString[] = [];\n\n @State() isOpenAdvancedLogin: boolean = false;\n @Event() nlNostrConnect: EventEmitter<ConnectionString>;\n\n handleChangeScreen(screen) {\n state.path = [...state.path, screen];\n }\n\n handleOpenAdvanced() {\n this.isOpenAdvancedLogin = !this.isOpenAdvancedLogin;\n }\n\n allowAuthMethod(m: AuthMethod) {\n return !this.authMethods.length || this.authMethods.includes(m);\n }\n\n componentWillLoad() {}\n\n handleOpenLink(e: Event, cs: ConnectionString) {\n e.preventDefault();\n this.nlNostrConnect.emit(cs);\n }\n\n handleConnectionString() {\n this.handleChangeScreen(CURRENT_MODULE.CONNECTION_STRING);\n }\n\n render() {\n const arrowClass = `${this.isOpenAdvancedLogin ? 'rotate-180' : 'rotate-0'} duration-300 flex-shrink-0 w-4 h-4 text-blue-500`;\n\n return (\n <Fragment>\n <div class=\"p-4 overflow-y-auto\">\n <h1 class=\"nl-title font-bold text-center text-3xl\">{this.titleWelcome}</h1>\n </div>\n\n <div class=\"p-4\">\n {Boolean(this.connectionStringServices.length) && (\n <div class=\"max-w-96 mx-auto pt-5\">\n <p class=\"nl-description font-medium text-sm pb-1.5\">Select key store:</p>\n <ul class=\"p-2 rounded-lg border border-gray-200 flex flex-col w-full gap-0.5\">\n {this.connectionStringServices.map(el => {\n const isLoading = el.available === 'loading';\n const isUnavailable = el.available === false;\n const isDisabled = isLoading || isUnavailable;\n\n return (\n <li class={isDisabled ? 'opacity-50 pointer-events-none' : ''}>\n <a\n href={isDisabled ? undefined : el.link}\n target=\"_blank\"\n onClick={e => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n this.handleOpenLink(e, el);\n }}\n class={`flex items-center gap-x-3.5 w-full py-2 px-3 rounded-lg text-sm justify-between ${isDisabled ? 'cursor-default' : 'hover:bg-gray-300 cursor-pointer'}`}\n >\n <div class=\"w-full max-w-7 h-7 flex relative\">\n <div class=\"uppercase font-bold w-full h-full rounded-full border border-gray-400 flex justify-center items-center\">\n {Boolean(el.img) ? (\n <img class={`w-full rounded-full ${isUnavailable ? 'grayscale' : ''}`} src={el.img} alt={el.name} />\n ) : (\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"#9ca3af\" class=\"w-4 h-4 block\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15.75 5.25a3 3 0 0 1 3 3m3 0a6 6 0 0 1-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1 1 21.75 8.25Z\"\n />\n </svg>\n )}\n </div>\n </div>\n <div class=\"overflow-hidden flex flex-col w-full\">\n <div class=\"nl-title truncate overflow-hidden\">\n {el.name}\n {isLoading && <span class=\"nl-description text-xs ml-2\">checking...</span>}\n {isUnavailable && <span class=\"nl-description text-xs ml-2\">offline</span>}\n </div>\n </div>\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n )}\n </div>\n <div class=\"ps-4 pe-4 overflow-y-auto\">\n <p class=\"nl-error font-light text-center text-sm max-w-96 mx-auto\">{state.error}</p>\n </div>\n\n <div class=\"max-w-72 mx-auto\">\n <nl-nip46-relay-settings\n defaultRelays={state.customNip46Relays}\n onNlRelaysChanged={e => {\n state.customNip46Relays = e.detail;\n }}\n />\n </div>\n\n <div class=\"max-w-52 mx-auto pb-5\">\n {(this.allowAuthMethod('connect') || this.allowAuthMethod('readOnly')) && (\n <div class=\"flex justify-center\">\n <div\n onClick={() => this.handleOpenAdvanced()}\n class=\"text-blue-500 mt-3 decoration-dashed cursor-pointer inline-flex gap-2 items-center pb-1 border-dashed border-b-[1px] border-blue-500 text-sm font-light\"\n >\n Advanced\n <svg\n class={arrowClass}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </div>\n </div>\n )}\n\n <div\n class={`${this.isOpenAdvancedLogin ? 'max-h-[500px] mt-3 duration-300' : 'max-h-0 mt-0 duration-[0.25s]'} transition-max-height ease-in flex gap-3 flex-col overflow-hidden`}\n >\n {/* {this.hasExtension && !this.allowAuthMethod('extension') && this.renderSignInWithExtension()} */}\n {this.allowAuthMethod('connect') && (\n <button-base titleBtn=\"User name\" onClick={() => this.handleChangeScreen(CURRENT_MODULE.LOGIN)}>\n <svg\n style={{ display: 'none' }}\n slot=\"icon-start\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"2\"\n stroke=\"currentColor\"\n // class=\"flex-shrink-0 w-4 h-4 text-gray-500\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z\"\n />\n </svg>\n </button-base>\n )}\n\n {this.allowAuthMethod('connect') && (\n <button-base titleBtn=\"Connection string\" onClick={() => this.handleConnectionString()}>\n <svg style={{ display: 'none' }} slot=\"icon-start\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M3.75 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 3.75 9.375v-4.5ZM3.75 14.625c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5a1.125 1.125 0 0 1-1.125-1.125v-4.5ZM13.5 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 13.5 9.375v-4.5Z\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M6.75 6.75h.75v.75h-.75v-.75ZM6.75 16.5h.75v.75h-.75v-.75ZM16.5 6.75h.75v.75h-.75v-.75ZM13.5 13.5h.75v.75h-.75v-.75ZM13.5 19.5h.75v.75h-.75v-.75ZM19.5 13.5h.75v.75h-.75v-.75ZM19.5 19.5h.75v.75h-.75v-.75ZM16.5 16.5h.75v.75h-.75v-.75Z\"\n />\n </svg>\n </button-base>\n )}\n\n {this.allowAuthMethod('connect') && (\n <button-base onClick={() => this.handleChangeScreen(CURRENT_MODULE.LOGIN_BUNKER_URL)} titleBtn=\"Bunker URL\">\n <svg style={{ display: 'none' }} slot=\"icon-start\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244\"\n />\n </svg>\n </button-base>\n )}\n </div>\n </div>\n </Fragment>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"nl-connect2.js","mappings":"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","names":[],"sources":["src/components/nl-connect/nl-connect.css?tag=nl-connect","src/components/nl-connect/nl-connect.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Event, EventEmitter, Fragment, h, Prop, State } from '@stencil/core';\nimport { AuthMethod, ConnectionString, CURRENT_MODULE } from '@/types';\nimport { state } from '@/store';\n\n@Component({\n tag: 'nl-connect',\n styleUrl: 'nl-connect.css',\n shadow: false,\n})\nexport class NlConnect {\n @Prop() titleWelcome = 'Connect to key store';\n @Prop() authMethods: AuthMethod[] = [];\n @Prop() hasOTP: boolean = false;\n @Prop() connectionStringServices: ConnectionString[] = [];\n\n @State() isOpenAdvancedLogin: boolean = false;\n @Event() nlNostrConnect: EventEmitter<ConnectionString>;\n\n handleChangeScreen(screen) {\n state.path = [...state.path, screen];\n }\n\n handleOpenAdvanced() {\n this.isOpenAdvancedLogin = !this.isOpenAdvancedLogin;\n }\n\n allowAuthMethod(m: AuthMethod) {\n return !this.authMethods.length || this.authMethods.includes(m);\n }\n\n componentWillLoad() {}\n\n handleOpenLink(e: Event, cs: ConnectionString) {\n e.preventDefault();\n this.nlNostrConnect.emit(cs);\n }\n\n handleConnectionString() {\n this.handleChangeScreen(CURRENT_MODULE.CONNECTION_STRING);\n }\n\n render() {\n const arrowClass = `${this.isOpenAdvancedLogin ? 'rotate-180' : 'rotate-0'} duration-300 flex-shrink-0 w-4 h-4 text-blue-500`;\n\n return (\n <Fragment>\n <div class=\"p-4 overflow-y-auto\">\n <h1 class=\"nl-title font-bold text-center text-3xl\">{this.titleWelcome}</h1>\n </div>\n\n <div class=\"p-4\">\n {Boolean(this.connectionStringServices.length) && (\n <div class=\"max-w-96 mx-auto pt-5\">\n <p class=\"nl-description font-medium text-sm pb-1.5\">Select key store:</p>\n <ul class=\"p-2 rounded-lg border border-gray-200 flex flex-col w-full gap-0.5\">\n {this.connectionStringServices.map(el => {\n const isLoading = el.available === 'loading';\n const isUnavailable = el.available === false;\n const isDisabled = isLoading || isUnavailable;\n\n return (\n <li class={isDisabled ? 'opacity-50 pointer-events-none' : ''}>\n <a\n href={isDisabled ? undefined : el.link}\n target=\"_blank\"\n onClick={e => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n this.handleOpenLink(e, el);\n }}\n class={`flex items-center gap-x-3.5 w-full py-2 px-3 rounded-lg text-sm justify-between ${isDisabled ? 'cursor-default' : 'hover:bg-gray-300 cursor-pointer'}`}\n >\n <div class=\"w-full max-w-7 h-7 flex relative\">\n <div class=\"uppercase font-bold w-full h-full rounded-full border border-gray-400 flex justify-center items-center\">\n {Boolean(el.img) ? (\n <img class={`w-full rounded-full ${isUnavailable ? 'grayscale' : ''}`} src={el.img} alt={el.name} />\n ) : (\n <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"#9ca3af\" class=\"w-4 h-4 block\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15.75 5.25a3 3 0 0 1 3 3m3 0a6 6 0 0 1-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1 1 21.75 8.25Z\"\n />\n </svg>\n )}\n </div>\n </div>\n <div class=\"overflow-hidden flex flex-col w-full\">\n <div class=\"nl-title truncate overflow-hidden\">\n {el.name}\n {isLoading && <span class=\"nl-description text-xs ml-2\">checking...</span>}\n {isUnavailable && <span class=\"nl-description text-xs ml-2\">offline</span>}\n </div>\n </div>\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n )}\n </div>\n <div class=\"ps-4 pe-4 overflow-y-auto\">\n <p class=\"nl-error font-light text-center text-sm max-w-96 mx-auto\">{state.error}</p>\n </div>\n\n <div class=\"max-w-72 mx-auto\">\n <nl-nip46-relay-settings\n defaultRelays={state.customNip46Relays}\n onNlRelaysChanged={e => {\n state.customNip46Relays = e.detail;\n }}\n />\n </div>\n\n <div class=\"max-w-52 mx-auto pb-5\">\n {(this.allowAuthMethod('connect') || this.allowAuthMethod('readOnly')) && (\n <div class=\"flex justify-center\">\n <div\n onClick={() => this.handleOpenAdvanced()}\n class=\"text-blue-500 mt-3 decoration-dashed cursor-pointer inline-flex gap-2 items-center pb-1 border-dashed border-b-[1px] border-blue-500 text-sm font-light\"\n >\n Advanced\n <svg\n class={arrowClass}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </div>\n </div>\n )}\n\n <div\n class={`${this.isOpenAdvancedLogin ? 'max-h-[500px] mt-3 duration-300' : 'max-h-0 mt-0 duration-[0.25s]'} transition-max-height ease-in flex gap-3 flex-col overflow-hidden`}\n >\n {/* {this.hasExtension && !this.allowAuthMethod('extension') && this.renderSignInWithExtension()} */}\n {this.allowAuthMethod('connect') && (\n <button-base titleBtn=\"User name\" onClick={() => this.handleChangeScreen(CURRENT_MODULE.LOGIN)}>\n <svg\n style={{ display: 'none' }}\n slot=\"icon-start\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"2\"\n stroke=\"currentColor\"\n // class=\"flex-shrink-0 w-4 h-4 text-gray-500\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z\"\n />\n </svg>\n </button-base>\n )}\n\n {this.allowAuthMethod('connect') && (\n <button-base titleBtn=\"Connection string\" onClick={() => this.handleConnectionString()}>\n <svg style={{ display: 'none' }} slot=\"icon-start\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M3.75 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 3.75 9.375v-4.5ZM3.75 14.625c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5a1.125 1.125 0 0 1-1.125-1.125v-4.5ZM13.5 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 13.5 9.375v-4.5Z\"\n />\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M6.75 6.75h.75v.75h-.75v-.75ZM6.75 16.5h.75v.75h-.75v-.75ZM16.5 6.75h.75v.75h-.75v-.75ZM13.5 13.5h.75v.75h-.75v-.75ZM13.5 19.5h.75v.75h-.75v-.75ZM19.5 13.5h.75v.75h-.75v-.75ZM19.5 19.5h.75v.75h-.75v-.75ZM16.5 16.5h.75v.75h-.75v-.75Z\"\n />\n </svg>\n </button-base>\n )}\n\n {this.allowAuthMethod('connect') && (\n <button-base onClick={() => this.handleChangeScreen(CURRENT_MODULE.LOGIN_BUNKER_URL)} titleBtn=\"Bunker URL\">\n <svg style={{ display: 'none' }} slot=\"icon-start\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244\"\n />\n </svg>\n </button-base>\n )}\n\n <button-base onClick={() => this.handleChangeScreen(CURRENT_MODULE.LOGIN_NSEC)} titleBtn=\"Login with nsec\">\n <svg style={{ display: 'none' }} slot=\"icon-start\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M15.75 5.25a3 3 0 0 1 3 3m3 0a6 6 0 0 1-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1 1 21.75 8.25Z\"\n />\n </svg>\n </button-base>\n </div>\n </div>\n </Fragment>\n );\n }\n}\n"],"version":3}
|
|
@@ -20,7 +20,7 @@ const NlDialog = /*@__PURE__*/ proxyCustomElement(class NlDialog extends HTMLEle
|
|
|
20
20
|
(_a = this.dialogElement) === null || _a === void 0 ? void 0 : _a.close();
|
|
21
21
|
}
|
|
22
22
|
render() {
|
|
23
|
-
return (h("dialog", { key: '
|
|
23
|
+
return (h("dialog", { key: '22529037dd35bd46c837f23b1e4afed2b3ad5f5d', ref: el => (this.dialogElement = el), class: 'm-auto nl-banner-dialog', style: { border: '0', backgroundColor: 'transparent' } }, h("slot", { key: '7e491c3f623556200daa6490bb62646ef68b190a' })));
|
|
24
24
|
}
|
|
25
25
|
static get style() { return NlDialogStyle0; }
|
|
26
26
|
}, [1, "nl-dialog"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"nl-dialog2.js","mappings":";;AAAA,MAAM,WAAW,GAAG,
|
|
1
|
+
{"file":"nl-dialog2.js","mappings":";;AAAA,MAAM,WAAW,GAAG,8yoCAA8yoC,CAAC;AACn0oC,uBAAe,WAAW;;MCMb,QAAQ;;;;;;IAGnB,gBAAgB;;QACd,MAAA,IAAI,CAAC,aAAa,0CAAE,SAAS,EAAE,CAAC;KACjC;IAED,oBAAoB;;QAClB,MAAA,IAAI,CAAC,aAAa,0CAAE,KAAK,EAAE,CAAC;KAC7B;IAED,MAAM;QACJ,QACE,+DAAQ,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,aAAa,GAAG,EAAuB,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,aAAa,EAAE,IACzJ,8DAAa,CACN,EACT;KACH;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/nl-dialog/nl-dialog.css?tag=nl-dialog&encapsulation=shadow","src/components/nl-dialog/nl-dialog.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'nl-dialog',\n styleUrl: 'nl-dialog.css',\n shadow: true,\n})\nexport class NlDialog {\n private dialogElement?: HTMLDialogElement;\n\n componentDidLoad() {\n this.dialogElement?.showModal();\n }\n\n disconnectedCallback() {\n this.dialogElement?.close();\n }\n\n render() {\n return (\n <dialog ref={el => (this.dialogElement = el as HTMLDialogElement)} class={'m-auto nl-banner-dialog'} style={{ border: '0', backgroundColor: 'transparent' }}>\n <slot></slot>\n </dialog>\n );\n }\n}\n"],"version":3}
|
|
@@ -18,7 +18,7 @@ const NlConfirmLogout = /*@__PURE__*/ proxyCustomElement(class NlConfirmLogout e
|
|
|
18
18
|
this.nlCloseModal.emit();
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
|
-
return (h("div", { key: '
|
|
21
|
+
return (h("div", { key: '3602a43ed777a5b64f6b3c222dc0a5f4a4adbbeb', class: "p-4 overflow-y-auto" }, h("div", { key: '9806497b0b918ff6213c451cbfbd9c5e8436b30c', class: "mt-3 flex flex-col gap-2" }, this.iframeUrl && (h("iframe", { key: 'd5b175fcfab36aa40017faee6cbdb0f7dd4ca94b', src: this.iframeUrl, style: {
|
|
22
22
|
width: '100%',
|
|
23
23
|
height: '600px',
|
|
24
24
|
border: '1px solid #ccc',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"nl-iframe2.js","mappings":";;AAAA,MAAM,WAAW,GAAG
|
|
1
|
+
{"file":"nl-iframe2.js","mappings":";;AAAA,MAAM,WAAW,GAAG,4r3CAA4r3C,CAAC;AACjt3C,uBAAe,WAAW;;MCMb,eAAe;;;;;0BACL,SAAS;2BACR,6HAA6H;yBAC/H,EAAE;;IAGtB,YAAY;QACV,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC1B;IAED,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,qBAAqB,IAI9B,4DAAK,KAAK,EAAC,0BAA0B,IAClC,IAAI,CAAC,SAAS,KACb,+DACE,GAAG,EAAE,IAAI,CAAC,SAAS,EACnB,KAAK,EAAE;gBACL,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,gBAAgB;gBACxB,YAAY,EAAE,KAAK;aACpB,GACO,CACX,CACG,CACF,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/nl-iframe/nl-iframe.css?tag=nl-iframe","src/components/nl-iframe/nl-iframe.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Event, EventEmitter, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'nl-iframe',\n styleUrl: 'nl-iframe.css',\n shadow: false,\n})\nexport class NlConfirmLogout {\n @Prop() titleModal = 'Confirm';\n @Prop() description = 'Your profile keys are stored in this browser tab and will be deleted if you log out, and your profile will be inaccessible.';\n @Prop() iframeUrl = '';\n @Event() nlCloseModal: EventEmitter;\n\n handleCancel() {\n this.nlCloseModal.emit();\n }\n\n render() {\n return (\n <div class=\"p-4 overflow-y-auto\">\n {/* <h1 class=\"nl-title font-bold text-center text-4xl\">{this.titleModal}</h1>\n <p class=\"nl-description font-light text-center text-lg pt-2 max-w-96 mx-auto\">{this.description}</p> */}\n\n <div class=\"mt-3 flex flex-col gap-2\">\n {this.iframeUrl && (\n <iframe\n src={this.iframeUrl}\n style={{\n width: '100%',\n height: '600px',\n border: '1px solid #ccc',\n borderRadius: '8px',\n }}\n ></iframe>\n )}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"nl-import-flow2.js","mappings":";;;;;AAAA,MAAM,eAAe,GAAG,
|
|
1
|
+
{"file":"nl-import-flow2.js","mappings":"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","names":[],"sources":["src/components/nl-import-flow/nl-import-flow.css?tag=nl-import-flow","src/components/nl-import-flow/nl-import-flow.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, h, Fragment, State, Prop, Event, EventEmitter } from '@stencil/core';\nimport { state } from '@/store';\nimport { ConnectionString } from '@/types';\n\n@Component({\n tag: 'nl-import-flow',\n styleUrl: 'nl-import-flow.css',\n shadow: false,\n})\nexport class NlImportFlow {\n @Prop({ mutable: true }) titleInfo = 'Back up your keys';\n @Prop() titleImport = 'Choose a service';\n @Prop() services: ConnectionString[] = [];\n\n @State() isContinued = false;\n @State() isKeyBackup = false;\n\n @State() isCopy = false;\n\n @Event() nlImportAccount: EventEmitter<ConnectionString>;\n @Event() nlExportKeys: EventEmitter<void>;\n\n handleDomainSelect(event: CustomEvent<string>) {\n const s = this.services.find(s => s.domain === event.detail);\n state.nlImport = s;\n }\n\n handleCreateAccount(e: MouseEvent) {\n e.preventDefault();\n this.nlImportAccount.emit(state.nlImport);\n }\n\n handleContinue() {\n this.isContinued = true;\n }\n\n handleContinueKeyBackup() {\n this.isKeyBackup = true;\n }\n\n async copyToClipboard() {\n this.nlExportKeys.emit();\n this.isCopy = true;\n\n setTimeout(() => {\n this.isCopy = false;\n }, 1500);\n }\n\n render() {\n if (!this.isContinued && !this.isKeyBackup) {\n return (\n <div class=\"p-4 overflow-y-auto\">\n <h1 class=\"nl-title font-bold text-center text-2xl\">{this.titleInfo}</h1>\n <p class=\"nl-description font-light text-sm pt-2 pb-2 max-w-96 mx-auto\">\n Nostr profiles are controlled by cryptographic keys.\n <br />\n <br />\n Your keys are currently only stored in this browser tab, and may be lost if you close it.\n <br />\n <br />\n You should backup your keys.\n <br />\n <br />\n We recommend to import your keys into a key store service, to protect them and to use with other apps.\n {/* <br />\n <br />\n You can also export your keys and save them in your password manager. */}\n </p>\n <div class=\"ml-auto mr-auto mb-2 w-72\">\n <button-base onClick={() => this.handleContinue()} titleBtn=\"Import to key store\" />\n </div>\n <div class=\"ml-auto mr-auto w-72\">\n <button-base onClick={() => this.handleContinueKeyBackup()} titleBtn=\"Export keys\" />\n </div>\n </div>\n );\n }\n\n if (this.isKeyBackup) {\n return (\n <div class=\"p-4 overflow-y-auto\">\n <h1 class=\"nl-title font-bold text-center text-2xl\">Key export</h1>\n <p class=\"nl-description font-light text-sm pt-2 pb-2 max-w-96 mx-auto\">\n Copy your keys and store them in a safe place, like a password manager.\n <br />\n <br />\n You can sign into other Nostr apps by pasting your keys into them.\n <br />\n <br />\n Your keys must be kept secret, never share them with anyone.\n </p>\n <div class=\"max-w-72 mx-auto\">\n <div class=\"ml-auto mr-auto mb-2 w-72\">\n <button-base onClick={() => this.copyToClipboard()} titleBtn={this.isCopy ? 'Copied!' : 'Copy to clipboard'} />\n </div>\n </div>\n </div>\n );\n }\n\n const options = this.services.filter(s => s.canImport).map(s => ({ name: s.domain!, value: s.domain! }));\n\n return (\n <Fragment>\n <div class=\"p-4 overflow-y-auto\">\n <h1 class=\"nl-title font-bold text-center text-2xl\">{this.titleImport}</h1>\n <p class=\"nl-description font-light text-center text-sm pt-2 max-w-96 mx-auto\">\n Your Nostr keys will be imported into the service you choose. You will manage your keys on their website.\n </p>\n </div>\n\n <div class=\"max-w-72 mx-auto mb-5\">\n <div class=\"mb-0.5\">\n <nl-select onSelectDomain={e => this.handleDomainSelect(e)} selected={0} options={options}></nl-select>\n </div>\n <p class=\"nl-title font-light text-sm mb-2\">Default provider is a fine choice to start with.</p>\n\n <div class=\"ps-4 pe-4 overflow-y-auto\">\n <p class=\"nl-error font-light text-center text-sm max-w-96 mx-auto\">{state.error}</p>\n </div>\n\n <button-base disabled={state.isLoading} onClick={e => this.handleCreateAccount(e)} titleBtn=\"Start importing\">\n {state.isLoading ? (\n <span\n slot=\"icon-start\"\n class=\"animate-spin-loading inline-block w-4 h-4 border-[3px] border-current border-t-transparent text-slate-900 dark:text-gray-300 rounded-full\"\n role=\"status\"\n aria-label=\"loading\"\n ></span>\n ) : (\n <svg slot=\"icon-start\" style={{ display: 'none' }} xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\">\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n d=\"M18 7.5v3m0 0v3m0-3h3m-3 0h-3m-2.25-4.125a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0ZM3 19.235v-.11a6.375 6.375 0 0 1 12.75 0v.109A12.318 12.318 0 0 1 9.374 21c-2.331 0-4.512-.645-6.374-1.766Z\"\n />\n </svg>\n )}\n </button-base>\n </div>\n </Fragment>\n );\n }\n}\n"],"version":3}
|
|
@@ -12,7 +12,7 @@ const NlInfoExtension = /*@__PURE__*/ proxyCustomElement(class NlInfoExtension e
|
|
|
12
12
|
this.__registerHost();
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
|
-
return (h("div", { key: '
|
|
15
|
+
return (h("div", { key: 'd3ac6a1ab7369e7025bdacdac90fdb2c56008330', class: "p-4 overflow-y-auto" }, state.isLoadingExtension ? (h("div", null, h("h1", { class: "nl-title font-bold text-center text-4xl" }, "Signing in..."), h("div", { class: "mt-10 mb-10 ml-auto mr-auto w-20" }, h("span", { slot: "icon-start", class: "animate-spin-loading ml-auto mr-auto inline-block w-20 h-20 border-[4px] border-current border-t-transparent text-slate-900 dark:text-gray-300 rounded-full", role: "status", "aria-label": "loading" })), h("div", { class: "ps-4 pe-4 overflow-y-auto" }, h("p", { class: "nl-error font-light text-center text-sm max-w-96 mx-auto" }, state.error)))) : (h("div", null, h("h1", { class: "nl-title font-bold text-center text-4xl" }, "Install browser extension!"), h("p", { class: "nl-description font-light text-center text-lg pt-2 max-w-96 mx-auto" }, "Try", ' ', h("a", { href: "https://getalby.com", target: "_blank" }, "Alby"), ",", ' ', h("a", { href: "https://chromewebstore.google.com/detail/nos2x/kpgefcfmnafjgpblomihpgmejjdanjjp", target: "_blank" }, "nos2x"), ' ', "or", ' ', h("a", { href: "https://apps.apple.com/us/app/nostore/id1666553677", target: "_blank" }, "Nostore"))))));
|
|
16
16
|
}
|
|
17
17
|
static get style() { return NlInfoExtensionStyle0; }
|
|
18
18
|
}, [0, "nl-info-extension"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"nl-info-extension2.js","mappings":";;;AAAA,MAAM,kBAAkB,GAAG
|
|
1
|
+
{"file":"nl-info-extension2.js","mappings":";;;AAAA,MAAM,kBAAkB,GAAG,4r3CAA4r3C,CAAC;AACxt3C,8BAAe,kBAAkB;;MCOpB,eAAe;;;;;IAC1B,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,qBAAqB,IAC7B,KAAK,CAAC,kBAAkB,IACvB,eACE,UAAI,KAAK,EAAC,yCAAyC,oBAAmB,EACtE,WAAK,KAAK,EAAC,kCAAkC,IAC3C,YACE,IAAI,EAAC,YAAY,EACjB,KAAK,EAAC,6JAA6J,EACnK,IAAI,EAAC,QAAQ,gBACF,SAAS,GACd,CACJ,EACN,WAAK,KAAK,EAAC,2BAA2B,IACpC,SAAG,KAAK,EAAC,0DAA0D,IAAE,KAAK,CAAC,KAAK,CAAK,CACjF,CACF,KAEN,eACE,UAAI,KAAK,EAAC,yCAAyC,iCAAgC,EACnF,SAAG,KAAK,EAAC,qEAAqE,WACxE,GAAG,EACP,SAAG,IAAI,EAAC,qBAAqB,EAAC,MAAM,EAAC,QAAQ,WAEzC,OACF,GAAG,EACL,SAAG,IAAI,EAAC,iFAAiF,EAAC,MAAM,EAAC,QAAQ,YAErG,EAAC,GAAG,QACL,GAAG,EACN,SAAG,IAAI,EAAC,oDAAoD,EAAC,MAAM,EAAC,QAAQ,cAExE,CACF,CACA,CACP,CACG,EACN;KACH;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/nl-info-extension/nl-info-extension.css?tag=nl-info-extension","src/components/nl-info-extension/nl-info-extension.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, h } from '@stencil/core';\nimport { state } from '@/store';\n\n@Component({\n tag: 'nl-info-extension',\n styleUrl: 'nl-info-extension.css',\n shadow: false,\n})\nexport class NlInfoExtension {\n render() {\n return (\n <div class=\"p-4 overflow-y-auto\">\n {state.isLoadingExtension ? (\n <div>\n <h1 class=\"nl-title font-bold text-center text-4xl\">Signing in...</h1>\n <div class=\"mt-10 mb-10 ml-auto mr-auto w-20\">\n <span\n slot=\"icon-start\"\n class=\"animate-spin-loading ml-auto mr-auto inline-block w-20 h-20 border-[4px] border-current border-t-transparent text-slate-900 dark:text-gray-300 rounded-full\"\n role=\"status\"\n aria-label=\"loading\"\n ></span>\n </div>\n <div class=\"ps-4 pe-4 overflow-y-auto\">\n <p class=\"nl-error font-light text-center text-sm max-w-96 mx-auto\">{state.error}</p>\n </div>\n </div>\n ) : (\n <div>\n <h1 class=\"nl-title font-bold text-center text-4xl\">Install browser extension!</h1>\n <p class=\"nl-description font-light text-center text-lg pt-2 max-w-96 mx-auto\">\n Try{' '}\n <a href=\"https://getalby.com\" target=\"_blank\">\n Alby\n </a>\n ,{' '}\n <a href=\"https://chromewebstore.google.com/detail/nos2x/kpgefcfmnafjgpblomihpgmejjdanjjp\" target=\"_blank\">\n nos2x\n </a>{' '}\n or{' '}\n <a href=\"https://apps.apple.com/us/app/nostore/id1666553677\" target=\"_blank\">\n Nostore\n </a>\n </p>\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -11,7 +11,7 @@ const NlInfo = /*@__PURE__*/ proxyCustomElement(class NlInfo extends HTMLElement
|
|
|
11
11
|
this.__registerHost();
|
|
12
12
|
}
|
|
13
13
|
render() {
|
|
14
|
-
return (h("div", { key: '
|
|
14
|
+
return (h("div", { key: '00e4e992a1f8f58c88fd330d2fa2f39b6356548f', class: "p-4 overflow-y-auto" }, h("svg", { key: 'd86f18cc8e99b4e195f9ff83887bdae644093491', class: "w-12 h-12 mx-auto mb-2", width: "225", height: "224", viewBox: "0 0 225 224", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("rect", { key: 'b322077ab4e20d66ea093d348ae63ca3744b446d', width: "224.047", height: "224", rx: "64", fill: "#6951FA" }), h("path", { key: '016923ef1509118fbf7a95ad074b804bfdc88f87', d: "M162.441 135.941V88.0593C170.359 85.1674 176 77.5348 176 68.6696C176 57.2919 166.708 48 155.33 48C143.953 48 134.661 57.2444 134.661 68.6696C134.661 77.5822 140.302 85.1674 148.219 88.0593V135.941C147.698 136.13 147.176 136.367 146.655 136.604L87.3956 77.3452C88.6282 74.6904 89.2919 71.7511 89.2919 68.6696C89.2919 57.2444 80.0474 48 68.6696 48C57.2919 48 48 57.2444 48 68.6696C48 77.5822 53.6415 85.1674 61.5585 88.0593V135.941C53.6415 138.833 48 146.465 48 155.33C48 166.708 57.2444 176 68.6696 176C80.0948 176 89.3393 166.708 89.3393 155.33C89.3393 146.418 83.6978 138.833 75.7807 135.941V88.0593C76.3022 87.8696 76.8237 87.6326 77.3452 87.3956L136.604 146.655C135.372 149.31 134.708 152.249 134.708 155.33C134.708 166.708 143.953 176 155.378 176C166.803 176 176.047 166.708 176.047 155.33C176.047 146.418 170.406 138.833 162.489 135.941H162.441Z", fill: "white" })), h("h1", { key: 'b7b7412de76cdbbc3aaad3d5c76c50a4fbaac3b3', class: "nl-title font-bold text-center text-4xl" }, "Nostr ", h("span", { key: 'af00f937ad7d52059f5004101918d52b0caa680a', class: "font-light" }, "Login")), h("p", { key: 'ae849746bc3f1434fc7d0c6c969aec420e296855', class: "text-green-800 dark:text-green-200 font-light text-center text-lg pt-2 max-w-96 mx-auto" }, "Version: 1.7.11"), h("p", { key: 'bb06add11255a416707c4f8f521c753d03e82d46', class: "nl-description font-light text-center text-lg pt-2 max-w-96 mx-auto" }, "Learn more about Nostr", ' ', h("a", { key: '8eafe47b92a971ab99c338202c1ef75ec1e25d56', target: "_blank", href: "https://nostr.how" }, "here"), ".", h("br", { key: 'c8997a789a49995fc5983d86788f0d76519ad6ab' }), "This is an", ' ', h("a", { key: 'a57904c4a2ddfe1ce1b46f31e8746ee57793f2c6', target: "_blank", href: "https://github.com/nostrband/nostr-login" }, "open-source"), ' ', "tool by", ' ', h("a", { key: '1b0d4bddf69c5912f03861dc69dcbf24a6884259', target: "_blank", href: "https://nostr.band" }, "Nostr.Band"), ".")));
|
|
15
15
|
}
|
|
16
16
|
static get style() { return NlInfoStyle0; }
|
|
17
17
|
}, [0, "nl-info"]);
|