board.tsx 2.18 KB
Newer Older
Lee Soobeom's avatar
Lee Soobeom committed
1
2
3
import React, { useState, MouseEvent } from "react";
import { PostType } from "./typesrc";
import Post from "./post";
Lee Soobeom's avatar
Lee Soobeom committed
4
5
6
7
8

function range(start:number, end:number) {
    return (new Array(end - start + 1)).fill(undefined).map((_, i) => i + start);
}

9
10
11
12
13
14
const fakes = [{id: "a", title:'부산남자의 서울여행', date:'2022-06-30', click: 0},{id: "b", title:'바다!바다!바다!', date:'2022-08-01',click:0}, {id: "c", title:'Jeju-island', date:'2022-9-10',click:0}, {id: "d", title:'마! 부싼 가봤나!', date:'2022-9-22', click:0}, {id: "e", title:'Daegu', date:'2022-10-1', click:0}, {id: "f", title:'강원도 감자는 맛있다.', date:'2022-12-12',click:0},{id: "g", title:'여행가고싶다...',date:'2022-12-25',click:0}];

interface Posts {
    posts: PostType[];
}

Lee Soobeom's avatar
Lee Soobeom committed
15
export default function BoardPage() {
Lee Soobeom's avatar
Lee Soobeom committed
16
17
    
    const [posts, setPosts] = useState<PostType[]>(fakes); 
Lee Soobeom's avatar
Lee Soobeom committed
18

Lee Soobeom's avatar
Lee Soobeom committed
19
20
21
    // const titleHandleClick = (event:MouseEvent<HTMLButtonElement>) => {
    //     setPosts( posts)
    // } 
22

백승민's avatar
theme1    
백승민 committed
23
    return (
Lee Soobeom's avatar
Lee Soobeom committed
24
25
26
27
28
29
30
31
32
        <div className="flex flex-col items-center">
            <div className="flex flex-col items-center mt-6">
                <div>
                    `Travel Report's Board`
                </div>
                <div>
                    `여행지 후기를 남겨주세요!`
                </div>
            </div>
Lee Soobeom's avatar
Lee Soobeom committed
33

34
35
36
37
38
            <div className="flex flex-col w-10/12 mt-16">
                <div className="flex justify-end">
                    <div className="border-2 mb-2"><button>글쓰기+</button></div> {/* Link */}
                </div>
                <div className="sm:overflow-y-scroll">
Lee Soobeom's avatar
Lee Soobeom committed
39
40
41
42
                    <div className="flex flex-row divide-x-2 border-2 border-solid bg-gray-500 border-y-2 h-10 ">
                                <div className="basis-full">Title</div>
                                <div className="basis-3/12">Date</div>
                                <div className="basis-2/12">Clicks</div>
Lee Soobeom's avatar
Lee Soobeom committed
43
44
                    </div>
                    <div>
45
46
                        {posts.map((post) => (
                            <Post key={post.id} post={post}/>
Lee Soobeom's avatar
Lee Soobeom committed
47
48
49
50
51
                        ))}
                    </div>
                </div>
            </div>
        </div>
백승민's avatar
theme1    
백승민 committed
52
    );
Lee Soobeom's avatar
Lee Soobeom committed
53
}