diff --git a/package.json b/package.json
index 06cd96a..ba0869b 100644
--- a/package.json
+++ b/package.json
@@ -32,6 +32,7 @@
"eslint-plugin-react": "^7.33.2",
"framer-motion": "^11.0.3",
"lodash": "^4.17.21",
+ "lottie-react": "^2.4.0",
"next": "14.0.3",
"react": "^18",
"react-dom": "^18",
diff --git a/src/api/axiosInstance.ts b/src/api/axiosInstance.ts
index ad0c8d9..f1798bd 100644
--- a/src/api/axiosInstance.ts
+++ b/src/api/axiosInstance.ts
@@ -27,6 +27,7 @@ axiosInstance.interceptors.response.use(
const originalRequest = error.config;
if (error.response?.status === 401 && !originalRequest._retry) {
+ /*
originalRequest._retry = true;
const refreshToken =
@@ -49,6 +50,8 @@ axiosInstance.interceptors.response.use(
console.error('Error refreshing token:', refreshError);
throw refreshError;
}
+ */
+ window.location.href = '/login';
}
return await Promise.reject(error);
diff --git a/src/assets/lottie.gif b/src/assets/lottie.gif
deleted file mode 100644
index 1957240..0000000
Binary files a/src/assets/lottie.gif and /dev/null differ
diff --git a/src/assets/lottie.json b/src/assets/lottie.json
new file mode 100644
index 0000000..53297b3
--- /dev/null
+++ b/src/assets/lottie.json
@@ -0,0 +1,317 @@
+{
+ "v": "5.5.8",
+ "fr": 29.9700012207031,
+ "ip": 2.00000008146167,
+ "op": 42.0000017106951,
+ "w": 500,
+ "h": 300,
+ "nm": "ÃÂìÃÂûÃÂôÃÂÃÂÃÂÃÂÃÂìÃÂìÃÂçÃÂÃÂÃÂìÃÂÃÂ
ÃÂÃÂ 2",
+ "ddd": 0,
+ "assets": [],
+ "layers": [
+ {
+ "ddd": 0,
+ "ind": 1,
+ "ty": 4,
+ "nm": "ÃÂëÃÂêÃÂèÃÂìÃÂÃÂÃÂàÃÂëÃÂàÃÂÃÂÃÂìÃÂÃÂÃÂôÃÂìÃÂÃÂÃÂô 3",
+ "sr": 1,
+ "ks": {
+ "o": { "a": 0, "k": 100, "ix": 11 },
+ "r": { "a": 0, "k": 0, "ix": 10 },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "i": { "x": 0.833, "y": 0.833 },
+ "o": { "x": 0.133, "y": 0.133 },
+ "t": 0,
+ "s": [350, 220, 0],
+ "to": [0, 0, 0],
+ "ti": [0, 0, 0]
+ },
+ {
+ "i": { "x": 0.382, "y": 1 },
+ "o": { "x": 0.63, "y": 0 },
+ "t": 12,
+ "s": [350, 220, 0],
+ "to": [0, -17.301, 0],
+ "ti": [0, 0, 0]
+ },
+ {
+ "i": { "x": 0.09, "y": 1 },
+ "o": { "x": 0.294, "y": 0 },
+ "t": 27,
+ "s": [350, 116.195, 0],
+ "to": [0, 0, 0],
+ "ti": [0, -17.301, 0]
+ },
+ {
+ "i": { "x": 0.861, "y": 0.861 },
+ "o": { "x": 0.167, "y": 0.167 },
+ "t": 42.5,
+ "s": [350, 220, 0],
+ "to": [0, 0, 0],
+ "ti": [0, 0, 0]
+ },
+ { "t": 47.0000019143492, "s": [350, 220, 0] }
+ ],
+ "ix": 2
+ },
+ "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
+ "s": { "a": 0, "k": [98, 98, 100], "ix": 6 }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "d": 1,
+ "ty": "el",
+ "s": { "a": 0, "k": [45.688, 45.688], "ix": 2 },
+ "p": { "a": 0, "k": [0, 0], "ix": 3 },
+ "nm": "ÃÂÃÂÃÂÃÂÃÂÃÂÃÂìÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂèÃÂìÃÂÃÂÃÂä 1",
+ "mn": "ADBE Vector Shape - Ellipse",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": { "a": 0, "k": [0.3216, 0.7725, 0.651, 1], "ix": 4 },
+ "o": { "a": 0, "k": 100, "ix": 5 },
+ "r": 1,
+ "bm": 0,
+ "nm": "ÃÂìÃÂùÃÂà1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": { "a": 0, "k": [1, 0], "ix": 2 },
+ "a": { "a": 0, "k": [0, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
+ "r": { "a": 0, "k": 0, "ix": 6 },
+ "o": { "a": 0, "k": 100, "ix": 7 },
+ "sk": { "a": 0, "k": 0, "ix": 4 },
+ "sa": { "a": 0, "k": 0, "ix": 5 },
+ "nm": "ÃÂëÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ"
+ }
+ ],
+ "nm": "ÃÂÃÂÃÂÃÂÃÂÃÂÃÂìÃÂÃÂÃÂà1",
+ "np": 3,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 60.0000024438501,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 2,
+ "ty": 4,
+ "nm": "ÃÂëÃÂêÃÂèÃÂìÃÂÃÂÃÂàÃÂëÃÂàÃÂÃÂÃÂìÃÂÃÂÃÂôÃÂìÃÂÃÂÃÂô 1",
+ "sr": 1,
+ "ks": {
+ "o": { "a": 0, "k": 100, "ix": 11 },
+ "r": { "a": 0, "k": 0, "ix": 10 },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "i": { "x": 0.833, "y": 0.833 },
+ "o": { "x": 0.133, "y": 0.133 },
+ "t": 0,
+ "s": [250, 220, 0],
+ "to": [0, 0, 0],
+ "ti": [0, 0, 0]
+ },
+ {
+ "i": { "x": 0.528, "y": 1 },
+ "o": { "x": 0.698, "y": 0 },
+ "t": 7,
+ "s": [250, 220, 0],
+ "to": [0, -16.134, 0],
+ "ti": [0, 0, 0]
+ },
+ {
+ "i": { "x": 0.152, "y": 1 },
+ "o": { "x": 0.284, "y": 0 },
+ "t": 22,
+ "s": [250, 123.195, 0],
+ "to": [0, 0, 0],
+ "ti": [0, -16.134, 0]
+ },
+ {
+ "i": { "x": 0.409, "y": 0.409 },
+ "o": { "x": 0.167, "y": 0.167 },
+ "t": 39,
+ "s": [250, 220, 0],
+ "to": [0, 0, 0],
+ "ti": [0, 0, 0]
+ },
+ { "t": 47.0000019143492, "s": [250, 220, 0] }
+ ],
+ "ix": 2
+ },
+ "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
+ "s": { "a": 0, "k": [98, 98, 100], "ix": 6 }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "d": 1,
+ "ty": "el",
+ "s": { "a": 0, "k": [45.688, 45.688], "ix": 2 },
+ "p": { "a": 0, "k": [0, 0], "ix": 3 },
+ "nm": "ÃÂÃÂÃÂÃÂÃÂÃÂÃÂìÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂèÃÂìÃÂÃÂÃÂä 1",
+ "mn": "ADBE Vector Shape - Ellipse",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": { "a": 0, "k": [0.3216, 0.7725, 0.651, 1], "ix": 4 },
+ "o": { "a": 0, "k": 100, "ix": 5 },
+ "r": 1,
+ "bm": 0,
+ "nm": "ÃÂìÃÂùÃÂà1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": { "a": 0, "k": [1, 0], "ix": 2 },
+ "a": { "a": 0, "k": [0, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
+ "r": { "a": 0, "k": 0, "ix": 6 },
+ "o": { "a": 0, "k": 100, "ix": 7 },
+ "sk": { "a": 0, "k": 0, "ix": 4 },
+ "sa": { "a": 0, "k": 0, "ix": 5 },
+ "nm": "ÃÂëÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ"
+ }
+ ],
+ "nm": "ÃÂÃÂÃÂÃÂÃÂÃÂÃÂìÃÂÃÂÃÂà1",
+ "np": 3,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 60.0000024438501,
+ "st": 0,
+ "bm": 0
+ },
+ {
+ "ddd": 0,
+ "ind": 3,
+ "ty": 4,
+ "nm": "ÃÂëÃÂêÃÂèÃÂìÃÂÃÂÃÂàÃÂëÃÂàÃÂÃÂÃÂìÃÂÃÂÃÂôÃÂìÃÂÃÂÃÂô 2",
+ "sr": 1,
+ "ks": {
+ "o": { "a": 0, "k": 100, "ix": 11 },
+ "r": { "a": 0, "k": 0, "ix": 10 },
+ "p": {
+ "a": 1,
+ "k": [
+ {
+ "i": { "x": 0.833, "y": 0.833 },
+ "o": { "x": 0.133, "y": 0.133 },
+ "t": 0,
+ "s": [150, 220, 0],
+ "to": [0, 0, 0],
+ "ti": [0, 0, 0]
+ },
+ {
+ "i": { "x": 0.726, "y": 1 },
+ "o": { "x": 0.728, "y": 0 },
+ "t": 2,
+ "s": [150, 220, 0],
+ "to": [0, -12.801, 0],
+ "ti": [0, 0, 0]
+ },
+ {
+ "i": { "x": 0.254, "y": 1 },
+ "o": { "x": 0.263, "y": 0 },
+ "t": 18,
+ "s": [150, 143.195, 0],
+ "to": [0, 0, 0],
+ "ti": [0, -12.801, 0]
+ },
+ {
+ "i": { "x": 0.861, "y": 0.861 },
+ "o": { "x": 0.167, "y": 0.167 },
+ "t": 35,
+ "s": [150, 220, 0],
+ "to": [0, 0, 0],
+ "ti": [0, 0, 0]
+ },
+ { "t": 47.0000019143492, "s": [150, 220, 0] }
+ ],
+ "ix": 2
+ },
+ "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
+ "s": { "a": 0, "k": [98, 98, 100], "ix": 6 }
+ },
+ "ao": 0,
+ "shapes": [
+ {
+ "ty": "gr",
+ "it": [
+ {
+ "d": 1,
+ "ty": "el",
+ "s": { "a": 0, "k": [45.688, 45.688], "ix": 2 },
+ "p": { "a": 0, "k": [0, 0], "ix": 3 },
+ "nm": "ÃÂÃÂÃÂÃÂÃÂÃÂÃÂìÃÂÃÂÃÂàÃÂÃÂÃÂÃÂÃÂèÃÂìÃÂÃÂÃÂä 1",
+ "mn": "ADBE Vector Shape - Ellipse",
+ "hd": false
+ },
+ {
+ "ty": "fl",
+ "c": { "a": 0, "k": [0.3216, 0.7725, 0.651, 1], "ix": 4 },
+ "o": { "a": 0, "k": 100, "ix": 5 },
+ "r": 1,
+ "bm": 0,
+ "nm": "ÃÂìÃÂùÃÂà1",
+ "mn": "ADBE Vector Graphic - Fill",
+ "hd": false
+ },
+ {
+ "ty": "tr",
+ "p": { "a": 0, "k": [1, 0], "ix": 2 },
+ "a": { "a": 0, "k": [0, 0], "ix": 1 },
+ "s": { "a": 0, "k": [100, 100], "ix": 3 },
+ "r": { "a": 0, "k": 0, "ix": 6 },
+ "o": { "a": 0, "k": 100, "ix": 7 },
+ "sk": { "a": 0, "k": 0, "ix": 4 },
+ "sa": { "a": 0, "k": 0, "ix": 5 },
+ "nm": "ÃÂëÃÂóÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ"
+ }
+ ],
+ "nm": "ÃÂÃÂÃÂÃÂÃÂÃÂÃÂìÃÂÃÂÃÂà1",
+ "np": 3,
+ "cix": 2,
+ "bm": 0,
+ "ix": 1,
+ "mn": "ADBE Vector Group",
+ "hd": false
+ }
+ ],
+ "ip": 0,
+ "op": 60.0000024438501,
+ "st": 0,
+ "bm": 0
+ }
+ ],
+ "markers": []
+}
diff --git a/src/components/atoms/Lottie.tsx b/src/components/atoms/Lottie.tsx
new file mode 100644
index 0000000..e65d48c
--- /dev/null
+++ b/src/components/atoms/Lottie.tsx
@@ -0,0 +1,12 @@
+import React from 'react';
+// import Lottie from 'lottie-react';
+// import animationData from './../../assets/lottie.json';
+
+const LottieComponent = () => {
+ return (
+ //
+
로딩중
+ );
+};
+
+export default LottieComponent;
diff --git a/src/components/atoms/index.ts b/src/components/atoms/index.ts
index dce0bf4..38ebf49 100644
--- a/src/components/atoms/index.ts
+++ b/src/components/atoms/index.ts
@@ -16,4 +16,5 @@ export { default as RadioButtonField } from './RadioButtonField';
export { default as Input } from './Input';
export { default as MiniButton } from './MiniButton';
export { default as ExclamationAlertSpan } from './ExclamationAlertSpan';
-export { default as CheckBox } from './CheckBox';
+export { default as Lottie } from './Lottie';
+export { default as CheckBox } from './CheckBox';
\ No newline at end of file
diff --git a/src/components/molecules/Counter.tsx b/src/components/molecules/Counter.tsx
index cb1111d..251de57 100644
--- a/src/components/molecules/Counter.tsx
+++ b/src/components/molecules/Counter.tsx
@@ -11,7 +11,7 @@ const Counter: React.FC = ({
-
+
diff --git a/src/components/organisms/FridgeInfoBox.tsx b/src/components/organisms/FridgeInfoBox.tsx
index 1563ff6..3145a92 100644
--- a/src/components/organisms/FridgeInfoBox.tsx
+++ b/src/components/organisms/FridgeInfoBox.tsx
@@ -1,15 +1,19 @@
import { AngleIcon } from '@/assets/icons';
import { Button } from '../atoms';
import React from 'react';
+import { useRouter } from 'next/router';
const FridgeInfoBox: React.FC<{
+ userName?: string;
toggleIsOpenFridgeListModal: () => void;
- toggleIsOpenIngredientAddModal?: () => void;
-}> = ({ toggleIsOpenFridgeListModal, toggleIsOpenIngredientAddModal }) => {
+ isOkIngredientAdd?: boolean;
+}> = ({ userName = '', toggleIsOpenFridgeListModal, isOkIngredientAdd }) => {
+ const router = useRouter();
+
return (
- {toggleIsOpenIngredientAddModal && (
+ {isOkIngredientAdd && (