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

Merge pull request #3688 from thornbill/no-hash-bang

Remove hash bang paths
This commit is contained in:
Bill Thornton 2022-06-14 10:39:09 -04:00 committed by GitHub
commit 6d3365bc09
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 136 additions and 132 deletions

View file

@ -3,7 +3,7 @@
<div class="dashboardSections" style="padding-top:.5em;">
<div class="dashboardColumn dashboardColumn-2-60 dashboardColumn-3-46">
<div class="dashboardSection">
<a is="emby-linkbutton" href="#!/dashboardgeneral.html" class="button-flat sectionTitleTextButton">
<a is="emby-linkbutton" href="#/dashboardgeneral.html" class="button-flat sectionTitleTextButton">
<h3>${TabServer}</h3>
<span class="material-icons chevron_right" aria-hidden="true"></span>
</a>
@ -35,7 +35,7 @@
</div>
<div class="dashboardSection">
<a is="emby-linkbutton" href="#!/devices.html" class="button-flat sectionTitleTextButton">
<a is="emby-linkbutton" href="#/devices.html" class="button-flat sectionTitleTextButton">
<h3>${HeaderActiveDevices}</h3>
<span class="material-icons chevron_right" aria-hidden="true"></span>
</a>
@ -46,7 +46,7 @@
<div class="dashboardColumn dashboardColumn-2-40 dashboardColumn-3-27">
<div class="dashboardSection">
<a is="emby-linkbutton" href="#!/serveractivity.html?useractivity=true" class="button-flat sectionTitleTextButton">
<a is="emby-linkbutton" href="#/serveractivity.html?useractivity=true" class="button-flat sectionTitleTextButton">
<h3>${HeaderActivity}</h3>
<span class="material-icons chevron_right" aria-hidden="true"></span>
</a>
@ -63,7 +63,7 @@
</div>
<div class="dashboardSection serverActivitySection hide activityContainer">
<a is="emby-linkbutton" href="#!/serveractivity.html?useractivity=false" class="button-flat sectionTitleTextButton">
<a is="emby-linkbutton" href="#/serveractivity.html?useractivity=false" class="button-flat sectionTitleTextButton">
<h3>${Alerts}</h3>
<span class="material-icons chevron_right" aria-hidden="true"></span>
</a>
@ -72,7 +72,7 @@
</div>
<div class="dashboardSection">
<a is="emby-linkbutton" href="#!/dashboardgeneral.html" class="button-flat sectionTitleTextButton">
<a is="emby-linkbutton" href="#/dashboardgeneral.html" class="button-flat sectionTitleTextButton">
<h3>${HeaderPaths}</h3>
<span class="material-icons chevron_right" aria-hidden="true"></span>
</a>

View file

@ -98,7 +98,7 @@ import confirm from '../../../components/confirm/confirm';
deviceHtml += '<div class="cardBox visualCardBox">';
deviceHtml += '<div class="cardScalable">';
deviceHtml += '<div class="cardPadder cardPadder-backdrop"></div>';
deviceHtml += `<a is="emby-linkbutton" href="${canEdit ? '#!/device.html?id=' + device.Id : '#'}" class="cardContent cardImageContainer ${cardBuilder.getDefaultBackgroundClass()}">`;
deviceHtml += `<a is="emby-linkbutton" href="${canEdit ? '#/device.html?id=' + device.Id : '#'}" class="cardContent cardImageContainer ${cardBuilder.getDefaultBackgroundClass()}">`;
const iconUrl = imageHelper.getDeviceIcon(device);
if (iconUrl) {

View file

@ -8,7 +8,7 @@
<div class="verticalSection verticalSection-extrabottompadding">
<div class="sectionTitleContainer flex align-items-center">
<h2 class="sectionTitle">${HeaderCustomDlnaProfiles}</h2>
<a is="emby-linkbutton" href="#!/dlnaprofile.html" class="fab submit" style="margin:0 0 0 1em">
<a is="emby-linkbutton" href="#/dlnaprofile.html" class="fab submit" style="margin:0 0 0 1em">
<span class="material-icons add" aria-hidden="true"></span>
</a>
</div>

View file

@ -42,7 +42,7 @@ import confirm from '../../../components/confirm/confirm';
html += '<div class="listItem listItem-border">';
html += '<span class="listItemIcon material-icons live_tv" aria-hidden="true"></span>';
html += '<div class="listItemBody two-line">';
html += "<a is='emby-linkbutton' style='padding:0;margin:0;' data-ripple='false' class='clearLink' href='#!/dlnaprofile.html?id=" + profile.Id + "'>";
html += "<a is='emby-linkbutton' style='padding:0;margin:0;' data-ripple='false' class='clearLink' href='#/dlnaprofile.html?id=" + profile.Id + "'>";
html += '<div>' + escapeHtml(profile.Name) + '</div>';
html += '</a>';
html += '</div>';
@ -80,10 +80,10 @@ import confirm from '../../../components/confirm/confirm';
function getTabs() {
return [{
href: '#!/dlnasettings.html',
href: '#/dlnasettings.html',
name: globalize.translate('Settings')
}, {
href: '#!/dlnaprofiles.html',
href: '#/dlnaprofiles.html',
name: globalize.translate('TabProfiles')
}];
}

View file

@ -39,10 +39,10 @@ import Dashboard from '../../../utils/dashboard';
function getTabs() {
return [{
href: '#!/dlnasettings.html',
href: '#/dlnasettings.html',
name: globalize.translate('Settings')
}, {
href: '#!/dlnaprofiles.html',
href: '#/dlnaprofiles.html',
name: globalize.translate('TabProfiles')
}];
}

View file

@ -153,13 +153,13 @@ import alert from '../../components/alert';
function getTabs() {
return [{
href: '#!/encodingsettings.html',
href: '#/encodingsettings.html',
name: globalize.translate('Transcoding')
}, {
href: '#!/playbackconfiguration.html',
href: '#/playbackconfiguration.html',
name: globalize.translate('ButtonResume')
}, {
href: '#!/streamingsettings.html',
href: '#/streamingsettings.html',
name: globalize.translate('TabStreaming')
}];
}

View file

@ -360,16 +360,16 @@ import cardBuilder from '../../components/cardbuilder/cardBuilder';
function getTabs() {
return [{
href: '#!/library.html',
href: '#/library.html',
name: globalize.translate('HeaderLibraries')
}, {
href: '#!/librarydisplay.html',
href: '#/librarydisplay.html',
name: globalize.translate('Display')
}, {
href: '#!/metadataimages.html',
href: '#/metadataimages.html',
name: globalize.translate('Metadata')
}, {
href: '#!/metadatanfo.html',
href: '#/metadatanfo.html',
name: globalize.translate('TabNfoSettings')
}];
}

View file

@ -9,16 +9,16 @@ import Dashboard from '../../utils/dashboard';
function getTabs() {
return [{
href: '#!/library.html',
href: '#/library.html',
name: globalize.translate('HeaderLibraries')
}, {
href: '#!/librarydisplay.html',
href: '#/librarydisplay.html',
name: globalize.translate('Display')
}, {
href: '#!/metadataimages.html',
href: '#/metadataimages.html',
name: globalize.translate('Metadata')
}, {
href: '#!/metadatanfo.html',
href: '#/metadatanfo.html',
name: globalize.translate('TabNfoSettings')
}];
}

View file

@ -54,16 +54,16 @@ import Dashboard from '../../utils/dashboard';
function getTabs() {
return [{
href: '#!/library.html',
href: '#/library.html',
name: globalize.translate('HeaderLibraries')
}, {
href: '#!/librarydisplay.html',
href: '#/librarydisplay.html',
name: globalize.translate('Display')
}, {
href: '#!/metadataimages.html',
href: '#/metadataimages.html',
name: globalize.translate('Metadata')
}, {
href: '#!/metadatanfo.html',
href: '#/metadatanfo.html',
name: globalize.translate('TabNfoSettings')
}];
}

View file

@ -48,16 +48,16 @@ import alert from '../../components/alert';
function getTabs() {
return [{
href: '#!/library.html',
href: '#/library.html',
name: globalize.translate('HeaderLibraries')
}, {
href: '#!/librarydisplay.html',
href: '#/librarydisplay.html',
name: globalize.translate('Display')
}, {
href: '#!/metadataimages.html',
href: '#/metadataimages.html',
name: globalize.translate('Metadata')
}, {
href: '#!/metadatanfo.html',
href: '#/metadatanfo.html',
name: globalize.translate('TabNfoSettings')
}];
}

View file

@ -33,13 +33,13 @@ import Dashboard from '../../utils/dashboard';
function getTabs() {
return [{
href: '#!/encodingsettings.html',
href: '#/encodingsettings.html',
name: globalize.translate('Transcoding')
}, {
href: '#!/playbackconfiguration.html',
href: '#/playbackconfiguration.html',
name: globalize.translate('ButtonResume')
}, {
href: '#!/streamingsettings.html',
href: '#/streamingsettings.html',
name: globalize.translate('TabStreaming')
}];
}

View file

@ -92,7 +92,7 @@ function populateList(options) {
function getPluginHtml(plugin, options, installedPlugins) {
let html = '';
let href = plugin.externalUrl ? plugin.externalUrl : '#!/addplugin.html?name=' + encodeURIComponent(plugin.name) + '&guid=' + plugin.guid;
let href = plugin.externalUrl ? plugin.externalUrl : '#/addplugin.html?name=' + encodeURIComponent(plugin.name) + '&guid=' + plugin.guid;
if (options.context) {
href += '&context=' + options.context;
@ -134,13 +134,13 @@ function getPluginHtml(plugin, options, installedPlugins) {
function getTabs() {
return [{
href: '#!/installedplugins.html',
href: '#/installedplugins.html',
name: globalize.translate('TabMyPlugins')
}, {
href: '#!/availableplugins.html',
href: '#/availableplugins.html',
name: globalize.translate('TabCatalog')
}, {
href: '#!/repositories.html',
href: '#/repositories.html',
name: globalize.translate('TabRepositories')
}];
}

View file

@ -127,7 +127,7 @@ function populateList(page, plugins, pluginConfigurationPages) {
} else {
html += '<div class="centerMessage">';
html += '<h1>' + globalize.translate('MessageNoPluginsInstalled') + '</h1>';
html += '<p><a is="emby-linkbutton" class="button-link" href="#!/availableplugins.html">';
html += '<p><a is="emby-linkbutton" class="button-link" href="#/availableplugins.html">';
html += globalize.translate('MessageBrowsePluginCatalog');
html += '</a></p>';
html += '</div>';
@ -212,13 +212,13 @@ function reloadList(page) {
function getTabs() {
return [{
href: '#!/installedplugins.html',
href: '#/installedplugins.html',
name: globalize.translate('TabMyPlugins')
}, {
href: '#!/availableplugins.html',
href: '#/availableplugins.html',
name: globalize.translate('TabCatalog')
}, {
href: '#!/repositories.html',
href: '#/repositories.html',
name: globalize.translate('TabRepositories')
}];
}

View file

@ -104,13 +104,13 @@ function getRepositoryElement(repository) {
function getTabs() {
return [{
href: '#!/installedplugins.html',
href: '#/installedplugins.html',
name: globalize.translate('TabMyPlugins')
}, {
href: '#!/availableplugins.html',
href: '#/availableplugins.html',
name: globalize.translate('TabCatalog')
}, {
href: '#!/repositories.html',
href: '#/repositories.html',
name: globalize.translate('TabRepositories')
}];
}

View file

@ -24,13 +24,13 @@ import Dashboard from '../../utils/dashboard';
function getTabs() {
return [{
href: '#!/encodingsettings.html',
href: '#/encodingsettings.html',
name: globalize.translate('Transcoding')
}, {
href: '#!/playbackconfiguration.html',
href: '#/playbackconfiguration.html',
name: globalize.translate('ButtonResume')
}, {
href: '#!/streamingsettings.html',
href: '#/streamingsettings.html',
name: globalize.translate('TabStreaming')
}];
}

View file

@ -3,7 +3,7 @@
<div class="pageTabContent" id="suggestionsTab" data-index="0">
<div id="activePrograms" class="verticalSection">
<div class="sectionTitleContainer sectionTitleContainer-cards padded-left">
<a href="#!/list.html?type=Programs&IsAiring=true" is="emby-linkbutton" class="button-flat button-flat-mini sectionTitleTextButton sectionTitleTextButton-programs">
<a href="#/list.html?type=Programs&IsAiring=true" is="emby-linkbutton" class="button-flat button-flat-mini sectionTitleTextButton sectionTitleTextButton-programs">
<h2 class="sectionTitle sectionTitle-cards" style="display: inline-block; vertical-align: middle;">${HeaderOnNow}</h2>
<span class="material-icons chevron_right" aria-hidden="true"></span>
</a>
@ -12,7 +12,7 @@
</div>
<div id="upcomingEpisodes" class="verticalSection">
<div class="sectionTitleContainer sectionTitleContainer-cards padded-left">
<a href="#!/list.html?type=Programs&IsSeries=true&IsMovie=false&IsNews=false" is="emby-linkbutton" class="button-flat button-flat-mini sectionTitleTextButton sectionTitleTextButton-programs">
<a href="#/list.html?type=Programs&IsSeries=true&IsMovie=false&IsNews=false" is="emby-linkbutton" class="button-flat button-flat-mini sectionTitleTextButton sectionTitleTextButton-programs">
<h2 class="sectionTitle sectionTitle-cards" style="display: inline-block; vertical-align: middle;">${Shows}</h2>
<span class="material-icons chevron_right" aria-hidden="true"></span>
</a>
@ -21,7 +21,7 @@
</div>
<div id="upcomingTvMovies" class="verticalSection">
<div class="sectionTitleContainer sectionTitleContainer-cards padded-left">
<a href="#!/list.html?type=Programs&IsMovie=true" is="emby-linkbutton" class="button-flat button-flat-mini sectionTitleTextButton sectionTitleTextButton-programs">
<a href="#/list.html?type=Programs&IsMovie=true" is="emby-linkbutton" class="button-flat button-flat-mini sectionTitleTextButton sectionTitleTextButton-programs">
<h2 class="sectionTitle sectionTitle-cards" style="display: inline-block; vertical-align: middle;">${Movies}</h2>
<span class="material-icons chevron_right" aria-hidden="true"></span>
</a>
@ -30,7 +30,7 @@
</div>
<div id="upcomingSports" class="verticalSection">
<div class="sectionTitleContainer sectionTitleContainer-cards padded-left">
<a href="#!/list.html?type=Programs&IsSports=true" is="emby-linkbutton" class="button-flat button-flat-mini sectionTitleTextButton sectionTitleTextButton-programs">
<a href="#/list.html?type=Programs&IsSports=true" is="emby-linkbutton" class="button-flat button-flat-mini sectionTitleTextButton sectionTitleTextButton-programs">
<h2 class="sectionTitle sectionTitle-cards" style="display: inline-block; vertical-align: middle;">${Sports}</h2>
<span class="material-icons chevron_right" aria-hidden="true"></span>
</a>
@ -39,7 +39,7 @@
</div>
<div id="upcomingKids" class="verticalSection">
<div class="sectionTitleContainer sectionTitleContainer-cards padded-left">
<a href="#!/list.html?type=Programs&IsKids=true" is="emby-linkbutton" class="button-flat button-flat-mini sectionTitleTextButton sectionTitleTextButton-programs">
<a href="#/list.html?type=Programs&IsKids=true" is="emby-linkbutton" class="button-flat button-flat-mini sectionTitleTextButton sectionTitleTextButton-programs">
<h2 class="sectionTitle sectionTitle-cards" style="display: inline-block; vertical-align: middle;">${HeaderForKids}</h2>
<span class="material-icons chevron_right" aria-hidden="true"></span>
</a>
@ -48,7 +48,7 @@
</div>
<div id="upcomingNews" class="verticalSection">
<div class="sectionTitleContainer sectionTitleContainer-cards padded-left">
<a href="#!/list.html?type=Programs&IsNews=true" is="emby-linkbutton" class="button-flat button-flat-mini sectionTitleTextButton sectionTitleTextButton-programs">
<a href="#/list.html?type=Programs&IsNews=true" is="emby-linkbutton" class="button-flat button-flat-mini sectionTitleTextButton sectionTitleTextButton-programs">
<h2 class="sectionTitle sectionTitle-cards" style="display: inline-block; vertical-align: middle;">${News}</h2>
<span class="material-icons chevron_right" aria-hidden="true"></span>
</a>

View file

@ -219,9 +219,9 @@ function getProviderName(providerId) {
function getProviderConfigurationUrl(providerId) {
switch (providerId = providerId.toLowerCase()) {
case 'xmltv':
return '#!/livetvguideprovider.html?type=xmltv';
return '#/livetvguideprovider.html?type=xmltv';
case 'schedulesdirect':
return '#!/livetvguideprovider.html?type=schedulesdirect';
return '#/livetvguideprovider.html?type=schedulesdirect';
}
}

View file

@ -9,7 +9,7 @@
</div>
</div>
<div class="padded-top padded-left padded-right flex flex-shrink-zero justify-content-center verticalSection flex-wrap-wrap margin-auto-x">
<a is="emby-linkbutton" href="#!/addserver.html" class="raised cancel btnAddServer flex-shrink-zero" style="margin: .25em;">
<a is="emby-linkbutton" href="#/addserver.html" class="raised cancel btnAddServer flex-shrink-zero" style="margin: .25em;">
<span>${ButtonAddServer}</span>
</a>
</div>

View file

@ -77,7 +77,7 @@
</div>
<div class="adminSection verticalSection verticalSection-extrabottompadding hide">
<h2 class="sectionTitle" style="padding-left:.25em;">${HeaderAdmin}</h2>
<a is="emby-linkbutton" href="#!/dashboard.html" style="display:block;padding:0;margin:0;" class="listItem-border">
<a is="emby-linkbutton" href="#/dashboard.html" style="display:block;padding:0;margin:0;" class="listItem-border">
<div class="listItem">
<span class="material-icons listItemIcon listItemIcon-transparent dashboard" aria-hidden="true"></span>
<div class="listItemBody">
@ -85,7 +85,7 @@
</div>
</div>
</a>
<a is="emby-linkbutton" href="#!/edititemmetadata.html" style="display:block;padding:0;margin:0;" class="listItem-border">
<a is="emby-linkbutton" href="#/edititemmetadata.html" style="display:block;padding:0;margin:0;" class="listItem-border">
<div class="listItem">
<span class="material-icons listItemIcon listItemIcon-transparent mode_edit" aria-hidden="true"></span>
<div class="listItemBody">

View file

@ -26,13 +26,13 @@ export default function (view, params) {
const userId = params.userId || Dashboard.getCurrentUserId();
const page = this;
page.querySelector('.lnkMyProfile').setAttribute('href', '#!/myprofile.html?userId=' + userId);
page.querySelector('.lnkDisplayPreferences').setAttribute('href', '#!/mypreferencesdisplay.html?userId=' + userId);
page.querySelector('.lnkHomePreferences').setAttribute('href', '#!/mypreferenceshome.html?userId=' + userId);
page.querySelector('.lnkPlaybackPreferences').setAttribute('href', '#!/mypreferencesplayback.html?userId=' + userId);
page.querySelector('.lnkSubtitlePreferences').setAttribute('href', '#!/mypreferencessubtitles.html?userId=' + userId);
page.querySelector('.lnkQuickConnectPreferences').setAttribute('href', '#!/mypreferencesquickconnect.html');
page.querySelector('.lnkControlsPreferences').setAttribute('href', '#!/mypreferencescontrols.html?userId=' + userId);
page.querySelector('.lnkMyProfile').setAttribute('href', '#/myprofile.html?userId=' + userId);
page.querySelector('.lnkDisplayPreferences').setAttribute('href', '#/mypreferencesdisplay.html?userId=' + userId);
page.querySelector('.lnkHomePreferences').setAttribute('href', '#/mypreferenceshome.html?userId=' + userId);
page.querySelector('.lnkPlaybackPreferences').setAttribute('href', '#/mypreferencesplayback.html?userId=' + userId);
page.querySelector('.lnkSubtitlePreferences').setAttribute('href', '#/mypreferencessubtitles.html?userId=' + userId);
page.querySelector('.lnkQuickConnectPreferences').setAttribute('href', '#/mypreferencesquickconnect.html');
page.querySelector('.lnkControlsPreferences').setAttribute('href', '#/mypreferencescontrols.html?userId=' + userId);
const supportsClientSettings = appHost.supports('clientsettings');
page.querySelector('.clientSettings').classList.toggle('hide', !supportsClientSettings);