mirror of
https://github.com/Radarr/Radarr.git
synced 2026-04-20 21:55:03 -04:00
d99a7e9b8a
(cherry picked from commit e1cbc4a78249881de96160739a50c0a399ea4313) Closes #10378 Fixed: Links tooltip closing too quickly (cherry picked from commit 0b9a212f33381d07ff67e2453753aaab64cc8041) Closes #10400 Fixed: Movie links not opening on iOS (cherry picked from commit f20ac9dc348e1f5ded635f12ab925d982b1b8957) Closes #10425
50 lines
1.2 KiB
TypeScript
50 lines
1.2 KiB
TypeScript
import React, { useCallback } from 'react';
|
|
import { PathType } from 'App/State/PathsAppState';
|
|
import Icon from 'Components/Icon';
|
|
import TableRowCell from 'Components/Table/Cells/TableRowCell';
|
|
import TableRowButton from 'Components/Table/TableRowButton';
|
|
import { icons } from 'Helpers/Props';
|
|
import styles from './FileBrowserRow.css';
|
|
|
|
function getIconName(type: PathType) {
|
|
switch (type) {
|
|
case 'computer':
|
|
return icons.COMPUTER;
|
|
case 'drive':
|
|
return icons.DRIVE;
|
|
case 'file':
|
|
return icons.FILE;
|
|
case 'parent':
|
|
return icons.PARENT;
|
|
default:
|
|
return icons.FOLDER;
|
|
}
|
|
}
|
|
|
|
interface FileBrowserRowProps {
|
|
type: PathType;
|
|
name: string;
|
|
path: string;
|
|
onPress: (path: string) => void;
|
|
}
|
|
|
|
function FileBrowserRow(props: FileBrowserRowProps) {
|
|
const { type, name, path, onPress } = props;
|
|
|
|
const handlePress = useCallback(() => {
|
|
onPress(path);
|
|
}, [path, onPress]);
|
|
|
|
return (
|
|
<TableRowButton onPress={handlePress}>
|
|
<TableRowCell className={styles.type}>
|
|
<Icon name={getIconName(type)} />
|
|
</TableRowCell>
|
|
|
|
<TableRowCell>{name}</TableRowCell>
|
|
</TableRowButton>
|
|
);
|
|
}
|
|
|
|
export default FileBrowserRow;
|