mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
apply suggestion
This commit is contained in:
parent
62a9034f5b
commit
72cbd37182
5 changed files with 41 additions and 23 deletions
|
@ -3,6 +3,11 @@ import classNames from 'classnames';
|
|||
import layoutManager from '../../components/layoutManager';
|
||||
import './emby-button.scss';
|
||||
|
||||
enum IconPosition {
|
||||
RIGHT = 'RIGHT',
|
||||
LEFT = 'LEFT',
|
||||
}
|
||||
|
||||
interface ButtonProps extends DetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>,
|
||||
HTMLButtonElement
|
||||
> {
|
||||
|
@ -20,21 +25,27 @@ const Button: React.FC<ButtonProps> = ({
|
|||
onClick,
|
||||
...rest
|
||||
}) => {
|
||||
let cssClass = classNames('emby-button', className);
|
||||
const btnClass = classNames(
|
||||
'emby-button',
|
||||
className,
|
||||
{ 'show-focus': layoutManager.tv }
|
||||
);
|
||||
|
||||
if (layoutManager.tv) {
|
||||
cssClass += ' show-focus';
|
||||
}
|
||||
const iconClass = classNames(
|
||||
'material-icons',
|
||||
iconClassName,
|
||||
icon
|
||||
);
|
||||
|
||||
return (
|
||||
<button
|
||||
className={cssClass}
|
||||
className={btnClass}
|
||||
onClick={onClick}
|
||||
{...rest}
|
||||
>
|
||||
{icon && iconPos === 'LEFT' && <span className={classNames('material-icons', iconClassName, icon)} aria-hidden='true'></span>}
|
||||
{icon && iconPos === IconPosition.LEFT && <span className={iconClass} aria-hidden='true' />}
|
||||
<span>{title}</span>
|
||||
{icon && iconPos === 'RIGHT' && <span className={classNames('material-icons', iconClassName, icon)} aria-hidden='true'></span>}
|
||||
{icon && iconPos === IconPosition.RIGHT && <span className={iconClass} aria-hidden='true' />}
|
||||
</button>
|
||||
);
|
||||
};
|
||||
|
|
|
@ -19,21 +19,27 @@ const IconButton: React.FC<IconButtonProps> = ({
|
|||
onClick,
|
||||
...rest
|
||||
}) => {
|
||||
let cssClass = classNames('paper-icon-button-light', className);
|
||||
const btnClass = classNames(
|
||||
'paper-icon-button-light',
|
||||
className,
|
||||
{ 'show-focus': layoutManager.tv }
|
||||
);
|
||||
|
||||
if (layoutManager.tv) {
|
||||
cssClass += ' show-focus';
|
||||
}
|
||||
const iconClass = classNames(
|
||||
'material-icons',
|
||||
iconClassName,
|
||||
icon
|
||||
);
|
||||
|
||||
return (
|
||||
<button
|
||||
className={cssClass}
|
||||
className={btnClass}
|
||||
title={title}
|
||||
disabled={disabled}
|
||||
onClick={onClick}
|
||||
{...rest}
|
||||
>
|
||||
<span className={classNames('material-icons', iconClassName, icon)} aria-hidden='true'></span>
|
||||
<span className={iconClass} aria-hidden='true' />
|
||||
</button>
|
||||
);
|
||||
};
|
||||
|
|
|
@ -43,11 +43,12 @@ const LinkButton: React.FC<LinkButtonProps> = ({
|
|||
if (isAutoHideEnabled === true && !appHost.supports('externallinks')) {
|
||||
return null;
|
||||
}
|
||||
let cssClass = classNames('emby-button', className);
|
||||
|
||||
if (layoutManager.tv) {
|
||||
cssClass += ' show-focus';
|
||||
}
|
||||
const cssClass = classNames(
|
||||
'emby-button',
|
||||
className,
|
||||
{ 'show-focus': layoutManager.tv }
|
||||
);
|
||||
|
||||
return (
|
||||
<a
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue