feat: enhance CSV import functionality, integrate react-query for data fetching, and refactor admin components

This commit is contained in:
2025-08-13 16:43:26 +02:00
parent 42d68181f9
commit dd4fcea1b0
14 changed files with 208 additions and 92 deletions

View File

@@ -1,12 +1,15 @@
import React from "react";
import React, { useState } from "react";
import CircleUpload from "./CircleUpload";
import { CircleX } from "lucide-react";
import { postCSV } from "../utils/fileHandler";
type ImportGUIProps = {
onClose: () => void;
setFiles: (files: File[]) => void;
files?: File[];
};
const ImportGUI: React.FC<ImportGUIProps> = ({ onClose }) => {
const ImportGUI: React.FC<ImportGUIProps> = ({ onClose, setFiles, files }) => {
return (
<div className="fixed inset-0 z-50 flex items-start justify-center pt-24">
{/* Backdrop */}
@@ -50,7 +53,7 @@ const ImportGUI: React.FC<ImportGUIProps> = ({ onClose }) => {
</div>
<div className="mt-6">
<CircleUpload accept=".csv" />
<CircleUpload accept=".csv" setFiles={setFiles} files={files} />
</div>
{/* Placeholder for optional file summary / mapping UI */}
@@ -70,7 +73,12 @@ const ImportGUI: React.FC<ImportGUIProps> = ({ onClose }) => {
<button
type="button"
className="inline-flex justify-center rounded-xl bg-blue-600 px-6 py-3 text-sm font-bold text-white shadow transition hover:bg-blue-700 active:bg-blue-800 disabled:opacity-60 disabled:cursor-not-allowed"
disabled
disabled={!files || files.length === 0}
onClick={() => {
if (files && files.length) {
postCSV(files[0]);
}
}}
>
Importieren
</button>