mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Move dashboard help links to header icon
This commit is contained in:
parent
6ae494e07d
commit
dc35c9d59e
28 changed files with 102 additions and 56 deletions
|
@ -16,6 +16,7 @@ import { useLocale } from 'hooks/useLocale';
|
||||||
|
|
||||||
import AppTabs from './components/AppTabs';
|
import AppTabs from './components/AppTabs';
|
||||||
import AppDrawer from './components/drawer/AppDrawer';
|
import AppDrawer from './components/drawer/AppDrawer';
|
||||||
|
import HelpButton from './components/toolbar/HelpButton';
|
||||||
import { DASHBOARD_APP_PATHS } from './routes/routes';
|
import { DASHBOARD_APP_PATHS } from './routes/routes';
|
||||||
|
|
||||||
import './AppOverrides.scss';
|
import './AppOverrides.scss';
|
||||||
|
@ -68,6 +69,9 @@ export const Component: FC = () => {
|
||||||
isDrawerAvailable={!isMediumScreen && isDrawerAvailable}
|
isDrawerAvailable={!isMediumScreen && isDrawerAvailable}
|
||||||
isDrawerOpen={isDrawerOpen}
|
isDrawerOpen={isDrawerOpen}
|
||||||
onDrawerButtonClick={onToggleDrawer}
|
onDrawerButtonClick={onToggleDrawer}
|
||||||
|
buttons={
|
||||||
|
<HelpButton />
|
||||||
|
}
|
||||||
>
|
>
|
||||||
<AppTabs isDrawerOpen={isDrawerOpen} />
|
<AppTabs isDrawerOpen={isDrawerOpen} />
|
||||||
</AppToolbar>
|
</AppToolbar>
|
||||||
|
|
36
src/apps/dashboard/components/toolbar/HelpButton.tsx
Normal file
36
src/apps/dashboard/components/toolbar/HelpButton.tsx
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
import HelpOutline from '@mui/icons-material/HelpOutline';
|
||||||
|
import IconButton from '@mui/material/IconButton/IconButton';
|
||||||
|
import Tooltip from '@mui/material/Tooltip/Tooltip';
|
||||||
|
import React from 'react';
|
||||||
|
import { Route, Routes } from 'react-router-dom';
|
||||||
|
|
||||||
|
import { HelpLinks } from 'apps/dashboard/constants/helpLinks';
|
||||||
|
import globalize from 'lib/globalize';
|
||||||
|
|
||||||
|
const HelpButton = () => (
|
||||||
|
<Routes>
|
||||||
|
{
|
||||||
|
HelpLinks.map(({ paths, url }) => paths.map(path => (
|
||||||
|
<Route
|
||||||
|
key={[url, path].join('-')}
|
||||||
|
path={path}
|
||||||
|
element={
|
||||||
|
<Tooltip title={globalize.translate('Help')}>
|
||||||
|
<IconButton
|
||||||
|
href={url}
|
||||||
|
rel='noopener noreferrer'
|
||||||
|
target='_blank'
|
||||||
|
size='large'
|
||||||
|
color='inherit'
|
||||||
|
>
|
||||||
|
<HelpOutline />
|
||||||
|
</IconButton>
|
||||||
|
</Tooltip>
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
))).flat()
|
||||||
|
}
|
||||||
|
</Routes>
|
||||||
|
);
|
||||||
|
|
||||||
|
export default HelpButton;
|
51
src/apps/dashboard/constants/helpLinks.ts
Normal file
51
src/apps/dashboard/constants/helpLinks.ts
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
export const HelpLinks = [
|
||||||
|
{
|
||||||
|
paths: ['/dashboard/devices'],
|
||||||
|
url: 'https://jellyfin.org/docs/general/server/devices'
|
||||||
|
}, {
|
||||||
|
paths: ['/dashboard/libraries'],
|
||||||
|
url: 'https://jellyfin.org/docs/general/server/libraries'
|
||||||
|
}, {
|
||||||
|
paths: [
|
||||||
|
'/dashboard/livetv',
|
||||||
|
'/dashboard/livetv/tuner',
|
||||||
|
'/dashboard/recordings'
|
||||||
|
],
|
||||||
|
url: 'https://jellyfin.org/docs/general/server/live-tv/'
|
||||||
|
}, {
|
||||||
|
paths: ['/dashboard/livetv/guide'],
|
||||||
|
url: 'https://jellyfin.org/docs/general/server/live-tv/setup-guide#adding-guide-data'
|
||||||
|
}, {
|
||||||
|
paths: ['/dashboard/networking'],
|
||||||
|
url: 'https://jellyfin.org/docs/general/networking/'
|
||||||
|
}, {
|
||||||
|
paths: ['/dashboard/playback/transcoding'],
|
||||||
|
url: 'https://jellyfin.org/docs/general/server/transcoding'
|
||||||
|
}, {
|
||||||
|
paths: [
|
||||||
|
'/dashboard/plugins',
|
||||||
|
'/dashboard/plugins/catalog'
|
||||||
|
],
|
||||||
|
url: 'https://jellyfin.org/docs/general/server/plugins/'
|
||||||
|
}, {
|
||||||
|
paths: ['/dashboard/plugins/repositories'],
|
||||||
|
url: 'https://jellyfin.org/docs/general/server/plugins/#repositories'
|
||||||
|
}, {
|
||||||
|
paths: ['/dashboard/settings'],
|
||||||
|
url: 'https://jellyfin.org/docs/general/server/settings'
|
||||||
|
}, {
|
||||||
|
paths: ['/dashboard/tasks'],
|
||||||
|
url: 'https://jellyfin.org/docs/general/server/tasks'
|
||||||
|
}, {
|
||||||
|
paths: ['/dashboard/users'],
|
||||||
|
url: 'https://jellyfin.org/docs/general/server/users/adding-managing-users'
|
||||||
|
}, {
|
||||||
|
paths: [
|
||||||
|
'/dashboard/users/access',
|
||||||
|
'/dashboard/users/parentalcontrol',
|
||||||
|
'/dashboard/users/password',
|
||||||
|
'/dashboard/users/profile'
|
||||||
|
],
|
||||||
|
url: 'https://jellyfin.org/docs/general/server/users/'
|
||||||
|
}
|
||||||
|
];
|
|
@ -150,7 +150,6 @@ const PlaybackTrickplay: FC = () => {
|
||||||
<div className='verticalSection'>
|
<div className='verticalSection'>
|
||||||
<SectionTitleContainer
|
<SectionTitleContainer
|
||||||
title={globalize.translate('Trickplay')}
|
title={globalize.translate('Trickplay')}
|
||||||
isLinkVisible={false}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -247,7 +247,6 @@ const UserLibraryAccess = () => {
|
||||||
<div className='verticalSection'>
|
<div className='verticalSection'>
|
||||||
<SectionTitleContainer
|
<SectionTitleContainer
|
||||||
title={userName}
|
title={userName}
|
||||||
url='https://jellyfin.org/docs/general/server/users/'
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<SectionTabs activeTab='userlibraryaccess'/>
|
<SectionTabs activeTab='userlibraryaccess'/>
|
||||||
|
|
|
@ -188,7 +188,6 @@ const UserNew = () => {
|
||||||
<div className='verticalSection'>
|
<div className='verticalSection'>
|
||||||
<SectionTitleContainer
|
<SectionTitleContainer
|
||||||
title={globalize.translate('HeaderAddUser')}
|
title={globalize.translate('HeaderAddUser')}
|
||||||
url='https://jellyfin.org/docs/general/server/users/'
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -170,7 +170,6 @@ const UserProfiles = () => {
|
||||||
btnClassName='fab submit sectionTitleButton'
|
btnClassName='fab submit sectionTitleButton'
|
||||||
btnTitle='ButtonAddUser'
|
btnTitle='ButtonAddUser'
|
||||||
btnIcon='add'
|
btnIcon='add'
|
||||||
url='https://jellyfin.org/docs/general/server/users/adding-managing-users'
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -362,7 +362,6 @@ const UserParentalControl = () => {
|
||||||
<div className='verticalSection'>
|
<div className='verticalSection'>
|
||||||
<SectionTitleContainer
|
<SectionTitleContainer
|
||||||
title={userName}
|
title={userName}
|
||||||
url='https://jellyfin.org/docs/general/server/users/'
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<SectionTabs activeTab='userparentalcontrol'/>
|
<SectionTabs activeTab='userparentalcontrol'/>
|
||||||
|
@ -406,7 +405,6 @@ const UserParentalControl = () => {
|
||||||
btnClassName='fab submit sectionTitleButton'
|
btnClassName='fab submit sectionTitleButton'
|
||||||
btnTitle='Add'
|
btnTitle='Add'
|
||||||
btnIcon='add'
|
btnIcon='add'
|
||||||
isLinkVisible={false}
|
|
||||||
/>
|
/>
|
||||||
<div className='fieldDescription'>
|
<div className='fieldDescription'>
|
||||||
{globalize.translate('AllowContentWithTagsHelp')}
|
{globalize.translate('AllowContentWithTagsHelp')}
|
||||||
|
@ -431,7 +429,6 @@ const UserParentalControl = () => {
|
||||||
btnClassName='fab submit sectionTitleButton'
|
btnClassName='fab submit sectionTitleButton'
|
||||||
btnTitle='Add'
|
btnTitle='Add'
|
||||||
btnIcon='add'
|
btnIcon='add'
|
||||||
isLinkVisible={false}
|
|
||||||
/>
|
/>
|
||||||
<div className='fieldDescription'>
|
<div className='fieldDescription'>
|
||||||
{globalize.translate('BlockContentWithTagsHelp')}
|
{globalize.translate('BlockContentWithTagsHelp')}
|
||||||
|
@ -455,7 +452,6 @@ const UserParentalControl = () => {
|
||||||
btnClassName='fab submit sectionTitleButton'
|
btnClassName='fab submit sectionTitleButton'
|
||||||
btnTitle='Add'
|
btnTitle='Add'
|
||||||
btnIcon='add'
|
btnIcon='add'
|
||||||
isLinkVisible={false}
|
|
||||||
/>
|
/>
|
||||||
<p>{globalize.translate('HeaderAccessScheduleHelp')}</p>
|
<p>{globalize.translate('HeaderAccessScheduleHelp')}</p>
|
||||||
<div className='accessScheduleList paperList'>
|
<div className='accessScheduleList paperList'>
|
||||||
|
|
|
@ -42,7 +42,6 @@ const UserPassword = () => {
|
||||||
<div className='verticalSection'>
|
<div className='verticalSection'>
|
||||||
<SectionTitleContainer
|
<SectionTitleContainer
|
||||||
title={userName}
|
title={userName}
|
||||||
url='https://jellyfin.org/docs/general/server/users/'
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<SectionTabs activeTab='userpassword'/>
|
<SectionTabs activeTab='userpassword'/>
|
||||||
|
|
|
@ -290,7 +290,6 @@ const UserEdit = () => {
|
||||||
<div className='verticalSection'>
|
<div className='verticalSection'>
|
||||||
<SectionTitleContainer
|
<SectionTitleContainer
|
||||||
title={userDto?.Name || ''}
|
title={userDto?.Name || ''}
|
||||||
url='https://jellyfin.org/docs/general/server/users/'
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<div class="verticalSection">
|
<div class="verticalSection">
|
||||||
<div class="sectionTitleContainer flex align-items-center">
|
<div class="sectionTitleContainer flex align-items-center">
|
||||||
<h1 class="sectionTitle">Schedules Direct</h1>
|
<h1 class="sectionTitle">Schedules Direct</h1>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/live-tv/setup-guide#adding-guide-data">${Help}</a>
|
|
||||||
</div>
|
</div>
|
||||||
<p class="createAccountHelp"></p>
|
<p class="createAccountHelp"></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<div class="verticalSection">
|
<div class="verticalSection">
|
||||||
<div class="sectionTitleContainer flex align-items-center">
|
<div class="sectionTitleContainer flex align-items-center">
|
||||||
<h1 class="sectionTitle">Xml TV</h1>
|
<h1 class="sectionTitle">Xml TV</h1>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/live-tv/setup-guide#adding-guide-data">${Help}</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
<div class="verticalSection verticalSection-extrabottompadding">
|
<div class="verticalSection verticalSection-extrabottompadding">
|
||||||
<div class="sectionTitleContainer flex align-items-center">
|
<div class="sectionTitleContainer flex align-items-center">
|
||||||
<h2 class="sectionTitle reportedName"></h2>
|
<h2 class="sectionTitle reportedName"></h2>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/devices">${Help}</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="inputContainer">
|
<div class="inputContainer">
|
||||||
|
|
|
@ -4,8 +4,15 @@
|
||||||
<div class="verticalSection verticalSection">
|
<div class="verticalSection verticalSection">
|
||||||
<div class="sectionTitleContainer sectionTitleContainer-cards flex align-items-center">
|
<div class="sectionTitleContainer sectionTitleContainer-cards flex align-items-center">
|
||||||
<h2 class="sectionTitle sectionTitle-cards">${HeaderDevices}</h2>
|
<h2 class="sectionTitle sectionTitle-cards">${HeaderDevices}</h2>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/devices">${Help}</a>
|
<button
|
||||||
<button id="deviceDeleteAll" is="emby-button" type="button" class="raised button-alt headerHelpButton">${DeleteAll}</button>
|
id="deviceDeleteAll"
|
||||||
|
is="emby-button"
|
||||||
|
type="button"
|
||||||
|
class="raised button-alt"
|
||||||
|
style="margin-left: 1.25em !important; padding-bottom: 0.4em !important; padding-top: 0.4em !important;"
|
||||||
|
>
|
||||||
|
${DeleteAll}
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div is="emby-itemscontainer" class="devicesList vertical-wrap" data-multiselect="false"></div>
|
<div is="emby-itemscontainer" class="devicesList vertical-wrap" data-multiselect="false"></div>
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
<div class="verticalSection">
|
<div class="verticalSection">
|
||||||
<div class="sectionTitleContainer flex align-items-center">
|
<div class="sectionTitleContainer flex align-items-center">
|
||||||
<h2 class="sectionTitle">${Transcoding}</h2>
|
<h2 class="sectionTitle">${Transcoding}</h2>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/transcoding">${Help}</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
<div class="verticalSection">
|
<div class="verticalSection">
|
||||||
<div class="sectionTitleContainer flex align-items-center">
|
<div class="sectionTitleContainer flex align-items-center">
|
||||||
<h2 class="sectionTitle">${Settings}</h2>
|
<h2 class="sectionTitle">${Settings}</h2>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/settings">${Help}</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,6 @@
|
||||||
<span>${ButtonScanAllLibraries}</span>
|
<span>${ButtonScanAllLibraries}</span>
|
||||||
</button>
|
</button>
|
||||||
<progress max="100" min="0" style="display: inline-block; vertical-align: middle;" class="refreshProgress"></progress>
|
<progress max="100" min="0" style="display: inline-block; vertical-align: middle;" class="refreshProgress"></progress>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt" target="_blank" href="https://jellyfin.org/docs/general/server/libraries">${Help}</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="divVirtualFolders"></div>
|
<div id="divVirtualFolders"></div>
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
<div class="verticalSection verticalSection-extrabottompadding">
|
<div class="verticalSection verticalSection-extrabottompadding">
|
||||||
<div class="sectionTitleContainer flex align-items-center">
|
<div class="sectionTitleContainer flex align-items-center">
|
||||||
<h2 class="sectionTitle">${TabNetworking}</h2>
|
<h2 class="sectionTitle">${TabNetworking}</h2>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/networking/">${Help}</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<fieldset class='verticalSection verticalSection-extrabottompadding'>
|
<fieldset class='verticalSection verticalSection-extrabottompadding'>
|
||||||
|
|
|
@ -6,9 +6,6 @@
|
||||||
<a is="emby-linkbutton" class="fab" href="#/dashboard/plugins/repositories" style="margin-left:1em;" title="${Settings}">
|
<a is="emby-linkbutton" class="fab" href="#/dashboard/plugins/repositories" style="margin-left:1em;" title="${Settings}">
|
||||||
<span class="material-icons settings" aria-hidden="true"></span>
|
<span class="material-icons settings" aria-hidden="true"></span>
|
||||||
</a>
|
</a>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/plugins/">
|
|
||||||
${Help}
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="inputContainer">
|
<div class="inputContainer">
|
||||||
<input id="txtSearchPlugins" name="txtSearchPlugins" type="text" is="emby-input" label="${Search}" />
|
<input id="txtSearchPlugins" name="txtSearchPlugins" type="text" is="emby-input" label="${Search}" />
|
||||||
|
|
|
@ -3,9 +3,6 @@
|
||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<div class="sectionTitleContainer flex align-items-center">
|
<div class="sectionTitleContainer flex align-items-center">
|
||||||
<h2 class="sectionTitle">${TabMyPlugins}</h2>
|
<h2 class="sectionTitle">${TabMyPlugins}</h2>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/plugins/">
|
|
||||||
${Help}
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="inputContainer">
|
<div class="inputContainer">
|
||||||
<input id="txtSearchPlugins" name="txtSearchPlugins" type="text" is="emby-input" label="${Search}" />
|
<input id="txtSearchPlugins" name="txtSearchPlugins" type="text" is="emby-input" label="${Search}" />
|
||||||
|
|
|
@ -6,9 +6,6 @@
|
||||||
<button is="emby-button" type="button" class="fab btnNewRepository submit" style="margin-left:1em;" title="${Add}">
|
<button is="emby-button" type="button" class="fab btnNewRepository submit" style="margin-left:1em;" title="${Add}">
|
||||||
<span class="material-icons add" aria-hidden="true"></span>
|
<span class="material-icons add" aria-hidden="true"></span>
|
||||||
</button>
|
</button>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/plugins/#repositories">
|
|
||||||
${Help}
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="repositories"></div>
|
<div id="repositories"></div>
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
<div class="verticalSection">
|
<div class="verticalSection">
|
||||||
<div class="sectionTitleContainer flex align-items-center">
|
<div class="sectionTitleContainer flex align-items-center">
|
||||||
<h2 class="sectionTitle taskName"></h2>
|
<h2 class="sectionTitle taskName"></h2>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/tasks">${Help}</a>
|
|
||||||
</div>
|
</div>
|
||||||
<p id="pTaskDescription"></p>
|
<p id="pTaskDescription"></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -33,8 +33,7 @@ function populateList(page, tasks) {
|
||||||
|
|
||||||
let currentCategory;
|
let currentCategory;
|
||||||
let html = '';
|
let html = '';
|
||||||
for (let i = 0; i < tasks.length; i++) {
|
for (const task of tasks) {
|
||||||
const task = tasks[i];
|
|
||||||
if (task.Category != currentCategory) {
|
if (task.Category != currentCategory) {
|
||||||
currentCategory = task.Category;
|
currentCategory = task.Category;
|
||||||
if (currentCategory) {
|
if (currentCategory) {
|
||||||
|
@ -46,9 +45,6 @@ function populateList(page, tasks) {
|
||||||
html += '<h2 class="sectionTitle">';
|
html += '<h2 class="sectionTitle">';
|
||||||
html += currentCategory;
|
html += currentCategory;
|
||||||
html += '</h2>';
|
html += '</h2>';
|
||||||
if (i === 0) {
|
|
||||||
html += '<a is="emby-linkbutton" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/tasks">' + globalize.translate('Help') + '</a>';
|
|
||||||
}
|
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
html += '<div class="paperList">';
|
html += '<div class="paperList">';
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
<div class="verticalSection">
|
<div class="verticalSection">
|
||||||
<div class="sectionTitleContainer flex align-items-center">
|
<div class="sectionTitleContainer flex align-items-center">
|
||||||
<h2 class="sectionTitle">${HeaderDVR}</h2>
|
<h2 class="sectionTitle">${HeaderDVR}</h2>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/live-tv/">${Help}</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
<button is="emby-button" type="button" class="fab btnAddDevice submit sectionTitleButton" style="margin-left:1em;" title="${Add}">
|
<button is="emby-button" type="button" class="fab btnAddDevice submit sectionTitleButton" style="margin-left:1em;" title="${Add}">
|
||||||
<span class="material-icons add" aria-hidden="true"></span>
|
<span class="material-icons add" aria-hidden="true"></span>
|
||||||
</button>
|
</button>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" style="margin-left:2em!important;" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/live-tv/">${Help}</a>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="devicesList itemsContainer vertical-wrap" data-hovermenu="false" data-multiselect="false" style="margin-top: .5em;"></div>
|
<div class="devicesList itemsContainer vertical-wrap" data-hovermenu="false" data-multiselect="false" style="margin-top: .5em;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
<div class="verticalSection">
|
<div class="verticalSection">
|
||||||
<div class="sectionTitleContainer flex align-items-center">
|
<div class="sectionTitleContainer flex align-items-center">
|
||||||
<h1 class="sectionTitle">${HeaderLiveTvTunerSetup}</h1>
|
<h1 class="sectionTitle">${HeaderLiveTvTunerSetup}</h1>
|
||||||
<a is="emby-linkbutton" rel="noopener noreferrer" class="raised button-alt headerHelpButton" target="_blank" href="https://jellyfin.org/docs/general/server/live-tv/">${Help}</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import React, { FunctionComponent } from 'react';
|
import React, { FunctionComponent } from 'react';
|
||||||
import IconButtonElement from './IconButtonElement';
|
import IconButtonElement from './IconButtonElement';
|
||||||
import LinkButton from './emby-button/LinkButton';
|
|
||||||
import globalize from 'lib/globalize';
|
|
||||||
|
|
||||||
type IProps = {
|
type IProps = {
|
||||||
SectionClassName?: string;
|
SectionClassName?: string;
|
||||||
|
@ -11,10 +9,8 @@ type IProps = {
|
||||||
btnClassName?: string;
|
btnClassName?: string;
|
||||||
btnTitle?: string;
|
btnTitle?: string;
|
||||||
btnIcon?: string;
|
btnIcon?: string;
|
||||||
isLinkVisible?: boolean;
|
|
||||||
url?: string;
|
|
||||||
};
|
};
|
||||||
const SectionTitleContainer: FunctionComponent<IProps> = ({ SectionClassName, title, isBtnVisible = false, btnId, btnClassName, btnTitle, btnIcon, isLinkVisible = true, url }: IProps) => {
|
const SectionTitleContainer: FunctionComponent<IProps> = ({ SectionClassName, title, isBtnVisible = false, btnId, btnClassName, btnTitle, btnIcon }: IProps) => {
|
||||||
return (
|
return (
|
||||||
<div className={`${SectionClassName} sectionTitleContainer flex align-items-center`}>
|
<div className={`${SectionClassName} sectionTitleContainer flex align-items-center`}>
|
||||||
<h2 className='sectionTitle'>
|
<h2 className='sectionTitle'>
|
||||||
|
@ -29,14 +25,6 @@ const SectionTitleContainer: FunctionComponent<IProps> = ({ SectionClassName, ti
|
||||||
icon={btnIcon}
|
icon={btnIcon}
|
||||||
/>}
|
/>}
|
||||||
|
|
||||||
{isLinkVisible && <LinkButton
|
|
||||||
className='raised button-alt headerHelpButton'
|
|
||||||
target='_blank'
|
|
||||||
rel='noopener noreferrer'
|
|
||||||
href={url}>
|
|
||||||
{globalize.translate('Help')}
|
|
||||||
</LinkButton>}
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -99,12 +99,6 @@ form {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.headerHelpButton {
|
|
||||||
margin-left: 1.25em !important;
|
|
||||||
padding-bottom: 0.4em !important;
|
|
||||||
padding-top: 0.4em !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mediaInfoContent {
|
.mediaInfoContent {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue