diff --git a/src/components/actionSheet/actionSheet.js b/src/components/actionSheet/actionSheet.js index 3e9b237873..bf8b158458 100644 --- a/src/components/actionSheet/actionSheet.js +++ b/src/components/actionSheet/actionSheet.js @@ -142,7 +142,7 @@ export function show(options) { if (layoutManager.tv) { html += ``; } @@ -204,9 +204,9 @@ export function show(options) { itemIcon = icons[i]; if (itemIcon) { - html += ``; + html += ``; } else if (renderIcon && !center) { - html += ''; + html += ''; } html += '
'; diff --git a/src/components/activitylog.js b/src/components/activitylog.js index bc7d13696d..dab5633f7d 100644 --- a/src/components/activitylog.js +++ b/src/components/activitylog.js @@ -23,12 +23,12 @@ import alert from './alert'; } if (entry.UserId && entry.UserPrimaryImageTag) { - html += '"; } else { - html += ''; + html += ''; } html += '
'; @@ -45,7 +45,7 @@ import alert from './alert'; if (entry.Overview) { html += ``; } diff --git a/src/components/alphaPicker/alphaPicker.js b/src/components/alphaPicker/alphaPicker.js index 96d72f96e7..1579ef71cc 100644 --- a/src/components/alphaPicker/alphaPicker.js +++ b/src/components/alphaPicker/alphaPicker.js @@ -75,7 +75,7 @@ import 'material-design-icons-iconfont'; html += `
`; if (options.mode === 'keyboard') { - html += ``; + html += ``; } else { letters = ['#']; html += mapLetters(letters, vertical).join(''); @@ -85,7 +85,7 @@ import 'material-design-icons-iconfont'; html += mapLetters(letters, vertical).join(''); if (options.mode === 'keyboard') { - html += ``; + html += ``; html += '
'; letters = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; diff --git a/src/components/cardbuilder/cardBuilder.js b/src/components/cardbuilder/cardBuilder.js index 17bc60818d..ff224044b8 100644 --- a/src/components/cardbuilder/cardBuilder.js +++ b/src/components/cardbuilder/cardBuilder.js @@ -782,7 +782,7 @@ import ServerConnections from '../ServerConnections'; if (isOuterFooter && options.cardLayout && layoutManager.mobile) { if (options.cardFooterAside !== 'none') { - html += ''; + html += ''; } } @@ -1301,15 +1301,15 @@ import ServerConnections from '../ServerConnections'; const btnCssClass = 'cardOverlayButton cardOverlayButton-br itemAction'; if (options.centerPlayButton) { - overlayButtons += ''; + overlayButtons += ''; } if (overlayPlayButton && !item.IsPlaceHolder && (item.LocationType !== 'Virtual' || !item.MediaType || item.Type === 'Program') && item.Type !== 'Person') { - overlayButtons += ''; + overlayButtons += ''; } if (options.overlayMoreButton) { - overlayButtons += ''; + overlayButtons += ''; } } @@ -1454,7 +1454,7 @@ import ServerConnections from '../ServerConnections'; const btnCssClass = 'cardOverlayButton cardOverlayButton-hover itemAction paper-icon-button-light'; if (playbackManager.canPlay(item)) { - html += ''; + html += ''; } html += '
'; @@ -1464,7 +1464,7 @@ import ServerConnections from '../ServerConnections'; if (itemHelper.canMarkPlayed(item)) { /* eslint-disable-next-line @babel/no-unused-expressions */ import('../../elements/emby-playstatebutton/emby-playstatebutton'); - html += ''; + html += ''; } if (itemHelper.canRate(item)) { @@ -1472,10 +1472,10 @@ import ServerConnections from '../ServerConnections'; /* eslint-disable-next-line @babel/no-unused-expressions */ import('../../elements/emby-ratingbutton/emby-ratingbutton'); - html += ''; + html += ''; } - html += ''; + html += ''; html += '
'; html += '
'; @@ -1490,36 +1490,36 @@ import ServerConnections from '../ServerConnections'; */ export function getDefaultText(item, options) { if (item.CollectionType) { - return ''; + return ''; } switch (item.Type) { case 'MusicAlbum': - return ''; + return ''; case 'MusicArtist': case 'Person': - return ''; + return ''; case 'Audio': - return ''; + return ''; case 'Movie': - return ''; + return ''; case 'Episode': case 'Series': - return ''; + return ''; case 'Book': - return ''; + return ''; case 'Folder': - return ''; + return ''; case 'BoxSet': - return ''; + return ''; case 'Playlist': - return ''; + return ''; case 'PhotoAlbum': - return ''; + return ''; } if (options && options.defaultCardImageIcon) { - return ''; + return ''; } const defaultName = isUsingLiveTvNaming(item) ? item.Name : itemHelper.getDisplayName(item); @@ -1616,7 +1616,7 @@ import ServerConnections from '../ServerConnections'; indicatorsElem = ensureIndicators(card, indicatorsElem); indicatorsElem.appendChild(playedIndicator); } - playedIndicator.innerHTML = ''; + playedIndicator.innerHTML = ''; } else { playedIndicator = card.querySelector('.playedIndicator'); if (playedIndicator) { @@ -1699,7 +1699,7 @@ import ServerConnections from '../ServerConnections'; const icon = cell.querySelector('.timerIndicator'); if (!icon) { const indicatorsElem = ensureIndicators(cell); - indicatorsElem.insertAdjacentHTML('beforeend', ''); + indicatorsElem.insertAdjacentHTML('beforeend', ''); } cell.setAttribute('data-timerid', newTimerId); } diff --git a/src/components/cardbuilder/chaptercardbuilder.js b/src/components/cardbuilder/chaptercardbuilder.js index e364056e14..9f48017936 100644 --- a/src/components/cardbuilder/chaptercardbuilder.js +++ b/src/components/cardbuilder/chaptercardbuilder.js @@ -94,7 +94,7 @@ import ServerConnections from '../ServerConnections'; let cardImageContainer = imgUrl ? (`
`) : (`
`); if (!imgUrl) { - cardImageContainer += ''; + cardImageContainer += ''; } let nameHtml = ''; diff --git a/src/components/channelMapper/channelMapper.js b/src/components/channelMapper/channelMapper.js index 3f9ed65a02..8f277fa943 100644 --- a/src/components/channelMapper/channelMapper.js +++ b/src/components/channelMapper/channelMapper.js @@ -72,7 +72,7 @@ export default class channelMapper { function getTunerChannelHtml(channel, providerName) { let html = ''; html += '
'; - html += ''; + html += ''; html += '
'; html += '

'; html += channel.Name; @@ -85,7 +85,7 @@ export default class channelMapper { html += '

'; html += '
'; - html += ``; + html += ``; return html += '
'; } @@ -127,7 +127,7 @@ export default class channelMapper { let html = ''; const title = globalize.translate('MapChannels'); html += '
'; - html += ''; + html += ''; html += '

'; html += title; html += '

'; diff --git a/src/components/collectionEditor/collectionEditor.js b/src/components/collectionEditor/collectionEditor.js index a5fc26c446..e83467288d 100644 --- a/src/components/collectionEditor/collectionEditor.js +++ b/src/components/collectionEditor/collectionEditor.js @@ -229,7 +229,7 @@ import toast from '../toast/toast'; const title = items.length ? globalize.translate('HeaderAddToCollection') : globalize.translate('NewCollection'); html += '
'; - html += ''; + html += ''; html += '

'; html += title; html += '

'; diff --git a/src/components/dashboard/users/AccessScheduleList.tsx b/src/components/dashboard/users/AccessScheduleList.tsx index b46c6beeb0..0a2aceaa55 100644 --- a/src/components/dashboard/users/AccessScheduleList.tsx +++ b/src/components/dashboard/users/AccessScheduleList.tsx @@ -9,7 +9,7 @@ const createButtonElement = ({index}) => ({ class='btnDelete listItemButton' data-index='${index}' > - +
'; html += '
'; - html += ''; + html += ''; html += '
'; return html; } @@ -116,7 +116,7 @@ function getEditorHtml(options, systemInfo) { html += ``; html += '
'; if (!readOnlyAttribute) { - html += ``; + html += ``; } html += ''; if (!readOnlyAttribute) { @@ -264,7 +264,7 @@ class DirectoryBrowser { let html = ''; html += '
'; - html += ''; + html += ''; html += '

'; html += options.header || globalize.translate('HeaderSelectPath'); html += '

'; diff --git a/src/components/favoriteitems.js b/src/components/favoriteitems.js index 372060d97c..4230217429 100644 --- a/src/components/favoriteitems.js +++ b/src/components/favoriteitems.js @@ -145,7 +145,7 @@ import '../elements/emby-itemscontainer/emby-itemscontainer'; html += '

'; html += globalize.translate(section.name); html += '

'; - html += ''; + html += ''; html += ''; } else { html += '

' + globalize.translate(section.name) + '

'; diff --git a/src/components/filtermenu/filtermenu.js b/src/components/filtermenu/filtermenu.js index b36145f193..7436f04d11 100644 --- a/src/components/filtermenu/filtermenu.js +++ b/src/components/filtermenu/filtermenu.js @@ -228,7 +228,7 @@ class FilterMenu { let html = ''; html += '
'; - html += ''; + html += ''; html += '

${Filters}

'; html += '
'; diff --git a/src/components/guide/guide.js b/src/components/guide/guide.js index 2d39183bde..0fbb39d2c8 100644 --- a/src/components/guide/guide.js +++ b/src/components/guide/guide.js @@ -409,7 +409,7 @@ function Guide(options) { let status; if (item.Type === 'SeriesTimer') { - return ''; + return ''; } else if (item.TimerId || item.SeriesTimerId) { status = item.Status || 'Cancelled'; } else if (item.Type === 'Timer') { @@ -420,13 +420,13 @@ function Guide(options) { if (item.SeriesTimerId) { if (status !== 'Cancelled') { - return ''; + return ''; } - return ''; + return ''; } - return ''; + return ''; } function getChannelProgramsHtml(context, date, channel, programs, options, listInfo) { @@ -537,7 +537,7 @@ function Guide(options) { html += '
'; - html += '
'; + html += '
'; html += '
' + program.Name; diff --git a/src/components/homeScreenSettings/homeScreenSettings.js b/src/components/homeScreenSettings/homeScreenSettings.js index ebceee1c5c..7561a40791 100644 --- a/src/components/homeScreenSettings/homeScreenSettings.js +++ b/src/components/homeScreenSettings/homeScreenSettings.js @@ -177,7 +177,7 @@ import template from './homeScreenSettings.template.html'; currentHtml += `
`; - currentHtml += ''; + currentHtml += ''; currentHtml += '
'; @@ -187,8 +187,8 @@ import template from './homeScreenSettings.template.html'; currentHtml += '
'; - currentHtml += ``; - currentHtml += ``; + currentHtml += ``; + currentHtml += ``; currentHtml += '
'; diff --git a/src/components/homesections/homesections.js b/src/components/homesections/homesections.js index ff5c2dbed2..5926fb5b4b 100644 --- a/src/components/homesections/homesections.js +++ b/src/components/homesections/homesections.js @@ -194,7 +194,7 @@ import ServerConnections from '../ServerConnections'; for (let i = 0, length = items.length; i < length; i++) { const item = items[i]; const icon = imageHelper.getLibraryIcon(item.CollectionType); - html += '' + item.Name + ''; + html += '' + item.Name + ''; } html += '
'; @@ -285,7 +285,7 @@ import ServerConnections from '../ServerConnections'; html += '

'; html += globalize.translate('LatestFromLibrary', parent.Name); html += '

'; - html += ''; + html += ''; html += ''; } else { html += '

' + globalize.translate('LatestFromLibrary', parent.Name) + '

'; @@ -567,7 +567,7 @@ import ServerConnections from '../ServerConnections'; html += '

'; html += globalize.translate('HeaderOnNow'); html += '

'; - html += ''; + html += ''; html += ''; } else { html += '

' + globalize.translate('HeaderOnNow') + '

'; @@ -654,7 +654,7 @@ import ServerConnections from '../ServerConnections'; html += globalize.translate('NextUp'); } html += ''; - html += ''; + html += ''; html += ''; } else { html += '

'; diff --git a/src/components/imageDownloader/imageDownloader.js b/src/components/imageDownloader/imageDownloader.js index 01ff77013a..5f3eb50ced 100644 --- a/src/components/imageDownloader/imageDownloader.js +++ b/src/components/imageDownloader/imageDownloader.js @@ -129,8 +129,8 @@ import template from './imageDownloader.template.html'; if (showControls) { html += '
'; - html += ''; - html += ''; + html += ``; + html += ``; html += '
'; } @@ -264,7 +264,7 @@ import template from './imageDownloader.template.html'; if (enableFooterButtons) { html += '
'; - html += ''; + html += ``; html += '
'; } diff --git a/src/components/imageDownloader/imageDownloader.template.html b/src/components/imageDownloader/imageDownloader.template.html index aede7a6933..6818b31530 100644 --- a/src/components/imageDownloader/imageDownloader.template.html +++ b/src/components/imageDownloader/imageDownloader.template.html @@ -1,5 +1,5 @@
- +

${Search}

diff --git a/src/components/imageOptionsEditor/imageOptionsEditor.template.html b/src/components/imageOptionsEditor/imageOptionsEditor.template.html index 28275cdc95..e2d4df73c6 100644 --- a/src/components/imageOptionsEditor/imageOptionsEditor.template.html +++ b/src/components/imageOptionsEditor/imageOptionsEditor.template.html @@ -1,5 +1,5 @@
- +

${HeaderImageOptions}

diff --git a/src/components/imageUploader/imageUploader.template.html b/src/components/imageUploader/imageUploader.template.html index 6a9e21ff15..a59123e34d 100644 --- a/src/components/imageUploader/imageUploader.template.html +++ b/src/components/imageUploader/imageUploader.template.html @@ -1,5 +1,5 @@
- +

${HeaderUploadImage}

@@ -14,7 +14,7 @@

${HeaderAddUpdateImage}

diff --git a/src/components/imageeditor/imageeditor.js b/src/components/imageeditor/imageeditor.js index 5682f3e95b..3a7fad5ed3 100644 --- a/src/components/imageeditor/imageeditor.js +++ b/src/components/imageeditor/imageeditor.js @@ -165,21 +165,21 @@ import template from './imageeditor.template.html'; if (index > 0) { html += ''; } else { - html += ''; + html += ''; } if (index < numImages - 1) { - html += ''; + html += ''; } else { - html += ''; + html += ''; } } else { if (imageProviders.length) { - html += ''; + html += ''; } } - html += ''; + html += ''; html += '
'; } diff --git a/src/components/imageeditor/imageeditor.template.html b/src/components/imageeditor/imageeditor.template.html index ce24e724bd..4d7b096f00 100644 --- a/src/components/imageeditor/imageeditor.template.html +++ b/src/components/imageeditor/imageeditor.template.html @@ -1,5 +1,5 @@
- +

${HeaderEditImages}

@@ -12,10 +12,10 @@

${Images}

@@ -27,10 +27,10 @@

${Backdrops}

@@ -42,10 +42,10 @@

${Screenshots}

diff --git a/src/components/indicators/indicators.js b/src/components/indicators/indicators.js index aab2f64073..6fc483c3fd 100644 --- a/src/components/indicators/indicators.js +++ b/src/components/indicators/indicators.js @@ -88,7 +88,7 @@ export function getPlayedIndicatorHtml(item) { } if (userData.PlayedPercentage && userData.PlayedPercentage >= 100 || (userData.Played)) { - return '
'; + return '
'; } } @@ -109,7 +109,7 @@ export function getTimerIndicator(item) { let status; if (item.Type === 'SeriesTimer') { - return ''; + return ''; } else if (item.TimerId || item.SeriesTimerId) { status = item.Status || 'Cancelled'; } else if (item.Type === 'Timer') { @@ -120,20 +120,20 @@ export function getTimerIndicator(item) { if (item.SeriesTimerId) { if (status !== 'Cancelled') { - return ''; + return ''; } - return ''; + return ''; } - return ''; + return ''; } export function getSyncIndicator(item) { if (item.SyncPercent === 100) { - return '
'; + return '
'; } else if (item.SyncPercent != null) { - return '
'; + return '
'; } return ''; @@ -148,7 +148,7 @@ export function getTypeIndicator(item) { }; const icon = iconT[item.Type]; - return icon ? '
' : ''; + return icon ? '
' : ''; } export function getMissingIndicator(item) { diff --git a/src/components/itemMediaInfo/itemMediaInfo.template.html b/src/components/itemMediaInfo/itemMediaInfo.template.html index c2ec8942ef..ca34f5d0a4 100644 --- a/src/components/itemMediaInfo/itemMediaInfo.template.html +++ b/src/components/itemMediaInfo/itemMediaInfo.template.html @@ -1,6 +1,6 @@

${MoreMediaInfo}

diff --git a/src/components/itemidentifier/itemidentifier.template.html b/src/components/itemidentifier/itemidentifier.template.html index 9ea0e945db..96d3dd6431 100644 --- a/src/components/itemidentifier/itemidentifier.template.html +++ b/src/components/itemidentifier/itemidentifier.template.html @@ -1,6 +1,6 @@

${Identify}

diff --git a/src/components/libraryoptionseditor/libraryoptionseditor.js b/src/components/libraryoptionseditor/libraryoptionseditor.js index b8950ebed0..f57e6e1b65 100644 --- a/src/components/libraryoptionseditor/libraryoptionseditor.js +++ b/src/components/libraryoptionseditor/libraryoptionseditor.js @@ -69,16 +69,16 @@ import template from './libraryoptionseditor.template.html'; for (let i = 0; i < plugins.length; i++) { const plugin = plugins[i]; html += `
`; - html += ''; + html += ''; html += '
'; html += '

'; html += plugin.Name; html += '

'; html += '
'; if (i > 0) { - html += ``; + html += ``; } else if (plugins.length > 1) { - html += ``; + html += ``; } html += '
'; } @@ -132,9 +132,9 @@ import template from './libraryoptionseditor.template.html'; html += '

'; html += '
'; if (index > 0) { - html += ''; + html += ''; } else if (plugins.length > 1) { - html += ''; + html += ''; } html += '
'; }); @@ -198,9 +198,9 @@ import template from './libraryoptionseditor.template.html'; html += ''; html += ''; if (i > 0) { - html += ``; + html += ``; } else if (plugins.length > 1) { - html += ``; + html += ``; } html += ''; } @@ -237,9 +237,9 @@ import template from './libraryoptionseditor.template.html'; html += ''; html += ''; if (i > 0) { - html += ''; + html += ''; } else if (plugins.length > 1) { - html += ''; + html += ''; } html += ''; } diff --git a/src/components/listview/listview.js b/src/components/listview/listview.js index 037d75de90..e6a6767e8a 100644 --- a/src/components/listview/listview.js +++ b/src/components/listview/listview.js @@ -166,7 +166,7 @@ import ServerConnections from '../ServerConnections'; for (let i = 0, length = options.rightButtons.length; i < length; i++) { const button = options.rightButtons[i]; - html += ``; + html += ``; } return html; @@ -257,7 +257,7 @@ import ServerConnections from '../ServerConnections'; } if (!clickEntireItem && options.dragHandle) { - html += ''; + html += ''; } if (options.image !== false) { @@ -295,7 +295,7 @@ import ServerConnections from '../ServerConnections'; } if (playOnImageClick) { - html += ''; + html += ''; } const progressHtml = indicators.getProgressBarHtml(item, { @@ -455,11 +455,11 @@ import ServerConnections from '../ServerConnections'; if (!clickEntireItem) { if (options.addToListButton) { - html += ''; + html += ''; } if (options.infoButton) { - html += ''; + html += ''; } if (options.rightButtons) { @@ -471,16 +471,16 @@ import ServerConnections from '../ServerConnections'; const likes = userData.Likes == null ? '' : userData.Likes; if (itemHelper.canMarkPlayed(item) && options.enablePlayedButton !== false) { - html += ''; + html += ''; } if (itemHelper.canRate(item) && options.enableRatingButton !== false) { - html += ''; + html += ''; } } if (options.moreButton !== false) { - html += ''; + html += ''; } } html += ''; diff --git a/src/components/mediaLibraryCreator/mediaLibraryCreator.js b/src/components/mediaLibraryCreator/mediaLibraryCreator.js index 86369b853e..889804bc9d 100644 --- a/src/components/mediaLibraryCreator/mediaLibraryCreator.js +++ b/src/components/mediaLibraryCreator/mediaLibraryCreator.js @@ -127,7 +127,7 @@ import template from './mediaLibraryCreator.template.html'; } html += ''; - html += ``; + html += ``; html += ''; return html; } diff --git a/src/components/mediaLibraryCreator/mediaLibraryCreator.template.html b/src/components/mediaLibraryCreator/mediaLibraryCreator.template.html index c5571b54d2..27567590c9 100644 --- a/src/components/mediaLibraryCreator/mediaLibraryCreator.template.html +++ b/src/components/mediaLibraryCreator/mediaLibraryCreator.template.html @@ -1,5 +1,5 @@
- +

${ButtonAddMediaLibrary}

@@ -20,7 +20,7 @@

${Folders}

diff --git a/src/components/mediaLibraryEditor/mediaLibraryEditor.js b/src/components/mediaLibraryEditor/mediaLibraryEditor.js index dcb418f806..aaf0c1e550 100644 --- a/src/components/mediaLibraryEditor/mediaLibraryEditor.js +++ b/src/components/mediaLibraryEditor/mediaLibraryEditor.js @@ -119,7 +119,7 @@ import template from './mediaLibraryEditor.template.html'; } html += ''; - html += ``; + html += ``; html += ''; return html; } diff --git a/src/components/mediaLibraryEditor/mediaLibraryEditor.template.html b/src/components/mediaLibraryEditor/mediaLibraryEditor.template.html index 732851d4af..22267e1c9c 100644 --- a/src/components/mediaLibraryEditor/mediaLibraryEditor.template.html +++ b/src/components/mediaLibraryEditor/mediaLibraryEditor.template.html @@ -1,5 +1,5 @@
- +

@@ -13,7 +13,7 @@

${Folders}

diff --git a/src/components/mediainfo/mediainfo.js b/src/components/mediainfo/mediainfo.js index 72255530b2..737d8a4624 100644 --- a/src/components/mediainfo/mediainfo.js +++ b/src/components/mediainfo/mediainfo.js @@ -13,7 +13,7 @@ import '../../elements/emby-button/emby-button'; let status; if (item.Type === 'SeriesTimer') { - return ''; + return ''; } else if (item.TimerId || item.SeriesTimerId) { status = item.Status || 'Cancelled'; } else if (item.Type === 'Timer') { @@ -24,13 +24,13 @@ import '../../elements/emby-button/emby-button'; if (item.SeriesTimerId) { if (status !== 'Cancelled') { - return ''; + return ''; } - return ''; + return ''; } - return ''; + return ''; } function getProgramInfoHtml(item, options) { @@ -358,7 +358,7 @@ import '../../elements/emby-button/emby-button'; if (item.CommunityRating) { html += '
'; - html += ''; + html += ''; html += item.CommunityRating.toFixed(1); html += '
'; } diff --git a/src/components/metadataEditor/metadataEditor.js b/src/components/metadataEditor/metadataEditor.js index 10f2ae6cd2..ce2f27faad 100644 --- a/src/components/metadataEditor/metadataEditor.js +++ b/src/components/metadataEditor/metadataEditor.js @@ -460,7 +460,7 @@ import template from './metadataEditor.template.html'; html += ''; if (formatString) { - html += ''; + html += ''; } html += ''; @@ -888,7 +888,7 @@ import template from './metadataEditor.template.html'; for (let i = 0; i < items.length; i++) { html += '
'; - html += ''; + html += ''; html += '
'; @@ -898,7 +898,7 @@ import template from './metadataEditor.template.html'; html += '
'; - html += ''; + html += ''; html += '
'; } @@ -935,7 +935,7 @@ import template from './metadataEditor.template.html'; html += ''; html += ''; - html += ''; + html += ''; html += ''; } diff --git a/src/components/metadataEditor/metadataEditor.template.html b/src/components/metadataEditor/metadataEditor.template.html index 0f9c4516f7..a4a2413a07 100644 --- a/src/components/metadataEditor/metadataEditor.template.html +++ b/src/components/metadataEditor/metadataEditor.template.html @@ -1,18 +1,18 @@
- +

${Edit}

@@ -195,7 +195,7 @@ ${Genres}
@@ -204,7 +204,7 @@ ${People}
@@ -214,7 +214,7 @@ ${Studios}
@@ -223,7 +223,7 @@ ${Tags}
diff --git a/src/components/metadataEditor/personEditor.template.html b/src/components/metadataEditor/personEditor.template.html index 394473ed27..2e84a00fc8 100644 --- a/src/components/metadataEditor/personEditor.template.html +++ b/src/components/metadataEditor/personEditor.template.html @@ -1,5 +1,5 @@
- +

${Edit}

diff --git a/src/components/multiSelect/multiSelect.js b/src/components/multiSelect/multiSelect.js index e199fa7968..fe82788f6d 100644 --- a/src/components/multiSelect/multiSelect.js +++ b/src/components/multiSelect/multiSelect.js @@ -125,11 +125,11 @@ import itemHelper from '../itemHelper'; let html = ''; - html += ''; + html += ''; html += '

'; const moreIcon = 'more_vert'; - html += ``; + html += ``; selectionCommandsPanel.innerHTML = html; diff --git a/src/components/nowPlayingBar/nowPlayingBar.js b/src/components/nowPlayingBar/nowPlayingBar.js index 3de6b6ec37..4277100168 100644 --- a/src/components/nowPlayingBar/nowPlayingBar.js +++ b/src/components/nowPlayingBar/nowPlayingBar.js @@ -59,13 +59,13 @@ import { appRouter } from '../appRouter'; // The onclicks are needed due to the return false above html += '
'; - html += ''; + html += ''; - html += ''; + html += ''; - html += ''; + html += ''; if (!layoutManager.mobile) { - html += ''; + html += ''; } html += '
'; @@ -73,23 +73,23 @@ import { appRouter } from '../appRouter'; html += '
'; - html += ''; + html += ''; html += '
'; html += ''; html += '
'; - html += ''; - html += ''; + html += ''; + html += ''; html += '
'; html += '
'; - html += ''; + html += ''; if (layoutManager.mobile) { - html += ''; + html += ''; } else { - html += ''; + html += ''; } html += '
'; @@ -569,7 +569,7 @@ import { appRouter } from '../appRouter'; }); }); } - nowPlayingUserData.innerHTML = ''; + nowPlayingUserData.innerHTML = ''; }); } } else { diff --git a/src/components/playback/brightnessosd.js b/src/components/playback/brightnessosd.js index a23fdc0b18..d3678ac3f4 100644 --- a/src/components/playback/brightnessosd.js +++ b/src/components/playback/brightnessosd.js @@ -15,7 +15,7 @@ let enableAnimation; function getOsdElementHtml() { let html = ''; - html += ''; + html += ''; html += '
'; diff --git a/src/components/playback/volumeosd.js b/src/components/playback/volumeosd.js index 6412a6e9a5..1c958a4225 100644 --- a/src/components/playback/volumeosd.js +++ b/src/components/playback/volumeosd.js @@ -16,7 +16,7 @@ let enableAnimation; function getOsdElementHtml() { let html = ''; - html += ''; + html += ''; html += '
'; diff --git a/src/components/playerstats/playerstats.js b/src/components/playerstats/playerstats.js index 6e36c38315..acd7d63b25 100644 --- a/src/components/playerstats/playerstats.js +++ b/src/components/playerstats/playerstats.js @@ -26,7 +26,7 @@ import ServerConnections from '../ServerConnections'; if (layoutManager.tv) { button = ''; } else { - button = ''; + button = ''; } const contentClass = layoutManager.tv ? 'playerStats-content playerStats-content-tv' : 'playerStats-content'; diff --git a/src/components/playlisteditor/playlisteditor.js b/src/components/playlisteditor/playlisteditor.js index 02891b1ce1..d579d2fc15 100644 --- a/src/components/playlisteditor/playlisteditor.js +++ b/src/components/playlisteditor/playlisteditor.js @@ -242,7 +242,7 @@ import ServerConnections from '../ServerConnections'; const title = globalize.translate('HeaderAddToPlaylist'); html += '
'; - html += ''; + html += ''; html += '

'; html += title; html += '

'; diff --git a/src/components/prompt/prompt.template.html b/src/components/prompt/prompt.template.html index a07629ae7e..80b76b48aa 100644 --- a/src/components/prompt/prompt.template.html +++ b/src/components/prompt/prompt.template.html @@ -1,6 +1,6 @@

diff --git a/src/components/recordingcreator/recordingcreator.template.html b/src/components/recordingcreator/recordingcreator.template.html index 8d7d75c8f6..0708287a98 100644 --- a/src/components/recordingcreator/recordingcreator.template.html +++ b/src/components/recordingcreator/recordingcreator.template.html @@ -1,5 +1,5 @@
- +

diff --git a/src/components/recordingcreator/recordingeditor.template.html b/src/components/recordingcreator/recordingeditor.template.html index f7a9f98ee6..c0f3d6991d 100644 --- a/src/components/recordingcreator/recordingeditor.template.html +++ b/src/components/recordingcreator/recordingeditor.template.html @@ -1,5 +1,5 @@
- +

${HeaderRecordingOptions}

diff --git a/src/components/recordingcreator/recordingfields.template.html b/src/components/recordingcreator/recordingfields.template.html index 25a0c3c30d..9104907951 100644 --- a/src/components/recordingcreator/recordingfields.template.html +++ b/src/components/recordingcreator/recordingfields.template.html @@ -2,7 +2,7 @@
@@ -14,7 +14,7 @@
diff --git a/src/components/recordingcreator/seriesrecordingeditor.template.html b/src/components/recordingcreator/seriesrecordingeditor.template.html index 582c1a633c..86620a77d0 100644 --- a/src/components/recordingcreator/seriesrecordingeditor.template.html +++ b/src/components/recordingcreator/seriesrecordingeditor.template.html @@ -1,5 +1,5 @@
- +

${HeaderSeriesOptions}

diff --git a/src/components/refreshdialog/refreshdialog.js b/src/components/refreshdialog/refreshdialog.js index 44dbb0603e..890a89f36e 100644 --- a/src/components/refreshdialog/refreshdialog.js +++ b/src/components/refreshdialog/refreshdialog.js @@ -120,7 +120,7 @@ class RefreshDialog { const title = globalize.translate('RefreshMetadata'); html += '
'; - html += ''; + html += ''; html += '

'; html += title; html += '

'; diff --git a/src/components/remotecontrol/remotecontrol.js b/src/components/remotecontrol/remotecontrol.js index 38eb27a2ba..eb789dfd6c 100644 --- a/src/components/remotecontrol/remotecontrol.js +++ b/src/components/remotecontrol/remotecontrol.js @@ -233,8 +233,8 @@ function updateNowPlayingInfo(context, state, serverId) { apiClient.getItem(apiClient.getCurrentUserId(), item.Id).then(function (fullItem) { const userData = fullItem.UserData || {}; const likes = userData.Likes == null ? '' : userData.Likes; - context.querySelector('.nowPlayingPageUserDataButtonsTitle').innerHTML = ''; - context.querySelector('.nowPlayingPageUserDataButtons').innerHTML = ''; + context.querySelector('.nowPlayingPageUserDataButtonsTitle').innerHTML = ''; + context.querySelector('.nowPlayingPageUserDataButtons').innerHTML = ''; }); } else { backdrop.clearBackdrop(); @@ -256,7 +256,7 @@ function setImageUrl(context, state, url) { context.querySelector('.nowPlayingPageImage').classList.remove('nowPlayingPageImageAudio'); } } else { - imgContainer.innerHTML = '
'; + imgContainer.innerHTML = '
'; } } @@ -385,14 +385,14 @@ export default function () { const context = dlg; const toggleRepeatButtons = context.querySelectorAll('.repeatToggleButton'); const cssClass = 'buttonActive'; - let innHtml = ''; + let innHtml = ''; let repeatOn = true; switch (repeatMode) { case 'RepeatAll': break; case 'RepeatOne': - innHtml = ''; + innHtml = ''; break; case 'RepeatNone': default: @@ -889,7 +889,7 @@ export default function () { function init(ownerView, context) { let volumecontrolHtml = '
'; - volumecontrolHtml += ``; + volumecontrolHtml += ``; volumecontrolHtml += '
'; volumecontrolHtml += '
'; const optionsSection = context.querySelector('.playlistSectionButton'); diff --git a/src/components/search/SearchFields.tsx b/src/components/search/SearchFields.tsx index 52209dd550..41d714c5d2 100644 --- a/src/components/search/SearchFields.tsx +++ b/src/components/search/SearchFields.tsx @@ -73,7 +73,7 @@ const SearchFields: FunctionComponent = ({ onSearch = () => { ref={element} >
- +
@@ -84,7 +84,7 @@
- +
diff --git a/src/controllers/livetvstatus.html b/src/controllers/livetvstatus.html index 1a894bff94..a5cc476863 100644 --- a/src/controllers/livetvstatus.html +++ b/src/controllers/livetvstatus.html @@ -8,7 +8,7 @@ ${HeaderTunerDevices} ${Help}
@@ -21,7 +21,7 @@

${HeaderGuideProviders}

diff --git a/src/controllers/livetvstatus.js b/src/controllers/livetvstatus.js index 7de9d3dca1..6e3a686c2f 100644 --- a/src/controllers/livetvstatus.js +++ b/src/controllers/livetvstatus.js @@ -38,11 +38,11 @@ function getDeviceHtml(device) { html += '
'; html += '
'; html += '
'; - html += `
`; + html += `
`; html += '
'; html += '
'; html += '
'; - html += ''; + html += ''; html += '
' + (device.FriendlyName || getTunerName(device.Type)) + '
'; html += '
'; html += device.Url || ' '; @@ -110,7 +110,7 @@ function renderProviders(page, providers) { for (let i = 0, length = providers.length; i < length; i++) { const provider = providers[i]; html += ''; - html += ''; + html += ''; html += '
'; } diff --git a/src/controllers/livetvtuner.html b/src/controllers/livetvtuner.html index eab958c1c0..29940a9141 100644 --- a/src/controllers/livetvtuner.html +++ b/src/controllers/livetvtuner.html @@ -24,7 +24,7 @@
- +
diff --git a/src/controllers/movies/moviegenres.js b/src/controllers/movies/moviegenres.js index 524acfa01b..0bda9f3af4 100644 --- a/src/controllers/movies/moviegenres.js +++ b/src/controllers/movies/moviegenres.js @@ -152,7 +152,7 @@ import '../../elements/emby-button/emby-button'; html += '

'; html += item.Name; html += '

'; - html += ''; + html += ''; html += ''; html += '
'; if (enableScrollX()) { diff --git a/src/controllers/movies/movies.html b/src/controllers/movies/movies.html index 87e9752679..def6bbeb94 100644 --- a/src/controllers/movies/movies.html +++ b/src/controllers/movies/movies.html @@ -3,9 +3,9 @@
- - - + + +
@@ -46,8 +46,8 @@
- - + +
@@ -62,7 +62,7 @@
- +
@@ -74,9 +74,9 @@
- - - + + +
diff --git a/src/controllers/music/music.html b/src/controllers/music/music.html index 141d940745..7096ce96fa 100644 --- a/src/controllers/music/music.html +++ b/src/controllers/music/music.html @@ -11,11 +11,11 @@
- - - - - + + + + +
@@ -56,8 +56,8 @@
- - + +
@@ -72,8 +72,8 @@
- - + +
@@ -92,8 +92,8 @@
- - + +
diff --git a/src/controllers/playback/queue/index.html b/src/controllers/playback/queue/index.html index d946af4329..b5f5bf2cf6 100644 --- a/src/controllers/playback/queue/index.html +++ b/src/controllers/playback/queue/index.html @@ -32,35 +32,35 @@
@@ -68,26 +68,26 @@
@@ -100,43 +100,43 @@



@@ -178,13 +178,13 @@
diff --git a/src/controllers/playback/video/index.html b/src/controllers/playback/video/index.html index 55b6271cc7..54f8f87118 100644 --- a/src/controllers/playback/video/index.html +++ b/src/controllers/playback/video/index.html @@ -1,8 +1,8 @@
- - + +
@@ -11,7 +11,7 @@

- + ${FetchingData}
@@ -28,35 +28,35 @@
-
@@ -64,30 +64,30 @@
diff --git a/src/controllers/session/login/index.js b/src/controllers/session/login/index.js index 9aecc0f545..b863a5f550 100644 --- a/src/controllers/session/login/index.js +++ b/src/controllers/session/login/index.js @@ -169,7 +169,7 @@ import './login.scss'; html += '
"; } else { html += `
`; - html += ''; + html += ''; html += '
'; } diff --git a/src/controllers/session/selectServer/index.js b/src/controllers/session/selectServer/index.js index 9ee0000b84..632267558c 100644 --- a/src/controllers/session/selectServer/index.js +++ b/src/controllers/session/selectServer/index.js @@ -38,7 +38,7 @@ import cardBuilder from '../../../components/cardbuilder/cardBuilder'; let cardImageContainer; if (item.showIcon) { - cardImageContainer = ''; + cardImageContainer = ''; } else { cardImageContainer = '
'; } diff --git a/src/controllers/shows/tvgenres.js b/src/controllers/shows/tvgenres.js index b35686f289..a14d25344a 100644 --- a/src/controllers/shows/tvgenres.js +++ b/src/controllers/shows/tvgenres.js @@ -150,7 +150,7 @@ import '../../elements/emby-button/emby-button'; html += '

'; html += item.Name; html += '

'; - html += ''; + html += ''; html += ''; html += '
'; if (enableScrollX()) { diff --git a/src/controllers/shows/tvrecommended.html b/src/controllers/shows/tvrecommended.html index 1a7628a6c4..a46d72ae9c 100644 --- a/src/controllers/shows/tvrecommended.html +++ b/src/controllers/shows/tvrecommended.html @@ -3,9 +3,9 @@
- - - + + +
@@ -57,9 +57,9 @@
- - - + + +
diff --git a/src/controllers/user/menu/index.html b/src/controllers/user/menu/index.html index 66a07f2a14..9b3b588e76 100644 --- a/src/controllers/user/menu/index.html +++ b/src/controllers/user/menu/index.html @@ -5,7 +5,7 @@

- +
${Profile}
@@ -14,7 +14,7 @@
- tap_and_play +
${QuickConnect}
@@ -23,7 +23,7 @@
- +
${Display}
@@ -32,7 +32,7 @@
- +
${Home}
@@ -41,7 +41,7 @@
- +
${TitlePlayback}
@@ -50,7 +50,7 @@
- +
${Subtitles}
@@ -59,7 +59,7 @@
- +
${ClientSettings}
@@ -68,7 +68,7 @@
- +
${Controls}
@@ -79,7 +79,7 @@

${HeaderAdmin}

- +
${TabDashboard}
@@ -87,7 +87,7 @@
- +
${Metadata}
@@ -98,7 +98,7 @@

${HeaderUser}

- +
${SelectServer}
@@ -106,7 +106,7 @@
- +
${ButtonSignOut}
@@ -115,7 +115,7 @@
- +
${ButtonExitApp}
diff --git a/src/controllers/wizard/finish/index.html b/src/controllers/wizard/finish/index.html index 3447ced02f..66ee9a109c 100644 --- a/src/controllers/wizard/finish/index.html +++ b/src/controllers/wizard/finish/index.html @@ -5,11 +5,11 @@

${WizardCompleted}

diff --git a/src/controllers/wizard/library.html b/src/controllers/wizard/library.html index f43cb534eb..79c551c32f 100644 --- a/src/controllers/wizard/library.html +++ b/src/controllers/wizard/library.html @@ -3,7 +3,7 @@

@@ -11,12 +11,12 @@
diff --git a/src/controllers/wizard/remote/index.html b/src/controllers/wizard/remote/index.html index 0334f584c5..05070e13c8 100644 --- a/src/controllers/wizard/remote/index.html +++ b/src/controllers/wizard/remote/index.html @@ -21,12 +21,12 @@
diff --git a/src/controllers/wizard/settings/index.html b/src/controllers/wizard/settings/index.html index d1f557d8f1..52b44376eb 100644 --- a/src/controllers/wizard/settings/index.html +++ b/src/controllers/wizard/settings/index.html @@ -16,12 +16,12 @@
diff --git a/src/controllers/wizard/start/index.html b/src/controllers/wizard/start/index.html index 5306d2ca73..5a8cb90c9c 100644 --- a/src/controllers/wizard/start/index.html +++ b/src/controllers/wizard/start/index.html @@ -20,7 +20,7 @@
diff --git a/src/controllers/wizard/user/index.html b/src/controllers/wizard/user/index.html index 24429d043a..785c9d8945 100644 --- a/src/controllers/wizard/user/index.html +++ b/src/controllers/wizard/user/index.html @@ -22,12 +22,12 @@
diff --git a/src/elements/emby-checkbox/emby-checkbox.js b/src/elements/emby-checkbox/emby-checkbox.js index ef21ff8136..1923ef4e5c 100644 --- a/src/elements/emby-checkbox/emby-checkbox.js +++ b/src/elements/emby-checkbox/emby-checkbox.js @@ -61,8 +61,8 @@ import 'webcomponents.js/webcomponents-lite'; const checkedIcon = this.getAttribute('data-checkedicon') || 'check'; const uncheckedIcon = this.getAttribute('data-uncheckedicon') || ''; - const checkHtml = ''; - const uncheckedHtml = ''; + const checkHtml = ''; + const uncheckedHtml = ''; labelElement.insertAdjacentHTML('beforeend', '' + checkHtml + uncheckedHtml + ''); labelTextElement.classList.add('checkboxLabel'); diff --git a/src/elements/emby-collapse/emby-collapse.js b/src/elements/emby-collapse/emby-collapse.js index c4dfeeb5af..bd9743c55b 100644 --- a/src/elements/emby-collapse/emby-collapse.js +++ b/src/elements/emby-collapse/emby-collapse.js @@ -81,7 +81,7 @@ import '../emby-button/emby-button'; const title = this.getAttribute('title'); - const html = ''; + const html = ''; this.insertAdjacentHTML('afterbegin', html); diff --git a/src/elements/emby-scrollbuttons/emby-scrollbuttons.js b/src/elements/emby-scrollbuttons/emby-scrollbuttons.js index d1cb4705bc..b484733aea 100644 --- a/src/elements/emby-scrollbuttons/emby-scrollbuttons.js +++ b/src/elements/emby-scrollbuttons/emby-scrollbuttons.js @@ -13,7 +13,7 @@ const EmbyScrollButtonsPrototype = Object.create(HTMLDivElement.prototype); const icon = direction === 'left' ? 'chevron_left' : 'chevron_right'; html += ''; return html; diff --git a/src/elements/emby-select/emby-select.js b/src/elements/emby-select/emby-select.js index d73277a89d..d1057a86ed 100644 --- a/src/elements/emby-select/emby-select.js +++ b/src/elements/emby-select/emby-select.js @@ -141,7 +141,7 @@ import 'webcomponents.js/webcomponents-lite'; this.parentNode?.insertBefore(label, this); if (this.classList.contains('emby-select-withcolor')) { - this.parentNode?.insertAdjacentHTML('beforeend', '
0
'); + this.parentNode?.insertAdjacentHTML('beforeend', '
0
'); } }; diff --git a/src/plugins/bookPlayer/tableOfContents.js b/src/plugins/bookPlayer/tableOfContents.js index db498c10fd..7736891e02 100644 --- a/src/plugins/bookPlayer/tableOfContents.js +++ b/src/plugins/bookPlayer/tableOfContents.js @@ -63,7 +63,7 @@ export default class TableOfContents { elem.id = 'dialogToc'; let tocHtml = '
'; - tocHtml += ''; + tocHtml += ''; tocHtml += '
'; tocHtml += '
    '; rendition.book.navigation.forEach((chapter) => { diff --git a/src/plugins/bookPlayer/template.html b/src/plugins/bookPlayer/template.html index 73089db44f..bf71834f02 100644 --- a/src/plugins/bookPlayer/template.html +++ b/src/plugins/bookPlayer/template.html @@ -1,18 +1,18 @@
    diff --git a/src/plugins/comicsPlayer/plugin.js b/src/plugins/comicsPlayer/plugin.js index 69882b65b2..8a02926a42 100644 --- a/src/plugins/comicsPlayer/plugin.js +++ b/src/plugins/comicsPlayer/plugin.js @@ -144,7 +144,7 @@ export class ComicsPlayer { elem.innerHTML = `
    - +
    `; dialogHelper.open(elem); diff --git a/src/plugins/pdfPlayer/plugin.js b/src/plugins/pdfPlayer/plugin.js index 62f80d12e8..7532b5f062 100644 --- a/src/plugins/pdfPlayer/plugin.js +++ b/src/plugins/pdfPlayer/plugin.js @@ -171,7 +171,7 @@ export class PdfPlayer { let html = ''; html += ''; html += '
    '; - html += ''; + html += ''; html += '
    '; elem.id = 'pdfPlayer'; diff --git a/src/scripts/editorsidebar.js b/src/scripts/editorsidebar.js index 1ac9df9f7c..2fba0fcfd4 100644 --- a/src/scripts/editorsidebar.js +++ b/src/scripts/editorsidebar.js @@ -47,20 +47,20 @@ import Dashboard from './clientUtils'; } let htmlName = "
    "; if (item.IsFolder) { - htmlName += ''; + htmlName += ''; } else if (item.MediaType === 'Video') { - htmlName += ''; + htmlName += ''; } else if (item.MediaType === 'Audio') { - htmlName += ''; + htmlName += ''; } else if (item.Type === 'TvChannel') { - htmlName += ''; + htmlName += ''; } else if (item.MediaType === 'Photo') { - htmlName += ''; + htmlName += ''; } else if (item.MediaType === 'Book') { - htmlName += ''; + htmlName += ''; } if (item.LockData) { - htmlName += ''; + htmlName += ''; } htmlName += name; htmlName += '
    '; diff --git a/src/scripts/libraryBrowser.js b/src/scripts/libraryBrowser.js index a928902cb4..7f9480ddae 100644 --- a/src/scripts/libraryBrowser.js +++ b/src/scripts/libraryBrowser.js @@ -96,20 +96,20 @@ export function getQueryPagingHtml (options) { html += '
    '; if (showControls) { - html += ''; - html += ''; + html += ''; + html += ''; } if (options.addLayoutButton) { - html += ''; + html += ''; } if (options.sortButton) { - html += ''; + html += ''; } if (options.filterButton) { - html += ''; + html += ''; } html += '
    '; diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js index ea74637839..f1146e4e5d 100644 --- a/src/scripts/libraryMenu.js +++ b/src/scripts/libraryMenu.js @@ -25,18 +25,18 @@ import Headroom from 'headroom.js'; let html = ''; html += '
    '; html += '
    '; - html += ''; - html += ''; - html += ''; + html += ''; + html += ''; + html += ''; html += '

    '; html += '
    '; html += '
    '; - html += ''; + html += ''; html += ''; - html += ''; - html += ''; - html += ''; - html += ''; + html += ''; + html += ''; + html += ''; + html += ''; html += '
    '; html += '
    '; html += '
    '; @@ -156,7 +156,7 @@ import Headroom from 'headroom.js'; headerUserButton.innerHTML = '
    "; } else { headerUserButton.classList.remove('headerUserButtonRound'); - headerUserButton.innerHTML = ''; + headerUserButton.innerHTML = ''; } } @@ -272,7 +272,7 @@ import Headroom from 'headroom.js'; function refreshLibraryInfoInDrawer(user) { let html = ''; html += '
    '; - html += '' + globalize.translate('Home') + ''; + html += `${globalize.translate('Home')}`; // placeholder for custom menu links html += '
    '; @@ -285,8 +285,8 @@ import Headroom from 'headroom.js'; html += '

    '; html += globalize.translate('HeaderAdmin'); html += '

    '; - html += '' + globalize.translate('TabDashboard') + ''; - html += '' + globalize.translate('Metadata') + ''; + html += `${globalize.translate('TabDashboard')}`; + html += `${globalize.translate('Metadata')}`; html += '
    '; } @@ -297,14 +297,14 @@ import Headroom from 'headroom.js'; html += ''; if (appHost.supports('multiserver')) { - html += '' + globalize.translate('SelectServer') + ''; + html += `${globalize.translate('SelectServer')}`; } - html += '' + globalize.translate('Settings') + ''; - html += '' + globalize.translate('ButtonSignOut') + ''; + html += `${globalize.translate('Settings')}`; + html += `${globalize.translate('ButtonSignOut')}`; if (appHost.supports('exitmenu')) { - html += '' + globalize.translate('ButtonExitApp') + ''; + html += `${globalize.translate('ButtonExitApp')}`; } html += '
'; @@ -538,7 +538,7 @@ import Headroom from 'headroom.js'; menuHtml += ''; if (item.icon) { - menuHtml += ''; + menuHtml += ''; } menuHtml += ''; @@ -659,6 +659,7 @@ import Headroom from 'headroom.js'; const icon = document.createElement('span'); icon.className = `material-icons navMenuOptionIcon ${link.icon || 'link'}`; + icon.setAttribute('aria-hidden', 'true'); option.appendChild(icon); const label = document.createElement('span'); @@ -682,7 +683,7 @@ import Headroom from 'headroom.js'; const itemId = i.Id; return ` - + ${i.Name} `; }).join('');