@open-rlb/ng-app 3.1.55 → 3.1.56
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.
|
@@ -2013,6 +2013,9 @@ class SettingsDropdownSelectorComponent {
|
|
|
2013
2013
|
goToInlineSettings() {
|
|
2014
2014
|
this.activeSlide = 1;
|
|
2015
2015
|
}
|
|
2016
|
+
logout() {
|
|
2017
|
+
this.store.dispatch(AuthActions.logout());
|
|
2018
|
+
}
|
|
2016
2019
|
ngOnDestroy() { }
|
|
2017
2020
|
change(event) {
|
|
2018
2021
|
if (event === 'hidden') {
|
|
@@ -2057,11 +2060,11 @@ class SettingsDropdownSelectorComponent {
|
|
|
2057
2060
|
this.menu().close();
|
|
2058
2061
|
}
|
|
2059
2062
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.2", ngImport: i0, type: SettingsDropdownSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2060
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.2", type: SettingsDropdownSelectorComponent, isStandalone: false, selector: "rlb-settings-dropdown-selector", inputs: { apps: { classPropertyName: "apps", publicName: "apps", isSignal: true, isRequired: true, transformFunction: null }, navbarHasSettings: { classPropertyName: "navbarHasSettings", publicName: "navbarHasSettings", isSignal: true, isRequired: true, transformFunction: null }, navbarHasLogin: { classPropertyName: "navbarHasLogin", publicName: "navbarHasLogin", isSignal: true, isRequired: true, transformFunction: null }, isAuth: { classPropertyName: "isAuth", publicName: "isAuth", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { appSelected: "appSelected" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, isSignal: true }], ngImport: i0, template: "<rlb-navbar-dropdown-item #menu dropdown auto-close=\"outside\" (status-changed)=\"change($event)\">\n <!-- Dropdown Toggle Icon -->\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.settings.title') | translate\">\n <i class=\"bi bi-gear fs-5\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{ 'core.settings.title' | translate }}</span>\n\n <!-- Dropdown Container -->\n <rlb-dropdown-container placement=\"right\">\n\n <rlb-carousel\n [hide-indicators]=\"true\"\n [hide-controls]=\"true\"\n autoplay=\"none\"\n [no-touch]=\"true\"\n [(current-slide)]=\"activeSlide\"\n style=\"width: 320px; display: block;\">\n\n <rlb-carousel-slide [active]=\"true\">\n <div class=\"p-3\">\n <h6 class=\"dropdown-header px-0 text-center mb-2 fw-bold text-dark\">\n {{ 'core.settings.title' | translate }}\n </h6>\n\n <div class=\"row row-cols-3 g-2\">\n\n <!-- General Settings -->\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n (click)=\"goToInlineSettings()\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-sliders fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">{{ 'core.settings.generalTitle' | translate }}</span>\n </button>\n </div>\n\n <!-- Dynamic App Settings -->\n @for (app of apps(); track app.id) {\n @if (app.settings) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n [disabled]=\"!app.enabled && (app.settings.auth && !(isAuth()))\"\n (click)=\"selectApp(app)\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i [ngClass]=\"['bi', 'fs-4', 'mb-1', app.settings.icon || 'bi-gear']\"></i>\n <span class=\"small text-truncate w-100\" [title]=\"(app.settings.title | translate) || app.data?.appName\">\n {{ (app.settings.title | translate) || app.data?.appName }}\n </span>\n </button>\n </div>\n }\n }\n\n <!-- System / Status -->\n @if (pages?.['status']?.path) {\n <div class=\"col\">\n <button rlb-button outline color=\"primary\" routerLink=\"/status\" class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-check2-circle fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">{{ 'core.settings.status' | translate }}</span>\n </button>\n </div>\n }\n\n <!-- Logger -->\n @if (pages?.['logger']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/logger\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-file-text fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.logger' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Privacy -->\n @if (pages?.['privacy']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/privacy\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-shield-check fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.privacy' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Cookies -->\n @if (pages?.['cookies']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/cookies\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-cookie fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.cookies' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Terms -->\n @if (pages?.['terms']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/terms\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-vector-pen fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.legal' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Support -->\n @if (pages?.['support']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/support\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-chat-quote fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.support' | translate }}\n </span>\n </button>\n </div>\n }\n\n </div>\n </div>\n </rlb-carousel-slide>\n\n <rlb-carousel-slide>\n <div class=\"p-3\">\n\n <div class=\"d-flex align-items-center mb-3\">\n <button class=\"btn btn-sm btn-link text-dark p-0 me-2 border-0 text-decoration-none\" (click)=\"goToFirst()\">\n <i class=\"bi bi-arrow-left fs-5\"></i>\n </button>\n <h6 class=\"mb-0 fw-bold\">{{ 'core.settings.generalTitle' | translate }}</h6>\n </div>\n\n <!-- Inline Settings Content without routing -->\n <rlb-list class=\"settings\">\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'core.settings.generalTheme' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-switch size=\"small\" [(ngModel)]=\"darkMode\" class=\"mt-2\" />\n </div>\n </div>\n </rlb-list-item>\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between\">\n <div class=\"settings-text\">\n <h6 class=\"mt-1\">{{ 'core.settings.generalLanguage' | translate}}</h6>\n </div>\n <div class=\"settings-control\">\n <rlb-select size=\"small\" [(ngModel)]=\"currentLanguage\">\n @for (l of languages; track l.value) {\n <rlb-option [value]=\"l.value\">{{l.label}}</rlb-option>\n }\n </rlb-select>\n </div>\n </div>\n </rlb-list-item>\n </rlb-list>\n\n </div>\n </rlb-carousel-slide>\n\n </rlb-carousel>\n\n </rlb-dropdown-container>\n</rlb-navbar-dropdown-item>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$1.SwitchComponent, selector: "rlb-switch", inputs: ["disabled", "readonly", "size", "id"] }, { kind: "component", type: i2$1.SelectComponent, selector: "rlb-select", inputs: ["placeholder", "size", "disabled", "readonly", "multiple", "display", "id", "enable-validation"] }, { kind: "component", type: i2$1.OptionComponent, selector: "rlb-option", inputs: ["value", "disabled"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "directive", type: i2$1.TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltip-placement", "tooltip-class", "tooltip-html"] }, { kind: "component", type: i2$1.DropdownContainerComponent, selector: "ul[rlb-dropdown-menu], rlb-dropdown-container", inputs: ["placement", "placement-sm", "placement-md", "placement-lg", "placement-xl", "placement-xxl"] }, { kind: "component", type: i2$1.NavbarDropdownItemComponent, selector: "rlb-navbar-dropdown-item", inputs: ["disabled", "dropdown", "href", "class", "toggle", "auto-close"], outputs: ["click", "status-changed"] }, { kind: "component", type: i2$1.CarouselComponent, selector: "rlb-carousel", inputs: ["id", "hide-indicators", "hide-controls", "cross-fade", "autoplay", "interval", "pause", "wrap", "no-touch", "keyboard", "current-slide"], outputs: ["slid", "slide", "current-slideChange", "slide-count"] }, { kind: "component", type: i2$1.CarouselSlideComponent, selector: "rlb-carousel-slide", inputs: ["active", "id"] }, { kind: "component", type: i2$1.ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: i2$1.ListItemComponent, selector: "rlb-list-item", inputs: ["active", "disabled", "action"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i1$3.TranslatePipe, name: "translate" }] }); }
|
|
2063
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.2", type: SettingsDropdownSelectorComponent, isStandalone: false, selector: "rlb-settings-dropdown-selector", inputs: { apps: { classPropertyName: "apps", publicName: "apps", isSignal: true, isRequired: true, transformFunction: null }, navbarHasSettings: { classPropertyName: "navbarHasSettings", publicName: "navbarHasSettings", isSignal: true, isRequired: true, transformFunction: null }, navbarHasLogin: { classPropertyName: "navbarHasLogin", publicName: "navbarHasLogin", isSignal: true, isRequired: true, transformFunction: null }, isAuth: { classPropertyName: "isAuth", publicName: "isAuth", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { appSelected: "appSelected" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, isSignal: true }], ngImport: i0, template: "<rlb-navbar-dropdown-item #menu dropdown auto-close=\"outside\" (status-changed)=\"change($event)\">\n <!-- Dropdown Toggle Icon -->\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.settings.title') | translate\">\n <i class=\"bi bi-gear fs-5\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{ 'core.settings.title' | translate }}</span>\n\n <!-- Dropdown Container -->\n <rlb-dropdown-container placement=\"right\">\n\n <rlb-carousel\n [hide-indicators]=\"true\"\n [hide-controls]=\"true\"\n autoplay=\"none\"\n [no-touch]=\"true\"\n [(current-slide)]=\"activeSlide\"\n style=\"width: 320px; display: block;\">\n\n <rlb-carousel-slide [active]=\"true\">\n <div class=\"p-3\">\n <h6 class=\"dropdown-header px-0 text-center mb-2 fw-bold text-dark\">\n {{ 'core.settings.title' | translate }}\n </h6>\n\n <div class=\"row row-cols-3 g-2\">\n\n <!-- General Settings -->\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n (click)=\"goToInlineSettings()\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-person fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">{{ 'core.account.settings.title' | translate }}</span>\n </button>\n </div>\n\n <!-- Dynamic App Settings -->\n @for (app of apps(); track app.id) {\n @if (app.settings) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n [disabled]=\"!app.enabled && (app.settings.auth && !(isAuth()))\"\n (click)=\"selectApp(app)\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i [ngClass]=\"['bi', 'fs-4', 'mb-1', app.settings.icon || 'bi-gear']\"></i>\n <span class=\"small text-truncate w-100\" [title]=\"(app.settings.title | translate) || app.data?.appName\">\n {{ (app.settings.title | translate) || app.data?.appName }}\n </span>\n </button>\n </div>\n }\n }\n\n <!-- System / Status -->\n @if (pages?.['status']?.path) {\n <div class=\"col\">\n <button rlb-button outline color=\"primary\" routerLink=\"/status\" class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-check2-circle fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">{{ 'core.settings.status' | translate }}</span>\n </button>\n </div>\n }\n\n <!-- Logger -->\n @if (pages?.['logger']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/logger\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-file-text fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.logger' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Privacy -->\n @if (pages?.['privacy']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/privacy\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-shield-check fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.privacy' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Cookies -->\n @if (pages?.['cookies']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/cookies\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-cookie fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.cookies' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Terms -->\n @if (pages?.['terms']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/terms\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-vector-pen fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.legal' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Support -->\n @if (pages?.['support']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/support\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-chat-quote fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.support' | translate }}\n </span>\n </button>\n </div>\n }\n\n </div>\n </div>\n </rlb-carousel-slide>\n\n <rlb-carousel-slide>\n <div class=\"p-3\">\n\n <!-- Header -->\n <div class=\"d-flex align-items-center mb-3\">\n <button class=\"btn btn-sm btn-link text-reset p-0 me-2 border-0 text-decoration-none\" (click)=\"goToFirst()\">\n <i class=\"bi bi-arrow-left fs-5\"></i>\n </button>\n <h6 class=\"mb-0 fw-bold\">{{ 'core.account.settings.title' | translate }}</h6>\n </div>\n\n <rlb-list class=\"settings\">\n\n <!-- Theme Settings -->\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.settings.generalTheme' | translate}}</span>\n </div>\n <div class=\"settings-control\">\n <rlb-switch size=\"small\" [(ngModel)]=\"darkMode\" />\n </div>\n </div>\n </rlb-list-item>\n\n <!-- Language Settings -->\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.settings.generalLanguage' | translate}}</span>\n </div>\n <div class=\"settings-control\">\n <rlb-select size=\"small\" [(ngModel)]=\"currentLanguage\">\n @for (l of languages; track l.value) {\n <rlb-option [value]=\"l.value\">{{l.label}}</rlb-option>\n }\n </rlb-select>\n </div>\n </div>\n </rlb-list-item>\n\n <!-- Show More -->\n <rlb-list-item action class=\"settings-item\" routerLink=\"/profile\" style=\"cursor: pointer;\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.account.settings.showMore' | translate }}</span>\n </div>\n <div class=\"settings-control text-primary\">\n <i class=\"bi bi-arrow-up-right-square fs-5\"></i>\n </div>\n </div>\n </rlb-list-item>\n\n <!-- Logout -->\n <rlb-list-item action (click)=\"logout()\" class=\"settings-item\" style=\"cursor: pointer;\">\n <div class=\"d-flex justify-content-between align-items-center text-danger\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.account.logout' | translate }}</span>\n </div>\n <div class=\"settings-control\">\n <i class=\"bi bi-box-arrow-left fs-5\"></i>\n </div>\n </div>\n </rlb-list-item>\n\n </rlb-list>\n </div>\n </rlb-carousel-slide>\n\n </rlb-carousel>\n\n </rlb-dropdown-container>\n</rlb-navbar-dropdown-item>\n", styles: [""], dependencies: [{ kind: "directive", type: i1$6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$1.SwitchComponent, selector: "rlb-switch", inputs: ["disabled", "readonly", "size", "id"] }, { kind: "component", type: i2$1.SelectComponent, selector: "rlb-select", inputs: ["placeholder", "size", "disabled", "readonly", "multiple", "display", "id", "enable-validation"] }, { kind: "component", type: i2$1.OptionComponent, selector: "rlb-option", inputs: ["value", "disabled"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "button[rlb-button], a[rlb-button]", inputs: ["color", "size", "disabled", "outline", "isLink"] }, { kind: "directive", type: i2$1.TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltip-placement", "tooltip-class", "tooltip-html"] }, { kind: "component", type: i2$1.DropdownContainerComponent, selector: "ul[rlb-dropdown-menu], rlb-dropdown-container", inputs: ["placement", "placement-sm", "placement-md", "placement-lg", "placement-xl", "placement-xxl"] }, { kind: "component", type: i2$1.NavbarDropdownItemComponent, selector: "rlb-navbar-dropdown-item", inputs: ["disabled", "dropdown", "href", "class", "toggle", "auto-close"], outputs: ["click", "status-changed"] }, { kind: "component", type: i2$1.CarouselComponent, selector: "rlb-carousel", inputs: ["id", "hide-indicators", "hide-controls", "cross-fade", "autoplay", "interval", "pause", "wrap", "no-touch", "keyboard", "current-slide"], outputs: ["slid", "slide", "current-slideChange", "slide-count"] }, { kind: "component", type: i2$1.CarouselSlideComponent, selector: "rlb-carousel-slide", inputs: ["active", "id"] }, { kind: "component", type: i2$1.ListComponent, selector: "rlb-list", inputs: ["disabled", "numbered", "flush", "horizontal"] }, { kind: "component", type: i2$1.ListItemComponent, selector: "rlb-list-item", inputs: ["active", "disabled", "action"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i1$3.TranslatePipe, name: "translate" }] }); }
|
|
2061
2064
|
}
|
|
2062
2065
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.2", ngImport: i0, type: SettingsDropdownSelectorComponent, decorators: [{
|
|
2063
2066
|
type: Component,
|
|
2064
|
-
args: [{ selector: 'rlb-settings-dropdown-selector', standalone: false, template: "<rlb-navbar-dropdown-item #menu dropdown auto-close=\"outside\" (status-changed)=\"change($event)\">\n <!-- Dropdown Toggle Icon -->\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.settings.title') | translate\">\n <i class=\"bi bi-gear fs-5\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{ 'core.settings.title' | translate }}</span>\n\n <!-- Dropdown Container -->\n <rlb-dropdown-container placement=\"right\">\n\n <rlb-carousel\n [hide-indicators]=\"true\"\n [hide-controls]=\"true\"\n autoplay=\"none\"\n [no-touch]=\"true\"\n [(current-slide)]=\"activeSlide\"\n style=\"width: 320px; display: block;\">\n\n <rlb-carousel-slide [active]=\"true\">\n <div class=\"p-3\">\n <h6 class=\"dropdown-header px-0 text-center mb-2 fw-bold text-dark\">\n {{ 'core.settings.title' | translate }}\n </h6>\n\n <div class=\"row row-cols-3 g-2\">\n\n <!-- General Settings -->\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n (click)=\"goToInlineSettings()\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-
|
|
2067
|
+
args: [{ selector: 'rlb-settings-dropdown-selector', standalone: false, template: "<rlb-navbar-dropdown-item #menu dropdown auto-close=\"outside\" (status-changed)=\"change($event)\">\n <!-- Dropdown Toggle Icon -->\n <span tooltip-placement=\"bottom\" [tooltip]=\"('core.settings.title') | translate\">\n <i class=\"bi bi-gear fs-5\"></i>\n </span>\n <span class=\"ms-1 d-lg-none\">{{ 'core.settings.title' | translate }}</span>\n\n <!-- Dropdown Container -->\n <rlb-dropdown-container placement=\"right\">\n\n <rlb-carousel\n [hide-indicators]=\"true\"\n [hide-controls]=\"true\"\n autoplay=\"none\"\n [no-touch]=\"true\"\n [(current-slide)]=\"activeSlide\"\n style=\"width: 320px; display: block;\">\n\n <rlb-carousel-slide [active]=\"true\">\n <div class=\"p-3\">\n <h6 class=\"dropdown-header px-0 text-center mb-2 fw-bold text-dark\">\n {{ 'core.settings.title' | translate }}\n </h6>\n\n <div class=\"row row-cols-3 g-2\">\n\n <!-- General Settings -->\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n (click)=\"goToInlineSettings()\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-person fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">{{ 'core.account.settings.title' | translate }}</span>\n </button>\n </div>\n\n <!-- Dynamic App Settings -->\n @for (app of apps(); track app.id) {\n @if (app.settings) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n [disabled]=\"!app.enabled && (app.settings.auth && !(isAuth()))\"\n (click)=\"selectApp(app)\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i [ngClass]=\"['bi', 'fs-4', 'mb-1', app.settings.icon || 'bi-gear']\"></i>\n <span class=\"small text-truncate w-100\" [title]=\"(app.settings.title | translate) || app.data?.appName\">\n {{ (app.settings.title | translate) || app.data?.appName }}\n </span>\n </button>\n </div>\n }\n }\n\n <!-- System / Status -->\n @if (pages?.['status']?.path) {\n <div class=\"col\">\n <button rlb-button outline color=\"primary\" routerLink=\"/status\" class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-check2-circle fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">{{ 'core.settings.status' | translate }}</span>\n </button>\n </div>\n }\n\n <!-- Logger -->\n @if (pages?.['logger']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/logger\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-file-text fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.logger' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Privacy -->\n @if (pages?.['privacy']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/privacy\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-shield-check fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.privacy' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Cookies -->\n @if (pages?.['cookies']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/cookies\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-cookie fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.cookies' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Terms -->\n @if (pages?.['terms']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/terms\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-vector-pen fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.legal' | translate }}\n </span>\n </button>\n </div>\n }\n\n <!-- Support -->\n @if (pages?.['support']?.path) {\n <div class=\"col\">\n <button\n rlb-button\n outline\n color=\"primary\"\n routerLink=\"/support\"\n class=\"w-100 h-100 d-flex flex-column align-items-center justify-content-center p-2 text-decoration-none\">\n <i class=\"bi bi-chat-quote fs-4 mb-1\"></i>\n <span class=\"small text-truncate w-100\">\n {{ 'core.settings.support' | translate }}\n </span>\n </button>\n </div>\n }\n\n </div>\n </div>\n </rlb-carousel-slide>\n\n <rlb-carousel-slide>\n <div class=\"p-3\">\n\n <!-- Header -->\n <div class=\"d-flex align-items-center mb-3\">\n <button class=\"btn btn-sm btn-link text-reset p-0 me-2 border-0 text-decoration-none\" (click)=\"goToFirst()\">\n <i class=\"bi bi-arrow-left fs-5\"></i>\n </button>\n <h6 class=\"mb-0 fw-bold\">{{ 'core.account.settings.title' | translate }}</h6>\n </div>\n\n <rlb-list class=\"settings\">\n\n <!-- Theme Settings -->\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.settings.generalTheme' | translate}}</span>\n </div>\n <div class=\"settings-control\">\n <rlb-switch size=\"small\" [(ngModel)]=\"darkMode\" />\n </div>\n </div>\n </rlb-list-item>\n\n <!-- Language Settings -->\n <rlb-list-item class=\"settings-item\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.settings.generalLanguage' | translate}}</span>\n </div>\n <div class=\"settings-control\">\n <rlb-select size=\"small\" [(ngModel)]=\"currentLanguage\">\n @for (l of languages; track l.value) {\n <rlb-option [value]=\"l.value\">{{l.label}}</rlb-option>\n }\n </rlb-select>\n </div>\n </div>\n </rlb-list-item>\n\n <!-- Show More -->\n <rlb-list-item action class=\"settings-item\" routerLink=\"/profile\" style=\"cursor: pointer;\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.account.settings.showMore' | translate }}</span>\n </div>\n <div class=\"settings-control text-primary\">\n <i class=\"bi bi-arrow-up-right-square fs-5\"></i>\n </div>\n </div>\n </rlb-list-item>\n\n <!-- Logout -->\n <rlb-list-item action (click)=\"logout()\" class=\"settings-item\" style=\"cursor: pointer;\">\n <div class=\"d-flex justify-content-between align-items-center text-danger\">\n <div class=\"settings-text\">\n <span class=\"fw-semibold\">{{ 'core.account.logout' | translate }}</span>\n </div>\n <div class=\"settings-control\">\n <i class=\"bi bi-box-arrow-left fs-5\"></i>\n </div>\n </div>\n </rlb-list-item>\n\n </rlb-list>\n </div>\n </rlb-carousel-slide>\n\n </rlb-carousel>\n\n </rlb-dropdown-container>\n</rlb-navbar-dropdown-item>\n" }]
|
|
2065
2068
|
}], ctorParameters: () => [], propDecorators: { apps: [{ type: i0.Input, args: [{ isSignal: true, alias: "apps", required: true }] }], navbarHasSettings: [{ type: i0.Input, args: [{ isSignal: true, alias: "navbarHasSettings", required: true }] }], navbarHasLogin: [{ type: i0.Input, args: [{ isSignal: true, alias: "navbarHasLogin", required: true }] }], isAuth: [{ type: i0.Input, args: [{ isSignal: true, alias: "isAuth", required: true }] }], appSelected: [{ type: i0.Output, args: ["appSelected"] }], menu: [{ type: i0.ViewChild, args: ['menu', { isSignal: true }] }] } });
|
|
2066
2069
|
|
|
2067
2070
|
class AppDropdownSelectorComponent {
|