1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Add Markdown to Login Disclaimer

This commit is contained in:
Dmitry Lyzo 2022-01-21 02:18:19 +03:00
parent 376f3e0f8c
commit eba8cf18d4
4 changed files with 47 additions and 3 deletions

View file

@ -65,7 +65,7 @@
<div class="verticalSection">
<h2>${HeaderBranding}</h2>
<div class="inputContainer">
<input is="emby-input" type="text" id="txtLoginDisclaimer" label="${LabelLoginDisclaimer}" />
<textarea is="emby-textarea" id="txtLoginDisclaimer" label="${LabelLoginDisclaimer}" class="textarea-mono"></textarea>
<div class="fieldDescription">${LabelLoginDisclaimerHelp}</div>
</div>
<div class="inputContainer customCssContainer">

View file

@ -50,7 +50,9 @@
<span>${ButtonChangeServer}</span>
</button>
<p class="disclaimer" style="text-align: center; margin-top: 2em;"></p>
<div class="disclaimerContainer">
<div class="disclaimer"></div>
</div>
</div>
</div>
</div>

View file

@ -1,3 +1,5 @@
import DOMPurify from 'dompurify';
import { marked } from 'marked';
import { appHost } from '../../../components/apphost';
import appSettings from '../../../scripts/settings/appSettings';
import dom from '../../../scripts/dom';
@ -14,6 +16,7 @@ import toast from '../../../components/toast/toast';
import dialogHelper from '../../../components/dialogHelper/dialogHelper';
import baseAlert from '../../../components/alert';
import cardBuilder from '../../../components/cardbuilder/cardBuilder';
import './login.scss';
/* eslint-disable indent */
@ -281,7 +284,20 @@ import cardBuilder from '../../../components/cardbuilder/cardBuilder';
loading.hide();
});
apiClient.getJSON(apiClient.getUrl('Branding/Configuration')).then(function (options) {
view.querySelector('.disclaimer').textContent = options.LoginDisclaimer || '';
const disclaimer = view.querySelector('.disclaimer');
disclaimer.innerHTML = DOMPurify.sanitize(marked(options.LoginDisclaimer || ''));
for (const elem of disclaimer.querySelectorAll('a')) {
elem.target = '_blank';
elem.classList.add('button-link');
elem.setAttribute('is', 'emby-linkbutton');
if (layoutManager.tv) {
// Disable links navigation on TV
elem.tabIndex = -1;
}
}
});
});
view.addEventListener('viewhide', function () {

View file

@ -0,0 +1,26 @@
.disclaimerContainer {
display: flex;
margin-top: 2em;
}
.disclaimer {
margin: 0 auto;
h1,
h2,
h3,
h4,
h5,
h6,
p {
text-align: center;
}
ol,
ul {
max-width: 40em;
margin-left: auto;
margin-right: auto;
width: fit-content;
}
}