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.
Files changed (121) 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.electron.d.ts +1 -1
  45. package/lib-esm/app.electron.js +1 -1
  46. package/lib-esm/app.hosts.d.ts +2 -2
  47. package/lib-esm/app.hosts.js +4 -4
  48. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  49. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  50. package/lib-esm/lib/layouts/taon-bootstrap-navbar/index.d.ts +1 -1
  51. package/lib-esm/lib/layouts/taon-bootstrap-navbar/index.js +1 -1
  52. package/lib-esm/lib/ui/directives/index.d.ts +1 -1
  53. package/lib-esm/lib/ui/directives/index.js +1 -1
  54. package/lib-esm/lib/ui/index.d.ts +1 -1
  55. package/lib-esm/lib/ui/index.js +1 -1
  56. package/lib-esm/lib/ui/taon-github-fork-me-corner/index.d.ts +1 -1
  57. package/lib-esm/lib/ui/taon-github-fork-me-corner/index.js +1 -1
  58. package/lib-esm/lib/ui/taon-github-fork-me-ribbon/index.d.ts +1 -1
  59. package/lib-esm/lib/ui/taon-github-fork-me-ribbon/index.js +1 -1
  60. package/lib-esm/lib/ui/taon-iframe-sync/index.d.ts +1 -1
  61. package/lib-esm/lib/ui/taon-iframe-sync/index.js +1 -1
  62. package/lib-esm/lib/ui/taon-progress-bar/index.d.ts +1 -1
  63. package/lib-esm/lib/ui/taon-progress-bar/index.js +1 -1
  64. package/lib-esm/lib/ui/taon-session-passcode/index.d.ts +1 -1
  65. package/lib-esm/lib/ui/taon-session-passcode/index.js +1 -1
  66. package/lib-esm/lib/ui/taon-table/index.d.ts +1 -1
  67. package/lib-esm/lib/ui/taon-table/index.js +1 -1
  68. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  69. package/lib-prod/build-info._auto-generated_.js +2 -2
  70. package/lib-prod/env/env.angular-node-app.js +1 -1
  71. package/lib-prod/env/env.docs-webapp.js +1 -1
  72. package/lib-prod/env/env.electron-app.js +1 -1
  73. package/lib-prod/env/env.mobile-app.js +1 -1
  74. package/lib-prod/env/env.npm-lib-and-cli-tool.js +1 -1
  75. package/lib-prod/env/env.vscode-plugin.js +1 -1
  76. package/lib-prod/env/index.js +1 -1
  77. package/lib-prod/index._auto-generated_.js +1 -1
  78. package/lib-prod/index.js +1 -1
  79. package/lib-prod/layouts/index.js +1 -1
  80. package/lib-prod/layouts/taon-bootstrap-navbar/index.d.ts +1 -1
  81. package/lib-prod/layouts/taon-bootstrap-navbar/index.js +2 -2
  82. package/lib-prod/migrations/index.js +1 -1
  83. package/lib-prod/migrations/migrations_index._auto-generated_.js +1 -1
  84. package/lib-prod/my-organization-proj.js +1 -1
  85. package/lib-prod/package.json +1 -1
  86. package/lib-prod/taon.models.js +1 -1
  87. package/lib-prod/ui/directives/index.d.ts +1 -1
  88. package/lib-prod/ui/directives/index.js +2 -2
  89. package/lib-prod/ui/directives/view-mode.js +1 -1
  90. package/lib-prod/ui/index.d.ts +1 -1
  91. package/lib-prod/ui/index.js +2 -2
  92. package/lib-prod/ui/taon-admin-mode-configuration/index.js +1 -1
  93. package/lib-prod/ui/taon-admin-mode-configuration/taon-admin.models.js +1 -1
  94. package/lib-prod/ui/taon-github-fork-me-corner/index.d.ts +1 -1
  95. package/lib-prod/ui/taon-github-fork-me-corner/index.js +2 -2
  96. package/lib-prod/ui/taon-github-fork-me-ribbon/index.d.ts +1 -1
  97. package/lib-prod/ui/taon-github-fork-me-ribbon/index.js +2 -2
  98. package/lib-prod/ui/taon-iframe-sync/index.d.ts +1 -1
  99. package/lib-prod/ui/taon-iframe-sync/index.js +2 -2
  100. package/lib-prod/ui/taon-kv-authorization/taon-kv-authorization.models.js +1 -1
  101. package/lib-prod/ui/taon-notifications/index.js +1 -1
  102. package/lib-prod/ui/taon-notifications/taon-notifications.models.js +1 -1
  103. package/lib-prod/ui/taon-progress-bar/index.d.ts +1 -1
  104. package/lib-prod/ui/taon-progress-bar/index.js +2 -2
  105. package/lib-prod/ui/taon-session-passcode/index.d.ts +1 -1
  106. package/lib-prod/ui/taon-session-passcode/index.js +2 -2
  107. package/lib-prod/ui/taon-simple-layout/taon-simple-layout.model.js +1 -1
  108. package/lib-prod/ui/taon-table/index.d.ts +1 -1
  109. package/lib-prod/ui/taon-table/index.js +2 -2
  110. package/lib-prod/ui/taon-youtube-video/taon-youtube.utils.js +1 -1
  111. package/lib-prod/ui/taon.models.js +1 -1
  112. package/package.json +1 -1
  113. package/scss/lib/ui/taon-session-passcode/taon-session-passcode.component.scss +2 -33
  114. package/websql/fesm2022/taon-ui-websql.mjs +41 -32
  115. package/websql/fesm2022/taon-ui-websql.mjs.map +1 -1
  116. package/websql/package.json +1 -1
  117. package/websql/types/taon-ui-websql.d.ts +7 -4
  118. package/websql-prod/fesm2022/taon-ui-websql-prod.mjs +41 -32
  119. package/websql-prod/fesm2022/taon-ui-websql-prod.mjs.map +1 -1
  120. package/websql-prod/package.json +1 -1
  121. 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.48",
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.48";
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>