Skip to content

Commit

Permalink
style: TopBarText import 절대경로, styled-component 분리
Browse files Browse the repository at this point in the history
  • Loading branch information
Turtle-Hwan committed Jul 10, 2024
1 parent be78770 commit e55d026
Show file tree
Hide file tree
Showing 4 changed files with 109 additions and 104 deletions.
142 changes: 70 additions & 72 deletions src/components/TopBarText.tsx
Original file line number Diff line number Diff line change
@@ -1,82 +1,80 @@
import { FC } from "react"
import logo from "../assets/logo_space.svg"
import back from "../assets/icon_back.svg"
import * as sty from "../styles/TopBarTextStyles"
import '../index.css'
import { FC } from "react";
import logo from "@/assets/logo_space.svg";
import back from "@/assets/icon_back.svg";
import * as sty from "@/styles/TopBarText.styled";
import { useNavigate } from "react-router-dom";




export enum LeftEnum {
Logo = "logo",
Back = "back",
None = "none"
};
Logo = "logo",
Back = "back",
None = "none",
}

interface topbarProps {
left: LeftEnum;
center: string;
right: string;
left: LeftEnum;
center: string;
right: string;
}

const TopBarText: FC<topbarProps> = ({ left, center, right }) => {
const navigate = useNavigate();
switch (left) {
case "logo":
return (
<div>
<sty.StyledTopBarDiv>
<nav>
<sty.StyledLeftDiv onClick={() => { navigate('/') }} style={{ cursor: "pointer" }}>
<img src={logo} width="120px"></img>
</sty.StyledLeftDiv>
</nav>
<nav>
<sty.StyledCenterDiv>
<sty.StyledCenterP>{center}</sty.StyledCenterP>
</sty.StyledCenterDiv>
</nav>
<nav>
<sty.StyledRightDiv>
<sty.StyledRightP>{right}</sty.StyledRightP>
</sty.StyledRightDiv>
</nav>
</sty.StyledTopBarDiv>
</div >
);
case "back":
return (
<div>
<sty.StyledTopBarDiv>
<sty.StyledLeftDiv onClick={() => { navigate(-1) }} style={{ cursor: "pointer" }} >
<img src={back} width="120px"></img>
</sty.StyledLeftDiv>
<sty.StyledCenterDiv>
<sty.StyledCenterP>{center}</sty.StyledCenterP>
</sty.StyledCenterDiv>
<sty.StyledRightDiv>
<sty.StyledRightP>{right}</sty.StyledRightP>
</sty.StyledRightDiv>
</sty.StyledTopBarDiv>
</div>
);
case "none":
return (
<div>
<sty.StyledTopBarDiv>
<sty.StyledLeftDiv>
</sty.StyledLeftDiv>
<sty.StyledCenterDiv>
<sty.StyledCenterP>{center}</sty.StyledCenterP>
</sty.StyledCenterDiv>
<sty.StyledRightDiv>
<sty.StyledRightP>{right}</sty.StyledRightP>
</sty.StyledRightDiv>
</sty.StyledTopBarDiv>
</div>
)
}
const navigate = useNavigate();
switch (left) {
case "logo":
return (
<div>
<sty.StyledTopBarDiv>
<sty.StyledLeftDiv
onClick={() => {
navigate("/");
}}
>
<img src={logo}></img>
</sty.StyledLeftDiv>
<sty.StyledCenterDiv>
<sty.StyledCenterP>{center}</sty.StyledCenterP>
</sty.StyledCenterDiv>
<sty.StyledRightDiv>
<sty.StyledRightP>{right}</sty.StyledRightP>
</sty.StyledRightDiv>
</sty.StyledTopBarDiv>
</div>
);

case "back":
return (
<div>
<sty.StyledTopBarDiv>
<sty.StyledLeftDiv
onClick={() => {
navigate(-1);
}}
>
<img src={back}></img>
</sty.StyledLeftDiv>
<sty.StyledCenterDiv>
<sty.StyledCenterP>{center}</sty.StyledCenterP>
</sty.StyledCenterDiv>
<sty.StyledRightDiv>
<sty.StyledRightP>{right}</sty.StyledRightP>
</sty.StyledRightDiv>
</sty.StyledTopBarDiv>
</div>
);

case "none":
return (
<div>
<sty.StyledTopBarDiv>
<sty.StyledLeftDiv></sty.StyledLeftDiv>
<sty.StyledCenterDiv>
<sty.StyledCenterP>{center}</sty.StyledCenterP>
</sty.StyledCenterDiv>
<sty.StyledRightDiv>
<sty.StyledRightP>{right}</sty.StyledRightP>
</sty.StyledRightDiv>
</sty.StyledTopBarDiv>
</div>
);
}
};
export default TopBarText;
export default TopBarText;
4 changes: 2 additions & 2 deletions src/styles/GlobalStyles.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ import { createGlobalStyle } from "styled-components";

const GlobalStyle = createGlobalStyle`
`
`;

export default GlobalStyle;
export default GlobalStyle;
37 changes: 37 additions & 0 deletions src/styles/TopBarText.styled.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import styled from "styled-components";

export const StyledTopBarDiv = styled.div`
display: flex;
justify-content: space-between;
align-items: center;
`;

export const StyledLeftDiv = styled.div`
${(props) => props.onClick && "cursor: pointer;"}
img {
width: 120px;
}
`;

export const StyledCenterDiv = styled.div`
width: 160px;
text-align: center;
`;

export const StyledRightDiv = styled.div`
width: 160px;
`;

export const StyledCenterP = styled.p`
font-family: "Freesentation M";
font-size: 20px;
color: white;
`;

export const StyledRightP = styled.p`
font-family: "Freesentation M";
font-size: 16px;
color: white;
margin-right: 22px;
`;
30 changes: 0 additions & 30 deletions src/styles/TopBarTextStyles.tsx

This file was deleted.

0 comments on commit e55d026

Please sign in to comment.