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."