File size: 1,416 Bytes
38c5e89
945c6bb
5786921
d378496
a447b30
30f44e6
 
38c5e89
 
30f44e6
 
 
a447b30
31d949e
30f44e6
 
 
a447b30
 
 
 
31d949e
38c5e89
 
945c6bb
 
 
 
 
38c5e89
945c6bb
5786921
30f44e6
 
 
 
 
 
5786921
945c6bb
38c5e89
 
 
 
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
import Head from "next/head";
import Container from "@mui/material/Container";
import { Stack } from "@mui/material";
import { DividerBox } from "@/components/base/boxes";
import { useCallback, useEffect, useState } from "react";
import { HF_FileEntry, HFRes } from "@/types";
import { basename } from "path";

export default function Home() {
  const [repo, setRepo] = useState('https://huggingface.co/datasets/banned-historical-archives/wenhuibao_disk/tree/main');
  const [entries, setEntries] = useState<HF_FileEntry[]>([])
  const [next, setNext] = useState('')
  const update = useCallback(
    (async () => {
      const res = (await ((await fetch('/api/get_file_list')).json())) as HFRes;
      setEntries(res.entries);
      setNext(res.nextURL!);
    }), []
  )
  useEffect(() => {
    update()
  }, [])
  return (
    <>
      <Head>
        <title>nextjs-docker-starter</title>
        <link rel="icon" href="/favicon.ico" />
        <meta name="description" content="Next.js in Docker on 🤗 Spaces" />
      </Head>

      <Container component="main" sx={{ minHeight: "90vh" }}>
        <Stack spacing={4} useFlexGap>
          <input value={repo} onChange={e => setRepo(e.target.value)}/>
          {entries.map(i => <div key={i.path}>
            {basename(i.path)}
          </div>)}
          <button onClick={() => {
          }}>more</button>
        </Stack>
      </Container>

    </>
  );
}