feat(note_language): support RTL in read-only text

This commit is contained in:
Elian Doran 2025-03-04 23:13:23 +02:00
parent 115c3bbeb0
commit ea3364ab09
No known key found for this signature in database
2 changed files with 9 additions and 2 deletions

View File

@ -35,8 +35,9 @@ export function getAvailableLocales() {
* @param localeId the locale ID to search for.
* @returns the corresponding {@link Locale} or `null` if it was not found.
*/
export function getLocaleById(localeId: string ) {
return locales?.find((l) => l.id === localeId);
export function getLocaleById(localeId: string | null | undefined) {
if (!localeId) return null;
return locales?.find((l) => l.id === localeId) ?? null;
}
export const t = i18next.t;

View File

@ -4,6 +4,7 @@ import { applySyntaxHighlight } from "../../services/syntax_highlight.js";
import { getMermaidConfig } from "../mermaid.js";
import type FNote from "../../entities/fnote.js";
import type { EventData } from "../../components/app_context.js";
import { getLocaleById } from "../../services/i18n.js";
const TPL = `
<div class="note-detail-readonly-text note-detail-printable">
@ -100,6 +101,11 @@ export default class ReadOnlyTextTypeWidget extends AbstractTextTypeWidget {
// (see https://github.com/zadam/trilium/issues/1590 for example of such conflict)
await libraryLoader.requireLibrary(libraryLoader.CKEDITOR);
const languageCode = note.getLabelValue("language");
const correspondingLocale = getLocaleById(languageCode);
const isRtl = correspondingLocale?.rtl;
this.$content.attr("dir", isRtl ? "rtl" : "ltr");
const blob = await note.getBlob();
this.$content.html(blob?.content ?? "");