From ececd49ef30095e3414ac94492612e2de1f9697c Mon Sep 17 00:00:00 2001 From: tjcouch-sil Date: Thu, 17 Oct 2024 13:53:20 -0500 Subject: [PATCH] Implemented tailwind and localization in verse ref view extension --- .../contributions/localizedStrings.json | 5 +- src/verse-ref-view/src/main.ts | 17 ++++-- src/verse-ref-view/src/utils.ts | 8 ++- .../src/verse-ref.web-view.scss | 1 + src/verse-ref-view/src/verse-ref.web-view.tsx | 61 ++++++++++++++----- 5 files changed, 69 insertions(+), 23 deletions(-) create mode 100644 src/verse-ref-view/src/verse-ref.web-view.scss diff --git a/src/verse-ref-view/contributions/localizedStrings.json b/src/verse-ref-view/contributions/localizedStrings.json index 95020f1..b424a94 100644 --- a/src/verse-ref-view/contributions/localizedStrings.json +++ b/src/verse-ref-view/contributions/localizedStrings.json @@ -2,7 +2,10 @@ "metadata": {}, "localizedStrings": { "en": { - "%mainMenu_openVerseRefView%": "Open Verse Ref View" + "%mainMenu_openVerseRefView%": "Open Verse Ref View", + "%verseRefView_dialog_openVerseRefView_title%": "Select Project to open with Verse Ref View", + "%verseRefView_dialog_openVerseRefView_prompt%": "Choose the project to open with Verse Ref View:", + "%verseRefView_title_format%": "Verse Ref View: {projectName}" } } } diff --git a/src/verse-ref-view/src/main.ts b/src/verse-ref-view/src/main.ts index 3e1ee22..a67f5b2 100644 --- a/src/verse-ref-view/src/main.ts +++ b/src/verse-ref-view/src/main.ts @@ -7,6 +7,7 @@ import { WebViewDefinition, } from '@papi/core'; import verseRefWebView from './verse-ref.web-view?inline'; +import verseRefWebViewStyles from './verse-ref.web-view.scss?inline'; import { getWebViewTitle } from './utils'; const verseRefWebViewType = 'verseRefView.webView'; @@ -23,8 +24,8 @@ async function openVerseRefView(projectId: string | undefined): Promise { const projectsMetadata = await papi.projectLookup.getMetadataForAllProjects({ @@ -61,13 +74,21 @@ global.webViewComponent = function VerseRefView({ const setProjectId = useCallback( (pId: string) => { + // If localization hasn't come in, just don't set the project id yet + if (titleFormatString === titleFormatKey) { + logger.warn( + `Verse Ref Web View: Localization has not come in yet, so skipping setting project id to ${pId}`, + ); + return; + } + const projectName = projects?.find((project) => project.id === pId)?.name; updateWebViewDefinition({ - title: projectName ? getWebViewTitle(projectName) : title, + title: projectName ? getWebViewTitle(titleFormatString, projectName) : title, projectId: pId, }); }, - [updateWebViewDefinition, projects, title], + [updateWebViewDefinition, projects, title, titleFormatString], ); // Get current verse reference @@ -82,16 +103,26 @@ global.webViewComponent = function VerseRefView({ const [verse] = useProjectData('platformScripture.USFM_Verse', projectId).VerseUSFM(verseRef, ''); return ( -
-
- {verseRef.toString()}:{' '} - +
+
+
{verseRef.toString()}
+
{stripUSFM(verse)}