Skip to content
Open
Show file tree
Hide file tree
Changes from 52 commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
2ae3d8c
Initial Setting
yiyoonseo Mar 24, 2026
9d45d3e
Feat: 타이포 스타일 및 컬러 시스템 정의
yiyoonseo Mar 24, 2026
fd7c9c2
Feat: 채팅 버블 컴포넌트 css 구현
yiyoonseo Mar 24, 2026
2e55394
Feat: InputBar 구현
yiyoonseo Mar 24, 2026
a25e441
Style: 노치 디자인 추가
yiyoonseo Mar 24, 2026
be5891e
Feat: 채팅창 헤더 구현
yiyoonseo Mar 24, 2026
c44a33e
Refactor: Zustand 상태 관리 채팅
yiyoonseo Mar 25, 2026
b661a32
Feat: Zustand 유저 및 메시지 localStorage 저장/유저 전환 기능
yiyoonseo Mar 25, 2026
8f6fd07
Mod: UI 수정
yiyoonseo Mar 25, 2026
c1bc198
Fix: 한글 입력 문제 해결
yiyoonseo Mar 25, 2026
e49fecb
Mod: 탑 바 UI 수정
yiyoonseo Mar 25, 2026
fb787e9
Mod: QA-상대방 변경 기능 삭제
yiyoonseo Mar 25, 2026
c1e8ee6
Mod: QA-Top Bar 패딩 정리
yiyoonseo Mar 26, 2026
5999fef
Mod: QA-이모티콘 위치 고정
yiyoonseo Mar 27, 2026
6fac405
Mod: QA-UI 수정
yiyoonseo Mar 27, 2026
2c496f5
Feat: 사용자 전환 기능 재설정
yiyoonseo Mar 27, 2026
d42ae56
Refactor: Bubble 통일
yiyoonseo Mar 27, 2026
640bf6e
Feat: 채팅 룸 아이디 부여 및 리스트 구현
yiyoonseo Mar 27, 2026
f1a63cd
Mod: 폰트 자간 수정
yiyoonseo Mar 27, 2026
35ec8d7
Feat: 읽음 기능 추가
yiyoonseo Mar 28, 2026
e1cd8da
Feat: 배경색 추가
yiyoonseo Mar 28, 2026
1a6915c
Refactor: 코드 구조 개선 및 유틸리티 함수 분리
yiyoonseo Mar 28, 2026
2f4e9eb
Fix: 줄바꿈 적용
yiyoonseo Mar 28, 2026
670f6af
Fix: 새로고침 오류 수정
yiyoonseo Mar 31, 2026
200ebf7
Refactor: 텍스트 스타일 theme 적용
yiyoonseo Apr 1, 2026
67caa53
Refactor: swapPerspective 함수 최적화
yiyoonseo Apr 1, 2026
188e622
Refactor: word-break 적용
yiyoonseo Apr 1, 2026
844cf57
Refactor: getFormattedDate 유틸 분리
yiyoonseo Apr 1, 2026
3883af3
Refactor: Props Drilling 개선
yiyoonseo Apr 1, 2026
2256c0a
Refactor: 기타 리팩토링
yiyoonseo Apr 1, 2026
753c471
Refactor: 절대 경로 도입
yiyoonseo Apr 1, 2026
711324c
Mod: QA-UI 수정
yiyoonseo Apr 1, 2026
852cb32
Feat: 레이아웃 구현
yiyoonseo Apr 2, 2026
8c4de02
Mod: QA-추가 수정사항 반영
yiyoonseo Apr 2, 2026
e60d9bb
Feat: 페이지 헤더 적용
yiyoonseo Apr 2, 2026
be559d7
Mod: QA-버블 오류 및 자간 수정
yiyoonseo Apr 2, 2026
90b4c12
Feat: 친구 목록 구현
yiyoonseo Apr 3, 2026
0d0a9ad
Feat: 헤더 통합 및 고정
yiyoonseo Apr 3, 2026
f916c19
Feat: 프로필 페이지 구현
yiyoonseo Apr 4, 2026
a968765
Fix: 프로필 변경사항 적용 수정
yiyoonseo Apr 4, 2026
e90f877
Refactor: 친구 목록 파일 통합
yiyoonseo Apr 4, 2026
2633a7e
Mod: 친구 목록 상태 메시지 삭제
yiyoonseo Apr 4, 2026
5868d2d
Feat: 프로필 사진 설정 / 삭제 로직 구현
yiyoonseo Apr 4, 2026
49fedb4
Feat: Edit 페이지 분리
yiyoonseo Apr 5, 2026
b3edc9c
Fix: 라우팅 스택 조정
yiyoonseo Apr 5, 2026
139817a
Fix: 읽음 처리 로직 수정
yiyoonseo Apr 5, 2026
5c4d900
Feat: 안읽음 뱃지 추가
yiyoonseo Apr 5, 2026
c8aa049
Feat: 프로필 사진 추가
yiyoonseo Apr 5, 2026
4ca2598
Mod: 상태메시지 없을 때 UI 수정
yiyoonseo Apr 6, 2026
5d33fb5
Feat: 프로필 사진 적용
yiyoonseo Apr 6, 2026
fbdb586
Feat: 채팅방목록 필터 구현
yiyoonseo Apr 6, 2026
b6319c2
Feat: 즐겨찾기 기능 추가
yiyoonseo Apr 6, 2026
5c22caa
Feat: 로고 및 og 설정
yiyoonseo Apr 7, 2026
3e14da5
Fix: 빌드 에러 수정
yiyoonseo Apr 7, 2026
8a71919
Feat: 아이콘 포인터 속성 추가
yiyoonseo Apr 7, 2026
17fe820
Feat: 파일 탐색기 연동
yiyoonseo Apr 7, 2026
466a315
Fix: QA-프로필 설정 하단 탭 수정
yiyoonseo Apr 7, 2026
0878a2c
Mod: QA-페이지 헤더 폰트 수정
yiyoonseo Apr 7, 2026
5b7e54c
Feat: 그룹 채팅방 발신자 이름 표기
yiyoonseo Apr 7, 2026
04557c2
Refactor: Hooks 분리
yiyoonseo Apr 7, 2026
0d78fb5
Fix: 빌드 에러 수정
yiyoonseo Apr 24, 2026
7c86c56
Refactor: hook extraction, Avatar unification, MY_ID constant, getRoo…
yiyoonseo Apr 26, 2026
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
24 changes: 24 additions & 0 deletions messenger-whatsapp/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
73 changes: 73 additions & 0 deletions messenger-whatsapp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs)
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/)

## React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

```js
export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...

// Remove tseslint.configs.recommended and replace with this
tseslint.configs.recommendedTypeChecked,
// Alternatively, use this for stricter rules
tseslint.configs.strictTypeChecked,
// Optionally, add this for stylistic rules
tseslint.configs.stylisticTypeChecked,

// Other configs...
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])
```

You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:

```js
// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...
// Enable lint rules for React
reactX.configs['recommended-typescript'],
// Enable lint rules for React DOM
reactDom.configs.recommended,
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])
```
23 changes: 23 additions & 0 deletions messenger-whatsapp/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import tseslint from 'typescript-eslint'
import { defineConfig, globalIgnores } from 'eslint/config'

export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
js.configs.recommended,
tseslint.configs.recommended,
reactHooks.configs.flat.recommended,
reactRefresh.configs.vite,
],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
},
},
])
13 changes: 13 additions & 0 deletions messenger-whatsapp/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!doctype html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>messenger-whatsapp</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
Loading