@rtsee/ngx 0.0.57 → 0.0.59

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 (45) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +10 -7
  3. package/projects/ngx/src/lib/common/interfaces/index.ts +1 -0
  4. package/projects/ngx/src/lib/common/interfaces/server-errors.ts +5 -0
  5. package/projects/ngx/src/lib/components/rtsee-auth/auth/auth.component.html +14 -10
  6. package/projects/ngx/src/lib/components/rtsee-auth/auth/auth.component.ts +28 -2
  7. package/projects/ngx/src/lib/components/rtsee-auth/forgot-password/forgot-password.component.html +1 -1
  8. package/projects/ngx/src/lib/components/rtsee-auth/forgot-password/forgot-password.component.ts +12 -5
  9. package/projects/ngx/src/lib/components/rtsee-auth/reset-password/reset-password.component.ts +6 -2
  10. package/projects/ngx/src/lib/components/rtsee-auth/services/auth.service.ts +40 -0
  11. package/projects/ngx/src/lib/components/rtsee-auth/sign-in/sign-in.component.html +66 -28
  12. package/projects/ngx/src/lib/components/rtsee-auth/sign-in/sign-in.component.ts +96 -20
  13. package/projects/ngx/src/lib/components/rtsee-auth/sign-up/sign-up.component.html +1 -1
  14. package/projects/ngx/src/lib/components/rtsee-auth/sign-up/sign-up.component.ts +18 -2
  15. package/projects/ngx/src/lib/components/rtsee-auth/types/auth-form.type.ts +3 -3
  16. package/projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.html +25 -29
  17. package/projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.ts +5 -8
  18. package/projects/ngx/src/lib/components/rtsee-container/rtsee-nav/rtsee-nav.component.html +25 -0
  19. package/projects/ngx/src/lib/components/rtsee-container/rtsee-nav/rtsee-nav.component.ts +26 -0
  20. package/projects/ngx/src/lib/components/rtsee-presentation/presentation/presentation.component.html +18 -17
  21. package/projects/ngx/src/lib/components/rtsee-presentation/presentation/presentation.component.ts +0 -2
  22. package/projects/ngx/src/lib/components/rtsee-presentation/slide/slide.component.html +22 -18
  23. package/projects/ngx/src/lib/components/rtsee-presentation/slide/slide.component.ts +4 -3
  24. package/projects/ngx/src/lib/ngx.module.ts +17 -9
  25. package/projects/ngx/src/lib/theme/auth/auth-container.scss +189 -177
  26. package/projects/ngx/src/lib/theme/auth/index.scss +0 -1
  27. package/projects/ngx/src/lib/theme/auth/variables.scss +1 -64
  28. package/projects/ngx/src/lib/theme/common-variables.scss +1 -0
  29. package/projects/ngx/src/lib/theme/containers/index.scss +2 -2
  30. package/projects/ngx/src/lib/theme/containers/nav-item.scss +84 -55
  31. package/projects/ngx/src/lib/theme/containers/nav.scss +86 -0
  32. package/projects/ngx/src/lib/theme/containers/shell.scss +22 -31
  33. package/projects/ngx/src/lib/theme/containers/variables.scss +10 -1
  34. package/projects/ngx/src/lib/theme/forms/common.scss +51 -0
  35. package/projects/ngx/src/lib/theme/forms/index.scss +1 -0
  36. package/projects/ngx/src/lib/theme/forms/variables.scss +8 -0
  37. package/projects/ngx/src/lib/theme/styles.scss +1 -0
  38. package/tsconfig.json +2 -5
  39. package/projects/ngx/src/lib/components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component.html +0 -15
  40. package/projects/ngx/src/lib/components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component.ts +0 -20
  41. package/projects/ngx/src/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.html +0 -32
  42. package/projects/ngx/src/lib/components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component.ts +0 -26
  43. package/projects/ngx/src/lib/theme/auth/auth.scss +0 -0
  44. package/projects/ngx/src/lib/theme/containers/bottom-nav.scss +0 -15
  45. package/projects/ngx/src/lib/theme/containers/sidenav.scss +0 -125
@@ -1,5 +1,4 @@
1
1
  <div class="rtsee-shell"
2
- [class.rtseeShellConferenceMode]="rtsee.eventsDashboard && rtsee.activeTab === 'events-dashboard'"
3
2
  [ngClass]="{
4
3
  'rtsee-shell-conference-mode': rtsee.conference && rtsee.conference.isInActiveCall,
5
4
  'rtsee-shell-messenger-active': rtsee.messenger && rtsee.activeTab === 'messenger',
@@ -8,43 +7,40 @@
8
7
  'rtsee-shell-side-nav-expanded': isSidenavExpanded
9
8
  }"
10
9
  >
11
- <div class="rtsee-sidenav-block">
12
- <rtsee-sidenav [config]="navigationConfig" [isExpanded]="isSidenavExpanded" (toggleClicked)="onSidenavToggleClicked()"></rtsee-sidenav>
10
+ <div class="rtsee-nav-block">
11
+ <rtsee-nav [config]="navigationConfig"></rtsee-nav>
13
12
  </div>
14
13
 
15
14
  <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>
15
+ @if (rtsee.conference && rtsee.conference.isInActiveCall) {
16
+ <div class="rtsee-conference-container">
17
+ <rtsee-conference [rtSee]="rtsee.conference"
18
+ ></rtsee-conference>
19
+ </div>
20
+ }
22
21
 
23
- <div class="rtsee-messenger-container"
24
- *ngIf="rtsee.messenger"
25
- >
26
- <rtsee-messenger [messenger]="rtsee.messenger"
27
- ></rtsee-messenger>
28
- </div>
22
+ @if (rtsee.messenger) {
23
+ <div class="rtsee-messenger-container">
24
+ <rtsee-messenger [messenger]="rtsee.messenger"
25
+ ></rtsee-messenger>
26
+ </div>
27
+ }
29
28
 
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>
29
+ @if (rtsee.eventsDashboard && rtsee.eventsDashboard.isReady) {
30
+ <div class="rtsee-events-dashboard-container">
31
+ <rtsee-events-dashboard [eventsDashboard]="rtsee.eventsDashboard"
32
+ ></rtsee-events-dashboard>
33
+ </div>
34
+ }
36
35
 
37
- <div class="rtsee-presentation-container"
38
- *ngIf="rtsee.presentation && rtsee.presentation.isActive"
39
- >
40
- <rtsee-presentation [presentation]="rtsee.presentation"></rtsee-presentation>
41
- </div>
36
+ @if (rtsee.presentation && rtsee.presentation.isActive) {
37
+ <div class="rtsee-presentation-container">
38
+ <rtsee-presentation [presentation]="rtsee.presentation"></rtsee-presentation>
39
+ </div>
40
+ }
42
41
  </div>
43
42
 
44
43
  <div class="rtsee-content">
45
44
  <ng-content></ng-content>
46
45
  </div>
47
- <div class="rtsee-bottom-nav-block">
48
- <rtsee-bottom-nav [config]="navigationConfig"></rtsee-bottom-nav>
49
- </div>
50
46
  </div>
@@ -1,12 +1,11 @@
1
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";
2
+ import {RTSee, INavigationConfig, IRouteConfig} from "@rtsee/factory";
3
+ import {NgClass} from "@angular/common";
5
4
  import {RTSeeConferenceComponent} from "../rtsee/rtsee-conference.component";
6
5
  import {MessengerComponent} from "../rtsee-messenger/messenger/messenger.component";
7
6
  import {RtseeEventsDashboardComponent} from "../rtsee-events-dashboard/rtsee-events-dashboard.component";
8
7
  import {PresentationComponent} from "../rtsee-presentation/presentation/presentation.component";
9
- import {RtseeBottomNavComponent} from "./rtsee-bottom-nav/rtsee-bottom-nav.component";
8
+ import {RtseeNavComponent} from "./rtsee-nav/rtsee-nav.component";
10
9
 
11
10
 
12
11
  @Component({
@@ -14,19 +13,17 @@ import {RtseeBottomNavComponent} from "./rtsee-bottom-nav/rtsee-bottom-nav.compo
14
13
  templateUrl: './rtsee-container.component.html',
15
14
  imports: [
16
15
  NgClass,
17
- NgIf,
18
- RtseeSidenavComponent,
19
16
  RTSeeConferenceComponent,
20
17
  MessengerComponent,
21
18
  RtseeEventsDashboardComponent,
22
19
  PresentationComponent,
23
- RtseeBottomNavComponent
20
+ RtseeNavComponent
24
21
  ],
25
22
  standalone: true
26
23
  })
27
24
  export class RTSeeContainerComponent {
28
25
  @Input() rtsee!: RTSee;
29
- @Input() public navigationConfig!: INavigationConfig;
26
+ @Input() public navigationConfig!: INavigationConfig<IRouteConfig>;
30
27
 
31
28
  isSidenavExpanded: boolean = true;
32
29
  isSidenavExpandededed: boolean = true;
@@ -0,0 +1,25 @@
1
+ <div class="rtsee-nav">
2
+ @if (config.siteLogo) {
3
+ <div class="rtsee-site-logo">
4
+ <p-image [src]="config.siteLogo.src" class="rtsee-site-logo-image"></p-image>
5
+ <p-divider class="rtsee-site-logo-divider" />
6
+ </div>
7
+ }
8
+ <div class="rtsee-nav-bar">
9
+ @for (route of config.routes; track route.name) {
10
+ <a [routerLink]="route.link"
11
+ routerLinkActive="rtsee-nav-item-active"
12
+ [ngClass]="{'rtsee-nav-item-hidden': !route.isEnabled || !route.iconClassName}"
13
+ [routerLinkActiveOptions]="{ exact: route.exactActiveLinkMatcher || false }"
14
+ class="rtsee-nav-item"
15
+ >
16
+ <span [ngClass]="route.iconClassName"
17
+ class="rtsee-nav-item-icon" >
18
+ </span>
19
+ </a>
20
+ }
21
+ <p-avatar [image]="'https://primefaces.org/cdn/primeng/images/demo/avatar/amyelsner.png'"
22
+ class="rtsee-nav-item rtsee-nav-image rtsee-nav-profile"
23
+ ></p-avatar>
24
+ </div>
25
+ </div>
@@ -0,0 +1,26 @@
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} from "@angular/common";
5
+ import {IRouteConfig} from "@rtsee/factory/src/interfaces/NavigationConfig";
6
+ import {Avatar} from "primeng/avatar";
7
+ import {Image} from "primeng/image";
8
+ import {Divider} from "primeng/divider";
9
+
10
+
11
+ @Component({
12
+ selector: 'rtsee-nav',
13
+ templateUrl: './rtsee-nav.component.html',
14
+ imports: [
15
+ RouterLink,
16
+ RouterLinkActive,
17
+ NgClass,
18
+ Avatar,
19
+ Image,
20
+ Divider
21
+ ],
22
+ standalone: true
23
+ })
24
+ export class RtseeNavComponent {
25
+ @Input() public config!: INavigationConfig<IRouteConfig>;
26
+ }
@@ -3,22 +3,23 @@
3
3
  <rtsee-presentation-header [presentation]="presentation"
4
4
  ></rtsee-presentation-header>
5
5
  </div>
6
- <div class="rtsee-presentation-stories-list"
7
- *ngIf="!presentation.activeStory"
8
- >
9
- <div class="rtsee-presentation-story-thumbnail-container"
10
- *ngFor="let story of presentation.stories"
11
- (click)="presentation.setActiveStory(story)"
12
- >
13
- <rtsee-story-thumbnail
14
- [story]="story"
15
- ></rtsee-story-thumbnail>
6
+ @if (!presentation.activeStory) {
7
+ <div class="rtsee-presentation-stories-list">
8
+ @for (story of presentation.stories; track story.id) {
9
+ <div class="rtsee-presentation-story-thumbnail-container"
10
+ (click)="presentation.setActiveStory(story)"
11
+ >
12
+ <rtsee-story-thumbnail
13
+ [story]="story"
14
+ ></rtsee-story-thumbnail>
15
+ </div>
16
+ }
16
17
  </div>
17
- </div>
18
- <div class="rtsee-presentation-story-viewer-container"
19
- *ngIf="presentation.activeStory"
20
- >
21
- <rtsee-story-player [story]="presentation.activeStory"
22
- ></rtsee-story-player>
23
- </div>
18
+ }
19
+ @if (presentation.activeStory) {
20
+ <div class="rtsee-presentation-story-viewer-container">
21
+ <rtsee-story-player [story]="presentation.activeStory"
22
+ ></rtsee-story-player>
23
+ </div>
24
+ }
24
25
  </div>
@@ -1,7 +1,6 @@
1
1
  import {Component, Input} from '@angular/core';
2
2
  import { RTSeePresentation } from "@rtsee/presentation";
3
3
  import {PresentationHeaderComponent} from "../presentation-header/presentation-header.component";
4
- import {NgForOf, NgIf} from "@angular/common";
5
4
  import {StoryThumbnailComponent} from "../story-thumbnail/story-thumbnail.component";
6
5
  import {StoryPlayerComponent} from "../story-player/story-player.component";
7
6
 
@@ -10,7 +9,6 @@ import {StoryPlayerComponent} from "../story-player/story-player.component";
10
9
  templateUrl: './presentation.component.html',
11
10
  imports: [
12
11
  PresentationHeaderComponent,
13
- NgIf,
14
12
  StoryThumbnailComponent,
15
13
  StoryPlayerComponent
16
14
  ],
@@ -1,29 +1,33 @@
1
1
  <div class="rtsee-presentation-slide">
2
- <ng-template *ngIf="slide.widget" widgetHost></ng-template>
2
+ @if (slide.widget) {
3
+ <ng-template widgetHost></ng-template>
4
+ }
3
5
  <div class="rtsee-presentation-slide-default">
4
- <div class="rtsee-presentation-slide-image-container"
5
- [ngStyle]="" ]="{'background-image': 'url(' + slide.imageUrl + ')'}"
6
- *ngIf="slide.imageUrl"
7
- >
8
- </div>
6
+ @if (slide.imageUrl) {
7
+ <div class="rtsee-presentation-slide-image-container"
8
+ [ngStyle]="{'background-image': 'url(' + slide.imageUrl + ')'}"
9
+ >
10
+ </div>
11
+ }
9
12
  <div class="rtsee-presentation-slide-text">
10
13
  <p>{{slide.text}}</p>
11
14
  </div>
12
15
  <div class="rtsee-presentation-slide-controls">
13
- <button class="slide-navigation-btn navigation-prev"
14
- (click)="slideRewindClicked(false)"
15
- *ngIf="story.activeSlideNumber !== 1"
16
- >
17
- <span class="rtsee-story-thumbnail-info-time-icon material-icons-outlined"
18
- >arrow_back_ios</span>
19
- </button>
20
- <button class="slide-navigation-btn navigation-next"
21
- (click)="slideRewindClicked(true)"
22
- *ngIf="story.activeSlideNumber !== this.story.totalSlides"
23
- >
16
+ @if (story.activeSlideNumber !== 1) {
17
+ <button class="slide-navigation-btn navigation-prev"
18
+ (click)="slideRewindClicked(false)"
19
+ >
20
+ <span class="rtsee-story-thumbnail-info-time-icon material-icons-outlined">arrow_back_ios</span>
21
+ </button>
22
+ }
23
+ @if (story.activeSlideNumber !== this.story.totalSlides) {
24
+ <button class="slide-navigation-btn navigation-next"
25
+ (click)="slideRewindClicked(true)"
26
+ >
24
27
  <span class="rtsee-story-thumbnail-info-time-icon material-icons-outlined"
25
28
  >arrow_forward_ios</span>
26
- </button>
29
+ </button>
30
+ }
27
31
  </div>
28
32
  </div>
29
33
  </div>
@@ -1,13 +1,14 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { Component, Input } from '@angular/core';
2
2
  import {RTSeeStory, RTSeeStorySlide} from "@rtsee/presentation";
3
- import {NgIf, NgStyle} from "@angular/common";
3
+ import { NgStyle } from "@angular/common";
4
+ import {WidgetDirective} from "../../../directives/widget.directive";
4
5
 
5
6
  @Component({
6
7
  selector: 'rtsee-slide',
7
8
  templateUrl: './slide.component.html',
8
9
  imports: [
9
10
  NgStyle,
10
- NgIf
11
+ WidgetDirective
11
12
  ],
12
13
  standalone: true
13
14
  })
@@ -41,17 +41,27 @@ import { SignUpComponent } from "./components/rtsee-auth/sign-up/sign-up.compone
41
41
  import { SignInComponent } from "./components/rtsee-auth/sign-in/sign-in.component";
42
42
  import { ForgotPasswordComponent } from "./components/rtsee-auth/forgot-password/forgot-password.component";
43
43
  import { VendorsComponent } from "./components/rtsee-auth/vendors/vendors.component";
44
- import { AuthComponent } from './components/rtsee-auth/auth/auth.component';
45
- import { RtseeSidenavComponent } from './components/rtsee-container/rtsee-sidenav/rtsee-sidenav.component';
46
- import { RtseeBottomNavComponent } from './components/rtsee-container/rtsee-bottom-nav/rtsee-bottom-nav.component';
44
+ import { RTSeeAuthComponent } from './components/rtsee-auth/auth/auth.component';
47
45
  import { RouterLink, RouterLinkActive } from "@angular/router";
48
46
  import { ResetPasswordComponent } from './components/rtsee-auth/reset-password/reset-password.component';
49
47
  import { PresentationHeaderComponent } from './components/rtsee-presentation/presentation-header/presentation-header.component';
48
+ import { NgxCaptchaModule } from "ngx-captcha";
49
+ import { provideAnimationsAsync } from "@angular/platform-browser/animations/async";
50
+ import { providePrimeNG } from "primeng/config";
51
+ import Aura from '@primeuix/themes/aura';
50
52
 
51
53
  @NgModule({
54
+ providers: [
55
+ provideAnimationsAsync(),
56
+ providePrimeNG({
57
+ theme: {
58
+ preset: Aura
59
+ }
60
+ })
61
+ ],
52
62
  declarations: [],
53
63
  imports: [
54
- AuthComponent,
64
+ RTSeeAuthComponent,
55
65
  VendorsComponent,
56
66
  ForgotPasswordComponent,
57
67
  SignInComponent,
@@ -80,7 +90,6 @@ import { PresentationHeaderComponent } from './components/rtsee-presentation/pre
80
90
  RtseePeerComponent,
81
91
  RtseeSoundbarComponent,
82
92
  RtseeSettingsComponent,
83
- RtseeSidenavComponent,
84
93
  MessengerHeaderComponent,
85
94
  ChatsListComponent,
86
95
  ProfileComponent,
@@ -92,7 +101,6 @@ import { PresentationHeaderComponent } from './components/rtsee-presentation/pre
92
101
  StoryPlayerComponent,
93
102
  SlideComponent,
94
103
  StoryThumbnailComponent,
95
- RtseeBottomNavComponent,
96
104
  PresentationHeaderComponent,
97
105
  CommonModule,
98
106
  ReactiveFormsModule,
@@ -102,6 +110,7 @@ import { PresentationHeaderComponent } from './components/rtsee-presentation/pre
102
110
  NgOptimizedImage,
103
111
  RouterLink,
104
112
  RouterLinkActive,
113
+ NgxCaptchaModule
105
114
  ],
106
115
  exports: [
107
116
  RTSeeConferenceComponent,
@@ -109,11 +118,10 @@ import { PresentationHeaderComponent } from './components/rtsee-presentation/pre
109
118
  RtseeEventsDashboardComponent,
110
119
  RTSeeContainerComponent,
111
120
  PresentationComponent,
112
- AuthComponent
121
+ RTSeeAuthComponent
113
122
  ],
114
123
  schemas: [
115
124
  CUSTOM_ELEMENTS_SCHEMA,
116
- ],
117
-
125
+ ]
118
126
  })
119
127
  export class RTSeeModule {}