mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-04-19 16:28:07 +00:00

* Refactor ScriptItem and Buttons components to enhance layout and integrate dropdown for links. Update InterFaces component for improved styling and structure. * Add React Query integration and enhance component structure - Introduced `@tanstack/react-query` for data fetching and state management. - Added `QueryProvider` component to wrap the application with QueryClient. - Refactored `ScriptItem` to utilize `useVersions` hook for fetching versions. - Created `ResourceDisplay` and `VersionBadge` components for better resource representation. - Improved layout and styling across various components, including `Alerts`, `Buttons`, and `DefaultPassword`. - Updated `layout.tsx` to include the new `QueryProvider` for global state management. * Remove bun.lock file to streamline dependency management and prevent potential conflicts. * Update dependencies in package.json and package-lock.json - Removed `@vercel/analytics` from dependencies. - Upgraded `vitest` and related packages to version `3.1.1`. - Updated various packages to their latest versions for improved performance and compatibility. - Adjusted Node.js engine requirements to support newer versions. * Update dependencies in package.json and package-lock.json - Upgraded various Radix UI components to their latest versions for improved functionality and performance. - Updated `chart.js`, `class-variance-authority`, `cmdk`, `framer-motion`, `fuse.js`, `nuqs`, `pocketbase`, and other packages to their latest versions. - Enhanced TypeScript and ESLint packages for better type checking and linting capabilities. - Updated Tailwind CSS and related plugins for improved styling and utility classes. - Adjusted Node.js engine requirements in several packages to support newer versions.
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import TextCopyBlock from "@/components/TextCopyBlock";
|
|
import { AlertColors } from "@/config/siteConfig";
|
|
import { Script } from "@/lib/types";
|
|
import { cn } from "@/lib/utils";
|
|
import { AlertCircle, NotepadText } from "lucide-react";
|
|
|
|
type NoteProps = {
|
|
text: string;
|
|
type: keyof typeof AlertColors;
|
|
}
|
|
|
|
export default function Alerts({ item }: { item: Script }) {
|
|
return (
|
|
<>
|
|
{item?.notes?.length > 0 &&
|
|
item.notes.map((note: NoteProps, index: number) => (
|
|
<div key={index} className="mt-4 flex flex-col shadow-sm gap-2">
|
|
<p
|
|
className={cn(
|
|
"inline-flex items-center gap-2 rounded-lg border p-2 pl-4 text-sm",
|
|
AlertColors[note.type],
|
|
)}
|
|
>
|
|
{note.type == "info" ? (
|
|
<NotepadText className="h-4 min-h-4 w-4 min-w-4" />
|
|
) : (
|
|
<AlertCircle className="h-4 min-h-4 w-4 min-w-4" />
|
|
)}
|
|
<span>{TextCopyBlock(note.text)}</span>
|
|
</p>
|
|
</div>
|
|
))}
|
|
</>
|
|
);
|
|
}
|