@rtsee/ngx 0.0.58 → 0.0.60

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 (179) hide show
  1. package/dist/ngx/fesm2022/rtsee-ngx.mjs +1689 -0
  2. package/dist/ngx/fesm2022/rtsee-ngx.mjs.map +1 -0
  3. package/dist/ngx/index.d.ts +538 -0
  4. package/dist/ngx/src/lib/theme/auth/auth-container.scss +198 -0
  5. package/{projects → dist}/ngx/src/lib/theme/auth/index.scss +0 -1
  6. package/dist/ngx/src/lib/theme/auth/variables.scss +1 -0
  7. package/{projects → dist}/ngx/src/lib/theme/common-variables.scss +1 -0
  8. package/dist/ngx/src/lib/theme/containers/index.scss +4 -0
  9. package/dist/ngx/src/lib/theme/containers/nav-item.scss +99 -0
  10. package/dist/ngx/src/lib/theme/containers/nav.scss +86 -0
  11. package/{projects → dist}/ngx/src/lib/theme/containers/shell.scss +22 -31
  12. package/{projects → dist}/ngx/src/lib/theme/containers/variables.scss +10 -1
  13. package/dist/ngx/src/lib/theme/forms/common.scss +51 -0
  14. package/dist/ngx/src/lib/theme/forms/index.scss +1 -0
  15. package/dist/ngx/src/lib/theme/forms/variables.scss +8 -0
  16. package/{projects → dist}/ngx/src/lib/theme/styles.scss +1 -0
  17. package/package.json +13 -7
  18. package/.editorconfig +0 -16
  19. package/CHANGELOG.md +0 -116
  20. package/angular.json +0 -67
  21. package/jest.config.ts +0 -9
  22. package/projects/ngx/ng-package.json +0 -8
  23. package/projects/ngx/package.json +0 -20
  24. package/projects/ngx/src/lib/common/components/preloader/preloader.component.html +0 -5
  25. package/projects/ngx/src/lib/common/components/preloader/preloader.component.ts +0 -30
  26. package/projects/ngx/src/lib/components/constans/common.const.ts +0 -8
  27. package/projects/ngx/src/lib/components/enums/form.enum.ts +0 -8
  28. package/projects/ngx/src/lib/components/rtsee/rtsee-conference.component.html +0 -70
  29. package/projects/ngx/src/lib/components/rtsee/rtsee-conference.component.ts +0 -35
  30. package/projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.html +0 -54
  31. package/projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.scss +0 -70
  32. package/projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.ts +0 -24
  33. package/projects/ngx/src/lib/components/rtsee-auth/auth/auth.component.html +0 -12
  34. package/projects/ngx/src/lib/components/rtsee-auth/auth/auth.component.ts +0 -32
  35. package/projects/ngx/src/lib/components/rtsee-auth/forgot-password/forgot-password.component.html +0 -35
  36. package/projects/ngx/src/lib/components/rtsee-auth/forgot-password/forgot-password.component.ts +0 -34
  37. package/projects/ngx/src/lib/components/rtsee-auth/reset-password/reset-password.component.html +0 -43
  38. package/projects/ngx/src/lib/components/rtsee-auth/reset-password/reset-password.component.ts +0 -79
  39. package/projects/ngx/src/lib/components/rtsee-auth/services/auth.service.ts +0 -37
  40. package/projects/ngx/src/lib/components/rtsee-auth/services/utils.service.ts +0 -20
  41. package/projects/ngx/src/lib/components/rtsee-auth/sign-in/sign-in.component.html +0 -46
  42. package/projects/ngx/src/lib/components/rtsee-auth/sign-in/sign-in.component.ts +0 -48
  43. package/projects/ngx/src/lib/components/rtsee-auth/sign-up/sign-up.component.html +0 -51
  44. package/projects/ngx/src/lib/components/rtsee-auth/sign-up/sign-up.component.ts +0 -62
  45. package/projects/ngx/src/lib/components/rtsee-auth/types/auth-form.type.ts +0 -35
  46. package/projects/ngx/src/lib/components/rtsee-auth/validators/form-fields-validators.ts +0 -27
  47. package/projects/ngx/src/lib/components/rtsee-auth/vendors/vendors.component.html +0 -1
  48. package/projects/ngx/src/lib/components/rtsee-auth/vendors/vendors.component.ts +0 -10
  49. package/projects/ngx/src/lib/components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component.html +0 -15
  50. package/projects/ngx/src/lib/components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component.ts +0 -20
  51. package/projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.html +0 -50
  52. package/projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.ts +0 -37
  53. package/projects/ngx/src/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.html +0 -32
  54. package/projects/ngx/src/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.ts +0 -26
  55. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.html +0 -20
  56. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.ts +0 -89
  57. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.html +0 -1
  58. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.ts +0 -8
  59. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.html +0 -25
  60. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.ts +0 -40
  61. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.html +0 -32
  62. package/projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.ts +0 -21
  63. package/projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.html +0 -12
  64. package/projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.ts +0 -19
  65. package/projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.html +0 -10
  66. package/projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.ts +0 -18
  67. package/projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.html +0 -20
  68. package/projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.ts +0 -31
  69. package/projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.html +0 -28
  70. package/projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.ts +0 -27
  71. package/projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.html +0 -6
  72. package/projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.ts +0 -22
  73. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.html +0 -3
  74. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.scss +0 -0
  75. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.ts +0 -18
  76. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.html +0 -4
  77. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.scss +0 -0
  78. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.ts +0 -18
  79. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.ts +0 -11
  80. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/search/search.component.html +0 -25
  81. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/search/search.component.ts +0 -36
  82. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/main-menu.component.html +0 -32
  83. package/projects/ngx/src/lib/components/rtsee-messenger/main-menu/main-menu.component.ts +0 -41
  84. package/projects/ngx/src/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.html +0 -9
  85. package/projects/ngx/src/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.ts +0 -23
  86. package/projects/ngx/src/lib/components/rtsee-messenger/message/message.component.html +0 -17
  87. package/projects/ngx/src/lib/components/rtsee-messenger/message/message.component.ts +0 -64
  88. package/projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.html +0 -10
  89. package/projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.scss +0 -1
  90. package/projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.ts +0 -36
  91. package/projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.html +0 -18
  92. package/projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.ts +0 -91
  93. package/projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.html +0 -31
  94. package/projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.ts +0 -45
  95. package/projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.html +0 -57
  96. package/projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.ts +0 -30
  97. package/projects/ngx/src/lib/components/rtsee-messenger/profile/profile.component.html +0 -20
  98. package/projects/ngx/src/lib/components/rtsee-messenger/profile/profile.component.ts +0 -25
  99. package/projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.html +0 -28
  100. package/projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.ts +0 -43
  101. package/projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.html +0 -1
  102. package/projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.scss +0 -0
  103. package/projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.ts +0 -9
  104. package/projects/ngx/src/lib/components/rtsee-presentation/presentation/presentation.component.html +0 -24
  105. package/projects/ngx/src/lib/components/rtsee-presentation/presentation/presentation.component.ts +0 -26
  106. package/projects/ngx/src/lib/components/rtsee-presentation/presentation-header/presentation-header.component.html +0 -14
  107. package/projects/ngx/src/lib/components/rtsee-presentation/presentation-header/presentation-header.component.ts +0 -15
  108. package/projects/ngx/src/lib/components/rtsee-presentation/slide/slide.component.html +0 -29
  109. package/projects/ngx/src/lib/components/rtsee-presentation/slide/slide.component.ts +0 -25
  110. package/projects/ngx/src/lib/components/rtsee-presentation/story-player/story-player.component.html +0 -10
  111. package/projects/ngx/src/lib/components/rtsee-presentation/story-player/story-player.component.ts +0 -22
  112. package/projects/ngx/src/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.html +0 -15
  113. package/projects/ngx/src/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.scss +0 -0
  114. package/projects/ngx/src/lib/components/rtsee-presentation/story-thumbnail/story-thumbnail.component.ts +0 -19
  115. package/projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.html +0 -44
  116. package/projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.scss +0 -30
  117. package/projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.ts +0 -57
  118. package/projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.html +0 -19
  119. package/projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.scss +0 -56
  120. package/projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.ts +0 -66
  121. package/projects/ngx/src/lib/directives/shave.directive.ts +0 -15
  122. package/projects/ngx/src/lib/directives/widget.directive.ts +0 -9
  123. package/projects/ngx/src/lib/ngx.module.ts +0 -119
  124. package/projects/ngx/src/lib/ngx.service.spec.ts +0 -16
  125. package/projects/ngx/src/lib/ngx.service.ts +0 -11
  126. package/projects/ngx/src/lib/services/default-images.service.ts +0 -8
  127. package/projects/ngx/src/lib/services/events-widgets.service.ts +0 -19
  128. package/projects/ngx/src/lib/services/message-widgets.service.ts +0 -26
  129. package/projects/ngx/src/lib/services/time-format-helper.service.ts +0 -111
  130. package/projects/ngx/src/lib/theme/auth/auth-container.scss +0 -186
  131. package/projects/ngx/src/lib/theme/auth/auth.scss +0 -0
  132. package/projects/ngx/src/lib/theme/auth/variables.scss +0 -64
  133. package/projects/ngx/src/lib/theme/containers/bottom-nav.scss +0 -15
  134. package/projects/ngx/src/lib/theme/containers/index.scss +0 -4
  135. package/projects/ngx/src/lib/theme/containers/nav-item.scss +0 -70
  136. package/projects/ngx/src/lib/theme/containers/sidenav.scss +0 -125
  137. package/projects/ngx/src/public-api.ts +0 -16
  138. package/projects/ngx/tsconfig.lib.json +0 -14
  139. package/projects/ngx/tsconfig.lib.prod.json +0 -10
  140. package/projects/ngx/tsconfig.spec.json +0 -10
  141. package/projects/ngx/yarn.lock +0 -8
  142. package/scss-bundle.config.json +0 -6
  143. package/setup-jest.ts +0 -1
  144. package/tsconfig.eslint.json +0 -4
  145. package/tsconfig.json +0 -34
  146. package/tsconfig.spec.json +0 -8
  147. /package/{projects → dist}/ngx/README.md +0 -0
  148. /package/{projects → dist}/ngx/src/lib/theme/common-components/preloader.scss +0 -0
  149. /package/{projects → dist}/ngx/src/lib/theme/common.scss +0 -0
  150. /package/{projects → dist}/ngx/src/lib/theme/events-manager/client-thumbnail.scss +0 -0
  151. /package/{projects → dist}/ngx/src/lib/theme/events-manager/event-thumbnail.scss +0 -0
  152. /package/{projects → dist}/ngx/src/lib/theme/events-manager/events-dashboard-session.scss +0 -0
  153. /package/{projects → dist}/ngx/src/lib/theme/events-manager/events-dashboard.scss +0 -0
  154. /package/{projects → dist}/ngx/src/lib/theme/events-manager/events-manager.scss +0 -0
  155. /package/{projects → dist}/ngx/src/lib/theme/events-manager/index.scss +0 -0
  156. /package/{projects → dist}/ngx/src/lib/theme/events-manager.scss +0 -0
  157. /package/{projects → dist}/ngx/src/lib/theme/general.scss +0 -0
  158. /package/{projects → dist}/ngx/src/lib/theme/messenger/call-widget.scss +0 -0
  159. /package/{projects → dist}/ngx/src/lib/theme/messenger/chat-input.scss +0 -0
  160. /package/{projects → dist}/ngx/src/lib/theme/messenger/chat-thumbnail.scss +0 -0
  161. /package/{projects → dist}/ngx/src/lib/theme/messenger/chat.scss +0 -0
  162. /package/{projects → dist}/ngx/src/lib/theme/messenger/chats-list.scss +0 -0
  163. /package/{projects → dist}/ngx/src/lib/theme/messenger/index.scss +0 -0
  164. /package/{projects → dist}/ngx/src/lib/theme/messenger/message-time-and-status.scss +0 -0
  165. /package/{projects → dist}/ngx/src/lib/theme/messenger/message.scss +0 -0
  166. /package/{projects → dist}/ngx/src/lib/theme/messenger/messages-list.scss +0 -0
  167. /package/{projects → dist}/ngx/src/lib/theme/messenger/messenger-header.scss +0 -0
  168. /package/{projects → dist}/ngx/src/lib/theme/messenger/messenger-search.scss +0 -0
  169. /package/{projects → dist}/ngx/src/lib/theme/messenger/messenger.scss +0 -0
  170. /package/{projects → dist}/ngx/src/lib/theme/messenger/variables.scss +0 -0
  171. /package/{projects → dist}/ngx/src/lib/theme/presentation/index.scss +0 -0
  172. /package/{projects → dist}/ngx/src/lib/theme/presentation/slide.scss +0 -0
  173. /package/{projects → dist}/ngx/src/lib/theme/presentation/story-player.scss +0 -0
  174. /package/{projects → dist}/ngx/src/lib/theme/presentation/story-thumbnail.scss +0 -0
  175. /package/{projects → dist}/ngx/src/lib/theme/presentation/variables.scss +0 -0
  176. /package/{projects → dist}/ngx/src/lib/theme/video-chat/index.scss +0 -0
  177. /package/{projects → dist}/ngx/src/lib/theme/video-chat/video-chat.scss +0 -0
  178. /package/{projects → dist}/ngx/src/lib/theme/video-chat/video-peer.scss +0 -0
  179. /package/{projects → dist}/ngx/src/lib/theme/video-chat.scss +0 -0
@@ -1,43 +0,0 @@
1
- <div class="auth-container">
2
- <img src="assets/img.png" alt="Company Logo" class="logo" height="38" width="37" />
3
- <h2 class="auth-title">Відновлення Пароля</h2>
4
- <p class="auth-title-description">
5
- Будь ласка, введіть новий пароль для вашого акаунту.
6
- </p>
7
-
8
- <form class="auth-form"
9
- [formGroup]="resetPasswordForm"
10
- (ngSubmit)="resetPassword()"
11
- >
12
- <!-- New Password Field -->
13
- <label for="new-password"
14
- class="auth-sm-medium"
15
- >Новий пароль</label>
16
- <input [formControlName]="passwordFormKeys.password"
17
- type="password" id="new-password"
18
- placeholder="Введіть новий пароль"
19
- class="auth-input-container password-input"
20
- />
21
-
22
- <!-- Confirm Password Field -->
23
- <label for="confirm-password"
24
- class="auth-sm-medium"
25
- >Підтвердження пароля</label>
26
- <input [formControlName]="passwordFormKeys.passwordConfirm"
27
- type="password" id="confirm-password"
28
- placeholder="Підтвердіть пароль"
29
- class="auth-input-container password-input"
30
- />
31
-
32
- <!-- Reset Password Button -->
33
- <button type="submit"
34
- class="auth-btn-container"
35
- >Відновити Пароль</button>
36
- </form>
37
-
38
- <!-- Redirect to Login -->
39
- <p class="auth-media-blue-gray-sm-normal">
40
- <span>Згадали пароль?</span>
41
- <a href="#" class="auth-deep-blue-sm-medium">Увійдіть</a>
42
- </p>
43
- </div>
@@ -1,79 +0,0 @@
1
- import { Component, OnInit } from '@angular/core';
2
- import {FormBuilder, FormGroup, ReactiveFormsModule, ValidatorFn, Validators} from '@angular/forms';
3
- import { ResetPasswordForm, TypedReactiveForm } from '../types/auth-form.type';
4
- import { UtilsService } from '../services/utils.service';
5
- import { ActivatedRoute, Router } from '@angular/router';
6
- import { FormErrorKey } from '../../enums/form.enum';
7
- import { COMMON_CONSTANTS } from '../../constans/common.const';
8
-
9
- @Component({
10
- selector: 'rtsee-reset-password',
11
- templateUrl: './reset-password.component.html',
12
- imports: [
13
- ReactiveFormsModule
14
- ],
15
- standalone: true
16
- })
17
- export class ResetPasswordComponent implements OnInit {
18
- public isLoading: boolean = false;
19
- public resetPasswordForm: FormGroup<TypedReactiveForm<ResetPasswordForm>>;
20
- public passwordFormKeys: Record<keyof ResetPasswordForm, string>;
21
- public hidePassword: Record<keyof ResetPasswordForm, boolean> = {
22
- password: true,
23
- passwordConfirm: true
24
- };
25
- private token!: string;
26
-
27
- constructor(
28
- private formBuilder: FormBuilder,
29
- private route: ActivatedRoute,
30
- private router: Router
31
- ) {
32
- this.resetPasswordForm = this.formBuilder.group({
33
- password: this.formBuilder.control('', {validators: [Validators.required, Validators.minLength(COMMON_CONSTANTS.minPasswordLength)], nonNullable: true}),
34
- passwordConfirm: this.formBuilder.control('', {validators: [Validators.required, Validators.minLength(COMMON_CONSTANTS.minPasswordLength)], nonNullable: true}),
35
- }, {validators: [this.passwordMatchValidator()]});
36
- this.passwordFormKeys = UtilsService.getKeysAsValueObject(this.resetPasswordForm.value);
37
- }
38
-
39
- public ngOnInit(): void {
40
- this.token = this.route.snapshot.params['token'];
41
- }
42
-
43
- public resetPassword(): void {
44
- if (this.resetPasswordForm.valid) {
45
- // this.isLoading = true;
46
- // this.accountService.resetPassword({passwords: this.resetPasswordForm.getRawValue(), token: this.token})
47
- // .subscribe((success) => {
48
- // this.isLoading = false;
49
- // if (success) {
50
- // this.router.navigate(['/', 'sign-in']);
51
- // }
52
- // })
53
- }
54
- }
55
-
56
- private passwordMatchValidator(): ValidatorFn {
57
- // @ts-ignore
58
- return (form: FormGroup<TypedReactiveForm<ResetPasswordForm>>): ValidationErrors | null => {
59
- const password = form.value.password;
60
- const passwordConfirm = form.value.passwordConfirm;
61
- if (password !== passwordConfirm) {
62
- if (form.controls.password.valid) {
63
- form.controls.password.setErrors({[FormErrorKey.passwordsMismatch]: true});
64
- }
65
- if (form.controls.passwordConfirm.valid) {
66
- form.controls.passwordConfirm.setErrors({[FormErrorKey.passwordsMismatch]: true});
67
- }
68
- return {[FormErrorKey.passwordsMismatch]: true};
69
- }
70
- if (form.controls.password.hasError(FormErrorKey.passwordsMismatch)) {
71
- form.controls.password.setErrors(null);
72
- }
73
- if (form.controls.passwordConfirm.hasError(FormErrorKey.passwordsMismatch)) {
74
- form.controls.passwordConfirm.setErrors(null);
75
- }
76
- return null;
77
- }
78
- }
79
- }
@@ -1,37 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import {HttpClient} from "@angular/common/http";
3
- import {
4
- RTSeeAuth,
5
- IRtseeSignInRequestOptions,
6
- IRTSeeSignInResponse,
7
- IRtseeSignUpRequestOptions,
8
- IRTSeeSignUpResponse,
9
- } from "@rtsee/auth";
10
- import { Observable, tap } from "rxjs";
11
-
12
- @Injectable({
13
- providedIn: 'root'
14
- })
15
- export class RTSeeAuthService {
16
- rtseeAuth!: RTSeeAuth<any>;
17
-
18
- constructor(
19
- private http: HttpClient,
20
- ) {}
21
-
22
- init(auth: RTSeeAuth<any>) {
23
- console.log('init');
24
- this.rtseeAuth = auth;
25
- }
26
-
27
- signIn(credentials: IRtseeSignInRequestOptions): Observable<IRTSeeSignInResponse> {
28
- return this.http
29
- .post<IRTSeeSignInResponse>(`${this.rtseeAuth.baseUrl}/${this.rtseeAuth.endpoints.signIn}`, credentials)
30
- .pipe(tap((res) => this.rtseeAuth.authenticate(res)))
31
- }
32
-
33
- signUp(credentials: IRtseeSignUpRequestOptions): Observable<IRTSeeSignUpResponse> {
34
- return this.http
35
- .post<IRTSeeSignUpResponse>(`${this.rtseeAuth.baseUrl}/${this.rtseeAuth.endpoints.signUp}`, credentials)
36
- }
37
- }
@@ -1,20 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
-
3
- @Injectable({
4
- providedIn: 'root'
5
- })
6
- export class UtilsService {
7
-
8
- constructor() {
9
- }
10
-
11
- public static getKeysAsValueObject<T extends object>(obj: T): Record<string, string> { // object was {}
12
- if (obj) {
13
- return Object.keys(obj).reduce<Record<string, string>>((result, value) => {
14
- result[value] = value;
15
- return result;
16
- }, {});
17
- }
18
- return {};
19
- }
20
- }
@@ -1,46 +0,0 @@
1
- <div class="auth-container">
2
- <img ngSrc="/assets/img.png"
3
- alt="Company Logo"
4
- class="auth-logo"
5
- height="38"
6
- width="37"
7
- />
8
- <h2 class="auth-title">Вйоб в Особистий Кабінет</h2>
9
- <p class="auth-title-description">Аби переглядати казки, увійдіть в свій особистий кабінет</p>
10
-
11
- <form class="auth-form" [formGroup]="signInForm" (ngSubmit)="login()">
12
- <label for="sign-in-email" class="auth-sm-medium">Електрон пош</label>
13
- <input [formControlName]="signInFormKeys.username"
14
- type="email"
15
- id="sign-in-email"
16
- placeholder="Введіть електронну пошту"
17
- class="auth-input-container email-input"
18
- />
19
- <label for="password" class="auth-sm-medium">Пароль</label>
20
- <input [formControlName]="signInFormKeys.password"
21
- type="password"
22
- id="password"
23
- placeholder="Пароль"
24
- class="auth-input-container password-input"
25
- />
26
- <div class="auth-options">
27
- <label class="auth-checkbox-label">
28
- <input type="checkbox" class="auth-deep-blue-sm-medium auth-remember-checkbox" />
29
- Запам’ятати
30
- </label>
31
- <a href="#" [routerLink]="['/', 'forgot-password']"
32
- class="auth-deep-blue-sm-medium"
33
- >Забули пароль?</a>
34
- </div>
35
-
36
- <button type="submit" class="auth-btn-container">Увійти</button>
37
- </form>
38
- <p class="auth-media-blue-gray-sm-normal">
39
- <span>Немає акаунту?</span>
40
- <span>&nbsp;</span>
41
- <a href="#"
42
- [routerLink]="['/', 'sign-up']"
43
- class="auth-deep-blue-sm-medium"
44
- >Створіть!</a>
45
- </p>
46
- </div>
@@ -1,48 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import {Router, RouterLink} from '@angular/router';
3
- import {FormBuilder, FormGroup, ReactiveFormsModule, Validators} from '@angular/forms';
4
- import { UtilsService } from '../services/utils.service';
5
- import { SignInForm, TypedReactiveForm } from '../types/auth-form.type';
6
- import {NgOptimizedImage} from "@angular/common";
7
- import { RTSeeAuthService } from "../services/auth.service";
8
-
9
- @Component({
10
- selector: 'rtsee-sign-in',
11
- templateUrl: './sign-in.component.html',
12
- imports: [
13
- NgOptimizedImage,
14
- ReactiveFormsModule,
15
- RouterLink
16
- ],
17
- standalone: true
18
- })
19
- export class SignInComponent {
20
- public readonly signInForm: FormGroup<TypedReactiveForm<SignInForm>>
21
- public readonly signInFormKeys: Record<keyof SignInForm, string>;
22
-
23
- constructor(
24
- private readonly formBuilder: FormBuilder,
25
- private readonly router: Router,
26
- private authService: RTSeeAuthService
27
- ) {
28
- this.signInForm = this.formBuilder.group<TypedReactiveForm<SignInForm>>({
29
- username: this.formBuilder.control(null, {validators: [Validators.required, Validators.email]}),
30
- password: this.formBuilder.control(null, {validators: [Validators.required]})
31
- });
32
- this.signInFormKeys = UtilsService.getKeysAsValueObject(this.signInForm.getRawValue());
33
- }
34
-
35
- public login(): void {
36
- if (this.signInForm.valid) {
37
- const username: string = this.signInForm.getRawValue().username!;
38
- const password: string = this.signInForm.getRawValue().password!;
39
-
40
- this.authService.signIn({username, password})
41
- .subscribe((success) => {
42
- if (success) {
43
- void this.router.navigate(this.authService.rtseeAuth.defaultPostLoginRoute);
44
- }
45
- });
46
- }
47
- }
48
- }
@@ -1,51 +0,0 @@
1
- <div class="auth-container">
2
- <img ngSrc="/assets/img.png" alt="Company Logo" class="logo" height="38" width="37"/>
3
- <h2 class="auth-title">Реєстрація в Особистий Кабінет</h2>
4
- <p class="auth-title-description">Створіть свій особистий кабінет, щоб переглядати казки</p>
5
-
6
- <form class="auth-form" [formGroup]="signUpForm" (ngSubmit)="signUp()">
7
- <!-- Email Field -->
8
- <label for="sign-up-email" class="auth-sm-medium">Електрон пошта</label>
9
- <input [formControlName]="signUpFormKeys.email"
10
- type="email" id="sign-up-email"
11
- placeholder="Введіть електронну пошту"
12
- class="auth-input-container email-input"
13
- />
14
-
15
- <!-- Password Field -->
16
- <label for="sign-up-password" class="auth-sm-medium">Паро</label>
17
- <input [formControlName]="signUpFormKeys.password"
18
- type="password" id="sign-up-password"
19
- placeholder="Створіть пароль"
20
- class="auth-input-container password-input"
21
- />
22
-
23
- <!-- Confirm Password Field -->
24
- <label for="confirm-password" class="auth-sm-medium">Підтверд пароль</label>
25
- <input [formControlName]="signUpFormKeys.passwordConfirmation"
26
- type="password"
27
- id="confirm-password"
28
- placeholder="Підтвердьте пароль"
29
- class="auth-input-container password-input"
30
- />
31
-
32
- <!-- Terms and Conditions -->
33
- <div class="auth-options">
34
- <label class="auth-checkbox-label">
35
- <input type="checkbox"
36
- class="auth-deep-blue-sm-medium"
37
- [formControlName]="signUpFormKeys.terms"
38
- />
39
- Я погоджуюсь з&nbsp;<a href="#" class="auth-deep-blue-sm-medium">умовами використання</a>
40
- </label>
41
- </div>
42
-
43
- <!-- Sign-Up Button -->
44
- <button type="submit" class="auth-btn-container">Зареєструватись</button>
45
- </form>
46
-
47
- <!-- Redirect to Sign-In -->
48
- <p class="auth-media-blue-gray-sm-normal">
49
- Вже маєте акаунт? <a href="#" [routerLink]="['/', 'sign-in']" class="auth-deep-blue-sm-medium">Увійдіть</a>
50
- </p>
51
- </div>
@@ -1,62 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import {FormBuilder, FormGroup, ReactiveFormsModule, Validators} from '@angular/forms';
3
- import { SignUpForm, TypedReactiveForm } from '../types/auth-form.type';
4
- import { UtilsService } from '../services/utils.service';
5
- import {ConfirmPasswordValidator} from "../validators/form-fields-validators";
6
- import {RouterLink} from "@angular/router";
7
- import {NgOptimizedImage} from "@angular/common";
8
- import {RTSeeAuthService} from "../services/auth.service";
9
-
10
- @Component({
11
- selector: 'rtsee-sign-up',
12
- templateUrl: './sign-up.component.html',
13
- imports: [
14
- ReactiveFormsModule,
15
- RouterLink,
16
- NgOptimizedImage
17
- ],
18
- standalone: true
19
- })
20
- export class SignUpComponent {
21
- public readonly signUpForm: FormGroup<TypedReactiveForm<SignUpForm>>;
22
- public readonly signUpFormKeys: Record<keyof SignUpForm, string>;
23
-
24
- constructor(
25
- private readonly formBuilder: FormBuilder,
26
- private authService: RTSeeAuthService
27
- ) {
28
- this.signUpForm = this.formBuilder.group<TypedReactiveForm<SignUpForm>>({
29
- email: this.formBuilder.control('', { validators: [Validators.required, Validators.email] }),
30
- password: this.formBuilder.control('', { validators: [Validators.required, Validators.minLength(6)] }),
31
- passwordConfirmation: this.formBuilder.control('', {
32
- validators: [
33
- Validators.required,
34
- Validators.minLength(6)
35
- ]
36
- }),
37
- terms: this.formBuilder.control(false, { nonNullable: true,
38
- validators: [Validators.requiredTrue]
39
- }),
40
- }, { validators: [ ConfirmPasswordValidator.MatchFields ] });
41
- this.signUpFormKeys = UtilsService.getKeysAsValueObject(this.signUpForm.getRawValue());
42
- }
43
-
44
- public signUp(): void {
45
- if (this.signUpForm.valid) {
46
- const formValues: SignUpForm = this.signUpForm.getRawValue();
47
-
48
-
49
-
50
- this.authService.signUp({
51
- email: formValues.email!,
52
- password: formValues.password!,
53
- terms: formValues.terms!
54
- })
55
-
56
-
57
-
58
- // Call sign-up API
59
- // this.authService.signUp(formValue);
60
- }
61
- }
62
- }
@@ -1,35 +0,0 @@
1
- import { FormArray, FormControl, FormGroup } from '@angular/forms';
2
-
3
- export type SignUpForm = {
4
- email: string | null;
5
- password: string | null;
6
- passwordConfirmation: string | null;
7
- terms: boolean;
8
- };
9
-
10
- export type TypedReactiveForm<T> = {
11
- [Key in keyof T]: T[Key] extends Array<infer Item>
12
- ? Item extends object
13
- ? FormArray<FormGroup<TypedReactiveForm<Item>>>
14
- : FormControl<T[Key]>
15
- : FormControl<T[Key]>;
16
- };
17
-
18
- export type ResetPasswordForm = {
19
- password: string;
20
- passwordConfirm: string;
21
- };
22
-
23
- export type ConfirmPasswordForm = {
24
- password: string;
25
- newPassword: string;
26
- };
27
-
28
- export type ForgotPasswordForm = {
29
- email: string | null;
30
- };
31
-
32
- export type SignInForm = {
33
- username: string | null;
34
- password: string | null;
35
- };
@@ -1,27 +0,0 @@
1
- import {AbstractControl, ValidationErrors} from '@angular/forms';
2
-
3
- export class ConfirmPasswordValidator {
4
- /**
5
- * Check matching password with confirm password
6
- * @param control AbstractControl
7
- */
8
- static MatchFields(control: AbstractControl): ValidationErrors | null {
9
- const passwordField: AbstractControl | null = control.get('password');
10
- const passwordConfirmationField: AbstractControl | null = control.get('passwordConfirmation');
11
-
12
- if (!passwordField || ! passwordConfirmationField) {
13
- throw new Error('MatchFieldsValidator unable to find password controls!');
14
- }
15
-
16
- const password: string = passwordField.getRawValue() as string;
17
- const passwordConfirmation: string = passwordConfirmationField.getRawValue() as string;
18
-
19
- if (password !== passwordConfirmation) {
20
- return {
21
- confirmPassword: true
22
- };
23
- }
24
-
25
- return null;
26
- }
27
- }
@@ -1,10 +0,0 @@
1
- import { Component } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'rtsee-vendors',
5
- templateUrl: './vendors.component.html',
6
- standalone: true
7
- })
8
- export class VendorsComponent {
9
-
10
- }
@@ -1,15 +0,0 @@
1
- <div class="rtsee-bottom-nav">
2
- <nav class="rtsee-nav-bar">
3
- <a *ngFor="let route of config.routes"
4
- [routerLink]="route.link"
5
- routerLinkActive
6
- [ngClass]="{'rtsee-nav-item-hidden': !route.isEnabled}"
7
- [routerLinkActiveOptions]="{exact:true}"
8
- class="rtsee-nav-bar-link rtsee-bottom-nav-bar-link"
9
- >
10
- <span class="rtsee-nav-bar-link-icon">
11
- <span class="rtsee-nav-item-icon" [ngClass]="route.iconClassName"></span>
12
- </span>
13
- </a>
14
- </nav>
15
- </div>
@@ -1,20 +0,0 @@
1
- import {Component, Input} from '@angular/core';
2
- import {INavigationConfig} from "@rtsee/factory/dist/factory/src/interfaces/NavigationConfig";
3
- import {RouterLink, RouterLinkActive} from "@angular/router";
4
- import {NgClass, NgForOf} from "@angular/common";
5
-
6
-
7
- @Component({
8
- selector: 'rtsee-bottom-nav',
9
- templateUrl: './rtsee-bottom-nav.component.html',
10
- imports: [
11
- RouterLink,
12
- RouterLinkActive,
13
- NgClass,
14
- NgForOf
15
- ],
16
- standalone: true
17
- })
18
- export class RtseeBottomNavComponent {
19
- @Input() public config!: INavigationConfig;
20
- }
@@ -1,50 +0,0 @@
1
- <div class="rtsee-shell"
2
- [class.rtseeShellConferenceMode]="rtsee.eventsDashboard && rtsee.activeTab === 'events-dashboard'"
3
- [ngClass]="{
4
- 'rtsee-shell-conference-mode': rtsee.conference && rtsee.conference.isInActiveCall,
5
- 'rtsee-shell-messenger-active': rtsee.messenger && rtsee.activeTab === 'messenger',
6
- 'rtsee-shell-dashboard-active': rtsee.eventsDashboard && rtsee.activeTab === 'events-dashboard',
7
- 'rtsee-shell-presentation-active': rtsee.presentation && rtsee.activeTab === 'presentation',
8
- 'rtsee-shell-side-nav-expanded': isSidenavExpanded
9
- }"
10
- >
11
- <div class="rtsee-sidenav-block">
12
- <rtsee-sidenav [config]="navigationConfig" [isExpanded]="isSidenavExpanded" (toggleClicked)="onSidenavToggleClicked()"></rtsee-sidenav>
13
- </div>
14
-
15
- <div class="rtsee-shell-panel">
16
- <div class="rtsee-conference-container"
17
- *ngIf="rtsee.conference && rtsee.conference.isInActiveCall"
18
- >
19
- <rtsee-conference [rtSee]="rtsee.conference"
20
- ></rtsee-conference>
21
- </div>
22
-
23
- <div class="rtsee-messenger-container"
24
- *ngIf="rtsee.messenger"
25
- >
26
- <rtsee-messenger [messenger]="rtsee.messenger"
27
- ></rtsee-messenger>
28
- </div>
29
-
30
- <div class="rtsee-events-dashboard-container"
31
- *ngIf="rtsee.eventsDashboard && rtsee.eventsDashboard.isReady"
32
- >
33
- <rtsee-events-dashboard [eventsDashboard]="rtsee.eventsDashboard"
34
- ></rtsee-events-dashboard>
35
- </div>
36
-
37
- <div class="rtsee-presentation-container"
38
- *ngIf="rtsee.presentation && rtsee.presentation.isActive"
39
- >
40
- <rtsee-presentation [presentation]="rtsee.presentation"></rtsee-presentation>
41
- </div>
42
- </div>
43
-
44
- <div class="rtsee-content">
45
- <ng-content></ng-content>
46
- </div>
47
- <div class="rtsee-bottom-nav-block">
48
- <rtsee-bottom-nav [config]="navigationConfig"></rtsee-bottom-nav>
49
- </div>
50
- </div>
@@ -1,37 +0,0 @@
1
- import {Component, Input} from '@angular/core';
2
- import {RTSee, INavigationConfig} from "@rtsee/factory";
3
- import {NgClass, NgIf} from "@angular/common";
4
- import {RtseeSidenavComponent} from "./rtsee-sidenav/rtsee-sidenav.component";
5
- import {RTSeeConferenceComponent} from "../rtsee/rtsee-conference.component";
6
- import {MessengerComponent} from "../rtsee-messenger/messenger/messenger.component";
7
- import {RtseeEventsDashboardComponent} from "../rtsee-events-dashboard/rtsee-events-dashboard.component";
8
- import {PresentationComponent} from "../rtsee-presentation/presentation/presentation.component";
9
- import {RtseeBottomNavComponent} from "./rtsee-bottom-nav/rtsee-bottom-nav.component";
10
-
11
-
12
- @Component({
13
- selector: 'rtsee-container',
14
- templateUrl: './rtsee-container.component.html',
15
- imports: [
16
- NgClass,
17
- NgIf,
18
- RtseeSidenavComponent,
19
- RTSeeConferenceComponent,
20
- MessengerComponent,
21
- RtseeEventsDashboardComponent,
22
- PresentationComponent,
23
- RtseeBottomNavComponent
24
- ],
25
- standalone: true
26
- })
27
- export class RTSeeContainerComponent {
28
- @Input() rtsee!: RTSee;
29
- @Input() public navigationConfig!: INavigationConfig;
30
-
31
- isSidenavExpanded: boolean = true;
32
- isSidenavExpandededed: boolean = true;
33
-
34
- onSidenavToggleClicked() {
35
- this.isSidenavExpanded = !this.isSidenavExpanded;
36
- }
37
- }
@@ -1,32 +0,0 @@
1
- <div class="rtsee-sidenav"
2
- [ngClass]="{'rtsee-sidenav-expanded': isExpanded}">
3
- <div class="rtsee-sidenav-header">
4
- <div class="rtsee-site-logo">
5
- <a [routerLink]="['/']" class="rtsee-home-link">
6
- <span class="rtsee-site-logo-wrapper" *ngIf="config.siteLogo">
7
- <img [src]="config.siteLogo.src" [ngClass]="config.siteLogo.classNames" [alt]="config.siteLogo.alt">
8
- </span>
9
- <span class="rtsee-site-name">{{config.siteName}}</span>
10
- </a>
11
- </div>
12
- </div>
13
- <div class="rtsee-sidenav-body">
14
- <div id="rtsee-nav-items-container">
15
- <ul class="rtsee-nav-items">
16
- <li *ngFor="let route of config.routes"
17
- [ngClass]="{'rtsee-nav-item-hidden': !route.isEnabled}">
18
- <a [routerLink]="route.link"
19
- routerLinkActive="active"
20
- class="rtsee-nav-item">
21
- <span class="rtsee-nav-item-icon" [ngClass]="route.iconClassName"></span>
22
- <span class="rtsee-nav-item-name">{{route.name}}</span>
23
- </a>
24
- </li>
25
- </ul>
26
- </div>
27
- </div>
28
- <div class="rtsee-sidenav-toggle" (click)="toggleButtonClicked()">
29
- <i class="fa fa-angle-right sidenav-toggle-button" *ngIf="!isExpanded"></i>
30
- <i class="fa fa-angle-left sidenav-toggle-button" *ngIf="isExpanded"></i>
31
- </div>
32
- </div>
@@ -1,26 +0,0 @@
1
- import {Component, EventEmitter, Input, Output} from '@angular/core';
2
- import {INavigationConfig} from "@rtsee/factory";
3
- import {NgClass, NgForOf, NgIf} from "@angular/common";
4
- import {RouterLink} from "@angular/router";
5
-
6
-
7
- @Component({
8
- selector: 'rtsee-sidenav',
9
- templateUrl: './rtsee-sidenav.component.html',
10
- imports: [
11
- NgClass,
12
- RouterLink,
13
- NgIf,
14
- NgForOf
15
- ],
16
- standalone: true
17
- })
18
- export class RtseeSidenavComponent {
19
- @Input() public config!: INavigationConfig;
20
- @Input() isExpanded!: boolean;
21
- @Output() toggleClicked = new EventEmitter<boolean>();
22
-
23
- toggleButtonClicked() {
24
- this.toggleClicked.emit(true);
25
- }
26
- }