"use client"; import { formatDistanceToNow } from "date-fns"; import React, { useEffect, useState } from "react"; import DocumentIcon from "@/components/Icons/Document"; import FolderIcon from "@/components/Icons/Folder"; import MenuIcon from "@/components/Icons/Menu"; const Index = () => { const [apiKey, setApiKey] = useState(""); const [fileList, setFileList] = useState([]); const setCredentials = async () => { setApiKey("ptlc_aDGU4VHNQuN5t6dyxNzVon3UZLR5ehuySmdR7xsUbMm"); }; const formateDate = (isoDate: string) => { const date = new Date(isoDate); return formatDistanceToNow(date, { addSuffix: true }); }; const sortFiles = (files: any) => { const data = files; const sortedData = data.sort((a, b) => { const isADir = !a.attributes.is_file; const isBDir = !b.attributes.is_file; // Najpierw katalogi, potem pliki if (isADir && !isBDir) return -1; if (!isADir && isBDir) return 1; // Sortowanie alfabetyczne return a.attributes.name.localeCompare(b.attributes.name); }); console.log(sortedData); }; const fetchFiles = async (apiKey: string) => { try { const response = await fetch( "https://ptero.przeqpiciel.com/api/client/servers/0bf192ab/files/list", { method: "GET", headers: { Authorization: "Bearer " + apiKey.toString(), "Content-Type": "application/json", }, } ); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data = await response.json(); setFileList(data.data); } catch (error) { console.error("Error fetching data:", error); } }; useEffect(() => { setCredentials(); fetchFiles(apiKey); }, [apiKey]); return ( <> {fileList.map((file) => (