RecommandPage.js 3.86 KB
import React, { useCallback, useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useNavigate } from "react-router-dom";
import "../style/RecommandPage.scss"
import axios from 'axios';


function RecommandPage(props) {

    const navigate = useNavigate();

    const [Time, setTime] = useState("00:00:00");

    const currentTime = () => {
      const date = new Date();
      const hours = String(date.getHours()).padStart(2, "0");
      const minutes = String(date.getMinutes()).padStart(2, "0");
      const seconds = String(date.getSeconds()).padStart(2, "0");
      setTime(hours+":"+minutes+":"+seconds);
    }

    const startTimer = () => {
      setInterval(currentTime, 1000)
    }

    startTimer()

    const navigate_login = useCallback((event) => {
        navigate('../login');
    })

    const navigate_register = useCallback((event) => {
        navigate('../register');
    })  

    console.log(initData);

    useEffect(async() => {
        try{
            const res = await axios.post('localhost:4000/api/weather')
            const _inputData = await res.data.map((weatherData) => (
                {
                    today: weatherData.today,
                    time: weatherData.time,
                    temperature: weatherData.temperature,
                    rainper: weatherData.rainper,
                    weather: weatherData.weather
                })
            )
            // initData 그릇에 concat 으로 추가
            setInitData(initData.concat(_inputData))
        } catch(e){
            console.error(e.message)
        }
    },[])

    const [Rainstring, setRainstring] = useState("");
    const rain = () => {
        if(initData.inputData.umbrella == 1) {
            setRainstring("비 예보가 있습니다. 우산을 꼭 챙겨주세요!");
        }
        else if(initData.inputData.umbrella == 0) {
            setRainstring("비 예보가 없습니다!");
        }
    } //weather.js

    rain();

    const [topPath, settopPath] = useState([""]);
    const [bottomPath, setbottomPath] = useState([""]); //clothes.js

    return (
        <> 
        <dir id = "header">
            <dir className="clock">
            <h1 id="clock">{Time}</h1>
            </dir>
            <dir className="title">
                <h1>Weather_Briefing</h1>
            </dir>
            <dir className="Login-Register">
                <button type="button" onClick={navigate_login}>Login</button>
                <button type="button" onClick={navigate_register}>Register</button>
            </dir>
        </dir>

        <div id = "recommand_body">
            <dir className="fashion_recommand">
                <dir className="rainOrnot">{Rainstring}</dir>
                <dir className="clothes">
                    <dir className="Top">
                        <h1>TOP</h1>
                        <img src={topClothes} className='Top_Image' />
                    </dir>
                    <dir className="Bottom">
                        <h1>BOTTOM</h1>
                        <img src={bottomClothes} className='Bottom_Image' />
                    </dir>
                    <dir className="Head">
                        <h1>HEAD</h1>
                        <img src={topClothes} className='Head_Image' />
                    </dir>
                    <dir className="Shoes">
                        <h1>SHOES</h1>
                        <img src={bottomClothes} className='Shoes_Image' />
                    </dir>
                </dir>
            </dir>
        </div>

        <dir id = "footer">
            <dir className="footer_logo">
            <h1>logo</h1>
            </dir>
            <dir className="footer_info">
                <p>경희대학교</p>
                <p>컴퓨터공학과 김건희ㅣ오석진ㅣ손수민</p>
            </dir>
        </dir>
    </>
    );
};

export default RecommandPage;