taon-ui 21.0.48 → 21.0.49
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/VERIFIED-BUILD-DATA.jsonc +3 -3
- package/browser/fesm2022/taon-ui-browser.mjs +41 -32
- package/browser/fesm2022/taon-ui-browser.mjs.map +1 -1
- package/browser/package.json +1 -1
- package/browser/types/taon-ui-browser.d.ts +7 -4
- package/browser-prod/fesm2022/taon-ui-browser-prod.mjs +41 -32
- package/browser-prod/fesm2022/taon-ui-browser-prod.mjs.map +1 -1
- package/browser-prod/package.json +1 -1
- package/browser-prod/types/taon-ui-browser-prod.d.ts +7 -4
- package/html/assets/generated/pwa/html-pwa.html +60 -0
- package/html/lib/layouts/taon-bootstrap-navbar/taon-bootstrap-navbar.component.html +149 -0
- package/html/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.html +266 -0
- package/html/lib/ui/taon-auth/auth-button.component.html +28 -0
- package/html/lib/ui/taon-auth/auth-dialog.component.html +93 -0
- package/html/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.html +29 -0
- package/html/lib/ui/taon-github-fork-me-ribbon/taon-github-fork-me-ribbon.component.html +11 -0
- package/html/lib/ui/taon-kv-authorization/taon-kv-authorization.component.html +11 -0
- package/html/lib/ui/taon-not-found/taon-not-found.component.html +40 -0
- package/html/lib/ui/taon-notifications/taon-notifications.component.html +3 -0
- package/html/lib/ui/taon-progress-bar/taon-progress-bar.component.html +23 -0
- package/html/lib/ui/taon-rumble/taon-rumble.component.html +46 -0
- package/html/lib/ui/taon-session-passcode/taon-session-passcode.component.html +20 -0
- package/html/lib/ui/taon-simple-layout/taon-simple-layout.component.html +88 -0
- package/html/lib/ui/taon-stripe-buy-button/taon-stripe-buy-button.component.html +17 -0
- package/html/lib/ui/taon-table/taon-table.component.html +50 -0
- package/html/lib/ui/taon-theme/taon-theme.component.html +26 -0
- package/html/lib/ui/taon-youtube-video/taon-youtube-video.component.html +71 -0
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/layouts/taon-bootstrap-navbar/index.js +2 -2
- package/lib/package.json +1 -1
- package/lib/ui/directives/index.js +2 -2
- package/lib/ui/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +3 -3
- package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
- package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
- package/lib/ui/taon-iframe-sync/index.js +2 -2
- package/lib/ui/taon-progress-bar/index.js +2 -2
- package/lib/ui/taon-session-passcode/index.js +2 -2
- package/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +1 -1
- package/lib/ui/taon-simple-layout/taon-simple-layout.component.d.ts +1 -0
- package/lib/ui/taon-table/index.js +2 -2
- package/lib/ui/taon-theme/taon-theme.component.d.ts +2 -0
- package/lib-esm/app.electron.d.ts +1 -1
- package/lib-esm/app.electron.js +1 -1
- package/lib-esm/app.hosts.d.ts +2 -2
- package/lib-esm/app.hosts.js +4 -4
- package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib-esm/lib/build-info._auto-generated_.js +1 -1
- package/lib-esm/lib/layouts/taon-bootstrap-navbar/index.d.ts +1 -1
- package/lib-esm/lib/layouts/taon-bootstrap-navbar/index.js +1 -1
- package/lib-esm/lib/ui/directives/index.d.ts +1 -1
- package/lib-esm/lib/ui/directives/index.js +1 -1
- package/lib-esm/lib/ui/index.d.ts +1 -1
- package/lib-esm/lib/ui/index.js +1 -1
- package/lib-esm/lib/ui/taon-github-fork-me-corner/index.d.ts +1 -1
- package/lib-esm/lib/ui/taon-github-fork-me-corner/index.js +1 -1
- package/lib-esm/lib/ui/taon-github-fork-me-ribbon/index.d.ts +1 -1
- package/lib-esm/lib/ui/taon-github-fork-me-ribbon/index.js +1 -1
- package/lib-esm/lib/ui/taon-iframe-sync/index.d.ts +1 -1
- package/lib-esm/lib/ui/taon-iframe-sync/index.js +1 -1
- package/lib-esm/lib/ui/taon-progress-bar/index.d.ts +1 -1
- package/lib-esm/lib/ui/taon-progress-bar/index.js +1 -1
- package/lib-esm/lib/ui/taon-session-passcode/index.d.ts +1 -1
- package/lib-esm/lib/ui/taon-session-passcode/index.js +1 -1
- package/lib-esm/lib/ui/taon-table/index.d.ts +1 -1
- package/lib-esm/lib/ui/taon-table/index.js +1 -1
- package/lib-prod/build-info._auto-generated_.d.ts +1 -1
- package/lib-prod/build-info._auto-generated_.js +2 -2
- package/lib-prod/env/env.angular-node-app.js +1 -1
- package/lib-prod/env/env.docs-webapp.js +1 -1
- package/lib-prod/env/env.electron-app.js +1 -1
- package/lib-prod/env/env.mobile-app.js +1 -1
- package/lib-prod/env/env.npm-lib-and-cli-tool.js +1 -1
- package/lib-prod/env/env.vscode-plugin.js +1 -1
- package/lib-prod/env/index.js +1 -1
- package/lib-prod/index._auto-generated_.js +1 -1
- package/lib-prod/index.js +1 -1
- package/lib-prod/layouts/index.js +1 -1
- package/lib-prod/layouts/taon-bootstrap-navbar/index.d.ts +1 -1
- package/lib-prod/layouts/taon-bootstrap-navbar/index.js +2 -2
- package/lib-prod/migrations/index.js +1 -1
- package/lib-prod/migrations/migrations_index._auto-generated_.js +1 -1
- package/lib-prod/my-organization-proj.js +1 -1
- package/lib-prod/package.json +1 -1
- package/lib-prod/taon.models.js +1 -1
- package/lib-prod/ui/directives/index.d.ts +1 -1
- package/lib-prod/ui/directives/index.js +2 -2
- package/lib-prod/ui/directives/view-mode.js +1 -1
- package/lib-prod/ui/index.d.ts +1 -1
- package/lib-prod/ui/index.js +2 -2
- package/lib-prod/ui/taon-admin-mode-configuration/index.js +1 -1
- package/lib-prod/ui/taon-admin-mode-configuration/taon-admin.models.js +1 -1
- package/lib-prod/ui/taon-github-fork-me-corner/index.d.ts +1 -1
- package/lib-prod/ui/taon-github-fork-me-corner/index.js +2 -2
- package/lib-prod/ui/taon-github-fork-me-ribbon/index.d.ts +1 -1
- package/lib-prod/ui/taon-github-fork-me-ribbon/index.js +2 -2
- package/lib-prod/ui/taon-iframe-sync/index.d.ts +1 -1
- package/lib-prod/ui/taon-iframe-sync/index.js +2 -2
- package/lib-prod/ui/taon-kv-authorization/taon-kv-authorization.models.js +1 -1
- package/lib-prod/ui/taon-notifications/index.js +1 -1
- package/lib-prod/ui/taon-notifications/taon-notifications.models.js +1 -1
- package/lib-prod/ui/taon-progress-bar/index.d.ts +1 -1
- package/lib-prod/ui/taon-progress-bar/index.js +2 -2
- package/lib-prod/ui/taon-session-passcode/index.d.ts +1 -1
- package/lib-prod/ui/taon-session-passcode/index.js +2 -2
- package/lib-prod/ui/taon-simple-layout/taon-simple-layout.model.js +1 -1
- package/lib-prod/ui/taon-table/index.d.ts +1 -1
- package/lib-prod/ui/taon-table/index.js +2 -2
- package/lib-prod/ui/taon-youtube-video/taon-youtube.utils.js +1 -1
- package/lib-prod/ui/taon.models.js +1 -1
- package/package.json +1 -1
- package/scss/lib/ui/taon-session-passcode/taon-session-passcode.component.scss +2 -33
- package/websql/fesm2022/taon-ui-websql.mjs +41 -32
- package/websql/fesm2022/taon-ui-websql.mjs.map +1 -1
- package/websql/package.json +1 -1
- package/websql/types/taon-ui-websql.d.ts +7 -4
- package/websql-prod/fesm2022/taon-ui-websql-prod.mjs +41 -32
- package/websql-prod/fesm2022/taon-ui-websql-prod.mjs.map +1 -1
- package/websql-prod/package.json +1 -1
- package/websql-prod/types/taon-ui-websql-prod.d.ts +7 -4
|
@@ -85,7 +85,7 @@ declare const CURRENT_PACKAGE_TAON_VERSION = "v21";
|
|
|
85
85
|
/**
|
|
86
86
|
* Autogenerated by current cli tool. Use *tnp release* to bump version.
|
|
87
87
|
*/
|
|
88
|
-
declare const CURRENT_PACKAGE_VERSION = "21.0.
|
|
88
|
+
declare const CURRENT_PACKAGE_VERSION = "21.0.49";
|
|
89
89
|
|
|
90
90
|
declare function myOrgProj(): void;
|
|
91
91
|
|
|
@@ -478,7 +478,7 @@ declare class TaonSessionPasscodeComponent implements OnInit, AfterViewInit {
|
|
|
478
478
|
display: string;
|
|
479
479
|
form: FormGroup<TaonSessionPasscodeForm>;
|
|
480
480
|
constructor(element: ElementRef<HTMLElement>, domSanitizer: DomSanitizer, cdr: ChangeDetectorRef);
|
|
481
|
-
ngOnInit(): void
|
|
481
|
+
ngOnInit(): Promise<void>;
|
|
482
482
|
submit({ passcode }: Partial<TaonSessionPasscodeModel>): void;
|
|
483
483
|
private isPasscodeOK;
|
|
484
484
|
ngAfterViewInit(): void;
|
|
@@ -492,7 +492,7 @@ declare class TaonSessionPasscodeComponent implements OnInit, AfterViewInit {
|
|
|
492
492
|
};
|
|
493
493
|
}): void;
|
|
494
494
|
static ɵfac: i0.ɵɵFactoryDeclaration<TaonSessionPasscodeComponent, [{ self: true; }, null, null]>;
|
|
495
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TaonSessionPasscodeComponent, "taon-session-passcode", never, { "passcode": { "alias": "passcode"; "required":
|
|
495
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TaonSessionPasscodeComponent, "taon-session-passcode", never, { "passcode": { "alias": "passcode"; "required": true; }; "message": { "alias": "message"; "required": false; }; }, {}, never, never, true, never>;
|
|
496
496
|
}
|
|
497
497
|
|
|
498
498
|
declare enum TaonThemeMode {
|
|
@@ -528,6 +528,7 @@ declare class TaonSimpleLayoutComponent {
|
|
|
528
528
|
protected dialog: MatDialog;
|
|
529
529
|
protected theme: TaonThemeService;
|
|
530
530
|
hideThemeSettings: boolean;
|
|
531
|
+
hideHeader: boolean;
|
|
531
532
|
navItems: i0.InputSignal<TaonSimpleLayoutNavItem[]>;
|
|
532
533
|
navigateTo(item: {
|
|
533
534
|
path: string;
|
|
@@ -535,7 +536,7 @@ declare class TaonSimpleLayoutComponent {
|
|
|
535
536
|
}): void;
|
|
536
537
|
openDialog(enterAnimationDuration: string | number, exitAnimationDuration: string | number): void;
|
|
537
538
|
static ɵfac: i0.ɵɵFactoryDeclaration<TaonSimpleLayoutComponent, never>;
|
|
538
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TaonSimpleLayoutComponent, "taon-simple-layout", never, { "hideThemeSettings": { "alias": "hideThemeSettings"; "required": false; }; "navItems": { "alias": "navItems"; "required": false; "isSignal": true; }; }, {}, never, ["[header]", "[buttons]", "*"], true, never>;
|
|
539
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TaonSimpleLayoutComponent, "taon-simple-layout", never, { "hideThemeSettings": { "alias": "hideThemeSettings"; "required": false; }; "hideHeader": { "alias": "hideHeader"; "required": false; }; "navItems": { "alias": "navItems"; "required": false; "isSignal": true; }; }, {}, never, ["[header]", "[buttons]", "*"], true, never>;
|
|
539
540
|
}
|
|
540
541
|
|
|
541
542
|
declare const TaonSimpleLayoutRoutes: Routes;
|
|
@@ -613,6 +614,8 @@ declare class TaonTableModule {
|
|
|
613
614
|
|
|
614
615
|
declare class TaonThemeComponent {
|
|
615
616
|
TaonThemeMode: typeof TaonThemeMode;
|
|
617
|
+
private readonly dialogRef;
|
|
618
|
+
close(): void;
|
|
616
619
|
taonTheme: TaonThemeService;
|
|
617
620
|
static ɵfac: i0.ɵɵFactoryDeclaration<TaonThemeComponent, never>;
|
|
618
621
|
static ɵcmp: i0.ɵɵComponentDeclaration<TaonThemeComponent, "taon-theme", never, {}, {}, never, never, true, never>;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<link rel="icon" type="image/x-icon" href="/assets/assets-for/taon-ui/assets/generated/pwa/favicon.ico">
|
|
2
|
+
<link rel="icon" type="image/png" sizes="16x16" href="/assets/assets-for/taon-ui/assets/generated/pwa/favicon-16x16.png">
|
|
3
|
+
<link rel="icon" type="image/png" sizes="32x32" href="/assets/assets-for/taon-ui/assets/generated/pwa/favicon-32x32.png">
|
|
4
|
+
<link rel="icon" type="image/png" sizes="48x48" href="/assets/assets-for/taon-ui/assets/generated/pwa/favicon-48x48.png">
|
|
5
|
+
<link rel="manifest" href="/assets/assets-for/taon-ui/assets/generated/pwa/manifest.webmanifest">
|
|
6
|
+
<meta name="mobile-web-app-capable" content="yes">
|
|
7
|
+
<meta name="theme-color" content="#fff">
|
|
8
|
+
<meta name="application-name">
|
|
9
|
+
<link rel="apple-touch-icon" sizes="57x57" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-icon-57x57.png">
|
|
10
|
+
<link rel="apple-touch-icon" sizes="60x60" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-icon-60x60.png">
|
|
11
|
+
<link rel="apple-touch-icon" sizes="72x72" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-icon-72x72.png">
|
|
12
|
+
<link rel="apple-touch-icon" sizes="76x76" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-icon-76x76.png">
|
|
13
|
+
<link rel="apple-touch-icon" sizes="114x114" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-icon-114x114.png">
|
|
14
|
+
<link rel="apple-touch-icon" sizes="120x120" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-icon-120x120.png">
|
|
15
|
+
<link rel="apple-touch-icon" sizes="144x144" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-icon-144x144.png">
|
|
16
|
+
<link rel="apple-touch-icon" sizes="152x152" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-icon-152x152.png">
|
|
17
|
+
<link rel="apple-touch-icon" sizes="167x167" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-icon-167x167.png">
|
|
18
|
+
<link rel="apple-touch-icon" sizes="180x180" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-icon-180x180.png">
|
|
19
|
+
<link rel="apple-touch-icon" sizes="1024x1024" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-icon-1024x1024.png">
|
|
20
|
+
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
21
|
+
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
22
|
+
<meta name="apple-mobile-web-app-title">
|
|
23
|
+
<link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-640x1136.png">
|
|
24
|
+
<link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1136x640.png">
|
|
25
|
+
<link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-750x1334.png">
|
|
26
|
+
<link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1334x750.png">
|
|
27
|
+
<link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1125x2436.png">
|
|
28
|
+
<link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2436x1125.png">
|
|
29
|
+
<link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1170x2532.png">
|
|
30
|
+
<link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2532x1170.png">
|
|
31
|
+
<link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1179x2556.png">
|
|
32
|
+
<link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2556x1179.png">
|
|
33
|
+
<link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-828x1792.png">
|
|
34
|
+
<link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1792x828.png">
|
|
35
|
+
<link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1242x2688.png">
|
|
36
|
+
<link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2688x1242.png">
|
|
37
|
+
<link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1242x2208.png">
|
|
38
|
+
<link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2208x1242.png">
|
|
39
|
+
<link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1284x2778.png">
|
|
40
|
+
<link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2778x1284.png">
|
|
41
|
+
<link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1290x2796.png">
|
|
42
|
+
<link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2796x1290.png">
|
|
43
|
+
<link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1488x2266.png">
|
|
44
|
+
<link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2266x1488.png">
|
|
45
|
+
<link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1536x2048.png">
|
|
46
|
+
<link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2048x1536.png">
|
|
47
|
+
<link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1620x2160.png">
|
|
48
|
+
<link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2160x1620.png">
|
|
49
|
+
<link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1640x2160.png">
|
|
50
|
+
<link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2160x1640.png">
|
|
51
|
+
<link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1668x2388.png">
|
|
52
|
+
<link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2388x1668.png">
|
|
53
|
+
<link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-1668x2224.png">
|
|
54
|
+
<link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2224x1668.png">
|
|
55
|
+
<link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2048x2732.png">
|
|
56
|
+
<link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/taon-ui/assets/generated/pwa/apple-touch-startup-image-2732x2048.png">
|
|
57
|
+
<meta name="msapplication-TileColor" content="#fff">
|
|
58
|
+
<meta name="msapplication-TileImage" content="/assets/assets-for/taon-ui/assets/generated/pwa/mstile-144x144.png">
|
|
59
|
+
<meta name="msapplication-config" content="/assets/assets-for/taon-ui/assets/generated/pwa/browserconfig.xml">
|
|
60
|
+
<link rel="yandex-tableau-widget" href="/assets/assets-for/taon-ui/assets/generated/pwa/yandex-browser-manifest.json">
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
<nav class="navbar navbar-expand-lg">
|
|
2
|
+
<div class="container-fluid">
|
|
3
|
+
<a
|
|
4
|
+
class="navbar-brand"
|
|
5
|
+
routerLink="/home"
|
|
6
|
+
routerLinkActive="active">
|
|
7
|
+
Home</a
|
|
8
|
+
>
|
|
9
|
+
<button
|
|
10
|
+
class="navbar-toggler"
|
|
11
|
+
type="button"
|
|
12
|
+
(click)="isCollapsed = !isCollapsed">
|
|
13
|
+
<span class="navbar-toggler-icon"></span>
|
|
14
|
+
</button>
|
|
15
|
+
|
|
16
|
+
<div
|
|
17
|
+
[ngbCollapse]="isCollapsed"
|
|
18
|
+
class="navbar-collapse">
|
|
19
|
+
<ul class="navbar-nav ms-auto">
|
|
20
|
+
<li class="nav-item">
|
|
21
|
+
<a
|
|
22
|
+
class="nav-link"
|
|
23
|
+
routerLink="/about"
|
|
24
|
+
routerLinkActive="active"
|
|
25
|
+
>O szkole</a
|
|
26
|
+
>
|
|
27
|
+
</li>
|
|
28
|
+
<li class="nav-item">
|
|
29
|
+
<a
|
|
30
|
+
class="nav-link"
|
|
31
|
+
routerLink="/courses"
|
|
32
|
+
routerLinkActive="active"
|
|
33
|
+
>Kursy</a
|
|
34
|
+
>
|
|
35
|
+
</li>
|
|
36
|
+
<li class="nav-item">
|
|
37
|
+
<a
|
|
38
|
+
class="nav-link"
|
|
39
|
+
routerLink="/opinions"
|
|
40
|
+
routerLinkActive="active"
|
|
41
|
+
>Opinie</a
|
|
42
|
+
>
|
|
43
|
+
</li>
|
|
44
|
+
<li class="nav-item">
|
|
45
|
+
<a
|
|
46
|
+
class="nav-link"
|
|
47
|
+
routerLink="/instructors"
|
|
48
|
+
routerLinkActive="active"
|
|
49
|
+
>Lektorzy</a
|
|
50
|
+
>
|
|
51
|
+
</li>
|
|
52
|
+
<li class="nav-item">
|
|
53
|
+
<a
|
|
54
|
+
class="nav-link"
|
|
55
|
+
routerLink="/contact"
|
|
56
|
+
routerLinkActive="active"
|
|
57
|
+
>Kontakt</a
|
|
58
|
+
>
|
|
59
|
+
</li>
|
|
60
|
+
<ng-container *ngIf="isLoggedIn">
|
|
61
|
+
<li class="nav-item">
|
|
62
|
+
<a
|
|
63
|
+
class="nav-link"
|
|
64
|
+
routerLink="/test"
|
|
65
|
+
routerLinkActive="active"
|
|
66
|
+
><b>Test plasujący</b></a
|
|
67
|
+
>
|
|
68
|
+
</li>
|
|
69
|
+
<li class="nav-item">
|
|
70
|
+
<a
|
|
71
|
+
class="nav-link"
|
|
72
|
+
routerLink="/grammar"
|
|
73
|
+
routerLinkActive="active"
|
|
74
|
+
>Gramatyka</a
|
|
75
|
+
>
|
|
76
|
+
</li>
|
|
77
|
+
<li class="nav-item">
|
|
78
|
+
<a
|
|
79
|
+
class="nav-link"
|
|
80
|
+
routerLink="/vocabulary"
|
|
81
|
+
routerLinkActive="active"
|
|
82
|
+
>Słownictwo</a
|
|
83
|
+
>
|
|
84
|
+
</li>
|
|
85
|
+
<li class="nav-item">
|
|
86
|
+
<a
|
|
87
|
+
class="nav-link"
|
|
88
|
+
routerLink="/reading"
|
|
89
|
+
routerLinkActive="active"
|
|
90
|
+
>Czytanie</a
|
|
91
|
+
>
|
|
92
|
+
</li>
|
|
93
|
+
<li class="nav-item">
|
|
94
|
+
<a
|
|
95
|
+
class="nav-link"
|
|
96
|
+
routerLink="/movies"
|
|
97
|
+
routerLinkActive="active"
|
|
98
|
+
>Wideo</a
|
|
99
|
+
>
|
|
100
|
+
</li>
|
|
101
|
+
<li class="nav-item">
|
|
102
|
+
<a
|
|
103
|
+
class="nav-link"
|
|
104
|
+
routerLink="/curiosities"
|
|
105
|
+
routerLinkActive="active"
|
|
106
|
+
>Ciekawostki</a
|
|
107
|
+
>
|
|
108
|
+
</li>
|
|
109
|
+
<li class="nav-item">
|
|
110
|
+
<a
|
|
111
|
+
class="nav-link"
|
|
112
|
+
routerLink="/logout"
|
|
113
|
+
routerLinkActive="active"
|
|
114
|
+
>Wyloguj</a
|
|
115
|
+
>
|
|
116
|
+
</li>
|
|
117
|
+
<li class="nav-item">
|
|
118
|
+
<a
|
|
119
|
+
class="nav-link"
|
|
120
|
+
routerLink="/profile"
|
|
121
|
+
routerLinkActive="active"
|
|
122
|
+
>Profil</a
|
|
123
|
+
>
|
|
124
|
+
</li>
|
|
125
|
+
<li class="nav-item">
|
|
126
|
+
<a
|
|
127
|
+
class="nav-link"
|
|
128
|
+
routerLink="/admin"
|
|
129
|
+
routerLinkActive="active"
|
|
130
|
+
>Admin</a
|
|
131
|
+
>
|
|
132
|
+
</li>
|
|
133
|
+
</ng-container>
|
|
134
|
+
<ng-container *ngIf="!isLoggedIn">
|
|
135
|
+
<li class="nav-item">
|
|
136
|
+
<a
|
|
137
|
+
class="nav-link"
|
|
138
|
+
href="javascript:void(0)"
|
|
139
|
+
(click)="modalLoginRegister()">
|
|
140
|
+
<span class="glyphicon glyphicon-hand-right"></span> Rejestracja /
|
|
141
|
+
<span class="glyphicon glyphicon-user"></span> Logowanie
|
|
142
|
+
</a>
|
|
143
|
+
</li>
|
|
144
|
+
</ng-container>
|
|
145
|
+
</ul>
|
|
146
|
+
</div>
|
|
147
|
+
</div>
|
|
148
|
+
</nav>
|
|
149
|
+
<ng-content />
|
package/html/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.html
ADDED
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
<!-- #region basic global components -->
|
|
2
|
+
<taon-session-passcode
|
|
3
|
+
*ngIf="showPasscode"
|
|
4
|
+
[passcode]="passcode"
|
|
5
|
+
[message]="message" />
|
|
6
|
+
<!-- <taon-progress-bar [taonAdminService.isDesktop()]="taonAdminService.isDesktop()"></taon-progress-bar> -->
|
|
7
|
+
<!-- <taon-notifications></taon-notifications> -->
|
|
8
|
+
<button
|
|
9
|
+
mat-fab
|
|
10
|
+
class="fab-button"
|
|
11
|
+
color="accent"
|
|
12
|
+
aria-label="Taon Admin Mode"
|
|
13
|
+
*ngIf="
|
|
14
|
+
taonAdminService.adminPanelMode() === TaonAdminPanelMode.ICON &&
|
|
15
|
+
taonAdminService.isDesktop() &&
|
|
16
|
+
!taonAdminService.isIframe
|
|
17
|
+
"
|
|
18
|
+
(click)="taonAdminService.adminPanelMode.set(TaonAdminPanelMode.POPUP)">
|
|
19
|
+
<mat-icon>build</mat-icon>
|
|
20
|
+
</button>
|
|
21
|
+
<!-- #endregion -->
|
|
22
|
+
|
|
23
|
+
<!-- #region small hidden button -->
|
|
24
|
+
<!-- <button class="admin-show-button"
|
|
25
|
+
*ngIf="!taonAdminService.draggablePopupMode && taonAdminService.isDesktop()"
|
|
26
|
+
(click)="toogle()"> Admin </button> -->
|
|
27
|
+
<!-- #endregion -->
|
|
28
|
+
|
|
29
|
+
<!-- #region content or content with scrollbar-->
|
|
30
|
+
<ng-template #contentNoScroll>
|
|
31
|
+
<ng-content> </ng-content>
|
|
32
|
+
</ng-template>
|
|
33
|
+
|
|
34
|
+
<ng-template #content>
|
|
35
|
+
<ng-scrollbar>
|
|
36
|
+
<ng-container [ngTemplateOutlet]="contentNoScroll"></ng-container>
|
|
37
|
+
</ng-scrollbar>
|
|
38
|
+
</ng-template>
|
|
39
|
+
<!-- #endregion-->
|
|
40
|
+
|
|
41
|
+
<!-- #region admin tabs -->
|
|
42
|
+
<ng-template #adminTabs>
|
|
43
|
+
<!-- #region admin tabs / header -->
|
|
44
|
+
|
|
45
|
+
<div
|
|
46
|
+
class="bg-white taon-header-admin overflow-hidden w-full flex flex-row align-items-center align-content-center justify-content-between"
|
|
47
|
+
[ngClass]="{
|
|
48
|
+
'block w-full':
|
|
49
|
+
taonAdminService.adminPanelMode() === TaonAdminPanelMode.POPUP,
|
|
50
|
+
}">
|
|
51
|
+
<img
|
|
52
|
+
class="p-2 flex"
|
|
53
|
+
style="height: 45px"
|
|
54
|
+
src="/src/assets/shared/logo-header-admin-mode.png" />
|
|
55
|
+
|
|
56
|
+
<div class="flex flex-row">
|
|
57
|
+
<button
|
|
58
|
+
style="width: 40px"
|
|
59
|
+
mat-icon-button
|
|
60
|
+
(click)="taonAdminService.adminPanelMode.set(TaonAdminPanelMode.NONE)"
|
|
61
|
+
class="">
|
|
62
|
+
<mat-icon>close</mat-icon>
|
|
63
|
+
</button>
|
|
64
|
+
|
|
65
|
+
<button
|
|
66
|
+
style="width: 40px"
|
|
67
|
+
mat-icon-button
|
|
68
|
+
(click)="taonAdminService.adminPanelMode.set(TaonAdminPanelMode.ICON)"
|
|
69
|
+
class="">
|
|
70
|
+
<mat-icon>minimize</mat-icon>
|
|
71
|
+
</button>
|
|
72
|
+
|
|
73
|
+
<button
|
|
74
|
+
*ngIf="
|
|
75
|
+
taonAdminService.adminPanelMode() !== TaonAdminPanelMode.FULL_SCREEN
|
|
76
|
+
"
|
|
77
|
+
mat-icon-button
|
|
78
|
+
(click)="
|
|
79
|
+
taonAdminService.adminPanelMode.set(TaonAdminPanelMode.FULL_SCREEN)
|
|
80
|
+
"
|
|
81
|
+
class="">
|
|
82
|
+
<mat-icon>fullscreen</mat-icon>
|
|
83
|
+
</button>
|
|
84
|
+
|
|
85
|
+
<button
|
|
86
|
+
style="width: 40px"
|
|
87
|
+
*ngIf="
|
|
88
|
+
taonAdminService.adminPanelMode() === TaonAdminPanelMode.FULL_SCREEN
|
|
89
|
+
"
|
|
90
|
+
mat-icon-button
|
|
91
|
+
(click)="taonAdminService.adminPanelMode.set(TaonAdminPanelMode.POPUP)"
|
|
92
|
+
class="">
|
|
93
|
+
<mat-icon>close_fullscreen</mat-icon>
|
|
94
|
+
</button>
|
|
95
|
+
|
|
96
|
+
<button
|
|
97
|
+
style="width: 40px"
|
|
98
|
+
*ngIf="taonAdminService.adminPanelMode() !== TaonAdminPanelMode.SIDE"
|
|
99
|
+
mat-icon-button
|
|
100
|
+
(click)="taonAdminService.adminPanelMode.set(TaonAdminPanelMode.SIDE)"
|
|
101
|
+
class="">
|
|
102
|
+
<mat-icon style="transform: rotate(180deg)">login</mat-icon>
|
|
103
|
+
</button>
|
|
104
|
+
|
|
105
|
+
<button
|
|
106
|
+
style="width: 40px"
|
|
107
|
+
*ngIf="
|
|
108
|
+
taonAdminService.adminPanelMode() !== TaonAdminPanelMode.POPUP &&
|
|
109
|
+
taonAdminService.adminPanelMode() !== TaonAdminPanelMode.FULL_SCREEN
|
|
110
|
+
"
|
|
111
|
+
mat-icon-button
|
|
112
|
+
(click)="taonAdminService.adminPanelMode.set(TaonAdminPanelMode.POPUP)"
|
|
113
|
+
class="">
|
|
114
|
+
<mat-icon>launch</mat-icon>
|
|
115
|
+
</button>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
<!-- #endregion -->
|
|
119
|
+
|
|
120
|
+
<div
|
|
121
|
+
class="w-full flex flex-row align-items-center"
|
|
122
|
+
[ngClass]="{
|
|
123
|
+
'block w-full':
|
|
124
|
+
taonAdminService.adminPanelMode() === TaonAdminPanelMode.POPUP,
|
|
125
|
+
}">
|
|
126
|
+
<div class="w-full">
|
|
127
|
+
<!-- (wheel)="scrollTabs($event)" -->
|
|
128
|
+
<mat-tab-group
|
|
129
|
+
dynamicHeight
|
|
130
|
+
[selectedIndex]="selectedIndex()"
|
|
131
|
+
(selectedIndexChange)="selectedIndex.set($event)">
|
|
132
|
+
<mat-tab label="Settings">
|
|
133
|
+
<section>
|
|
134
|
+
<mat-card>
|
|
135
|
+
<mat-card-header>
|
|
136
|
+
<mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>
|
|
137
|
+
</mat-card-header>
|
|
138
|
+
<mat-card-content>
|
|
139
|
+
<mat-checkbox
|
|
140
|
+
[disabled]="!isWebSQLMode"
|
|
141
|
+
[ngModel]="taonAdminService.keepWebsqlDbDataAfterReload()"
|
|
142
|
+
(change)="
|
|
143
|
+
taonAdminService.keepWebsqlDbDataAfterReload.set(
|
|
144
|
+
$event.checked
|
|
145
|
+
)
|
|
146
|
+
">
|
|
147
|
+
Don't remove data when re-loading
|
|
148
|
+
</mat-checkbox>
|
|
149
|
+
</mat-card-content>
|
|
150
|
+
</mat-card>
|
|
151
|
+
</section>
|
|
152
|
+
<br />
|
|
153
|
+
<taon-db-admin />
|
|
154
|
+
</mat-tab>
|
|
155
|
+
|
|
156
|
+
@for (
|
|
157
|
+
additonalTab of taonAdminService.additionalTabs();
|
|
158
|
+
track additonalTab.name
|
|
159
|
+
) {
|
|
160
|
+
<mat-tab [label]="additonalTab.name">
|
|
161
|
+
<section>
|
|
162
|
+
@if (isLink(additonalTab.templateOrIframeLink)) {
|
|
163
|
+
<iframe
|
|
164
|
+
class="block w-full"
|
|
165
|
+
[src]="additonalTab.templateOrIframeLink"
|
|
166
|
+
frameborder="0"
|
|
167
|
+
allowfullscreen>
|
|
168
|
+
</iframe>
|
|
169
|
+
} @else {
|
|
170
|
+
<div class="block w-full">
|
|
171
|
+
<ng-container
|
|
172
|
+
*ngTemplateOutlet="
|
|
173
|
+
additonalTab.templateOrIframeLink
|
|
174
|
+
"></ng-container>
|
|
175
|
+
</div>
|
|
176
|
+
}
|
|
177
|
+
</section>
|
|
178
|
+
<br />
|
|
179
|
+
<taon-db-admin />
|
|
180
|
+
</mat-tab>
|
|
181
|
+
}
|
|
182
|
+
</mat-tab-group>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
</ng-template>
|
|
186
|
+
<!-- #endregion -->
|
|
187
|
+
|
|
188
|
+
<!-- #region small/mobile draggable popup windows -->
|
|
189
|
+
<div
|
|
190
|
+
class="draggable-popup-mode-window"
|
|
191
|
+
*ngIf="
|
|
192
|
+
taonAdminService.adminPanelMode() === TaonAdminPanelMode.POPUP &&
|
|
193
|
+
!taonAdminService.isIframe &&
|
|
194
|
+
!reloading()
|
|
195
|
+
"
|
|
196
|
+
cdkDrag
|
|
197
|
+
[cdkDragFreeDragPosition]="dragPosition"
|
|
198
|
+
(cdkDragEnded)="moved($event)">
|
|
199
|
+
<ng-scrollbar>
|
|
200
|
+
<ng-container [ngTemplateOutlet]="adminTabs"></ng-container>
|
|
201
|
+
</ng-scrollbar>
|
|
202
|
+
</div>
|
|
203
|
+
<!-- #endregion -->
|
|
204
|
+
|
|
205
|
+
<!-- #region fullscreen draggable popup window -->
|
|
206
|
+
<div
|
|
207
|
+
class="draggable-popup-mode-window-full"
|
|
208
|
+
*ngIf="
|
|
209
|
+
taonAdminService.adminPanelMode() === TaonAdminPanelMode.FULL_SCREEN &&
|
|
210
|
+
!taonAdminService.isIframe &&
|
|
211
|
+
!reloading()
|
|
212
|
+
"
|
|
213
|
+
cdkDrag
|
|
214
|
+
[cdkDragFreeDragPosition]="dragPositionZero">
|
|
215
|
+
<ng-container [ngTemplateOutlet]="adminTabs"></ng-container>
|
|
216
|
+
</div>
|
|
217
|
+
<!-- #endregion -->
|
|
218
|
+
|
|
219
|
+
<!-- #region content in side mode -->
|
|
220
|
+
<!-- <mat-drawer-container (backdropClick)="opened = false" -->
|
|
221
|
+
<!-- [style.height.px]="height" -->
|
|
222
|
+
<mat-drawer-container
|
|
223
|
+
*ngIf="
|
|
224
|
+
taonAdminService.adminPanelMode() === TaonAdminPanelMode.SIDE &&
|
|
225
|
+
taonAdminService.isDesktop() &&
|
|
226
|
+
!taonAdminService.isIframe &&
|
|
227
|
+
!reloading()
|
|
228
|
+
"
|
|
229
|
+
class="example-container h-screen"
|
|
230
|
+
style="background-color: transparent"
|
|
231
|
+
[hasBackdrop]="false">
|
|
232
|
+
<mat-drawer
|
|
233
|
+
#drawer
|
|
234
|
+
style="width: 450px"
|
|
235
|
+
[opened]="true"
|
|
236
|
+
[mode]="'side'">
|
|
237
|
+
<ng-container [ngTemplateOutlet]="adminTabs"></ng-container>
|
|
238
|
+
</mat-drawer>
|
|
239
|
+
<mat-drawer-content style="overflow: hidden">
|
|
240
|
+
<ng-container
|
|
241
|
+
[ngTemplateOutlet]="
|
|
242
|
+
scrollableEnabled ? content : contentNoScroll
|
|
243
|
+
"></ng-container>
|
|
244
|
+
</mat-drawer-content>
|
|
245
|
+
</mat-drawer-container>
|
|
246
|
+
<!-- #endregion -->
|
|
247
|
+
|
|
248
|
+
<!-- #region content in any other mode than side side mode -->
|
|
249
|
+
<div
|
|
250
|
+
[style.height.px]="height"
|
|
251
|
+
*ngIf="
|
|
252
|
+
!(
|
|
253
|
+
taonAdminService.adminPanelMode() === TaonAdminPanelMode.SIDE &&
|
|
254
|
+
taonAdminService.isDesktop() &&
|
|
255
|
+
!taonAdminService.isIframe &&
|
|
256
|
+
!reloading()
|
|
257
|
+
)
|
|
258
|
+
"
|
|
259
|
+
style="width: 100%; display: block"
|
|
260
|
+
class="content">
|
|
261
|
+
<ng-container
|
|
262
|
+
[ngTemplateOutlet]="
|
|
263
|
+
scrollableEnabled ? content : contentNoScroll
|
|
264
|
+
"></ng-container>
|
|
265
|
+
</div>
|
|
266
|
+
<!-- #endregion -->
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<div class="flex align-items-center gap-2">
|
|
2
|
+
<ng-container *ngIf="(session.isLoggedIn$ | async) === false; else loggedIn">
|
|
3
|
+
<button
|
|
4
|
+
mat-button
|
|
5
|
+
(click)="openLogin()">
|
|
6
|
+
Login
|
|
7
|
+
</button>
|
|
8
|
+
</ng-container>
|
|
9
|
+
|
|
10
|
+
<ng-template #loggedIn>
|
|
11
|
+
<button
|
|
12
|
+
*ngIf="displayDashboardButton"
|
|
13
|
+
mat-button
|
|
14
|
+
color="primary"
|
|
15
|
+
class="auth-btn"
|
|
16
|
+
(click)="goDashboard()">
|
|
17
|
+
<mat-icon>dashboard</mat-icon>
|
|
18
|
+
Dashboard
|
|
19
|
+
</button>
|
|
20
|
+
|
|
21
|
+
<button
|
|
22
|
+
mat-button
|
|
23
|
+
class="ml-2"
|
|
24
|
+
(click)="logout()">
|
|
25
|
+
Logout ({{ (session.data$ | async)?.displayName }})
|
|
26
|
+
</button>
|
|
27
|
+
</ng-template>
|
|
28
|
+
</div>
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
<div class="auth-dialog p-4">
|
|
2
|
+
<h4 class="mb-3">Login or register</h4>
|
|
3
|
+
|
|
4
|
+
<div
|
|
5
|
+
class="w-full"
|
|
6
|
+
#emailLoginBtn>
|
|
7
|
+
<form
|
|
8
|
+
[formGroup]="form"
|
|
9
|
+
(ngSubmit)="loginByEmail()"
|
|
10
|
+
class="w-full">
|
|
11
|
+
<mat-form-field
|
|
12
|
+
appearance="outline"
|
|
13
|
+
class="w-full email-field">
|
|
14
|
+
<mat-label *ngIf="!diableLoginByEmail">Email</mat-label>
|
|
15
|
+
|
|
16
|
+
<input
|
|
17
|
+
matInput
|
|
18
|
+
formControlName="email"
|
|
19
|
+
class="pl-1"
|
|
20
|
+
type="email"
|
|
21
|
+
[placeholder]="
|
|
22
|
+
diableLoginByEmail ? 'Login by email (disabled)' : ''
|
|
23
|
+
" />
|
|
24
|
+
|
|
25
|
+
<button
|
|
26
|
+
mat-icon-button
|
|
27
|
+
[disabled]="diableLoginByEmail"
|
|
28
|
+
matSuffix
|
|
29
|
+
color="primary">
|
|
30
|
+
<mat-icon>mail</mat-icon>
|
|
31
|
+
</button>
|
|
32
|
+
<mat-error
|
|
33
|
+
*ngIf="
|
|
34
|
+
form.get('email')?.hasError('pattern') && form.get('email')?.touched
|
|
35
|
+
">
|
|
36
|
+
Please enter a valid email address
|
|
37
|
+
</mat-error>
|
|
38
|
+
|
|
39
|
+
<mat-error
|
|
40
|
+
*ngIf="
|
|
41
|
+
form.get('email')?.hasError('required') &&
|
|
42
|
+
form.get('email')?.touched
|
|
43
|
+
">
|
|
44
|
+
Email is <strong>required</strong>
|
|
45
|
+
</mat-error>
|
|
46
|
+
</mat-form-field>
|
|
47
|
+
</form>
|
|
48
|
+
|
|
49
|
+
<div class="divider">
|
|
50
|
+
<span>or</span>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<!-- GOOGLE BUTTON -->
|
|
54
|
+
<div
|
|
55
|
+
#googleBtn
|
|
56
|
+
class="google-container">
|
|
57
|
+
<span
|
|
58
|
+
*ngIf="!googleButtonLoaded"
|
|
59
|
+
class="text-300 p-2"
|
|
60
|
+
>loading google button..</span
|
|
61
|
+
>
|
|
62
|
+
<mat-progress-bar
|
|
63
|
+
*ngIf="!googleButtonLoaded"
|
|
64
|
+
mode="indeterminate"
|
|
65
|
+
class="auth-progress" />
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<!-- MICROSOFT BUTTON -->
|
|
69
|
+
<div
|
|
70
|
+
*ngIf="microsoftClientId"
|
|
71
|
+
#microsoftBtn
|
|
72
|
+
class="microsoft-container">
|
|
73
|
+
<button
|
|
74
|
+
mat-stroked-button
|
|
75
|
+
color="primary"
|
|
76
|
+
class="w-full microsoft-btn"
|
|
77
|
+
(click)="loginWithMicrosoft()">
|
|
78
|
+
<mat-icon class="mr-2">login</mat-icon>
|
|
79
|
+
Continue with Microsoft
|
|
80
|
+
</button>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
<br />
|
|
85
|
+
|
|
86
|
+
<div class="flex justify-content-end">
|
|
87
|
+
<button
|
|
88
|
+
mat-button
|
|
89
|
+
mat-dialog-close>
|
|
90
|
+
Cancel
|
|
91
|
+
</button>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|