diff --git a/apps/demo/src/app/app.component.html b/apps/demo/src/app/app.component.html index 9f2045ba..61208a1d 100644 --- a/apps/demo/src/app/app.component.html +++ b/apps/demo/src/app/app.component.html @@ -18,8 +18,10 @@ [title]="title" [showSignIn]="!(currentUser$ | async)" [showSignOut]="currentUser$ | async" + [showAbout]="true" (signIn)="onSignIn()" (signOut)="onSignOut()" + (about)="onAbout()" #navbar> diff --git a/apps/demo/src/app/app.component.ts b/apps/demo/src/app/app.component.ts index 6d24261c..1b476885 100644 --- a/apps/demo/src/app/app.component.ts +++ b/apps/demo/src/app/app.component.ts @@ -6,7 +6,7 @@ import { AlertController, Platform } from '@ionic/angular'; import { AlertInput } from '@ionic/core'; import { MetaService } from '@ngx-meta/core'; import { TranslateService } from '@ngx-translate/core'; -import { AuthModalComponent, AuthModalService, AuthService, ILanguagesItem, LangService, RedirectUrlDto, TokenService, User, UserTokenDto } from '@rucken/core'; +import { AuthModalComponent, AuthModalService, AuthService, ILanguagesItem, LangService, ModalsService, RedirectUrlDto, TokenService, User, UserTokenDto } from '@rucken/core'; import { GroupsService, NavbarComponent, PermissionsService } from '@rucken/ionic'; import { BindIoInner } from 'ngx-bind-io'; import { Observable, Subject } from 'rxjs'; @@ -44,6 +44,7 @@ export class AppComponent implements OnInit, OnDestroy { private _tokenService: TokenService, private _groupsService: GroupsService, private _permissionsService: PermissionsService, + private _modalsService: ModalsService, @Inject(PLATFORM_ID) private _platformId: Object ) { this._authModalService.signInInfoMessage = config.authModal.signInInfoMessage; @@ -151,4 +152,10 @@ export class AppComponent implements OnInit, OnDestroy { onSignInError(modal: AuthModalComponent, error: any) { this._authModalService.onSignInError(modal, error); } + onAbout(data?: any): void { + this._modalsService.info({ + title: config.app.title, + message: config.app.description + }); + } } diff --git a/apps/demo/src/app/i18n/ru.i18n.ts b/apps/demo/src/app/i18n/ru.i18n.ts index 127a66a9..63133641 100644 --- a/apps/demo/src/app/i18n/ru.i18n.ts +++ b/apps/demo/src/app/i18n/ru.i18n.ts @@ -3,7 +3,7 @@ export const RuI18n = { Cancel: 'Отмена', Select: 'Выбрать', 'Rucken: Ionic': 'Rucken: Ионик', - 'Admin UI for Ionic4 with Angular7+ mobile application based on Rucken template': 'Мобильное приложение с админкой на Ionic4 и Angular7 + на основе шаблона Rucken', + 'Admin UI for Ionic4 with Angular7+ mobile application based on Rucken template': 'Мобильное приложение с админкой на Ionic4 и Angular7+ на основе шаблона Rucken', Russian: 'Русский', English: 'Английский', 'Demo users:': 'Демо пользователи:', diff --git a/apps/demo/src/app/i18n/ru.po b/apps/demo/src/app/i18n/ru.po index daf3f3a2..b7d723a2 100644 --- a/apps/demo/src/app/i18n/ru.po +++ b/apps/demo/src/app/i18n/ru.po @@ -25,7 +25,7 @@ msgid "Rucken: Ionic" msgstr "Rucken: Ионик" msgid "Admin UI for Ionic4 with Angular7+ mobile application based on Rucken template" -msgstr "Мобильное приложение с админкой на Ionic4 и Angular7 + на основе шаблона Rucken" +msgstr "Мобильное приложение с админкой на Ionic4 и Angular7+ на основе шаблона Rucken" msgid "Russian" msgstr "Русский" diff --git a/libs/rucken/ionic/src/i18n/template.pot b/libs/rucken/ionic/src/i18n/template.pot index c4edc988..27b0f8b7 100644 --- a/libs/rucken/ionic/src/i18n/template.pot +++ b/libs/rucken/ionic/src/i18n/template.pot @@ -94,5 +94,8 @@ msgstr "" msgid "Error Log" msgstr "" +msgid "About" +msgstr "" + msgid "Sign in" msgstr "" \ No newline at end of file diff --git a/libs/rucken/ionic/src/lib/components/navbar/navbar.component.html b/libs/rucken/ionic/src/lib/components/navbar/navbar.component.html index 1af717f8..ab74125b 100644 --- a/libs/rucken/ionic/src/lib/components/navbar/navbar.component.html +++ b/libs/rucken/ionic/src/lib/components/navbar/navbar.component.html @@ -4,6 +4,18 @@ *ngFor="let item of leftRoutes$ | async"> + + + + + {{'About' | translate}} + + + [name]="signOutIcon"> {{'Sign out' | translate}} @@ -23,7 +35,7 @@ *ngIf="showSignIn"> + [name]="signInIcon"> {{'Sign in' | translate}} diff --git a/libs/rucken/ionic/src/lib/components/navbar/navbar.component.ts b/libs/rucken/ionic/src/lib/components/navbar/navbar.component.ts index 6804da62..ce0d6917 100644 --- a/libs/rucken/ionic/src/lib/components/navbar/navbar.component.ts +++ b/libs/rucken/ionic/src/lib/components/navbar/navbar.component.ts @@ -17,10 +17,20 @@ export class NavbarComponent { @Input() menuItemTemplate: TemplateRef = undefined; + @Input() + signInIcon = 'contact'; + @Input() + signOutIcon = 'log-out'; + @Input() + aboutIcon = 'information-circle'; + @Input() showSignIn: boolean = undefined; @Input() showSignOut: boolean = undefined; + @Input() + showAbout: boolean = undefined; + @Input() title: string = undefined; @@ -28,6 +38,8 @@ export class NavbarComponent { signIn = new EventEmitter(); @Output() signOut = new EventEmitter(); + @Output() + about = new EventEmitter(); @BindObservable() @Input() @@ -79,4 +91,10 @@ export class NavbarComponent { } this.signOut.emit(signOutData); } + onAboutClick(aboutData?: any) { + if (isDevMode() && this.about.observers.length === 0) { + console.warn('No subscribers found for "about"', this); + } + this.about.emit(aboutData); + } }