diff --git a/frontend/app/(route)/alarm/page.tsx b/frontend/app/(route)/(main)/alarm/page.tsx
similarity index 100%
rename from frontend/app/(route)/alarm/page.tsx
rename to frontend/app/(route)/(main)/alarm/page.tsx
diff --git a/frontend/app/(route)/feed/page.tsx b/frontend/app/(route)/(main)/feed/page.tsx
similarity index 100%
rename from frontend/app/(route)/feed/page.tsx
rename to frontend/app/(route)/(main)/feed/page.tsx
diff --git a/frontend/app/(route)/profile/page.tsx b/frontend/app/(route)/(main)/profile/page.tsx
similarity index 100%
rename from frontend/app/(route)/profile/page.tsx
rename to frontend/app/(route)/(main)/profile/page.tsx
diff --git a/frontend/app/(route)/search/_components/PostItem/index.tsx b/frontend/app/(route)/(main)/search/_components/PostItem/index.tsx
similarity index 100%
rename from frontend/app/(route)/search/_components/PostItem/index.tsx
rename to frontend/app/(route)/(main)/search/_components/PostItem/index.tsx
diff --git a/frontend/app/(route)/search/_components/PostItem/pokeCard.module.css b/frontend/app/(route)/(main)/search/_components/PostItem/pokeCard.module.css
similarity index 100%
rename from frontend/app/(route)/search/_components/PostItem/pokeCard.module.css
rename to frontend/app/(route)/(main)/search/_components/PostItem/pokeCard.module.css
diff --git a/frontend/app/(route)/search/_components/PostList/index.tsx b/frontend/app/(route)/(main)/search/_components/PostList/index.tsx
similarity index 100%
rename from frontend/app/(route)/search/_components/PostList/index.tsx
rename to frontend/app/(route)/(main)/search/_components/PostList/index.tsx
diff --git a/frontend/app/(route)/search/_components/PostList/postList.module.css b/frontend/app/(route)/(main)/search/_components/PostList/postList.module.css
similarity index 100%
rename from frontend/app/(route)/search/_components/PostList/postList.module.css
rename to frontend/app/(route)/(main)/search/_components/PostList/postList.module.css
diff --git a/frontend/app/(route)/search/_components/SearchInput/index.tsx b/frontend/app/(route)/(main)/search/_components/SearchInput/index.tsx
similarity index 100%
rename from frontend/app/(route)/search/_components/SearchInput/index.tsx
rename to frontend/app/(route)/(main)/search/_components/SearchInput/index.tsx
diff --git a/frontend/app/(route)/search/_components/SearchInput/searchInput.module.css b/frontend/app/(route)/(main)/search/_components/SearchInput/searchInput.module.css
similarity index 100%
rename from frontend/app/(route)/search/_components/SearchInput/searchInput.module.css
rename to frontend/app/(route)/(main)/search/_components/SearchInput/searchInput.module.css
diff --git a/frontend/app/(route)/search/page.module.css b/frontend/app/(route)/(main)/search/page.module.css
similarity index 100%
rename from frontend/app/(route)/search/page.module.css
rename to frontend/app/(route)/(main)/search/page.module.css
diff --git a/frontend/app/(route)/search/page.tsx b/frontend/app/(route)/(main)/search/page.tsx
similarity index 100%
rename from frontend/app/(route)/search/page.tsx
rename to frontend/app/(route)/(main)/search/page.tsx
diff --git a/frontend/app/_common/BottomMenu/bottomMenu.module.css b/frontend/app/_common/BottomMenu/bottomMenu.module.css
index 0283e5d..5a26e68 100644
--- a/frontend/app/_common/BottomMenu/bottomMenu.module.css
+++ b/frontend/app/_common/BottomMenu/bottomMenu.module.css
@@ -1,11 +1,18 @@
-.main {
- background-color: white;
+.main_wrapper {
+ width: 100%;
display: flex;
- width: 360px;
- border-top: 1px solid #999999;
+ justify-content: center;
+ align-items: center;
+}
+.util_wrapper {
+ background-color: #fff;
+ display: flex;
+ width: 100%;
+ max-width: 700px;
position: fixed;
z-index: 100;
bottom: 0;
+ margin: auto;
}
.link {
flex: 1;
@@ -16,13 +23,17 @@
.button {
display: flex;
flex-direction: column;
- padding: 8px 0;
+ padding: 4px 0;
align-items: center;
color: #999999;
color:#ff5757;
}
-
.icon {
width: 24px;
height: 24px;
+}
+@media (min-width:1001px) {
+ .main_wrapper {
+ display: none;
+ }
}
\ No newline at end of file
diff --git a/frontend/app/_common/BottomMenu/index.tsx b/frontend/app/_common/BottomMenu/index.tsx
index ff67d80..9badb10 100644
--- a/frontend/app/_common/BottomMenu/index.tsx
+++ b/frontend/app/_common/BottomMenu/index.tsx
@@ -10,38 +10,41 @@ import Link from 'next/link'
import style from './bottomMenu.module.css'
const userTools = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)
export default userTools
diff --git a/frontend/app/_components/Carousel/carousel.module.css b/frontend/app/_components/Carousel/carousel.module.css
index a385136..f981b6d 100644
--- a/frontend/app/_components/Carousel/carousel.module.css
+++ b/frontend/app/_components/Carousel/carousel.module.css
@@ -1,7 +1,14 @@
-.main {
+.main_wrapper {
width: 100%;
+ background-color: rgba(255, 141, 35, 0.705);
+ margin-bottom: 24px;
}
-.carouselContainer {
+.data_wrapper {
+ position: relative;
+ width: 100%;
+ display: flex;
+}
+.carousel_container {
position: relative;
width: 100%;
overflow: hidden;
@@ -25,7 +32,7 @@
.carouselItems {
display: flex;
position: relative;
- height: 100%;
+ max-height: 440px;
padding: 0;
margin: 0;
}
@@ -33,20 +40,23 @@
display: flex;
flex: none;
width: 100%;
+ min-height: 300px;
align-items: center;
justify-content: center;
overflow: hidden;
}
-.carouselTextContainer {
+.carousel_text_container {
position: absolute;
width: 100%;
bottom: 0;
background: linear-gradient(rgba(255, 255, 255, 0),rgba(255, 0, 0, 0.3));
padding: 0 24px;
}
-.carouselText {
+.carousel_text {
margin: 0;
- color: white;
+ color: #fff;
+ font-size: 20px;
+ font-weight: 700;
}
.carouselImage {
width: 100%;
@@ -68,4 +78,37 @@
}
.monthlyCatText {
margin-bottom: 12px;
+}
+/* @media (min-width:481px) {
+ .main_wrapper {
+ display: hidden;
+ }
+} */
+@media (min-width:601px) {
+ .main_wrapper {
+ height: 302px;
+ margin-bottom: 100px;
+ }
+ .data_wrapper {
+ position: absolute;
+ top: 80px;
+ justify-content: center;
+ align-items: center;
+ padding: 0 40px;
+ }
+ .carousel_container {
+ min-width: 268px;
+ flex: 1;
+ max-width: 560px;
+ height: 284px;
+ border-radius: 20px;
+ }
+ .carousel_text_container {
+ position: relative;
+ background:none;
+ flex-shrink: 0;
+ width: 236px;
+ height:206px;
+ padding: 24px;
+ }
}
\ No newline at end of file
diff --git a/frontend/app/_components/Carousel/index.tsx b/frontend/app/_components/Carousel/index.tsx
index b9ee0e3..005fdcf 100644
--- a/frontend/app/_components/Carousel/index.tsx
+++ b/frontend/app/_components/Carousel/index.tsx
@@ -78,48 +78,51 @@ function Carousel({ carouselList }: CarouselProps) {
}, 5000)
return (
-
-
-
handleSwipe(-1)}
- />
- handleSwipe(1)}
- />
-
- {currList?.map((image, idx) => {
- const key = `${image.url}-${idx}`
- return (
- -
-
-
- )
- })}
-
-
+
+
+
+
handleSwipe(-1)}
+ />
+ handleSwipe(1)}
+ />
+
+ {currList?.map((image, idx) => {
+ const key = `${image.url}-${idx}`
+ return (
+ -
+
+
+ )
+ })}
+
+
+
이달의 고양이
{currList[currIndex]?.text.split('\n').map((line) => (
-
+
{line}
))}
-
+
+
)
}
diff --git a/frontend/app/_components/Navbar2/index.tsx b/frontend/app/_components/Navbar2/index.tsx
index dd258ff..ba49b9e 100644
--- a/frontend/app/_components/Navbar2/index.tsx
+++ b/frontend/app/_components/Navbar2/index.tsx
@@ -8,21 +8,28 @@ import style from './navbar2.module.css'
import {useRouter} from 'next/navigation'
import { useRecoilState } from 'recoil'
import { authState } from '@/app/_store/atom/auth'
+import { usePathname } from 'next/navigation'
+
+const navItems = [
+ {name:'투데이' ,path:'/'},
+ {name:'피드', path:'/feed'},
+ {name:'검색', path:'/search'},
+ {name:'알림',path:'/alarm'},
+ {name:'프로필',path:'/profile'}
+]
function Navbar2() {
const [scrollY, setScrollY] = useState(0)
const [auth,setAuth] = useRecoilState(authState);
+
+ const pathname = usePathname();
const router = useRouter();
useEffect(() => {
const handleScroll = () => {
- // window.scrollY를 사용하여 현재 스크롤 위치를 가져옵니다.
setScrollY(window.scrollY)
}
-
- // 스크롤 이벤트 리스너를 추가합니다.
window.addEventListener('scroll', handleScroll)
- // 컴포넌트 언마운트 시 이벤트 리스너를 제거합니다.
return () => {
window.removeEventListener('scroll', handleScroll)
}
@@ -38,17 +45,34 @@ function Navbar2() {
}
}
return (
- 0 })}>
-
왓냐옹
-
- {auth ?
-
:
-
- 로그인
-
+
0 })}>
+
+ LOGO
+
+
+
+ {auth ?
+ -
+
+
:
+ -
+
+
+
+
}
-
-
+
+
)
}
diff --git a/frontend/app/_components/Navbar2/navbar2.module.css b/frontend/app/_components/Navbar2/navbar2.module.css
index ab60d2b..3932efe 100644
--- a/frontend/app/_components/Navbar2/navbar2.module.css
+++ b/frontend/app/_components/Navbar2/navbar2.module.css
@@ -1,22 +1,66 @@
-.main {
+.main_wrapper {
display: flex;
- justify-content: space-between;
+ align-items: center;
position: fixed;
- width: 360px;
+ width: 100%;
+ height: 44px;
z-index: 10;
- /* background:linear-gradient(#00000041,#ffffff00); */
+ padding: 0 24px;
background-color: transparent;
- color: white;
- padding: 8px 24px;
}
.scrolled {
background-color: rgba(255,255,255,0.8);
- color: black;
}
-.navBtn {
+.logo_wrapper {
+ margin-right: 8px;
+}
+.nav {
+ display: none;
+}
+.nav_ul {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.nav_link {
+ padding: 12px 24px;
+}
+.nav_clicked {
+ font-weight: bold;
+ font-size: 16px;
+}
+.util_ul {
+ margin-left: auto;
+}
+.util_button {
+ display: flex;
+ justify-content: center;
+ align-items: center;
background-color: white;
color: black;
- border-radius: 15px;
+ border-radius: 8px;
padding: 4px 8px;
- font-size: 14px;
+ font-size: 12px;
+ cursor: pointer;
+}
+.util_button.util_scrolled {
+ background-color: #333;
+ color: #fff;
+}
+
+@media (min-width:1001px) {
+ .main_wrapper {
+ background-color: white;
+ height: 64px;
+ color:black;
+ }
+ .nav {
+ display: block;
+ }
+ .util_button {
+ color: white;
+ background-color: #333;
+ height: 32px;
+ width: 80px;
+ }
}
\ No newline at end of file
diff --git a/frontend/app/globals.css b/frontend/app/globals.css
index 2b7e6ea..ed1d498 100644
--- a/frontend/app/globals.css
+++ b/frontend/app/globals.css
@@ -5,20 +5,11 @@
font-family: 'Spoqa Han Sans Neo', 'sans-serif';
}
-html {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- background-color: black;
-}
-
body {
position: relative;
margin: 0;
padding: 0;
display: flex;
- width:360px;
flex-direction: column;
box-sizing: border-box;
}