Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[4주차] 이희원 미션 제출합니다. #18

Open
wants to merge 74 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
96c2ad7
docs : add emoji
hiwon-lee Sep 26, 2024
2e16a27
build : tailwind
hiwon-lee Sep 26, 2024
df164af
docs(chat) : 문서 생성
hiwon-lee Sep 26, 2024
adebfd0
docs : 이미지접근가능설정파일일
hiwon-lee Sep 26, 2024
b5cec87
feat : initial chat main
hiwon-lee Sep 26, 2024
97c1401
feat : component
hiwon-lee Sep 26, 2024
3463c6e
docs : redux 모듈 추가
hiwon-lee Sep 26, 2024
822b687
feat : initial redux 모듈 추가
hiwon-lee Sep 26, 2024
5ff3f4d
chore : redux 반영
hiwon-lee Sep 26, 2024
196b332
feat : add 상단 바
hiwon-lee Sep 26, 2024
d81dff1
feat : 컴퍼넌트 초기화
hiwon-lee Sep 26, 2024
8d7307b
feat : chat 페이지 초기화
hiwon-lee Sep 26, 2024
cb61405
feat(chat) : form
hiwon-lee Sep 26, 2024
1f8af7e
style : 전역 디자인 추가
hiwon-lee Sep 26, 2024
d76e700
docs : ChattingBox삭제 후, MessageItem 만듦
hiwon-lee Sep 26, 2024
d988ce2
docs : 대화 임시 파일
hiwon-lee Sep 26, 2024
dd8915d
feat : 채팅 submit후 ChatMain에 요소 반영
hiwon-lee Sep 26, 2024
dab9d07
docs : 주석 삭제
hiwon-lee Sep 26, 2024
d70c136
style(Form) : 디자인 수정
hiwon-lee Sep 26, 2024
79b81c5
docs : reset 스타일 링크 추가
hiwon-lee Sep 26, 2024
4dd1752
style(chatheader) : chore단위 수정
hiwon-lee Sep 26, 2024
813e044
style(chatmain) : 채팅 내역 영역 확장+ statusbar import 위치 변경
hiwon-lee Sep 26, 2024
ae0fbf3
style(chatmain) : 채팅 scroll, scroll-top 적용
hiwon-lee Sep 26, 2024
a2f97f1
chore(style) : 세부 디자인
hiwon-lee Sep 26, 2024
54f5a9d
feat(profile) : 프로필 클릭시 사용자 토글
hiwon-lee Sep 27, 2024
93ef66e
chore(style) : 수정
hiwon-lee Sep 27, 2024
880a426
refactor : user interface변경에 따른 수정
hiwon-lee Sep 27, 2024
0e9e3cb
feat : 채팅 날짜 추가
hiwon-lee Sep 27, 2024
36cda7a
style : 세부 디자인 수정
hiwon-lee Sep 27, 2024
84649d3
docs : 이모지 파일 위치 변경
hiwon-lee Sep 27, 2024
5f57e06
feat : 채팅 박스에 이모지 선택
hiwon-lee Sep 27, 2024
92e4d6c
style(MessageItem) : 최대 길이 수정
hiwon-lee Sep 29, 2024
68f730c
build : add styled-components
hiwon-lee Oct 7, 2024
06f9fcc
docs : 메뉴 이모지 파일 추가
hiwon-lee Oct 7, 2024
2337000
feat : add page route
hiwon-lee Oct 7, 2024
7e6a0b4
refact : craco-절대경로 적용
hiwon-lee Oct 7, 2024
65d2301
refact : 경로명, 스타일지정 라우팅수정
hiwon-lee Oct 15, 2024
5c21bc7
docs : bottom menu관련 설정 추가
hiwon-lee Oct 17, 2024
657b970
fix(BottomMenu) : .
hiwon-lee Oct 18, 2024
d010f87
docs : interface craco 모듈화
hiwon-lee Oct 18, 2024
de930b2
feat(member item) : 멤버 요소 아이템 프레임
hiwon-lee Oct 18, 2024
414c27b
docs : interface path추가
hiwon-lee Oct 18, 2024
f600528
style : fix
hiwon-lee Oct 22, 2024
3cb6209
chore : add placeholder attr
hiwon-lee Oct 22, 2024
2c0e24d
style : add search ui
hiwon-lee Oct 22, 2024
5d39249
docs : 사용자, 메시지 데이터
hiwon-lee Oct 30, 2024
30c080b
docs : 이모지 추가
hiwon-lee Oct 30, 2024
44e157a
docs : add user, messsage json data
hiwon-lee Oct 30, 2024
cfa7039
feat : 친구 리스트 불러오기...
hiwon-lee Oct 31, 2024
8ed9bd1
docs : fix 메시지, 사용자 데이터
hiwon-lee Oct 31, 2024
0468bf6
docs(.gitignore) : .vscode왜생겨 열받게
hiwon-lee Oct 31, 2024
0c0d2f7
style : fix global style
hiwon-lee Nov 1, 2024
1889e0d
docs : add users
hiwon-lee Nov 1, 2024
88f7cb7
style : ui frame
hiwon-lee Nov 1, 2024
de1b9df
docs : 사용자 id별 대화 데이터 생성
hiwon-lee Nov 2, 2024
dccc6bf
feat : uesrID기반 대화데이터 로컬스토리지에 저장
hiwon-lee Nov 2, 2024
381d93e
style : text-overflow : ellipsis
hiwon-lee Nov 2, 2024
2abdb07
docs : 주석 및 import정리
hiwon-lee Nov 2, 2024
69c7642
feat : 사용자별 채팅방 라우팅
hiwon-lee Nov 2, 2024
d86117d
feat : userID기반 채팅데이터 chatRoom에 넘김
hiwon-lee Nov 2, 2024
51a7f63
docs : redux 필요없는부분뺌
hiwon-lee Nov 2, 2024
0f295e6
fix : 프로필 클릭시 토글되는거
hiwon-lee Nov 2, 2024
b02ef8d
chore : 세부수정
hiwon-lee Nov 2, 2024
8e6cd76
docs : fix 시간데이터
hiwon-lee Nov 2, 2024
729d004
docs : add icon img
hiwon-lee Nov 2, 2024
07854eb
feat : 멤버별 프로필 라우팅
hiwon-lee Nov 2, 2024
1e68b77
chore : fix style
hiwon-lee Nov 2, 2024
82d36f4
refact : clean docs comment etc..
hiwon-lee Nov 2, 2024
32874be
refactor : add messageID
hiwon-lee Nov 2, 2024
813c92e
fix : message emoji 정상 반영, 리렌더링
hiwon-lee Nov 2, 2024
5cf5ef0
fix : data docs
hiwon-lee Nov 2, 2024
c25e0e0
chore : fix docs items
hiwon-lee Nov 2, 2024
0b0479a
chore : 오타수정
hiwon-lee Nov 2, 2024
9842c8b
chore : 주석,콘설 등 안쓰는거 삭제
hiwon-lee Nov 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# dependencies
/node_modules
/.pnp
/.vscode
.pnp.js

# testing
Expand Down
14 changes: 14 additions & 0 deletions craco.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
const { CracoAliasPlugin } = require('react-app-alias');

module.exports = {
plugins: [
{
plugin: CracoAliasPlugin,
options: {
source: 'tsconfig',
baseUrl: './src',
tsConfigPath: './tsconfig.paths.json',
},
Comment on lines +6 to +11

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 Craco를 사용하셨네요! 확실히 절대경로를 사용하니까 import문이 간결하고 깔끔해서 보기 좋은 것 같아요👍저도 다음번엔 CracoAlias 라이브러리를 사용해봐야겠습니다

},
],
};
5,040 changes: 4,905 additions & 135 deletions package-lock.json

Large diffs are not rendered by default.

17 changes: 14 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
"version": "0.1.0",
"private": true,
"dependencies": {
"@craco/craco": "^7.1.0",
"@reduxjs/toolkit": "^2.2.7",
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
Expand All @@ -12,14 +14,17 @@
"@types/react-dom": "^18.2.22",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-redux": "^9.1.2",
"react-router-dom": "^6.26.2",
"react-scripts": "5.0.1",
"styled-components": "^6.1.13",
"typescript": "^4.9.5",
"web-vitals": "^2.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"start": "craco start",
"build": "craco build",
"test": "craco test",
"eject": "react-scripts eject"
},
"eslintConfig": {
Expand All @@ -39,5 +44,11 @@
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"craco": "^0.0.3",
"craco-alias": "^3.0.1",
"react-app-alias": "^2.2.2",
"tailwindcss": "^3.4.13"
}
}
29 changes: 24 additions & 5 deletions public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,38 @@
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<link
rel="icon"
href="%PUBLIC_URL%/favicon.ico"
/>
<meta
name="viewport"
content="width=device-width, initial-scale=1"
/>
<meta
name="theme-color"
content="#000000"
/>
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<link
rel="stylesheet"
href="%PUBLIC_URL%/reset.css"
/>
<link
rel="apple-touch-icon"
href="%PUBLIC_URL%/logo192.png"
/>
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<link
rel="manifest"
href="%PUBLIC_URL%/manifest.json"
/>
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Expand Down
134 changes: 134 additions & 0 deletions public/reset.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
display: block;
}
body {
line-height: 1;
background-color: #252423;
/* color: whitesmoke; */
}
ol,
ul {
list-style: none;
}
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
button {
all: unset;
}
60 changes: 28 additions & 32 deletions src/App.css
Original file line number Diff line number Diff line change
@@ -1,38 +1,34 @@
.App {
text-align: center;
}
:root {
--main-color: #5b5fc7;
--secondary-color: #fbded8;
--accent-color: #d6e3e9;

.App-logo {
height: 40vmin;
pointer-events: none;
}
--pink-light: #e6ced0;
--pink-dark: #53151a;

@media (prefers-reduced-motion: no-preference) {
.App-logo {
animation: App-logo-spin infinite 20s linear;
}
}
--gray-50: #f1f1f1;
--gray-70: #e3e3e3;
--gray-100: #dfdfdf;
--gray-500: #919191;
--gray-700: #676767;
--gray-900: #212121;

.App-header {
background-color: #282c34;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: calc(10px + 2vmin);
color: white;
--font-small: 10px;
--font-caption: 12px;
--font-body: 14px;
--font-subtitle: 16px;
--font-title: 18px;
--font-largeHeading: 22px;
--font-heading: 24px;
}

.App-link {
color: #61dafb;
}

@keyframes App-logo-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
.App {
font-family: 'Inter', sans-serif; /* Set font to Inter */
width: 375px;
height: 100vh;
Comment on lines +27 to +28

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

전체 화면크기를 width는 픽셀로 고정하고 height은 vh로 설정하신 이유가 따로 있으신가요?

/* max-height: 812px; */
/* margin: 1.25rem; */
/* box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); */
margin: 0 auto;
background-color: #ffffff;
}
50 changes: 48 additions & 2 deletions src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,53 @@
import Chat from './pages/Chat';
import './App.css';
import { BrowserRouter, Routes, Route } from 'react-router-dom';
import Members from './pages/Members';
import Team from './pages/Team';
import More from './pages/More';
import Notice from '@pages/Notice';
import ChatRoom from '@pages/Chat/ChatRoom';
import MemberProfile from '@pages/Members/MemberProfile';

function App() {
return (
<div>
<h1>20기 프론트엔드 파이팅!!! 디자인과 사이좋게 지내요~~~</h1>
<div className="App">
<BrowserRouter>
<Routes>
<Route
path="/"
element={<Members />}
></Route>
<Route
path="/members"
element={<Members />}
></Route>
<Route
path="/members/:userId"
element={<MemberProfile />}
></Route>
<Route
path="/notice"
element={<Notice />}
></Route>
<Route
path="/chat"
element={<Chat />}
></Route>
<Route
path="/chat/:userId"
element={<ChatRoom />}
/>{' '}
{/* 각 대화 방 경로 */}
<Route
path="/team"
element={<Team />}
></Route>
<Route
path="/more"
element={<More />}
></Route>
</Routes>
</BrowserRouter>
</div>
);
}
Expand Down
3 changes: 3 additions & 0 deletions src/assets/addCircle.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/chat.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/emoji.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/emotion/angry.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/emotion/awesome.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/emotion/heart.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/emotion/smile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/emotion/surprise.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions src/assets/images.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import CHAT from './menu/chat.png';
import MEMBERS from './menu/members.png';
import MORE from './menu/more.png';
import NOTICE from './menu/notice.png';
import TEAM from './menu/team.png';

export { CHAT };
Binary file added src/assets/insta.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/mail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/menu/chat.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/menu/members.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/menu/more.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/menu/notice.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/menu/team.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/mute.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/phone.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/pin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/prevButton.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/profile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/search.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions src/assets/status.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading