From 33f807bf3b028b0cbe2f543b2302ec25055f2878 Mon Sep 17 00:00:00 2001 From: Sigve Hansen Date: Thu, 21 Nov 2024 16:59:12 +0100 Subject: [PATCH] style: prettier --- components/I18nText.vue | 2 +- utils/lyricsEditor.ts | 54 ++++++++++++++++++++++------------------- 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/components/I18nText.vue b/components/I18nText.vue index 5ccc2a30..99984ae0 100644 --- a/components/I18nText.vue +++ b/components/I18nText.vue @@ -11,7 +11,7 @@ const translation = computed(() => { const properties = text.matchAll(/<(\w*)>/g); return { text: text.split(/<\w*>/), - properties: properties.toArray().map((x) => x[1]), + properties: Array.from(properties).map((x) => x[1]), }; }); diff --git a/utils/lyricsEditor.ts b/utils/lyricsEditor.ts index 8dcc4b0c..872793ec 100644 --- a/utils/lyricsEditor.ts +++ b/utils/lyricsEditor.ts @@ -2,36 +2,40 @@ import type { LyricsVerse } from "@bcc-code/bmm-sdk-fetch"; import { stripHtml } from "string-strip-html"; export function lyricsVersesFromHtml(_html: string) { - const verseStrings = _html - .replaceAll("

", "\n

") - .split("\n") - .filter(Boolean); - const verseObjects = verseStrings - .filter((verseString) => verseString !== "

") - .map((verseString) => { - const title = verseString.match(/

(.*?)<\/h3>/)?.[1]; - const text = verseString - .replaceAll(/

(.*?)<\/h3>/g, "") - .split("

") - .join("\n") - .replaceAll(/<[^>]*>/g, ""); + const verseStrings = _html + .replaceAll("

", "\n

") + .split("\n") + .filter(Boolean); + const verseObjects = verseStrings + .filter((verseString) => verseString !== "

") + .map((verseString) => { + const title = verseString.match(/

(.*?)<\/h3>/)?.[1]; + const text = verseString + .replaceAll(/

(.*?)<\/h3>/g, "") + .split("

") + .join("\n") + .replaceAll(/<[^>]*>/g, ""); - return { title, text }; - }); + return { title, text }; + }); - return verseObjects + return verseObjects; } export function lyricsVersesToHtml(verses: LyricsVerse[]) { - return verses.map((verse) => { - const title = verse.title ? `

${verse.title}

` : '' - const text = verse.text ? `

${verse.text.split('\n').join('

')}

` : '' - return `${title}${text}` - }).join('') + return verses + .map((verse) => { + const title = verse.title ? `

${verse.title}

` : ""; + const text = verse.text + ? `

${verse.text.split("\n").join("

")}

` + : ""; + return `${title}${text}`; + }) + .join(""); } export function lyricsCleanupHtml(html: string) { - return stripHtml(html, { - ignoreTags: ['h3', 'p'], - }).result -} \ No newline at end of file + return stripHtml(html, { + ignoreTags: ["h3", "p"], + }).result; +}