File size: 1,241 Bytes
cce8120 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #!/usr/bin/env bash
set -euo pipefail
mkdir -p components/explorer
cat > components/explorer/ProductionFileExplorer.jsx <<'EOC'
"use client";
import { useEffect, useState } from "react";
import api from "../../src/services/api";
export default function ProductionFileExplorer({ projectId }) {
const [files, setFiles] = useState([]);
useEffect(() => {
if (!projectId) return;
api.getProjectFiles(projectId)
.then(setFiles)
.catch(() => setFiles([]));
}, [projectId]);
return (
<aside className="h-full overflow-auto bg-slate-950 text-sm text-slate-200">
<div className="border-b border-slate-800 p-3 font-semibold">
Explorer
</div>
{files.map((file) => (
<div
key={file.path}
className="cursor-pointer border-b border-slate-900 px-3 py-2 hover:bg-slate-900"
>
{file.path}
</div>
))}
</aside>
);
}
EOC
cat > components/explorer/index.js <<'EOC'
export { default as ProductionFileExplorer } from "./ProductionFileExplorer";
EOC
echo "[1/3] Verify..."
test -f components/explorer/ProductionFileExplorer.jsx
test -f components/explorer/index.js
echo "[2/3] Complete."
echo "Production File Explorer installed."
|