GoonCord/src/core/ui/components/Version.tsx

30 lines
927 B
TypeScript
Raw Normal View History

import { clipboard } from "@metro/common";
import { getAssetIDByName } from "@/lib/api/assets";
2022-10-23 01:39:02 +01:00
import { showToast } from "@ui/toasts";
2022-10-19 07:58:32 +01:00
import { Forms } from "@ui/components";
2023-12-21 03:30:21 +08:00
import { findByProps } from "@/lib/metro/filters";
interface VersionProps {
label: string;
2022-10-23 01:39:02 +01:00
version: string;
icon: string;
2023-12-21 03:30:21 +08:00
padding: boolean;
}
2023-12-21 03:30:21 +08:00
const { TableRow } = findByProps("TableRow");
const { FormText } = Forms;
2023-12-21 03:30:21 +08:00
export default function Version({ label, version, icon, padding }: VersionProps) {
return (
2023-12-21 03:30:21 +08:00
<TableRow
style={padding && { paddingHorizontal: 15, paddingVertical: -15 }}
label={label}
2023-12-21 03:30:21 +08:00
icon={<TableRow.Icon source={getAssetIDByName(icon)} />}
2023-01-14 02:41:28 +00:00
trailing={<FormText>{version}</FormText>}
2022-10-23 01:39:02 +01:00
onPress={() => {
clipboard.setString(`${label} - ${version}`);
2023-12-21 12:45:15 +08:00
showToast.showCopyToClipboard();
2022-10-23 01:39:02 +01:00
}}
/>
)
}