64 lines
2.1 KiB
TypeScript
64 lines
2.1 KiB
TypeScript
// /components/main/settingsPageComponents/DatabaseSettings.tsx
|
||
"use client";
|
||
import React from "react";
|
||
import handleClearDatabase from "./handlers/dbHandlers/handleClearDatabase";
|
||
import handleClearConfig from "./handlers/dbHandlers/handleClearConfig";
|
||
import handleClearMessages from "./handlers/dbHandlers/handleClearMessages";
|
||
import handleClearLogger from "./handlers/dbHandlers/handleClearLogger";
|
||
import { useAdminAuth } from "./hooks/useAdminAuth";
|
||
|
||
const DatabaseSettings: React.FC = () => {
|
||
const { isAdminLoggedIn } = useAdminAuth(true);
|
||
return (
|
||
<div className="p-6 bg-gray-100 max-w-5xl mr-auto rounded shadow">
|
||
<h2 className="text-lg font-bold mb-6">Datenbank Einstellungen</h2>
|
||
|
||
<div className="grid grid-cols-1 md:grid-cols-2 gap-4 mb-6">
|
||
<button
|
||
type="button"
|
||
onClick={handleClearMessages}
|
||
className="bg-littwin-blue text-white px-4 py-2 rounded shadow hover:bg-blue-700"
|
||
>
|
||
Meldungen löschen
|
||
</button>
|
||
|
||
<button
|
||
type="button"
|
||
onClick={handleClearLogger}
|
||
className="bg-littwin-blue text-white px-4 py-2 rounded shadow hover:bg-blue-700"
|
||
>
|
||
Messwerte Logger löschen
|
||
</button>
|
||
</div>
|
||
|
||
{isAdminLoggedIn && (
|
||
<div className="mt-8 border-t pt-6">
|
||
<h3 className="text-md font-semibold mb-4 text-red-700">
|
||
⚠️ Nur für Administratoren
|
||
</h3>
|
||
|
||
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||
<button
|
||
type="button"
|
||
onClick={handleClearDatabase}
|
||
className="bg-red-600 text-white px-4 py-2 rounded shadow hover:bg-red-700"
|
||
>
|
||
Datenbank vollständig leeren
|
||
</button>
|
||
|
||
<button
|
||
type="button"
|
||
onClick={handleClearConfig}
|
||
className="bg-red-600 text-white px-4 py-2 rounded shadow hover:bg-red-700"
|
||
>
|
||
Konfiguration löschen
|
||
</button>
|
||
</div>
|
||
</div>
|
||
)}
|
||
</div>
|
||
);
|
||
};
|
||
|
||
export default DatabaseSettings;
|