40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
"use client";
|
|
// @/components/main/settingsPageComponents/modals/ProgressModal.tsx
|
|
import React from "react";
|
|
|
|
type Props = {
|
|
visible: boolean;
|
|
progress: number;
|
|
slot?: number;
|
|
};
|
|
|
|
const ProgressModal: React.FC<Props> = ({ visible, progress, slot }) => {
|
|
if (!visible) return null;
|
|
|
|
return (
|
|
<div className="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 ">
|
|
<div className="bg-white p-6 rounded shadow-md text-center w-80">
|
|
{/*
|
|
<h2 className="text-lg font-bold mb-4">
|
|
Firmwareupdate
|
|
{typeof slot === "number" ? ` KÜ ${slot}` : ""} läuft ...
|
|
</h2>
|
|
*/}
|
|
<h2 className="text-lg font-bold mb-4">
|
|
Firmwareupdate läuft ...
|
|
{typeof slot === "number" ? ` ` : ""}
|
|
</h2>
|
|
<div className="w-full bg-gray-200 rounded-full h-4">
|
|
<div
|
|
className="bg-blue-500 h-4 rounded-full transition-all duration-100"
|
|
style={{ width: `${progress}%` }}
|
|
></div>
|
|
</div>
|
|
<p className="mt-4 text-sm">{Math.round(progress)}% abgeschlossen</p>
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default ProgressModal;
|