Skip to content

Commit 4f46ba2

Browse files
committed
Merge branch 'develop' of https://github.com/codeit9-temporary/linkbrary into develop
2 parents 30dd9c0 + 6d0ca8b commit 4f46ba2

File tree

6 files changed

+72
-10
lines changed

6 files changed

+72
-10
lines changed

README.md

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
| | <img src="https://github.com/user-attachments/assets/5c4fd2d8-ce67-4f0a-9ce8-d6a928a4752d" alt="박문균" width="150" height="200"/> <br> **박문균 (👑 PM)** | <img src="https://avatars.githubusercontent.com/u/174448906?v=4" alt="전상민" width="150" height="200" /> <br> **전상민** | <img src="https://github.com/user-attachments/assets/c507e53d-ac12-4c2c-83f2-4ab4bc018f56" alt="구민지" width="150" height="200"/> <br> **구민지** | <img src="https://github.com/user-attachments/assets/acffe020-b376-4493-97cc-cadfc74d0eef" alt="정준영" width="150" height="200"/> <br> **정준영** | <img src="https://github.com/user-attachments/assets/fe813d8b-9ba2-4480-a4cc-7d48fc239db7" alt="홍예림" width="150" height="200" /> <br> **홍예림** |
1717
|------------|----------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
18-
| 역할 | 팀장으로 프로젝트 참여<br>로그인 / 회원가입 기능<br>간편 로그인 / 회원가입 | 랜딩 페이지 구현<br>유저 정보 관리<br>소셜 공유 | 즐겨찾기 페이지<br>즐겨찾기 기능<br>링크 수정 / 삭제 기능 | - | 폴더 / 링크 관리 모달 구현<br>자유롭게 소개 |
18+
| 역할 | 팀장으로 프로젝트 참여<br>로그인 / 회원가입 기능<br>간편 로그인 / 회원가입 | 랜딩 페이지 구현<br>유저 정보 관리<br>소셜 공유 | 즐겨찾기 페이지<br>즐겨찾기 기능<br>링크 수정 / 삭제 기능 | 링크 페이지 구현 | 폴더 / 링크 관리 모달 구현 |
1919
2020
| GitHub | [mungyun](https://github.com/mungyun/) | [venise5224](https://github.com/venise5224) | [99minji](https://github.com/99minji/99minji.git) | [junjeeong](https://github.com/junjeeong) | [hongggyelim](https://github.com/hongggyelim) |
2121

@@ -54,11 +54,9 @@ npm run dev
5454
![Figma](https://img.shields.io/badge/figma-%23F24E1E.svg?style=for-the-badge&logo=figma&logoColor=white)
5555
![Notion](https://img.shields.io/badge/Notion-%23000000.svg?style=for-the-badge&logo=notion&logoColor=white)
5656

57-
Zustand
57+
**Zustand**
5858

59-
react-hot-toast
60-
react-icons
61-
react-spinners
59+
**react-hot-toast** / **react-icons** / **react-spinners**
6260

6361

6462
## 유저 플로우
@@ -135,4 +133,37 @@ react-spinners
135133
- 수정 후 main과 develop 브랜치에 병합됩니다.
136134

137135
## **📝 시연 영상**
136+
#### 랜딩페이지
137+
<img src="https://github.com/user-attachments/assets/422c8c2c-a6d9-4601-bdd0-b543a0139ff6" width="600px" alt="랜딩 페이지" />
138+
139+
#### 로그인
140+
141+
<img src="https://github.com/user-attachments/assets/21ee384e-5898-4a47-ae33-98a8d9169310" width="600px" alt="일반 로그인" />
142+
143+
#### 폴더 추가 및 이동
144+
145+
<img src="https://github.com/user-attachments/assets/88455130-9e07-43c5-9017-9e79c74a99a5" width="600px" alt="폴더 추가 및 이동" />
146+
147+
#### 링크 추가
148+
149+
<img src="https://github.com/user-attachments/assets/dbe7cef3-4bf4-4271-9608-ba44b7528345" width="600px" alt="링크 추가" />
150+
151+
#### 링크 수정 및 삭제
152+
153+
<img src="https://github.com/user-attachments/assets/b3ca0a34-4e02-4e11-bbc7-f61309b204af" width="600px" alt="링크 수정 삭제" />
154+
155+
#### 폴더 공유
156+
157+
<img src="https://github.com/user-attachments/assets/b052ff88-6f9d-4639-a7f4-dc9b13f3122e" width="600px" alt="폴더 공유" />
158+
159+
#### 폴더 삭제
160+
161+
<img src="https://github.com/user-attachments/assets/382a9ebf-3a6f-496e-906f-bea21d357e38" width="600px" alt="폴더 삭제" />
162+
163+
#### 즐겨찾기 추가 및 조회
164+
165+
166+
<img src="https://github.com/user-attachments/assets/96b43e58-6685-4597-8f96-6aa981004ce4" width="600px" alt="즐겨찾기 추가 조회" />
167+
168+
138169

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import Skeleton from "react-loading-skeleton";
2+
import "react-loading-skeleton/dist/skeleton.css";
3+
4+
const LinkCardSkeleton = () => {
5+
return (
6+
<div className="w-full p-4 border border-gray-300 rounded-lg shadow-sm">
7+
<Skeleton height={160} />
8+
<Skeleton width="80%" className="mt-2" />
9+
<Skeleton width="60%" className="mt-2" />
10+
<Skeleton width="40%" className="mt-2" />
11+
</div>
12+
);
13+
};
14+
15+
export default LinkCardSkeleton;

package-lock.json

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"react-dom": "^18.2.0",
1919
"react-hot-toast": "^2.4.1",
2020
"react-icons": "^5.3.0",
21+
"react-loading-skeleton": "^3.5.0",
2122
"react-spinners": "^0.14.1",
2223
"zustand": "^5.0.1"
2324
},

pages/favorite/index.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import Container from "@/components/Layout/Container";
88
import LinkCard from "@/components/Link/LinkCard";
99
import Pagination from "@/components/Pagination";
1010
import useFetchLinks from "@/hooks/useFetchLinks";
11-
import LoadingSpinner from "@/components/LoadingSpinner";
1211
import EmptyFavoriteList from "@/components/Favorite/EmptyFavoriteList";
12+
import LinkCardSkeleton from "@/components/skeleton/LinkCardSkeleton";
1313

1414
interface FavoriteDataType {
1515
id: number;
@@ -87,8 +87,10 @@ const FavoritePage = ({
8787
</div>
8888
{/* 로딩 중일 때 */}
8989
{isLoading ? (
90-
<div className="min-h-[100px] h-full pt-20 pb-20">
91-
<LoadingSpinner />
90+
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4">
91+
{[...Array(3)].map((_, index) => (
92+
<LinkCardSkeleton key={index} />
93+
))}
9294
</div>
9395
) : linkCardList.length > 0 ? (
9496
<>

pages/link/index.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import useFetchLinks from "@/hooks/useFetchLinks";
2323
import useViewport from "@/hooks/useViewport";
2424
import useFolderName from "@/hooks/useFolderName";
2525
import LoadingSpinner from "@/components/LoadingSpinner";
26+
import LinkCardSkeleton from "@/components/skeleton/LinkCardSkeleton";
2627

2728
interface LinkPageProps {
2829
linkList: LinkData[];
@@ -119,8 +120,10 @@ const LinkPage = ({
119120
)}
120121
</div>
121122
{isLoading ? (
122-
<div className="min-h-[100px] h-full pt-20 pb-20">
123-
<LoadingSpinner />
123+
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4">
124+
{[...Array(3)].map((_, index) => (
125+
<LinkCardSkeleton key={index} />
126+
))}
124127
</div>
125128
) : linkCardList.length !== 0 ? (
126129
<>

0 commit comments

Comments
 (0)