From cb9c01d94bc58fa1fcbd88327083518333a40090 Mon Sep 17 00:00:00 2001 From: Lucy C <12953208+elvece@users.noreply.github.com> Date: Fri, 1 Jul 2022 15:41:09 -0600 Subject: [PATCH] strip html from colors from logs (#1604) --- .../ui/src/app/pages/apps-routes/app-logs/app-logs.page.ts | 4 ++-- .../app/pages/server-routes/server-logs/server-logs.page.ts | 6 +++--- frontend/projects/ui/src/app/util/web.util.ts | 5 +++++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/frontend/projects/ui/src/app/pages/apps-routes/app-logs/app-logs.page.ts b/frontend/projects/ui/src/app/pages/apps-routes/app-logs/app-logs.page.ts index 2014d80ea..1920bf4b1 100644 --- a/frontend/projects/ui/src/app/pages/apps-routes/app-logs/app-logs.page.ts +++ b/frontend/projects/ui/src/app/pages/apps-routes/app-logs/app-logs.page.ts @@ -3,7 +3,7 @@ import { ActivatedRoute } from '@angular/router' import { getPkgId } from '@start9labs/shared' import { ToastController } from '@ionic/angular' import { ApiService } from 'src/app/services/api/embassy-api.service' -import { copyToClipboard } from 'src/app/util/web.util' +import { copyToClipboard, strip } from 'src/app/util/web.util' @Component({ selector: 'app-logs', @@ -41,7 +41,7 @@ export class AppLogsPage { const logs = document .getElementById('template') ?.cloneNode(true) as HTMLElement - const formatted = '```' + logs.innerHTML + '```' + const formatted = '```' + strip(logs.innerHTML) + '```' const success = await copyToClipboard(formatted) const message = success ? 'Copied to clipboard!' diff --git a/frontend/projects/ui/src/app/pages/server-routes/server-logs/server-logs.page.ts b/frontend/projects/ui/src/app/pages/server-routes/server-logs/server-logs.page.ts index 82589af0a..eb7b55593 100644 --- a/frontend/projects/ui/src/app/pages/server-routes/server-logs/server-logs.page.ts +++ b/frontend/projects/ui/src/app/pages/server-routes/server-logs/server-logs.page.ts @@ -1,7 +1,7 @@ import { Component } from '@angular/core' import { ToastController } from '@ionic/angular' import { ApiService } from 'src/app/services/api/embassy-api.service' -import { copyToClipboard } from 'src/app/util/web.util' +import { copyToClipboard, strip } from 'src/app/util/web.util' @Component({ selector: 'server-logs', @@ -17,7 +17,7 @@ export class ServerLogsPage { constructor( private readonly embassyApi: ApiService, private readonly toastCtrl: ToastController, - ) { } + ) {} fetchFetchLogs() { return async (params: { @@ -37,7 +37,7 @@ export class ServerLogsPage { const logs = document .getElementById('template') ?.cloneNode(true) as HTMLElement - const formatted = '```' + logs.innerHTML + '```' + const formatted = '```' + strip(logs.innerHTML) + '```' const success = await copyToClipboard(formatted) const message = success ? 'Copied to clipboard!' diff --git a/frontend/projects/ui/src/app/util/web.util.ts b/frontend/projects/ui/src/app/util/web.util.ts index 01f808df6..161017a4d 100644 --- a/frontend/projects/ui/src/app/util/web.util.ts +++ b/frontend/projects/ui/src/app/util/web.util.ts @@ -21,3 +21,8 @@ export async function copyToClipboard(str: string): Promise { return copy } } + +export function strip(html: string) { + let doc = new DOMParser().parseFromString(html, 'text/html') + return doc.body.textContent || '' +}