valtech-components 4.0.216 → 4.0.218
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.
- package/esm2022/lib/components/organisms/account-view/account-view.component.mjs +114 -166
- package/fesm2022/valtech-components.mjs +112 -161
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/glow/glow.component.d.ts +1 -1
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
- package/lib/components/molecules/article-card/article-card.component.d.ts +1 -1
- package/lib/components/molecules/cta-card/cta-card.component.d.ts +1 -1
- package/lib/components/molecules/media-object/media-object.component.d.ts +1 -1
- package/lib/components/organisms/account-view/account-view.component.d.ts +2 -8
- package/lib/components/organisms/article/article.component.d.ts +4 -4
- package/lib/components/organisms/notification-preferences-view/notification-preferences-view.component.d.ts +1 -1
- package/lib/components/organisms/organization-view/organization-view.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -50105,28 +50105,6 @@ class AccountViewComponent {
|
|
|
50105
50105
|
onAccountDeleted: merged.onAccountDeleted,
|
|
50106
50106
|
};
|
|
50107
50107
|
});
|
|
50108
|
-
this.orgs = signal([]);
|
|
50109
|
-
this.orgsLoading = signal(false);
|
|
50110
|
-
this.orgsError = signal(null);
|
|
50111
|
-
this.orgsErrorState = computed(() => {
|
|
50112
|
-
this.i18n.lang();
|
|
50113
|
-
const err = this.orgsError();
|
|
50114
|
-
if (!err)
|
|
50115
|
-
return null;
|
|
50116
|
-
return createErrorStateProps(err, {
|
|
50117
|
-
title: {
|
|
50118
|
-
offline: this.tt('orgsOfflineTitle'),
|
|
50119
|
-
error: this.tt('orgsErrorTitle'),
|
|
50120
|
-
},
|
|
50121
|
-
description: {
|
|
50122
|
-
offline: this.tt('orgsOfflineHint'),
|
|
50123
|
-
error: this.tt('orgsErrorHint'),
|
|
50124
|
-
},
|
|
50125
|
-
retryLabel: this.tt('orgsRetry'),
|
|
50126
|
-
onRetry: () => this.loadOrgs(),
|
|
50127
|
-
retrying: this.orgsLoading(),
|
|
50128
|
-
});
|
|
50129
|
-
});
|
|
50130
50108
|
this.createOrgOpen = signal(false);
|
|
50131
50109
|
this.deleteAccountOpen = signal(false);
|
|
50132
50110
|
this.activeOrgLogoFailed = signal(false);
|
|
@@ -50170,14 +50148,13 @@ class AccountViewComponent {
|
|
|
50170
50148
|
this.dangerDeleteHint = computed(() => this.tt('dangerDeleteHint'));
|
|
50171
50149
|
this.activeOrgId = computed(() => {
|
|
50172
50150
|
const u = this.auth.user();
|
|
50173
|
-
|
|
50174
|
-
return explicit || this.orgs()[0]?.id || '';
|
|
50151
|
+
return u?.activeOrgId ?? u?.activeOrg ?? '';
|
|
50175
50152
|
});
|
|
50176
50153
|
this.activeOrgRole = computed(() => {
|
|
50177
50154
|
const roles = this.auth.roles?.() ?? [];
|
|
50178
50155
|
return roles[0] ?? null;
|
|
50179
50156
|
});
|
|
50180
|
-
this.activeOrg =
|
|
50157
|
+
this.activeOrg = signal(null);
|
|
50181
50158
|
this.logoutButtonProps = computed(() => ({
|
|
50182
50159
|
text: this.tt('logout'),
|
|
50183
50160
|
color: 'dark',
|
|
@@ -50199,11 +50176,23 @@ class AccountViewComponent {
|
|
|
50199
50176
|
const ns = this.ns;
|
|
50200
50177
|
this.i18n.registerDefaults(ns, ACCOUNT_VIEW_I18N);
|
|
50201
50178
|
this.nav.setBackHeader('pageTitle', ns, { withMenu: true });
|
|
50202
|
-
this.loadOrgs();
|
|
50203
50179
|
this.loadPendingInvites();
|
|
50204
|
-
|
|
50205
|
-
|
|
50180
|
+
effect(() => {
|
|
50181
|
+
const orgId = this.activeOrgId();
|
|
50182
|
+
if (!orgId) {
|
|
50183
|
+
this.activeOrg.set(null);
|
|
50184
|
+
return;
|
|
50185
|
+
}
|
|
50186
|
+
this.activeOrgLogoFailed.set(false);
|
|
50187
|
+
this.orgService
|
|
50188
|
+
.getOrg(orgId)
|
|
50189
|
+
.pipe(take(1))
|
|
50190
|
+
.subscribe({
|
|
50191
|
+
next: org => this.activeOrg.set(org),
|
|
50192
|
+
error: () => this.activeOrg.set(null),
|
|
50193
|
+
});
|
|
50206
50194
|
});
|
|
50195
|
+
connectPageRefresh(() => this.loadPendingInvites());
|
|
50207
50196
|
}
|
|
50208
50197
|
orgTypeLabel(type) {
|
|
50209
50198
|
const map = {
|
|
@@ -50225,7 +50214,6 @@ class AccountViewComponent {
|
|
|
50225
50214
|
this.createOrgOpen.set(true);
|
|
50226
50215
|
}
|
|
50227
50216
|
onOrgCreated(newOrg) {
|
|
50228
|
-
this.loadOrgs();
|
|
50229
50217
|
this.resolvedConfig().onOrgCreated?.(newOrg);
|
|
50230
50218
|
}
|
|
50231
50219
|
onMoreInfo() {
|
|
@@ -50291,7 +50279,6 @@ class AccountViewComponent {
|
|
|
50291
50279
|
duration: 3500,
|
|
50292
50280
|
});
|
|
50293
50281
|
this.pendingInvites.update(list => list.filter(i => i.orgId !== invite.orgId));
|
|
50294
|
-
this.loadOrgs();
|
|
50295
50282
|
},
|
|
50296
50283
|
error: err => {
|
|
50297
50284
|
this.errors.handle(err, { context: 'account.acceptPendingInvite' });
|
|
@@ -50323,26 +50310,6 @@ class AccountViewComponent {
|
|
|
50323
50310
|
complete: () => this.inviteAccepting.set(null),
|
|
50324
50311
|
});
|
|
50325
50312
|
}
|
|
50326
|
-
loadOrgs() {
|
|
50327
|
-
this.orgsLoading.set(true);
|
|
50328
|
-
this.orgsError.set(null);
|
|
50329
|
-
return new Promise(resolve => {
|
|
50330
|
-
this.orgService.listMyOrgs().subscribe({
|
|
50331
|
-
next: orgs => {
|
|
50332
|
-
const activeId = this.activeOrgId();
|
|
50333
|
-
this.orgs.set([...orgs].sort((a, b) => (a.id === activeId ? -1 : b.id === activeId ? 1 : 0)));
|
|
50334
|
-
this.activeOrgLogoFailed.set(false);
|
|
50335
|
-
this.orgsLoading.set(false);
|
|
50336
|
-
resolve();
|
|
50337
|
-
},
|
|
50338
|
-
error: err => {
|
|
50339
|
-
this.orgsError.set(err);
|
|
50340
|
-
this.orgsLoading.set(false);
|
|
50341
|
-
resolve();
|
|
50342
|
-
},
|
|
50343
|
-
});
|
|
50344
|
-
});
|
|
50345
|
-
}
|
|
50346
50313
|
tt(key) {
|
|
50347
50314
|
return this.i18n.t(key, this.ns);
|
|
50348
50315
|
}
|
|
@@ -50402,66 +50369,59 @@ class AccountViewComponent {
|
|
|
50402
50369
|
/>
|
|
50403
50370
|
</div>
|
|
50404
50371
|
<div class="section-body">
|
|
50405
|
-
@if (
|
|
50406
|
-
<
|
|
50407
|
-
|
|
50408
|
-
|
|
50409
|
-
|
|
50410
|
-
|
|
50411
|
-
|
|
50412
|
-
|
|
50413
|
-
|
|
50414
|
-
|
|
50415
|
-
|
|
50416
|
-
|
|
50417
|
-
|
|
50418
|
-
|
|
50419
|
-
|
|
50420
|
-
|
|
50421
|
-
|
|
50422
|
-
|
|
50423
|
-
|
|
50424
|
-
|
|
50425
|
-
|
|
50426
|
-
|
|
50427
|
-
<span class="org-card__meta-item">
|
|
50428
|
-
<span class="org-card__meta-label">{{ tt('orgsLabelType') }}</span>
|
|
50429
|
-
{{ orgTypeLabel(org.type) }}
|
|
50430
|
-
</span>
|
|
50431
|
-
@if (activeOrgRole()) {
|
|
50432
|
-
<span class="org-card__meta-item">
|
|
50433
|
-
<span class="org-card__meta-label">{{ tt('orgsLabelRole') }}</span>
|
|
50434
|
-
{{ activeOrgRole() | titlecase }}
|
|
50435
|
-
</span>
|
|
50436
|
-
}
|
|
50372
|
+
@if (activeOrg(); as org) {
|
|
50373
|
+
<div class="orgs-list">
|
|
50374
|
+
<div class="org-card org-card--active">
|
|
50375
|
+
<div class="org-card__icon">
|
|
50376
|
+
@if (activeOrg()?.logoUrl && !activeOrgLogoFailed()) {
|
|
50377
|
+
<img
|
|
50378
|
+
[src]="activeOrg()!.logoUrl!"
|
|
50379
|
+
[alt]="activeOrg()?.name ?? ''"
|
|
50380
|
+
(error)="activeOrgLogoFailed.set(true)"
|
|
50381
|
+
/>
|
|
50382
|
+
} @else {
|
|
50383
|
+
<ion-icon name="business-outline" />
|
|
50384
|
+
}
|
|
50385
|
+
</div>
|
|
50386
|
+
<div class="org-card__body">
|
|
50387
|
+
<span class="org-card__name">{{ org.name }}</span>
|
|
50388
|
+
<div class="org-card__meta">
|
|
50389
|
+
<span class="org-card__meta-item">
|
|
50390
|
+
<span class="org-card__meta-label">{{ tt('orgsLabelType') }}</span>
|
|
50391
|
+
{{ orgTypeLabel(org.type) }}
|
|
50392
|
+
</span>
|
|
50393
|
+
@if (activeOrgRole()) {
|
|
50437
50394
|
<span class="org-card__meta-item">
|
|
50438
|
-
<span class="org-card__meta-label">{{ tt('
|
|
50439
|
-
{{
|
|
50395
|
+
<span class="org-card__meta-label">{{ tt('orgsLabelRole') }}</span>
|
|
50396
|
+
{{ activeOrgRole() | titlecase }}
|
|
50440
50397
|
</span>
|
|
50441
|
-
|
|
50442
|
-
|
|
50443
|
-
|
|
50444
|
-
|
|
50445
|
-
|
|
50446
|
-
</ion-button>
|
|
50398
|
+
}
|
|
50399
|
+
<span class="org-card__meta-item">
|
|
50400
|
+
<span class="org-card__meta-label">{{ tt('orgsLabelStatus') }}</span>
|
|
50401
|
+
{{ tt('orgsStatusActive') }}
|
|
50402
|
+
</span>
|
|
50447
50403
|
</div>
|
|
50448
50404
|
</div>
|
|
50449
|
-
|
|
50450
|
-
|
|
50451
|
-
|
|
50452
|
-
|
|
50453
|
-
<ion-icon name="people-outline" class="orgs-empty-card__icon" />
|
|
50454
|
-
<span class="orgs-empty-card__text">{{ orgsEmpty() }}</span>
|
|
50405
|
+
<div class="org-card__end">
|
|
50406
|
+
<ion-button fill="outline" color="dark" shape="round" size="small" (click)="onManageOrg()">
|
|
50407
|
+
{{ tt('orgsManage') }}
|
|
50408
|
+
</ion-button>
|
|
50455
50409
|
</div>
|
|
50456
|
-
<button class="orgs-empty-card__link" (click)="onMoreInfo()">
|
|
50457
|
-
{{ orgsMoreInfo() }}
|
|
50458
|
-
</button>
|
|
50459
50410
|
</div>
|
|
50460
|
-
|
|
50461
|
-
|
|
50462
|
-
|
|
50463
|
-
<
|
|
50464
|
-
|
|
50411
|
+
</div>
|
|
50412
|
+
} @else if (!activeOrgId()) {
|
|
50413
|
+
<div class="orgs-empty-card">
|
|
50414
|
+
<div class="orgs-empty-card__main">
|
|
50415
|
+
<ion-icon name="people-outline" class="orgs-empty-card__icon" />
|
|
50416
|
+
<span class="orgs-empty-card__text">{{ orgsEmpty() }}</span>
|
|
50417
|
+
</div>
|
|
50418
|
+
<button class="orgs-empty-card__link" (click)="onMoreInfo()">
|
|
50419
|
+
{{ orgsMoreInfo() }}
|
|
50420
|
+
</button>
|
|
50421
|
+
</div>
|
|
50422
|
+
}
|
|
50423
|
+
@if (resolvedConfig().showNewOrgCta) {
|
|
50424
|
+
<val-cta-card class="org-new-cta-card" [props]="newOrgCtaProps()" (onAction)="onNewOrg()" />
|
|
50465
50425
|
}
|
|
50466
50426
|
</div>
|
|
50467
50427
|
</section>
|
|
@@ -50528,14 +50488,12 @@ class AccountViewComponent {
|
|
|
50528
50488
|
(dismissed)="deleteAccountOpen.set(false)"
|
|
50529
50489
|
/>
|
|
50530
50490
|
</div>
|
|
50531
|
-
`, isInline: true, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:16px}.settings-section{padding:16px 0}.settings-section+.settings-section{border-top:1px solid var(--val-border-color, rgba(0, 0, 0, .08))}.settings-section val-title{display:block;margin-bottom:12px}.section-body{display:flex;flex-direction:column;gap:10px}.row-actions{margin-top:12px}.row-actions--gap{display:flex;flex-wrap:wrap;gap:8px}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.org-new-cta-card{display:block;margin-top:12px}.orgs-empty-card{background:var(--ion-color-secondary-tint, rgba(var(--ion-color-secondary-rgb, 130, 101, 208), .2));border-radius:18px;padding:18px 16px 12px;display:flex;flex-direction:column;gap:8px}.orgs-empty-card__main{display:flex;align-items:center;gap:10px}.orgs-empty-card__icon{font-size:20px;flex-shrink:0;color:var(--ion-color-dark)}.orgs-empty-card__text{font-size:.875rem;color:var(--ion-color-dark)}.orgs-empty-card__link{background:none;border:none;padding:0;cursor:pointer;font-size:.8125rem;color:var(--ion-color-primary);text-align:left;text-decoration:underline;text-underline-offset:2px;font-family:inherit}.orgs-list{display:flex;flex-direction:column;gap:8px}.org-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;background:var(--ion-color-light, #f4f5f8);border:1.5px solid transparent;cursor:pointer;transition:background .15s,border-color .15s}.org-card:active{opacity:.75}.org-card--active{border-color:var(--ion-color-primary);background:color-mix(in srgb,var(--ion-color-primary) 8%,transparent)}:host-context(body.dark) .org-card,:host-context(html.ion-palette-dark) .org-card,:host-context([data-theme=\"dark\"]) .org-card{background:#ffffff0d}:host-context(body.dark) .org-card--active,:host-context(html.ion-palette-dark) .org-card--active,:host-context([data-theme=\"dark\"]) .org-card--active{background:color-mix(in srgb,var(--ion-color-primary) 15%,transparent)}.org-card__icon{width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--ion-color-primary) 15%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px;color:var(--ion-color-primary);overflow:hidden;img{width:100%;height:100%;object-fit:cover;border-radius:50%}}.org-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.org-card__name{font-weight:600;font-size:.95rem;color:var(--ion-color-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-card__meta{display:flex;flex-direction:column;gap:1px;margin-top:3px}.org-card__meta-item{font-size:.78rem;color:var(--ion-color-dark)}.org-card__meta-label{font-weight:600;color:var(--ion-color-dark);margin-right:4px}.org-card__end{display:flex;align-items:center;gap:8px;flex-shrink:0}.section-title-danger{display:flex;align-items:center;gap:8px;margin-bottom:12px}.section-title-danger val-title{display:block;margin:0}.danger-icon{display:block;font-size:1.125rem;color:var(--ion-color-warning-shade, #d4a017);flex-shrink:0}.settings-section--danger{background:color-mix(in srgb,var(--ion-color-danger) 4%,transparent);border-radius:14px;padding:16px;margin:0 -4px}:host-context(body.dark) .settings-section--danger,:host-context(html.ion-palette-dark) .settings-section--danger,:host-context([data-theme=\"dark\"]) .settings-section--danger{background:color-mix(in srgb,var(--ion-color-danger) 8%,transparent)}\n"], dependencies: [{ kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type:
|
|
50491
|
+
`, isInline: true, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.page-header{margin-bottom:16px}.settings-section{padding:16px 0}.settings-section+.settings-section{border-top:1px solid var(--val-border-color, rgba(0, 0, 0, .08))}.settings-section val-title{display:block;margin-bottom:12px}.section-body{display:flex;flex-direction:column;gap:10px}.row-actions{margin-top:12px}.row-actions--gap{display:flex;flex-wrap:wrap;gap:8px}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.org-new-cta-card{display:block;margin-top:12px}.orgs-empty-card{background:var(--ion-color-secondary-tint, rgba(var(--ion-color-secondary-rgb, 130, 101, 208), .2));border-radius:18px;padding:18px 16px 12px;display:flex;flex-direction:column;gap:8px}.orgs-empty-card__main{display:flex;align-items:center;gap:10px}.orgs-empty-card__icon{font-size:20px;flex-shrink:0;color:var(--ion-color-dark)}.orgs-empty-card__text{font-size:.875rem;color:var(--ion-color-dark)}.orgs-empty-card__link{background:none;border:none;padding:0;cursor:pointer;font-size:.8125rem;color:var(--ion-color-primary);text-align:left;text-decoration:underline;text-underline-offset:2px;font-family:inherit}.orgs-list{display:flex;flex-direction:column;gap:8px}.org-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;background:var(--ion-color-light, #f4f5f8);border:1.5px solid transparent;cursor:pointer;transition:background .15s,border-color .15s}.org-card:active{opacity:.75}.org-card--active{border-color:var(--ion-color-primary);background:color-mix(in srgb,var(--ion-color-primary) 8%,transparent)}:host-context(body.dark) .org-card,:host-context(html.ion-palette-dark) .org-card,:host-context([data-theme=\"dark\"]) .org-card{background:#ffffff0d}:host-context(body.dark) .org-card--active,:host-context(html.ion-palette-dark) .org-card--active,:host-context([data-theme=\"dark\"]) .org-card--active{background:color-mix(in srgb,var(--ion-color-primary) 15%,transparent)}.org-card__icon{width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--ion-color-primary) 15%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px;color:var(--ion-color-primary);overflow:hidden;img{width:100%;height:100%;object-fit:cover;border-radius:50%}}.org-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.org-card__name{font-weight:600;font-size:.95rem;color:var(--ion-color-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-card__meta{display:flex;flex-direction:column;gap:1px;margin-top:3px}.org-card__meta-item{font-size:.78rem;color:var(--ion-color-dark)}.org-card__meta-label{font-weight:600;color:var(--ion-color-dark);margin-right:4px}.org-card__end{display:flex;align-items:center;gap:8px;flex-shrink:0}.section-title-danger{display:flex;align-items:center;gap:8px;margin-bottom:12px}.section-title-danger val-title{display:block;margin:0}.danger-icon{display:block;font-size:1.125rem;color:var(--ion-color-warning-shade, #d4a017);flex-shrink:0}.settings-section--danger{background:color-mix(in srgb,var(--ion-color-danger) 4%,transparent);border-radius:14px;padding:16px;margin:0 -4px}:host-context(body.dark) .settings-section--danger,:host-context(html.ion-palette-dark) .settings-section--danger,:host-context([data-theme=\"dark\"]) .settings-section--danger{background:color-mix(in srgb,var(--ion-color-danger) 8%,transparent)}\n"], dependencies: [{ kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }, { kind: "component", type: CtaCardComponent, selector: "val-cta-card", inputs: ["props"], outputs: ["onAction"] }, { kind: "component", type: InvitationCardComponent, selector: "val-invitation-card", inputs: ["props"], outputs: ["onAccept", "onDecline"] }, { kind: "component", type: CreateOrgModalComponent, selector: "val-create-org-modal", inputs: ["i18nNamespace", "isOpen"], outputs: ["dismissed", "created"] }, { kind: "component", type: DeleteAccountModalComponent, selector: "val-delete-account-modal", inputs: ["i18nNamespace", "isOpen"], outputs: ["dismissed"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }] }); }
|
|
50532
50492
|
}
|
|
50533
50493
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccountViewComponent, decorators: [{
|
|
50534
50494
|
type: Component,
|
|
50535
50495
|
args: [{ selector: 'val-account-view', standalone: true, imports: [
|
|
50536
50496
|
DisplayComponent,
|
|
50537
|
-
EmptyStateComponent,
|
|
50538
|
-
SkeletonLayoutComponent,
|
|
50539
50497
|
TitleComponent,
|
|
50540
50498
|
TextComponent,
|
|
50541
50499
|
ButtonComponent,
|
|
@@ -50601,66 +50559,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
50601
50559
|
/>
|
|
50602
50560
|
</div>
|
|
50603
50561
|
<div class="section-body">
|
|
50604
|
-
@if (
|
|
50605
|
-
<
|
|
50606
|
-
|
|
50607
|
-
|
|
50608
|
-
|
|
50609
|
-
|
|
50610
|
-
|
|
50611
|
-
|
|
50612
|
-
|
|
50613
|
-
|
|
50614
|
-
|
|
50615
|
-
|
|
50616
|
-
|
|
50617
|
-
|
|
50618
|
-
|
|
50619
|
-
|
|
50620
|
-
|
|
50621
|
-
|
|
50622
|
-
|
|
50623
|
-
|
|
50624
|
-
|
|
50625
|
-
|
|
50626
|
-
<span class="org-card__meta-item">
|
|
50627
|
-
<span class="org-card__meta-label">{{ tt('orgsLabelType') }}</span>
|
|
50628
|
-
{{ orgTypeLabel(org.type) }}
|
|
50629
|
-
</span>
|
|
50630
|
-
@if (activeOrgRole()) {
|
|
50631
|
-
<span class="org-card__meta-item">
|
|
50632
|
-
<span class="org-card__meta-label">{{ tt('orgsLabelRole') }}</span>
|
|
50633
|
-
{{ activeOrgRole() | titlecase }}
|
|
50634
|
-
</span>
|
|
50635
|
-
}
|
|
50562
|
+
@if (activeOrg(); as org) {
|
|
50563
|
+
<div class="orgs-list">
|
|
50564
|
+
<div class="org-card org-card--active">
|
|
50565
|
+
<div class="org-card__icon">
|
|
50566
|
+
@if (activeOrg()?.logoUrl && !activeOrgLogoFailed()) {
|
|
50567
|
+
<img
|
|
50568
|
+
[src]="activeOrg()!.logoUrl!"
|
|
50569
|
+
[alt]="activeOrg()?.name ?? ''"
|
|
50570
|
+
(error)="activeOrgLogoFailed.set(true)"
|
|
50571
|
+
/>
|
|
50572
|
+
} @else {
|
|
50573
|
+
<ion-icon name="business-outline" />
|
|
50574
|
+
}
|
|
50575
|
+
</div>
|
|
50576
|
+
<div class="org-card__body">
|
|
50577
|
+
<span class="org-card__name">{{ org.name }}</span>
|
|
50578
|
+
<div class="org-card__meta">
|
|
50579
|
+
<span class="org-card__meta-item">
|
|
50580
|
+
<span class="org-card__meta-label">{{ tt('orgsLabelType') }}</span>
|
|
50581
|
+
{{ orgTypeLabel(org.type) }}
|
|
50582
|
+
</span>
|
|
50583
|
+
@if (activeOrgRole()) {
|
|
50636
50584
|
<span class="org-card__meta-item">
|
|
50637
|
-
<span class="org-card__meta-label">{{ tt('
|
|
50638
|
-
{{
|
|
50585
|
+
<span class="org-card__meta-label">{{ tt('orgsLabelRole') }}</span>
|
|
50586
|
+
{{ activeOrgRole() | titlecase }}
|
|
50639
50587
|
</span>
|
|
50640
|
-
|
|
50641
|
-
|
|
50642
|
-
|
|
50643
|
-
|
|
50644
|
-
|
|
50645
|
-
</ion-button>
|
|
50588
|
+
}
|
|
50589
|
+
<span class="org-card__meta-item">
|
|
50590
|
+
<span class="org-card__meta-label">{{ tt('orgsLabelStatus') }}</span>
|
|
50591
|
+
{{ tt('orgsStatusActive') }}
|
|
50592
|
+
</span>
|
|
50646
50593
|
</div>
|
|
50647
50594
|
</div>
|
|
50648
|
-
|
|
50649
|
-
|
|
50650
|
-
|
|
50651
|
-
|
|
50652
|
-
<ion-icon name="people-outline" class="orgs-empty-card__icon" />
|
|
50653
|
-
<span class="orgs-empty-card__text">{{ orgsEmpty() }}</span>
|
|
50595
|
+
<div class="org-card__end">
|
|
50596
|
+
<ion-button fill="outline" color="dark" shape="round" size="small" (click)="onManageOrg()">
|
|
50597
|
+
{{ tt('orgsManage') }}
|
|
50598
|
+
</ion-button>
|
|
50654
50599
|
</div>
|
|
50655
|
-
<button class="orgs-empty-card__link" (click)="onMoreInfo()">
|
|
50656
|
-
{{ orgsMoreInfo() }}
|
|
50657
|
-
</button>
|
|
50658
50600
|
</div>
|
|
50659
|
-
|
|
50660
|
-
|
|
50661
|
-
|
|
50662
|
-
<
|
|
50663
|
-
|
|
50601
|
+
</div>
|
|
50602
|
+
} @else if (!activeOrgId()) {
|
|
50603
|
+
<div class="orgs-empty-card">
|
|
50604
|
+
<div class="orgs-empty-card__main">
|
|
50605
|
+
<ion-icon name="people-outline" class="orgs-empty-card__icon" />
|
|
50606
|
+
<span class="orgs-empty-card__text">{{ orgsEmpty() }}</span>
|
|
50607
|
+
</div>
|
|
50608
|
+
<button class="orgs-empty-card__link" (click)="onMoreInfo()">
|
|
50609
|
+
{{ orgsMoreInfo() }}
|
|
50610
|
+
</button>
|
|
50611
|
+
</div>
|
|
50612
|
+
}
|
|
50613
|
+
@if (resolvedConfig().showNewOrgCta) {
|
|
50614
|
+
<val-cta-card class="org-new-cta-card" [props]="newOrgCtaProps()" (onAction)="onNewOrg()" />
|
|
50664
50615
|
}
|
|
50665
50616
|
</div>
|
|
50666
50617
|
</section>
|