React Twittler Intro

차재현·2023년 1월 20일

import React from 'react';
import './App.css';
import './global-style.css';
import { dummyTweets } from './static/dummyData';
// ! 위 코드는 수정하지 않습니다.

// 개발 단계에서 사용하는 더미 데이터입니다.

const Sidebar = () => {
return (

<section className="sidebar">
<i className="far fa-comment-dots"></i>//sidebar에 아이콘 표시
</section>
);
};

const Counter = () => {
return (

<div className="tweetForm__input">
  <div className="tweetForm__inputWrapper">
    <div className="tweetForm__count" role="status">
      total : {dummyTweets.length}//데이터 개수 표시
    </div>
  </div>
</div>
 );
};

const Footer = () => {
return (

<footer>//img가 footer의 하위
<div>
  <img id="logo" src={`${process.env.PUBLIC_URL}/codestates-logo.png`} />
  Copyright @ 2022 Code States
</div>
</footer>//
 );
};

const Tweets = () => {
return(

<ul className="tweets">
  {dummyTweets.map((tweet) => {
    const isParkHacker = tweet.username === 'parkhacker'
    const tweetUserNameClass = isParkHacker
          ? 'tweet__username tweet__username--purple'
          : 'tweet__username';//tweet에서 가져온 username이 parkhacker인지 확인하고 true일경우 보라색으로 바꾼다


    return (
      <li className="tweet" key={tweet.id}>
        <div className="tweet__profile">
          <img src = {tweet.picture}></img>//프로필 사진 등록
        </div>
        <div className="tweet__content">
          <div className="tweet__userInfo">
            <span className={tweetUserNameClass} >
              {tweet.username}//사용자 이름 표시               
           </span>
            <span className='tweet__createdAt'>
              {tweet.createdAt}//생성일자
            </span>
          </div>
          <div className='tweet__message'>
            {tweet.content}//트위터 내용
          </div>
        </div>
      </li>
    );
  })}
</ul>

);
};

const Features = () => {
return (

<section className="features">
  <div className="tweetForm__container">
    <div className="tweetForm__wrapper">
      <div className="tweetForm__profile"></div>
      <Counter />
    </div>
  </div>
  <Tweets />
  <Footer />//footer가 features의 내부

</section>
 );
};

const App = () => {
return (

<div className="App">
  <main>
    <Sidebar />//sidebar가 app의 내부        
    <Features />
  </main>
</div>

);
};

// ! 아래 코드는 수정하지 않습니다.
export { App, Sidebar, Counter, Tweets, Features, Footer };

profile
신입

0개의 댓글