Skip to content

Commit 53afff8

Browse files
committed
design: 로그인 UI Popover로 변경
1 parent 164dc90 commit 53afff8

File tree

9 files changed

+54
-55
lines changed

9 files changed

+54
-55
lines changed

apps/frontend/src/components/login/index.tsx

Lines changed: 0 additions & 37 deletions
This file was deleted.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import KakaoLogo from "../../../../../public/kakao.svg";
2+
import NaverLogo from "../../../../../public/naver.svg";
3+
4+
export function LoginForm() {
5+
return (
6+
<div className="flex flex-col items-center gap-6">
7+
<div className="text-center text-lg font-semibold">간편 로그인</div>
8+
<div className="flex flex-col items-center gap-2">
9+
<a
10+
className="flex h-12 w-64 items-center justify-center gap-2 rounded-lg bg-[#FEE500] bg-cover bg-no-repeat text-[rgba(0,0,0,0.85)]"
11+
href=""
12+
>
13+
<img className="w-4" src={KakaoLogo}></img>
14+
카카오 로그인
15+
</a>
16+
<a
17+
className="flex h-12 w-64 items-center justify-center gap-2 rounded-lg bg-[#03C75A] bg-cover bg-no-repeat text-[#ffffff]"
18+
href=""
19+
>
20+
<img className="w-4" src={NaverLogo}></img>
21+
네이버 로그인
22+
</a>
23+
</div>
24+
</div>
25+
);
26+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from "./LoginForm";

apps/frontend/src/features/pageSidebar/ui/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,4 @@ export * from "./NoteList";
33
export * from "./ProfileModal";
44
export * from "./RemoveNoteModal";
55
export * from "./Tools";
6-
export * from "./TopNav";
76
export * from "./WorkspaceNav";
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { LogoBtnView } from "./ui";
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { LoginForm } from "@/features/login/ui";
2+
import { LogoBtn } from "@/features/pageSidebar/ui";
3+
import { Popover } from "@/shared/ui";
4+
5+
export function LogoBtnView() {
6+
return (
7+
<div className="flex flex-row items-center gap-2">
8+
<Popover align="start" offset={{ x: -7, y: 16 }}>
9+
<Popover.Trigger>
10+
<LogoBtn />
11+
</Popover.Trigger>
12+
<Popover.Content className="rounded-lg border border-neutral-200 bg-white p-8 shadow-md">
13+
<LoginForm />
14+
</Popover.Content>
15+
</Popover>
16+
</div>
17+
);
18+
}

apps/frontend/src/widgets/PageSideBarView/ui/index.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { useState } from "react";
22

3-
import { NoteList, Tools, TopNav } from "@/features/pageSidebar/ui";
3+
import { NoteList, Tools } from "@/features/pageSidebar/ui";
44
import { ScrollWrapper } from "@/shared/ui";
5+
import { TopNavView } from "@/widgets/TopNavView";
56

67
export function PageSideBarView() {
78
const [isExpanded, setIsExpanded] = useState(false);
@@ -13,7 +14,7 @@ export function PageSideBarView() {
1314
return (
1415
<div className="z-10 flex w-60 flex-col rounded-xl border-[1px] border-neutral-200 bg-white text-black shadow-md">
1516
<div className="p-2">
16-
<TopNav onExpand={handleExpand} isExpanded={isExpanded} />
17+
<TopNavView onExpand={handleExpand} isExpanded={isExpanded} />
1718
</div>
1819
<div className={`${isExpanded ? "flex flex-col" : "hidden"} gap-3 pb-4`}>
1920
<div className="w-full px-4">
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { TopNavView } from "./ui";

apps/frontend/src/features/pageSidebar/ui/TopNav/index.tsx renamed to apps/frontend/src/widgets/TopNavView/ui/index.tsx

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,18 @@
1-
import { useState } from "react";
21
import { Menu, X } from "lucide-react";
32

4-
import { WorkspaceNav } from "../WorkspaceNav";
5-
import { LogoBtn } from "../LogoBtn";
63
import { Divider } from "@/shared/ui";
4+
import { WorkspaceNav } from "@/features/pageSidebar/ui";
5+
import { LogoBtnView } from "@/widgets/LogoBtnView/ui";
76

87
interface TopNavProps {
98
onExpand: () => void;
109
isExpanded: boolean;
1110
}
12-
export function TopNav({ onExpand, isExpanded }: TopNavProps) {
13-
const [isModalOpen, setIsModalOpen] = useState(false);
14-
11+
export function TopNavView({ onExpand, isExpanded }: TopNavProps) {
1512
return (
1613
<div className="flex w-full flex-row items-center justify-between">
1714
<div className="flex flex-row items-center gap-2">
18-
<LogoBtn
19-
onClick={() => {
20-
setIsModalOpen(true);
21-
}}
22-
/>
23-
<Login
24-
isOpen={isModalOpen}
25-
onCloseModal={() => setIsModalOpen(false)}
26-
/>
15+
<LogoBtnView />
2716
<Divider direction="vertical" className="h-3" />
2817
<WorkspaceNav workspaceTitle="프로젝트 Web15" />
2918
</div>

0 commit comments

Comments
 (0)