taon-ui 21.0.47 → 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.
Files changed (215) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +3 -3
  2. package/browser/fesm2022/taon-ui-browser.mjs +41 -32
  3. package/browser/fesm2022/taon-ui-browser.mjs.map +1 -1
  4. package/browser/package.json +1 -1
  5. package/browser/types/taon-ui-browser.d.ts +7 -4
  6. package/browser-prod/fesm2022/taon-ui-browser-prod.mjs +41 -32
  7. package/browser-prod/fesm2022/taon-ui-browser-prod.mjs.map +1 -1
  8. package/browser-prod/package.json +1 -1
  9. package/browser-prod/types/taon-ui-browser-prod.d.ts +7 -4
  10. package/html/assets/generated/pwa/html-pwa.html +60 -0
  11. package/html/lib/layouts/taon-bootstrap-navbar/taon-bootstrap-navbar.component.html +149 -0
  12. package/html/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.html +266 -0
  13. package/html/lib/ui/taon-auth/auth-button.component.html +28 -0
  14. package/html/lib/ui/taon-auth/auth-dialog.component.html +93 -0
  15. package/html/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.html +29 -0
  16. package/html/lib/ui/taon-github-fork-me-ribbon/taon-github-fork-me-ribbon.component.html +11 -0
  17. package/html/lib/ui/taon-kv-authorization/taon-kv-authorization.component.html +11 -0
  18. package/html/lib/ui/taon-not-found/taon-not-found.component.html +40 -0
  19. package/html/lib/ui/taon-notifications/taon-notifications.component.html +3 -0
  20. package/html/lib/ui/taon-progress-bar/taon-progress-bar.component.html +23 -0
  21. package/html/lib/ui/taon-rumble/taon-rumble.component.html +46 -0
  22. package/html/lib/ui/taon-session-passcode/taon-session-passcode.component.html +20 -0
  23. package/html/lib/ui/taon-simple-layout/taon-simple-layout.component.html +88 -0
  24. package/html/lib/ui/taon-stripe-buy-button/taon-stripe-buy-button.component.html +17 -0
  25. package/html/lib/ui/taon-table/taon-table.component.html +50 -0
  26. package/html/lib/ui/taon-theme/taon-theme.component.html +26 -0
  27. package/html/lib/ui/taon-youtube-video/taon-youtube-video.component.html +71 -0
  28. package/lib/build-info._auto-generated_.d.ts +1 -1
  29. package/lib/build-info._auto-generated_.js +1 -1
  30. package/lib/layouts/taon-bootstrap-navbar/index.js +2 -2
  31. package/lib/package.json +1 -1
  32. package/lib/ui/directives/index.js +2 -2
  33. package/lib/ui/index.js +2 -2
  34. package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +3 -3
  35. package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
  36. package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
  37. package/lib/ui/taon-iframe-sync/index.js +2 -2
  38. package/lib/ui/taon-progress-bar/index.js +2 -2
  39. package/lib/ui/taon-session-passcode/index.js +2 -2
  40. package/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +1 -1
  41. package/lib/ui/taon-simple-layout/taon-simple-layout.component.d.ts +1 -0
  42. package/lib/ui/taon-table/index.js +2 -2
  43. package/lib/ui/taon-theme/taon-theme.component.d.ts +2 -0
  44. package/lib-esm/app.d.ts +3 -0
  45. package/lib-esm/app.electron.d.ts +1 -0
  46. package/lib-esm/app.electron.js +2 -0
  47. package/lib-esm/app.electron.js.map +1 -0
  48. package/lib-esm/app.hosts.d.ts +95 -0
  49. package/lib-esm/app.hosts.js +157 -0
  50. package/lib-esm/app.hosts.js.map +1 -0
  51. package/lib-esm/app.js +396 -0
  52. package/lib-esm/app.js.map +1 -0
  53. package/lib-esm/app.vscode.d.ts +9 -0
  54. package/lib-esm/app.vscode.js +33 -0
  55. package/lib-esm/app.vscode.js.map +1 -0
  56. package/lib-esm/cli.d.ts +1 -0
  57. package/lib-esm/cli.js +4 -0
  58. package/lib-esm/cli.js.map +1 -0
  59. package/lib-esm/index.d.ts +3 -0
  60. package/lib-esm/index.js +9 -0
  61. package/lib-esm/index.js.map +1 -0
  62. package/lib-esm/lib/build-info._auto-generated_.d.ts +24 -0
  63. package/lib-esm/lib/build-info._auto-generated_.js +27 -0
  64. package/lib-esm/lib/build-info._auto-generated_.js.map +1 -0
  65. package/lib-esm/lib/env/env.angular-node-app.d.ts +66 -0
  66. package/lib-esm/lib/env/env.angular-node-app.js +135 -0
  67. package/lib-esm/lib/env/env.angular-node-app.js.map +1 -0
  68. package/lib-esm/lib/env/env.docs-webapp.d.ts +66 -0
  69. package/lib-esm/lib/env/env.docs-webapp.js +135 -0
  70. package/lib-esm/lib/env/env.docs-webapp.js.map +1 -0
  71. package/lib-esm/lib/env/env.electron-app.d.ts +66 -0
  72. package/lib-esm/lib/env/env.electron-app.js +135 -0
  73. package/lib-esm/lib/env/env.electron-app.js.map +1 -0
  74. package/lib-esm/lib/env/env.mobile-app.d.ts +66 -0
  75. package/lib-esm/lib/env/env.mobile-app.js +135 -0
  76. package/lib-esm/lib/env/env.mobile-app.js.map +1 -0
  77. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.d.ts +66 -0
  78. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js +135 -0
  79. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
  80. package/lib-esm/lib/env/env.vscode-plugin.d.ts +66 -0
  81. package/lib-esm/lib/env/env.vscode-plugin.js +135 -0
  82. package/lib-esm/lib/env/env.vscode-plugin.js.map +1 -0
  83. package/lib-esm/lib/env/index.d.ts +6 -0
  84. package/lib-esm/lib/env/index.js +7 -0
  85. package/lib-esm/lib/env/index.js.map +1 -0
  86. package/lib-esm/lib/index._auto-generated_.d.ts +10 -0
  87. package/lib-esm/lib/index._auto-generated_.js +50 -0
  88. package/lib-esm/lib/index._auto-generated_.js.map +1 -0
  89. package/lib-esm/lib/index.d.ts +1 -0
  90. package/lib-esm/lib/index.js +2 -0
  91. package/lib-esm/lib/index.js.map +1 -0
  92. package/lib-esm/lib/layouts/index.d.ts +1 -0
  93. package/lib-esm/lib/layouts/index.js +2 -0
  94. package/lib-esm/lib/layouts/index.js.map +1 -0
  95. package/lib-esm/lib/layouts/taon-bootstrap-navbar/index.d.ts +1 -0
  96. package/lib-esm/lib/layouts/taon-bootstrap-navbar/index.js +2 -0
  97. package/lib-esm/lib/layouts/taon-bootstrap-navbar/index.js.map +1 -0
  98. package/lib-esm/lib/migrations/index.d.ts +1 -0
  99. package/lib-esm/lib/migrations/index.js +3 -0
  100. package/lib-esm/lib/migrations/index.js.map +1 -0
  101. package/lib-esm/lib/migrations/migrations_index._auto-generated_.d.ts +0 -0
  102. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js +4 -0
  103. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js.map +1 -0
  104. package/lib-esm/lib/my-organization-proj.d.ts +1 -0
  105. package/lib-esm/lib/my-organization-proj.js +2 -0
  106. package/lib-esm/lib/my-organization-proj.js.map +1 -0
  107. package/lib-esm/lib/taon.models.d.ts +11 -0
  108. package/lib-esm/lib/taon.models.js +2 -0
  109. package/lib-esm/lib/taon.models.js.map +1 -0
  110. package/lib-esm/lib/ui/directives/index.d.ts +1 -0
  111. package/lib-esm/lib/ui/directives/index.js +2 -0
  112. package/lib-esm/lib/ui/directives/index.js.map +1 -0
  113. package/lib-esm/lib/ui/directives/view-mode.d.ts +5 -0
  114. package/lib-esm/lib/ui/directives/view-mode.js +7 -0
  115. package/lib-esm/lib/ui/directives/view-mode.js.map +1 -0
  116. package/lib-esm/lib/ui/index.d.ts +1 -0
  117. package/lib-esm/lib/ui/index.js +2 -0
  118. package/lib-esm/lib/ui/index.js.map +1 -0
  119. package/lib-esm/lib/ui/taon-admin-mode-configuration/index.d.ts +1 -0
  120. package/lib-esm/lib/ui/taon-admin-mode-configuration/index.js +3 -0
  121. package/lib-esm/lib/ui/taon-admin-mode-configuration/index.js.map +1 -0
  122. package/lib-esm/lib/ui/taon-admin-mode-configuration/taon-admin.models.d.ts +5 -0
  123. package/lib-esm/lib/ui/taon-admin-mode-configuration/taon-admin.models.js +2 -0
  124. package/lib-esm/lib/ui/taon-admin-mode-configuration/taon-admin.models.js.map +1 -0
  125. package/lib-esm/lib/ui/taon-github-fork-me-corner/index.d.ts +1 -0
  126. package/lib-esm/lib/ui/taon-github-fork-me-corner/index.js +2 -0
  127. package/lib-esm/lib/ui/taon-github-fork-me-corner/index.js.map +1 -0
  128. package/lib-esm/lib/ui/taon-github-fork-me-ribbon/index.d.ts +1 -0
  129. package/lib-esm/lib/ui/taon-github-fork-me-ribbon/index.js +2 -0
  130. package/lib-esm/lib/ui/taon-github-fork-me-ribbon/index.js.map +1 -0
  131. package/lib-esm/lib/ui/taon-iframe-sync/index.d.ts +1 -0
  132. package/lib-esm/lib/ui/taon-iframe-sync/index.js +2 -0
  133. package/lib-esm/lib/ui/taon-iframe-sync/index.js.map +1 -0
  134. package/lib-esm/lib/ui/taon-kv-authorization/taon-kv-authorization.models.d.ts +32 -0
  135. package/lib-esm/lib/ui/taon-kv-authorization/taon-kv-authorization.models.js +2 -0
  136. package/lib-esm/lib/ui/taon-kv-authorization/taon-kv-authorization.models.js.map +1 -0
  137. package/lib-esm/lib/ui/taon-notifications/index.d.ts +1 -0
  138. package/lib-esm/lib/ui/taon-notifications/index.js +8 -0
  139. package/lib-esm/lib/ui/taon-notifications/index.js.map +1 -0
  140. package/lib-esm/lib/ui/taon-notifications/taon-notifications.models.d.ts +6 -0
  141. package/lib-esm/lib/ui/taon-notifications/taon-notifications.models.js +7 -0
  142. package/lib-esm/lib/ui/taon-notifications/taon-notifications.models.js.map +1 -0
  143. package/lib-esm/lib/ui/taon-progress-bar/index.d.ts +1 -0
  144. package/lib-esm/lib/ui/taon-progress-bar/index.js +2 -0
  145. package/lib-esm/lib/ui/taon-progress-bar/index.js.map +1 -0
  146. package/lib-esm/lib/ui/taon-session-passcode/index.d.ts +1 -0
  147. package/lib-esm/lib/ui/taon-session-passcode/index.js +2 -0
  148. package/lib-esm/lib/ui/taon-session-passcode/index.js.map +1 -0
  149. package/lib-esm/lib/ui/taon-simple-layout/taon-simple-layout.model.d.ts +4 -0
  150. package/lib-esm/lib/ui/taon-simple-layout/taon-simple-layout.model.js +2 -0
  151. package/lib-esm/lib/ui/taon-simple-layout/taon-simple-layout.model.js.map +1 -0
  152. package/lib-esm/lib/ui/taon-table/index.d.ts +1 -0
  153. package/lib-esm/lib/ui/taon-table/index.js +2 -0
  154. package/lib-esm/lib/ui/taon-table/index.js.map +1 -0
  155. package/lib-esm/lib/ui/taon-youtube-video/taon-youtube.utils.d.ts +4 -0
  156. package/lib-esm/lib/ui/taon-youtube-video/taon-youtube.utils.js +28 -0
  157. package/lib-esm/lib/ui/taon-youtube-video/taon-youtube.utils.js.map +1 -0
  158. package/lib-esm/lib/ui/taon.models.d.ts +11 -0
  159. package/lib-esm/lib/ui/taon.models.js +2 -0
  160. package/lib-esm/lib/ui/taon.models.js.map +1 -0
  161. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  162. package/lib-prod/build-info._auto-generated_.js +2 -2
  163. package/lib-prod/env/env.angular-node-app.js +1 -1
  164. package/lib-prod/env/env.docs-webapp.js +1 -1
  165. package/lib-prod/env/env.electron-app.js +1 -1
  166. package/lib-prod/env/env.mobile-app.js +1 -1
  167. package/lib-prod/env/env.npm-lib-and-cli-tool.js +1 -1
  168. package/lib-prod/env/env.vscode-plugin.js +1 -1
  169. package/lib-prod/env/index.js +1 -1
  170. package/lib-prod/index._auto-generated_.js +1 -1
  171. package/lib-prod/index.js +1 -1
  172. package/lib-prod/layouts/index.js +1 -1
  173. package/lib-prod/layouts/taon-bootstrap-navbar/index.d.ts +1 -1
  174. package/lib-prod/layouts/taon-bootstrap-navbar/index.js +2 -2
  175. package/lib-prod/migrations/index.js +1 -1
  176. package/lib-prod/migrations/migrations_index._auto-generated_.js +1 -1
  177. package/lib-prod/my-organization-proj.js +1 -1
  178. package/lib-prod/package.json +1 -1
  179. package/lib-prod/taon.models.js +1 -1
  180. package/lib-prod/ui/directives/index.d.ts +1 -1
  181. package/lib-prod/ui/directives/index.js +2 -2
  182. package/lib-prod/ui/directives/view-mode.js +1 -1
  183. package/lib-prod/ui/index.d.ts +1 -1
  184. package/lib-prod/ui/index.js +2 -2
  185. package/lib-prod/ui/taon-admin-mode-configuration/index.js +1 -1
  186. package/lib-prod/ui/taon-admin-mode-configuration/taon-admin.models.js +1 -1
  187. package/lib-prod/ui/taon-github-fork-me-corner/index.d.ts +1 -1
  188. package/lib-prod/ui/taon-github-fork-me-corner/index.js +2 -2
  189. package/lib-prod/ui/taon-github-fork-me-ribbon/index.d.ts +1 -1
  190. package/lib-prod/ui/taon-github-fork-me-ribbon/index.js +2 -2
  191. package/lib-prod/ui/taon-iframe-sync/index.d.ts +1 -1
  192. package/lib-prod/ui/taon-iframe-sync/index.js +2 -2
  193. package/lib-prod/ui/taon-kv-authorization/taon-kv-authorization.models.js +1 -1
  194. package/lib-prod/ui/taon-notifications/index.js +1 -1
  195. package/lib-prod/ui/taon-notifications/taon-notifications.models.js +1 -1
  196. package/lib-prod/ui/taon-progress-bar/index.d.ts +1 -1
  197. package/lib-prod/ui/taon-progress-bar/index.js +2 -2
  198. package/lib-prod/ui/taon-session-passcode/index.d.ts +1 -1
  199. package/lib-prod/ui/taon-session-passcode/index.js +2 -2
  200. package/lib-prod/ui/taon-simple-layout/taon-simple-layout.model.js +1 -1
  201. package/lib-prod/ui/taon-table/index.d.ts +1 -1
  202. package/lib-prod/ui/taon-table/index.js +2 -2
  203. package/lib-prod/ui/taon-youtube-video/taon-youtube.utils.js +1 -1
  204. package/lib-prod/ui/taon.models.js +1 -1
  205. package/package.json +1 -1
  206. package/scss/lib/ui/taon-session-passcode/taon-session-passcode.component.scss +2 -33
  207. package/src.js +4 -20
  208. package/websql/fesm2022/taon-ui-websql.mjs +41 -32
  209. package/websql/fesm2022/taon-ui-websql.mjs.map +1 -1
  210. package/websql/package.json +1 -1
  211. package/websql/types/taon-ui-websql.d.ts +7 -4
  212. package/websql-prod/fesm2022/taon-ui-websql-prod.mjs +41 -32
  213. package/websql-prod/fesm2022/taon-ui-websql-prod.mjs.map +1 -1
  214. package/websql-prod/package.json +1 -1
  215. package/websql-prod/types/taon-ui-websql-prod.d.ts +7 -4
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taon-ui/browser-prod",
3
- "version": "21.0.47",
3
+ "version": "21.0.49",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"
@@ -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.47";
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": false; }; "message": { "alias": "message"; "required": false; }; }, {}, never, never, true, never>;
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 />
@@ -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>