ente/packages/shared/components/Directory/index.tsx
2023-12-24 16:24:31 -05:00

35 lines
961 B
TypeScript

import { styled } from '@mui/material/styles';
import LinkButton from '@ente/shared/components/LinkButton';
import { Tooltip } from '@mui/material';
import ElectronAPIs from '@ente/shared/electron';
import { logError } from '@ente/shared/sentry';
const DirectoryPathContainer = styled(LinkButton)(
({ width }) => `
width: ${width}px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
/* Beginning of string */
direction: rtl;
text-align: left;
`
);
export const DirectoryPath = ({ width, path }) => {
const handleClick = async () => {
try {
await ElectronAPIs.openDirectory(path);
} catch (e) {
logError(e, 'openDirectory failed');
}
};
return (
<DirectoryPathContainer width={width} onClick={handleClick}>
<Tooltip title={path}>
<span>{path}</span>
</Tooltip>
</DirectoryPathContainer>
);
};