Skip to content

Commit 2624f7c

Browse files
committed
✨ feat: Suspense fallback 시 LoadingSpinner 추가
1 parent eeaf4f0 commit 2624f7c

File tree

3 files changed

+49
-2
lines changed

3 files changed

+49
-2
lines changed

src/App.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import './assets/styles/base.scss';
22
import { Route, Routes } from 'react-router-dom';
33
import { Suspense, lazy } from 'react';
4-
import UploadProgressBar from './components/common/UploadProgressBar';
4+
import LoadingSpinner from './components/common/LoadingSpinner';
55
import Header from './components/layout/Header/Header';
66

77
const RecipientList = lazy(() => import('./pages/RecipientList/RecipientList'));
@@ -16,7 +16,7 @@ export default function App() {
1616
return (
1717
<>
1818
<Header />
19-
<Suspense fallback={<UploadProgressBar progress={80} />}>
19+
<Suspense fallback={<LoadingSpinner />}>
2020
<Routes>
2121
<Route path="/" element={<Home />} />
2222
<Route path="/list" element={<RecipientList />} />
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import styles from './LoadingSpinner.module.scss';
2+
3+
export default function LoadingSpinner() {
4+
return (
5+
<div className={styles.spinnerWrapper}>
6+
<div className={styles.spinner}></div>
7+
<span className={styles.text}>로딩중...</span>
8+
</div>
9+
);
10+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
@use '../../assets/styles/variables.scss' as *;
2+
3+
.spinnerWrapper {
4+
position: fixed;
5+
top: 0;
6+
left: 0;
7+
right: 0;
8+
bottom: 0;
9+
display: flex;
10+
flex-direction: column;
11+
align-items: center;
12+
justify-content: center;
13+
z-index: 9999;
14+
background: rgba(255, 255, 255, 0.5);
15+
}
16+
17+
.spinner {
18+
width: 40px;
19+
height: 40px;
20+
border: 4px solid #eee;
21+
border-top: 4px solid $purple-600;
22+
border-radius: 50%;
23+
animation: spin 1s linear infinite;
24+
margin-bottom: 12px;
25+
}
26+
27+
@keyframes spin {
28+
to {
29+
transform: rotate(360deg);
30+
}
31+
}
32+
33+
.text {
34+
color: $purple-600;
35+
font-size: 1.1rem;
36+
font-weight: 500;
37+
}

0 commit comments

Comments
 (0)