mirror of
https://github.com/arcan1s/ahriman.git
synced 2026-04-07 02:53:38 +00:00
35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
import type React from "react";
|
|
import { Box, Typography, Chip, IconButton } from "@mui/material";
|
|
import DeleteIcon from "@mui/icons-material/Delete";
|
|
import type { Patch } from "api/types/Patch";
|
|
|
|
interface PackagePatchesListProps {
|
|
patches: Patch[];
|
|
editable: boolean;
|
|
onDelete: (key: string) => void;
|
|
}
|
|
|
|
export default function PackagePatchesList({ patches, editable, onDelete }: PackagePatchesListProps): React.JSX.Element | null {
|
|
if (patches.length === 0) {
|
|
return null;
|
|
}
|
|
|
|
return (
|
|
<Box sx={{ mt: 2 }}>
|
|
<Typography variant="subtitle2" gutterBottom>Environment variables</Typography>
|
|
{patches.map((patch) => (
|
|
<Box key={patch.key} sx={{ display: "flex", alignItems: "center", gap: 1, mb: 0.5 }}>
|
|
<Chip label={patch.key} size="small" />
|
|
<Typography variant="body2">=</Typography>
|
|
<Typography variant="body2" sx={{ fontFamily: "monospace" }}>{JSON.stringify(patch.value)}</Typography>
|
|
{editable && (
|
|
<IconButton size="small" color="error" onClick={() => onDelete(patch.key)}>
|
|
<DeleteIcon fontSize="small" />
|
|
</IconButton>
|
|
)}
|
|
</Box>
|
|
))}
|
|
</Box>
|
|
);
|
|
}
|