From 789ba349318e7ff012590491e76087a1204cccd4 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 19 Jan 2023 14:52:27 +0100 Subject: Support mailto links for custom markup --- .../about-instance/about-instance.resolver.ts | 25 +++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'client/src/app/+about/about-instance/about-instance.resolver.ts') diff --git a/client/src/app/+about/about-instance/about-instance.resolver.ts b/client/src/app/+about/about-instance/about-instance.resolver.ts index ee0219df0..8818fc582 100644 --- a/client/src/app/+about/about-instance/about-instance.resolver.ts +++ b/client/src/app/+about/about-instance/about-instance.resolver.ts @@ -2,16 +2,25 @@ import { forkJoin } from 'rxjs' import { map, switchMap } from 'rxjs/operators' import { Injectable } from '@angular/core' import { Resolve } from '@angular/router' -import { InstanceService } from '@app/shared/shared-instance' +import { CustomMarkupService } from '@app/shared/shared-custom-markup' +import { AboutHTML, InstanceService } from '@app/shared/shared-instance' import { About } from '@shared/models/server' -export type ResolverData = { about: About, languages: string[], categories: string[] } +export type ResolverData = { + about: About + languages: string[] + categories: string[] + aboutHTML: AboutHTML + descriptionElement: HTMLDivElement +} @Injectable() export class AboutInstanceResolver implements Resolve { constructor ( - private instanceService: InstanceService + private instanceService: InstanceService, + private customMarkupService: CustomMarkupService + ) {} resolve () { @@ -19,9 +28,15 @@ export class AboutInstanceResolver implements Resolve { .pipe( switchMap(about => { return forkJoin([ + Promise.resolve(about), this.instanceService.buildTranslatedLanguages(about), - this.instanceService.buildTranslatedCategories(about) - ]).pipe(map(([ languages, categories ]) => ({ about, languages, categories }) as ResolverData)) + this.instanceService.buildTranslatedCategories(about), + this.instanceService.buildHtml(about), + this.customMarkupService.buildElement(about.instance.description) + ]) + }), + map(([ about, languages, categories, aboutHTML, { rootElement } ]) => { + return { about, languages, categories, aboutHTML, descriptionElement: rootElement } as ResolverData }) ) } -- cgit v1.2.3