diff --git a/src/components/Common/Auth/SignIn/style.ts b/src/components/Common/Auth/SignIn/style.ts
index eb2325c..a71d06f 100644
--- a/src/components/Common/Auth/SignIn/style.ts
+++ b/src/components/Common/Auth/SignIn/style.ts
@@ -67,7 +67,6 @@ export const Close = styled.img`
export const Wave = styled.img`
width: 100%;
- height: auto;
position: absolute;
bottom: 0;
diff --git a/src/components/Common/Footer/style.ts b/src/components/Common/Footer/style.ts
index 832fbda..f3858ac 100644
--- a/src/components/Common/Footer/style.ts
+++ b/src/components/Common/Footer/style.ts
@@ -70,7 +70,6 @@ export const LogoWrapper = styled.div`
export const FooterItemContainer = styled.ul`
font-weight: 700;
li {
- width: auto;
padding: 1rem;
height: 40px;
cursor: pointer;
diff --git a/src/components/Common/Skeleton/Home/Main/index.tsx b/src/components/Common/Skeleton/Home/Main/index.tsx
index 44aa22b..3aaebad 100644
--- a/src/components/Common/Skeleton/Home/Main/index.tsx
+++ b/src/components/Common/Skeleton/Home/Main/index.tsx
@@ -1,24 +1,27 @@
-import {
- MainItemContainer,
- MainItemWrapper,
- MainItemContent,
-} from "@src/components/Home/Main/style";
+import styled from "styled-components";
import { SkeletonBox } from "../../Common/style";
import * as S from "./style";
+import { Column, Flex } from "@src/styles/flex";
const MainSkeleton = () => {
return (
-
+
-
-
+
+
{Array.from({ length: 9 }).map((_, idx) => (
))}
-
-
-
+
+
+
);
};
export default MainSkeleton;
+
+const Row = styled.div`
+ width: 100%;
+ height: 100%;
+ ${Flex({ flexWrap: "wrap", gap: "1.5rem" })}
+`;
diff --git a/src/components/Common/Skeleton/Home/Recommand/index.tsx b/src/components/Common/Skeleton/Home/Recommand/index.tsx
index d93d13a..26bc0b7 100644
--- a/src/components/Common/Skeleton/Home/Recommand/index.tsx
+++ b/src/components/Common/Skeleton/Home/Recommand/index.tsx
@@ -1,17 +1,19 @@
-import {
- RecommandItemContainer,
- RecommandItemWrapper,
-} from "@src/components/Home/Recommand/RecommandItem/style";
+import { RecommandItemContainer } from "@src/components/Home/Recommand/RecommandItem/style";
import { SkeletonBox } from "../../Common/style";
+import { Row } from "@src/styles/flex";
const RecommandSkeleton = () => {
return (
-
+
{Array.from({ length: 10 }).map((_, idx) => (
))}
-
+
);
};
diff --git a/src/components/Common/Skeleton/ViewAll/All/index.tsx b/src/components/Common/Skeleton/ViewAll/All/index.tsx
index ba3b110..e4264a5 100644
--- a/src/components/Common/Skeleton/ViewAll/All/index.tsx
+++ b/src/components/Common/Skeleton/ViewAll/All/index.tsx
@@ -1,11 +1,12 @@
-import { Container, Wrapper } from "@src/components/ViewAll/All/AllList/style";
+import { Wrapper } from "@src/components/ViewAll/All/AllList/style";
import { CompanyContent } from "@src/components/ViewAll/style";
import { SkeletonBox } from "../../Common/style";
import * as S from "./style";
+import { Column } from "@src/styles/flex";
const AllListSkeleton = () => {
return (
-
+
{Array.from({ length: 20 }).map((_, idx) => (
@@ -19,7 +20,7 @@ const AllListSkeleton = () => {
))}
-
+
);
};
diff --git a/src/components/Common/Skeleton/ViewAll/Rank/index.tsx b/src/components/Common/Skeleton/ViewAll/Rank/index.tsx
index 702a6eb..22cea70 100644
--- a/src/components/Common/Skeleton/ViewAll/Rank/index.tsx
+++ b/src/components/Common/Skeleton/ViewAll/Rank/index.tsx
@@ -1,20 +1,17 @@
-import {
- Container,
- Wrapper,
- Content,
-} from "@src/components/ViewAll/Rank/RankList/style";
+import { Wrapper } from "@src/components/ViewAll/Rank/RankList/style";
import { CompanyContent } from "@src/components/ViewAll/style";
import { SkeletonBox } from "../../Common/style";
import * as S from "./style";
+import { Column, Row } from "@src/styles/flex";
const RankSkeleton = () => {
return (
<>
{Array.from({ length: 5 }).map((_, idx) => (
-
+
-
+
{Array.from({ length: 10 }).map((_, idx) => (
@@ -26,9 +23,9 @@ const RankSkeleton = () => {
))}
-
+
-
+
))}
>
);
diff --git a/src/components/Company/CompanyDetail/CompanyDetailItem/CompanyDetailInfo/UserProfile/style.ts b/src/components/Company/CompanyDetail/CompanyDetailItem/CompanyDetailInfo/UserProfile/style.ts
index 2fb6fda..01d1dad 100644
--- a/src/components/Company/CompanyDetail/CompanyDetailItem/CompanyDetailInfo/UserProfile/style.ts
+++ b/src/components/Company/CompanyDetail/CompanyDetailItem/CompanyDetailInfo/UserProfile/style.ts
@@ -1,3 +1,4 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
@@ -5,17 +6,14 @@ export const Container = styled.div`
width: 100%;
height: 50px;
position: relative;
- display: flex;
- align-items: center;
- justify-content: flex-end;
+ ${Flex({ alignItems: "center", justifyContent: "flex-end" })}
`;
export const Wrapper = styled.div`
- display: flex;
- align-items: center;
position: absolute;
top: 0;
left: 0;
+ ${Flex({ alignItems: "center" })}
`;
export const ImgContainer = styled.div`
@@ -23,9 +21,7 @@ export const ImgContainer = styled.div`
height: 130px;
border-radius: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
+ ${Flex({ alignItems: "center", justifyContent: "center" })}
background-color: #fff;
z-index: 1;
@@ -55,10 +51,7 @@ export const Content = styled.div<{
position: absolute;
left: 3.5rem;
- display: flex;
- flex-direction: column;
- row-gap: 12px;
- justify-content: center;
+ ${Flex({ flexDirection: "column", rowGap: "12px", justifyContent: "center" })}
padding-left: 5.5rem;
white-space: nowrap;
@@ -75,8 +68,8 @@ export const GithubId = styled.div`
color: ${RollingPalette.unEmphasize.Base};
font-size: 15px;
font-weight: 500;
- display: flex;
- column-gap: 5px;
+
+ ${Flex({ columnGap: "5px" })}
cursor: pointer;
img {
diff --git a/src/components/Company/CompanyDetail/CompanyDetailItem/CompanyStarGrades/index.tsx b/src/components/Company/CompanyDetail/CompanyDetailItem/CompanyStarGrades/index.tsx
index f77ca53..6d004fa 100644
--- a/src/components/Company/CompanyDetail/CompanyDetailItem/CompanyStarGrades/index.tsx
+++ b/src/components/Company/CompanyDetail/CompanyDetailItem/CompanyStarGrades/index.tsx
@@ -5,6 +5,7 @@ import * as S from "./style";
import logo from "@src/assets/icons/Logo/logo.svg";
import { CompanyStarGradeInfo } from "@src/types/Company/company.type";
import { getRgb } from "@src/utils/Rgb/getRgb";
+import { Row } from "@src/styles/flex";
interface Props {
starGradeInfo: CompanyStarGradeInfo;
@@ -22,10 +23,10 @@ const CompanyStarGrades = ({ starGradeInfo }: Props) => {
{attr.companyName}
-
-
- 평균 평점
-
+
+
+ 평균 평점
+
{convertStarRatingObject(attr).map((item) => (
diff --git a/src/components/Company/CompanyDetail/CompanyDetailItem/CompanyStarGrades/style.ts b/src/components/Company/CompanyDetail/CompanyDetailItem/CompanyStarGrades/style.ts
index 8a08a6e..b05ba53 100644
--- a/src/components/Company/CompanyDetail/CompanyDetailItem/CompanyStarGrades/style.ts
+++ b/src/components/Company/CompanyDetail/CompanyDetailItem/CompanyStarGrades/style.ts
@@ -1,3 +1,4 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
@@ -17,15 +18,15 @@ export const Container = styled.div`
`;
export const Wrapper = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 1.5rem;
- align-items: center;
+ ${Flex({ flexDirection: "column", alignItems: "center", rowGap: "1.5rem" })}
+
@media screen and (max-width: 1005px) {
- flex-direction: row;
- justify-content: center;
- row-gap: 0;
- column-gap: 15px;
+ ${Flex({
+ flexDirection: "row",
+ justifyContent: "center",
+ rowGap: "0",
+ columnGap: "15px",
+ })}
white-space: nowrap;
}
`;
@@ -33,12 +34,14 @@ export const Wrapper = styled.div`
export const CompanyBasicInfo = styled.div<{ backgroundColor: string }>`
width: 100%;
height: 150px;
- display: flex;
- justify-content: center;
- align-items: center;
- display: flex;
- flex-direction: column;
- row-gap: 15px;
+
+ ${Flex({
+ flexDirection: "column",
+ justifyContent: "center",
+ alignItems: "center",
+ rowGap: "15px",
+ })}
+
margin-bottom: 8px;
img {
@@ -54,6 +57,7 @@ export const CompanyBasicInfo = styled.div<{ backgroundColor: string }>`
font-size: 23px;
font-weight: bold;
}
+
@media screen and (max-width: 1005px) {
width: auto;
}
@@ -65,9 +69,9 @@ export const ItemContainer = styled.div`
background-color: ${RollingPalette.unEmphasize.Lightest};
border: 1px solid #dddddd;
padding: 1.5rem 1rem;
- display: flex;
- flex-direction: column;
- row-gap: 1rem;
+
+ ${Flex({ flexDirection: "column", rowGap: "1rem" })}
+
@media screen and (max-width: 1005px) {
overflow: hidden;
height: 90%;
@@ -76,48 +80,35 @@ export const ItemContainer = styled.div`
`;
export const ItemUl = styled.ul`
- display: flex;
- flex-direction: column;
- justify-content: space-between;
+ ${Flex({ flexDirection: "column", justifyContent: "space-between" })}
row-gap: 1.5rem;
padding: 1rem 2rem;
li {
- display: flex;
- flex-direction: column;
- row-gap: 10px;
+ ${Flex({ flexDirection: "column", rowGap: "10px" })}
}
@media screen and (max-width: 1005px) {
- flex-direction: row;
- row-gap: 0;
- column-gap: 20px;
- padding: 1rem 1rem;
+ padding: 1rem;
overflow-x: auto;
overflow-y: auto;
+ ${Flex({ flexDirection: "row", rowGap: "0", columnGap: "20px" })}
}
`;
-export const CompanyGradesText = styled.div`
- display: flex;
- align-items: center;
- column-gap: 5px;
+export const Image = styled.img`
+ width: 22px;
+ height: 22px;
+`;
- img {
- width: 22px;
- height: 22px;
- }
- p {
- font-size: 18px;
- font-weight: bold;
- }
+export const Grade = styled.p`
+ font-size: 18px;
+ font-weight: bold;
`;
export const StarGradeContainer = styled.div`
- display: flex;
- align-items: center;
+ ${Flex({ alignItems: "center" })}
@media screen and (max-width: 1005px) {
- justify-content: center;
- align-items: normal;
+ ${Flex({ alignItems: "normal", justifyContent: "center" })}
}
`;
diff --git a/src/components/Company/CompanyDetail/style.ts b/src/components/Company/CompanyDetail/style.ts
index 56bb678..0e02675 100644
--- a/src/components/Company/CompanyDetail/style.ts
+++ b/src/components/Company/CompanyDetail/style.ts
@@ -25,7 +25,6 @@ export const Wrapper = styled.div`
@media screen and (max-width: 500px) {
row-gap: 0rem;
}
-
overflow-y: auto;
::-webkit-scrollbar {
display: none;
diff --git a/src/components/Home/Main/Rank/RankItem/index.tsx b/src/components/Home/Main/Rank/RankItem/index.tsx
index e8df653..188baf7 100644
--- a/src/components/Home/Main/Rank/RankItem/index.tsx
+++ b/src/components/Home/Main/Rank/RankItem/index.tsx
@@ -4,9 +4,10 @@ import smileFace from "@src/assets/icons/Home/smileFace.svg";
import { getDateText } from "@stubee2/stubee2-rolling-util";
import { useNavigate } from "react-router-dom";
import logo from "@src/assets/icons/Logo/logo.svg";
-import { RankCategoryTitle, RankNumber } from "./style";
+import { MainItemWrap, RankCategoryTitle, RankNumber } from "./style";
import { getRgb } from "@src/utils/Rgb/getRgb";
import { useGetCompanyRankSelectQuery } from "@src/services/Company/queries";
+import { Column } from "@src/styles/flex";
interface Props {
rankCategory: string;
@@ -16,19 +17,20 @@ function RankItem({ rankCategory }: Props) {
const { data: rankInfo } = useGetCompanyRankSelectQuery(rankCategory, {
suspense: true,
});
+
const rankInfoSlicing = rankInfo?.slice(0, 9);
const navigate = useNavigate();
return (
<>
{rankInfoSlicing?.length!! > 0 ? (
-
+
{getCompanyRankIntroduce(rankCategory)}
-
-
+
+
{rankInfoSlicing?.map((item, idx) => (
-
+
{item.companyDetails.description}
@@ -67,13 +69,13 @@ function RankItem({ rankCategory }: Props) {
{getDateText(new Date(item.createdAt))}
-
+
))}
-
-
-
+
+
+
) : (
BEST 기업 랭킹에 등록된 회사가 없습니다.
)}
diff --git a/src/components/Home/Main/Rank/RankItem/style.ts b/src/components/Home/Main/Rank/RankItem/style.ts
index 74a8aa8..891dd93 100644
--- a/src/components/Home/Main/Rank/RankItem/style.ts
+++ b/src/components/Home/Main/Rank/RankItem/style.ts
@@ -1,3 +1,4 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
@@ -6,16 +7,20 @@ export const RankCategoryTitle = styled.div`
font-weight: bold;
color: ${RollingPalette.unEmphasize.Dark};
- display: flex;
- align-items: center;
- column-gap: 5px;
+ ${Flex({ columnGap: "5px", alignItems: "center" })}
img {
width: 24px;
- headers: 24px;
+ height: 24px;
}
`;
+export const MainItemWrap = styled.div`
+ width: 100%;
+ height: 100%;
+ ${Flex({ flexWrap: "wrap", gap: "1.5rem" })}
+`;
+
export const RankNumber = styled.div`
width: 40px;
height: 40px;
@@ -26,9 +31,7 @@ export const RankNumber = styled.div`
top: 0;
left: 0;
- display: flex;
- align-items: center;
- justify-content: center;
+ ${Flex({ alignItems: "center", justifyContent: "center" })}
font-size: 20px;
color: #fff;
diff --git a/src/components/Home/Main/Rank/index.tsx b/src/components/Home/Main/Rank/index.tsx
index b07c238..7e5bfc7 100644
--- a/src/components/Home/Main/Rank/index.tsx
+++ b/src/components/Home/Main/Rank/index.tsx
@@ -8,6 +8,7 @@ import MainSkeleton from "@src/components/Common/Skeleton/Home/Main";
import { MainContainer, MainTitle, MainWrapper } from "../style";
import { ViewAll } from "../../style";
import { useNavigate } from "react-router-dom";
+import { Column, Row } from "@src/styles/flex";
const Rank = () => {
const [rankCategorySelect, setRankCategorySelect] = useState("total");
@@ -16,8 +17,8 @@ const Rank = () => {
return (
-
-
+
+
@@ -26,7 +27,7 @@ const Rank = () => {
navigate("/ranking")}>전체보기
-
+
{COMPANY_RANK_ITMES.map((item) => (
@@ -39,7 +40,7 @@ const Rank = () => {
))}
-
+
회사 랭킹을 갖고오지 못했습니다.>}>
}>
diff --git a/src/components/Home/Main/Rank/style.ts b/src/components/Home/Main/Rank/style.ts
index 4a25e6e..26a17b9 100644
--- a/src/components/Home/Main/Rank/style.ts
+++ b/src/components/Home/Main/Rank/style.ts
@@ -1,16 +1,9 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
-export const RankCategoriesContainer = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 15px;
-`;
-
export const RankCategoriesUl = styled.ul`
- display: flex;
- column-gap: 15px;
- align-items: center;
+ ${Flex({ alignItems: "center", columnGap: "15px" })}
overflow-x: hidden;
overflow-y: hidden;
@@ -34,9 +27,7 @@ export const RankCategoryLi = styled.li<{ isSelect: boolean }>`
background-color: ${({ isSelect }) => isSelect && RollingPalette.main.Base};
cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
+ ${Flex({ alignItems: "center", justifyContent: "center" })}
border-radius: 10px;
transform: scale(1);
@@ -50,8 +41,3 @@ export const RankCategoryLi = styled.li<{ isSelect: boolean }>`
background-color: ${({ isSelect }) => (isSelect ? "#2b3f94" : "#dddddd")};
}
`;
-
-export const TitleContainer = styled.div`
- display: flex;
- column-gap: 3px;
-`;
diff --git a/src/components/Home/Main/Search/SearchItem/index.tsx b/src/components/Home/Main/Search/SearchItem/index.tsx
index 46ca053..6f5133d 100644
--- a/src/components/Home/Main/Search/SearchItem/index.tsx
+++ b/src/components/Home/Main/Search/SearchItem/index.tsx
@@ -5,6 +5,7 @@ import logo from "@src/assets/icons/Logo/logo.svg";
import { getRgb } from "@src/utils/Rgb/getRgb";
import { NoneData } from "./style";
import { useGetCompanySerachListQuery } from "@src/services/Company/queries";
+import { Column, Row } from "@src/styles/flex";
interface Props {
company: string;
@@ -18,9 +19,9 @@ const SearchItem = ({ company }: Props) => {
const companyList = searchCompany?.pages;
return (
-
-
-
+
+
+
{companyList![0].data.length!! > 0 ? (
companyList!.map((data) =>
data.data.map((item) => (
@@ -51,7 +52,7 @@ const SearchItem = ({ company }: Props) => {
-
+
{item.companyDetails.description}
@@ -59,7 +60,7 @@ const SearchItem = ({ company }: Props) => {
{getDateText(new Date(item.createdAt))}
-
+
))
@@ -73,9 +74,9 @@ const SearchItem = ({ company }: Props) => {
)}
-
-
-
+
+
+
);
};
diff --git a/src/components/Home/Main/style.ts b/src/components/Home/Main/style.ts
index 1694a54..f16bfc9 100644
--- a/src/components/Home/Main/style.ts
+++ b/src/components/Home/Main/style.ts
@@ -1,4 +1,5 @@
import { FadeInAnimation } from "@src/styles/common.style";
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
@@ -6,9 +7,7 @@ export const MainContainer = styled.div`
width: calc(100% - 290px);
height: 100%;
- display: flex;
- flex-direction: column;
- row-gap: 3rem;
+ ${Flex({ flexDirection: "column", rowGap: "3rem" })}
overflow-y: auto;
::-webkit-scrollbar {
@@ -25,18 +24,17 @@ export const MainContainer = styled.div`
export const MainWrapper = styled.div<{ rowGap: string }>`
width: 100%;
height: 100%;
- display: flex;
- flex-direction: column;
- row-gap: ${({ rowGap }) => rowGap};
+
+ ${({ rowGap }) => Flex({ flexDirection: "column", rowGap })}
overflow-y: hidden;
`;
export const MainTitle = styled.div`
- display: flex;
- align-items: center;
font-weight: bold;
font-size: 25px;
- column-gap: 10px;
+
+ ${Flex({ alignItems: "center", columnGap: "10px" })}
+
img {
width: 27px;
height: 27px;
@@ -49,33 +47,6 @@ export const MainTitle = styled.div`
}
`;
-export const MainItemContainer = styled.div`
- width: 100%;
- height: 100%;
-
- display: flex;
- flex-direction: column;
- row-gap: 15px;
-`;
-
-export const MainItemWrapper = styled.div`
- widht: 100%;
- height: 100%;
-
- display: flex;
- flex-wrap: wrap;
- flex-direction: column;
-`;
-
-export const MainItemContent = styled.div`
- width: 100%;
- height: 100%;
-
- display: flex;
- flex-wrap: wrap;
- gap: 1.5rem;
-`;
-
export const MainItemBox = styled.div`
width: 330px;
height: 300px;
@@ -108,8 +79,7 @@ export const CompanyLogoContainer = styled.div<{ rgb: string }>`
width: 100%;
height: 65%;
- display: flex;
- justify-content: center;
+ ${Flex({ justifyContent: "center" })}
border-bottom: 1px solid #ddd;
overflow: hidden;
@@ -123,8 +93,6 @@ export const CompanyLogoContainer = styled.div<{ rgb: string }>`
export const LogoImg = styled.img`
max-width: 100%;
max-height: 100%;
- width: auto;
- height: auto;
transform: scale(1);
transition: all 0.27s ease-in-out;
@@ -138,23 +106,18 @@ export const CompanyContentContainer = styled.div`
height: 35%;
background-color: #fff;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
+ ${Flex({ flexDirection: "column", justifyContent: "space-between" })}
padding: 1rem 1rem 0.7rem 1rem;
@media screen and (max-width: 710px) {
height: 121px;
- justify-content: normal;
- row-gap: 1.5rem;
+ ${Flex({ justifyContent: "normal", rowGap: "1.5rem" })}
}
`;
export const CompanyNameAndCreatedAt = styled.div`
- display: flex;
- align-items: center;
- column-gap: 5px;
font-weight: bold;
+ ${Flex({ alignItems: "center", columnGap: "5px" })}
`;
export const CompanyName = styled.p`
@@ -168,12 +131,6 @@ export const CompanyCreatedAt = styled.p`
color: ${RollingPalette.unEmphasize.Base};
`;
-export const CompanyDescriptionAndAddress = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 6px;
-`;
-
export const CompanyDescription = styled.p`
font-size: 17px;
font-weight: bold;
diff --git a/src/components/Home/Nav/ExternalSite/style.ts b/src/components/Home/Nav/ExternalSite/style.ts
index 6fd4b62..b98d900 100644
--- a/src/components/Home/Nav/ExternalSite/style.ts
+++ b/src/components/Home/Nav/ExternalSite/style.ts
@@ -1,18 +1,17 @@
+import { Flex } from "@src/styles/flex";
import styled from "styled-components";
export const ExternalSiteContainer = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 1rem;
margin-top: 10px;
+ width: 100%;
+ ${Flex({ flexDirection: "column", rowGap: "1rem" })}
`;
export const ExternalSiteTitle = styled.div`
font-size: 17px;
font-weight: 600;
- display: flex;
- align-items: center;
- column-gap: 5px;
+
+ ${Flex({ alignItems: "center", columnGap: "5px" })}
img {
width: 20px;
@@ -22,7 +21,6 @@ export const ExternalSiteTitle = styled.div`
export const ExternalSiteItemContainer = styled.div`
width: 100%;
- height: auto;
padding: 0 1rem 1rem 1rem;
border: 1px solid #dddddd;
border-radius: 10px;
@@ -30,20 +28,17 @@ export const ExternalSiteItemContainer = styled.div`
`;
export const ExternalSiteItemWrapper = styled.ul`
- display: flex;
- flex-direction: column;
- row-gap: 1rem;
margin-top: 15px;
+ ${Flex({ flexDirection: "column", rowGap: "1rem" })}
`;
export const ExternalSiteItem = styled.li`
width: 100%;
- display: flex;
- align-items: center;
- column-gap: 0.7rem;
cursor: pointer;
border-radius: 10px;
+ ${Flex({ alignItems: "center", columnGap: "0.7rem" })}
+
img {
width: 50px;
height: 50px;
diff --git a/src/components/Home/Nav/UserInfo/index.tsx b/src/components/Home/Nav/UserInfo/index.tsx
index bc73a32..bb97e30 100644
--- a/src/components/Home/Nav/UserInfo/index.tsx
+++ b/src/components/Home/Nav/UserInfo/index.tsx
@@ -7,16 +7,17 @@ import { useNavigate } from "react-router-dom";
import UserInfoSkeleton from "@src/components/Common/Skeleton/Home/UserInfo";
import { tokenDecode } from "@src/utils/Auth/tokenDecode";
import { useGetMyInfoQuery } from "@src/services/Member/queries";
+import { Column } from "@src/styles/flex";
const UserInfo = () => {
return (
-
+
내 정보를 갖고오지 못했습니다.>}>
}>
-
+
);
};
@@ -43,7 +44,7 @@ function UserInfoItem() {
-
+
@@ -52,12 +53,13 @@ function UserInfoItem() {
: "동문 인증이 되어 있지 않나요?"}
+
navigate(isMember ? "/story" : "/alumni/certify")}
>
{isMember ? "스토리 등록하러 가기" : "동문인증 하러가기"}
-
+
>
);
}
diff --git a/src/components/Home/Nav/UserInfo/style.ts b/src/components/Home/Nav/UserInfo/style.ts
index e392d3f..4629052 100644
--- a/src/components/Home/Nav/UserInfo/style.ts
+++ b/src/components/Home/Nav/UserInfo/style.ts
@@ -1,20 +1,12 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
-export const UserInfoWrapper = styled.div`
- width: 100%;
- height: 200px;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
-`;
-
export const UserInfoBox = styled.div`
- display: flex;
- align-items: center;
- column-gap: 10px;
width: 100%;
white-space: nowrap;
+ ${Flex({ alignItems: "center", columnGap: "10px" })};
+
img {
width: 75px;
height: 75px;
@@ -22,12 +14,11 @@ export const UserInfoBox = styled.div`
object-fit: cover;
border-radius: 4rem;
}
+
div {
width: calc(100% - 85px);
cursor: pointer;
- display: flex;
- flex-direction: column;
- row-gap: 8px;
+ ${Flex({ flexDirection: "column", rowGap: "8px" })}
}
`;
@@ -39,10 +30,6 @@ export const UserInfoNickName = styled.p`
overflow-x: hidden;
text-overflow: ellipsis;
- span {
- color: #ec6a5e;
- }
-
transition: all 0.1s ease-in-out;
&:hover {
color: ${RollingPalette.main.Base};
@@ -54,12 +41,13 @@ export const UserInfoEmail = styled.p`
`;
export const RegistTextContainer = styled.div`
- display: flex;
- align-items: center;
- column-gap: 5px;
+ width: 100%;
+
margin-bottom: 15px;
font-weight: 600;
+ ${Flex({ alignItems: "center", columnGap: "5px" })}
+
img {
width: 20px;
height: 20px;
diff --git a/src/components/Home/Nav/index.tsx b/src/components/Home/Nav/index.tsx
index b8a423a..f2a68de 100644
--- a/src/components/Home/Nav/index.tsx
+++ b/src/components/Home/Nav/index.tsx
@@ -3,6 +3,7 @@ import Token from "@src/libs/Token/Token";
import styled from "styled-components";
import ExternalSite from "./ExternalSite";
import UserInfo from "./UserInfo";
+import { Flex } from "@src/styles/flex";
const Nav = () => {
return (
@@ -17,15 +18,12 @@ export const NavContainer = styled.div`
width: 290px;
height: 100%;
- display: flex;
- flex-direction: column;
+ ${Flex({ flexDirection: "column" })}
row-gap: calc(2rem - 10px);
position: sticky;
top: calc(90px + 2rem);
- /* background-color: red; */
-
@media screen and (max-width: 1105px) {
display: none;
}
diff --git a/src/components/Home/Recommand/RecommandItem/index.tsx b/src/components/Home/Recommand/RecommandItem/index.tsx
index c3aa74e..69beb5e 100644
--- a/src/components/Home/Recommand/RecommandItem/index.tsx
+++ b/src/components/Home/Recommand/RecommandItem/index.tsx
@@ -5,6 +5,7 @@ import { useNavigate } from "react-router-dom";
import { useEffect } from "react";
import { getRgb } from "@src/utils/Rgb/getRgb";
import { useGetAllCompanyListQuery } from "@src/services/Company/queries";
+import { Row } from "@src/styles/flex";
const RecommandItem = () => {
const { data, fetchNextPage } = useGetAllCompanyListQuery({ suspense: true });
@@ -22,7 +23,11 @@ const RecommandItem = () => {
<>
{companyList!![0].data.length!! > 0 ? (
-
+
{companyList?.map((data) =>
data.data.map((item) => (
{
))
)}
-
+
) : (
졸업생들이 추천하는 회사가 없습니다.
diff --git a/src/components/Home/Recommand/RecommandItem/style.ts b/src/components/Home/Recommand/RecommandItem/style.ts
index e800a29..446d9bb 100644
--- a/src/components/Home/Recommand/RecommandItem/style.ts
+++ b/src/components/Home/Recommand/RecommandItem/style.ts
@@ -1,4 +1,5 @@
import { StopDrag } from "@src/styles/common.style";
+import { Flex } from "@src/styles/flex";
import styled from "styled-components";
export const RecommandItemContainer = styled.div`
@@ -10,21 +11,11 @@ export const RecommandItemContainer = styled.div`
overflow-x: auto;
`;
-export const RecommandItemWrapper = styled.div`
- display: flex;
- justify-content: center;
- align-items: center;
- column-gap: 1rem;
-`;
-
export const RecommandItemBox = styled.div`
width: 250px;
height: 200px;
- display: flex;
- justify-content: center;
- flex-direction: column;
- row-gap: 5px;
+ ${Flex({ flexDirection: "column", justifyContent: "center", rowGap: "5px" })}
p {
text-align: center;
@@ -46,16 +37,14 @@ export const ImageContainer = styled.div<{ rgb: string }>`
border: 1px solid #ddd;
cursor: pointer;
- display: flex;
- justify-content: center;
+ ${Flex({ justifyContent: "center" })}
overflow: hidden;
background-color: ${({ rgb }) => rgb || "#fff"};
zoom: 0.85;
+
img {
max-width: 100%;
max-height: 100%;
- width: auto;
- height: auto;
}
${StopDrag}
diff --git a/src/components/Home/Recommand/index.tsx b/src/components/Home/Recommand/index.tsx
index 336900b..775f5d2 100644
--- a/src/components/Home/Recommand/index.tsx
+++ b/src/components/Home/Recommand/index.tsx
@@ -6,20 +6,21 @@ import { Suspense } from "react";
import RecommandSkeleton from "@src/components/Common/Skeleton/Home/Recommand";
import { useNavigate } from "react-router-dom";
import { ViewAll } from "../style";
+import { Row } from "@src/styles/flex";
const Recommand = () => {
const navigate = useNavigate();
return (
-
+
졸업생들이 추천해요!
navigate("/all")}>전체보기
-
+
회사 정보를 가지고 오지 못했습니다.>}>
diff --git a/src/components/Home/Recommand/style.ts b/src/components/Home/Recommand/style.ts
index fd72c40..915da42 100644
--- a/src/components/Home/Recommand/style.ts
+++ b/src/components/Home/Recommand/style.ts
@@ -1,30 +1,22 @@
import { FadeInAnimation } from "@src/styles/common.style";
+import { Flex } from "@src/styles/flex";
import styled from "styled-components";
export const RecommandContainer = styled.div`
width: 100%;
- height: auto;
-
- display: flex;
- flex-direction: column;
+ ${Flex({ flexDirection: "column" })}
@media screen and (max-width: 710px) {
width: 99%;
}
`;
-export const SeniorRecommandContainer = styled.div`
- display: flex;
- align-items: center;
- column-gap: 3px;
-`;
-
export const SeniorRecommand = styled.div`
font-size: 22px;
font-weight: bold;
- display: flex;
- align-items: center;
- column-gap: 5px;
+
+ ${Flex({ alignItems: "center", columnGap: "5px" })}
+
img {
width: 27px;
height: 27px;
diff --git a/src/components/Home/index.tsx b/src/components/Home/index.tsx
index c4c3887..1aa31ec 100644
--- a/src/components/Home/index.tsx
+++ b/src/components/Home/index.tsx
@@ -7,6 +7,7 @@ import { useRecoilValue } from "recoil";
import { SearchCompanyAtom } from "@src/stores/company/company.store";
import Search from "./Main/Search";
import { useAuthTopScroll } from "@stubee2/stubee2-rolling-util";
+import { Row } from "@src/styles/flex";
const Home = () => {
const searchCompany = useRecoilValue(SearchCompanyAtom);
@@ -14,10 +15,10 @@ const Home = () => {
return (
-
+
{searchCompany ? : }
-
+
diff --git a/src/components/Home/style.ts b/src/components/Home/style.ts
index 6b1ff8c..193fc2a 100644
--- a/src/components/Home/style.ts
+++ b/src/components/Home/style.ts
@@ -1,6 +1,7 @@
import { HoverAnimation } from "@src/styles/common.style";
import styled from "styled-components";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
+import { Flex } from "@src/styles/flex";
export const HomeContainer = styled.div`
width: 100%;
@@ -9,11 +10,12 @@ export const HomeContainer = styled.div`
zoom: 0.8;
- display: flex;
- align-items: center;
- flex-direction: column;
- justify-content: center;
- row-gap: 10rem;
+ ${Flex({
+ flexDirection: "column",
+ alignItems: "center",
+ justifyContent: "center",
+ rowGap: "10rem",
+ })}
background-color: #f9fafb;
white-space: nowrap;
@@ -25,9 +27,7 @@ export const HomeWrapper = styled.div`
height: 100%;
padding-top: 2rem;
- display: flex;
- flex-direction: column;
- row-gap: 8rem;
+ ${Flex({ flexDirection: "column", rowGap: "8rem" })}
@media screen and (max-width: 1165px) {
width: 90%;
@@ -36,14 +36,6 @@ export const HomeWrapper = styled.div`
}
`;
-export const HomeContent = styled.div`
- width: 100%;
- height: 100%;
-
- display: flex;
- column-gap: 10px;
-`;
-
export const ViewAll = styled.p`
cursor: pointer;
padding: 10px;
diff --git a/src/components/Story/Company/Modify/ModifyItem/index.tsx b/src/components/Story/Company/Modify/ModifyItem/index.tsx
index a04ff05..ccf532f 100644
--- a/src/components/Story/Company/Modify/ModifyItem/index.tsx
+++ b/src/components/Story/Company/Modify/ModifyItem/index.tsx
@@ -5,6 +5,7 @@ import { Dispatch, SetStateAction, useEffect } from "react";
import * as S from "@src/components/Story/Company/style";
import { InputEmphasizeText, RegistButton } from "@src/components/Story/style";
import { turnOnOffModal } from "@src/utils/Modal/turnOnOffModal";
+import { Column, Row } from "@src/styles/flex";
interface Props {
setIsOpenModal: Dispatch>;
@@ -20,8 +21,8 @@ const ModifyItem = ({ setIsOpenModal }: Props) => {
return (
-
-
+
+
기업로고
@@ -35,11 +36,11 @@ const ModifyItem = ({ setIsOpenModal }: Props) => {
onChange={attr.handleUploadCompanyLogo}
/>
-
+
-
-
+
+
기업명 *
@@ -56,15 +57,15 @@ const ModifyItem = ({ setIsOpenModal }: Props) => {
errorMessage={"기업명이 중복되었습니다."}
name="name"
/>
-
-
+
+
-
+
기업 주소 *
-
+
{
>
주소 찾기
-
+
{
handleChange={attr.handleModifyChange}
name="addressEtc"
/>
-
+
-
+
-
+
기업 소개 *
@@ -109,7 +110,7 @@ const ModifyItem = ({ setIsOpenModal }: Props) => {
-
+
);
diff --git a/src/components/Story/Company/Register/RegisterItem/index.tsx b/src/components/Story/Company/Register/RegisterItem/index.tsx
index f481e69..dc32cf1 100644
--- a/src/components/Story/Company/Register/RegisterItem/index.tsx
+++ b/src/components/Story/Company/Register/RegisterItem/index.tsx
@@ -6,6 +6,7 @@ import { useEffect, useState } from "react";
import { InputEmphasizeText, RegistButton } from "../../../style";
import AddressModal from "@src/components/Common/Modal/CompanyAddress";
import { turnOnOffModal } from "@src/utils/Modal/turnOnOffModal";
+import { Column, Row } from "@src/styles/flex";
interface Props {
companyName: string;
@@ -23,8 +24,8 @@ const CompanyRegisterItem = ({ companyName }: Props) => {
<>
-
-
+
+
기업 로고
@@ -38,11 +39,11 @@ const CompanyRegisterItem = ({ companyName }: Props) => {
onChange={(e) => attr.handleUploadCompanyLogo(e)}
/>
-
+
-
-
+
+
기업명 *
@@ -54,14 +55,14 @@ const CompanyRegisterItem = ({ companyName }: Props) => {
name="name"
disabled
/>
-
+
-
+
기업 주소 *
-
+
{
>
주소 찾기
-
+
{
handleChange={attr.handleRegistChange}
name="addressEtc"
/>
-
-
+
+
-
+
-
+
기업 소개 *
@@ -108,7 +109,7 @@ const CompanyRegisterItem = ({ companyName }: Props) => {
-
+
diff --git a/src/components/Story/Company/Register/index.tsx b/src/components/Story/Company/Register/index.tsx
index 0f2c424..4b43fe2 100644
--- a/src/components/Story/Company/Register/index.tsx
+++ b/src/components/Story/Company/Register/index.tsx
@@ -1,12 +1,7 @@
-import {
- AddText,
- RegisterContainer,
- SubTitle,
- Title,
- TitleContainer,
-} from "../../style";
+import { AddText, SubTitle, Title, TitleContainer } from "../../style";
import React from "react";
import CompanyRegisterItem from "./RegisterItem";
+import { Column } from "@src/styles/flex";
interface Props {
storySearchCompany: {
@@ -20,7 +15,7 @@ function CompanyRegister({ storySearchCompany, storyCompanyId }: Props) {
const { companyName, isExistSearchList } = storySearchCompany;
return (
-
+
My Company 등록
@@ -36,7 +31,7 @@ function CompanyRegister({ storySearchCompany, storyCompanyId }: Props) {
{!isExistSearchList && companyName !== "" && storyCompanyId === "" && (
)}
-
+
);
}
export default React.memo(CompanyRegister);
diff --git a/src/components/Story/Company/Search/SearchCompanyModal/style.ts b/src/components/Story/Company/Search/SearchCompanyModal/style.ts
index a099499..eddc4eb 100644
--- a/src/components/Story/Company/Search/SearchCompanyModal/style.ts
+++ b/src/components/Story/Company/Search/SearchCompanyModal/style.ts
@@ -1,4 +1,5 @@
import { HoverAnimation } from "@src/styles/common.style";
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled, { css } from "styled-components";
@@ -9,10 +10,11 @@ export const CompanyNameForm = styled.div`
background-color: #f2f4f5;
border-radius: 5px;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: space-between;
+ ${Flex({
+ flexDirection: "column",
+ alignItems: "center",
+ justifyContent: "space-between",
+ })}
padding: 5rem 0 3rem 0;
position: relative;
@@ -38,11 +40,8 @@ export const Title = styled.p`
export const InputContainer = styled.div`
width: 80%;
- height: auto;
- display: flex;
- flex-direction: column;
- row-gap: 10px;
+ ${Flex({ flexDirection: "column", rowGap: "10px" })}
position: relative;
p {
@@ -63,9 +62,7 @@ export const InputWrapper = styled.div`
border-radius: 5px;
overflow: hidden;
- display: flex;
- align-items: center;
-
+ ${Flex({ alignItems: "center" })}
padding-right: 10px;
`;
@@ -115,11 +112,7 @@ export const ConfirmButton = styled.button<{ isActive: boolean }>`
export const CompanyListContainer = styled.div`
width: 100%;
-
- display: flex;
- align-items: center;
- flex-direction: column;
-
+ ${Flex({ alignItems: "center", flexDirection: "column" })}
position: absolute;
top: 100px;
`;
@@ -134,8 +127,7 @@ export const CompanyListUl = styled.ul`
border: 1px solid rgba(189, 194, 208, 1);
background-color: #fff;
- display: flex;
- flex-wrap: wrap;
+ ${Flex({ flexWrap: "wrap" })}
font-size: 20px;
li {
@@ -144,8 +136,7 @@ export const CompanyListUl = styled.ul`
width: 100%;
height: 60px;
- display: flex;
- align-items: center;
+ ${Flex({ alignItems: "center" })}
&:hover {
background-color: rgba(242, 244, 245, 1);
diff --git a/src/components/Story/Company/Search/index.tsx b/src/components/Story/Company/Search/index.tsx
index 00d9a63..c00501f 100644
--- a/src/components/Story/Company/Search/index.tsx
+++ b/src/components/Story/Company/Search/index.tsx
@@ -8,6 +8,7 @@ import { Portal } from "@stubee2/stubee2-rolling-ui";
import SearchCompanyModal from "./SearchCompanyModal";
import { useState } from "react";
import { turnOnOffModal } from "@src/utils/Modal/turnOnOffModal";
+import { Column, Row } from "@src/styles/flex";
const SearchCompany = () => {
const [searchCompanyModal, setSearchCompanyModal] = useState(false);
@@ -16,7 +17,7 @@ const SearchCompany = () => {
return (
<>
-
+
My Company 찾기
@@ -24,12 +25,12 @@ const SearchCompany = () => {
-
-
-
- 내 기업 찾기
-
-
+
+
+
+ 내 기업 찾기
+
+
turnOnOffModal(setSearchCompanyModal, "on")}
@@ -40,7 +41,7 @@ const SearchCompany = () => {
-
+
{searchCompanyModal && (
diff --git a/src/components/Story/Company/Search/style.ts b/src/components/Story/Company/Search/style.ts
index c1ef1f9..8505bcc 100644
--- a/src/components/Story/Company/Search/style.ts
+++ b/src/components/Story/Company/Search/style.ts
@@ -1,12 +1,7 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
-export const Container = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 20px;
-`;
-
export const SearchContainer = styled.div`
width: 100%;
height: 170px;
@@ -15,38 +10,19 @@ export const SearchContainer = styled.div`
border-radius: 10px;
padding: 1.5rem 1.5rem 2rem 1.5rem;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
+ ${Flex({ flexDirection: "column", justifyContent: "space-between" })}
`;
-export const Wrapper = styled.div`
- display: flex;
- flex-direction: column;
- justify-content: space-between;
+export const Image = styled.img`
+ width: 30px;
+ height: 30px;
+ transform: scaleX(-1);
`;
-export const SearchTitle = styled.div`
- display: flex;
- justify-content: space-between;
- align-items: center;
-`;
-
-export const SearchCompany = styled.div`
- display: flex;
- column-gap: 10px;
- align-items: center;
-
- img {
- width: 30px;
- height: 30px;
- transform: scaleX(-1);
- }
- p {
- font-size: 20px;
- font-family: "Pretendard-Bold" !important;
- color: #fff;
- }
+export const FindMyCompany = styled.p`
+ font-size: 20px;
+ font-family: "Pretendard-Bold" !important;
+ color: #fff;
`;
export const InputContainer = styled.div`
@@ -54,9 +30,7 @@ export const InputContainer = styled.div`
height: 52px;
border-bottom: 3px solid ${RollingPalette.unEmphasize.Base};
- display: flex;
- align-items: center;
- justify-content: space-between;
+ ${Flex({ alignItems: "center", justifyContent: "space-between" })}
cursor: pointer;
img {
@@ -80,6 +54,5 @@ export const Input = styled.div<{ isCompanyName: string }>`
isCompanyName !== "" ? "#fff" : RollingPalette.unEmphasize.Base};
font-weight: bold;
- display: flex;
- align-items: center;
+ ${Flex({ alignItems: "center" })}
`;
diff --git a/src/components/Story/Company/style.ts b/src/components/Story/Company/style.ts
index 8943753..c686026 100644
--- a/src/components/Story/Company/style.ts
+++ b/src/components/Story/Company/style.ts
@@ -1,10 +1,10 @@
import { FadeInAnimation } from "@src/styles/common.style";
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
export const RegistContainer = styled.div`
width: 100%;
- height: auto;
border-radius: 20px;
background-color: #fff;
@@ -18,33 +18,15 @@ export const RegistContainer = styled.div`
export const Form = styled.form`
width: 100%;
height: 100%;
-
- display: flex;
- flex-direction: column;
- row-gap: 4.5rem;
+ ${Flex({ flexDirection: "column", rowGap: "4.5rem" })}
padding: 3.5rem 3rem 2.5rem 3rem;
`;
-export const Wrapper = styled.div`
- display: flex;
-`;
-
-export const LogoContainer = styled.div`
- width: 200px;
- height: 100%;
-
- display: flex;
- flex-direction: column;
- row-gap: 10px;
-`;
-
export const RegistInputContainer = styled.div`
width: calc(100% - 200px);
height: 100%;
- display: flex;
- flex-direction: column;
- row-gap: 2rem;
+ ${Flex({ flexDirection: "column", rowGap: "2rem" })}
`;
export const LogoBox = styled.div`
@@ -75,18 +57,6 @@ export const CompanyLogoInput = styled.input`
display: none;
`;
-export const CompanyBasicInfo = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 2rem;
-`;
-
-export const CompanyName = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 10px;
-`;
-
export const InputStyle = {
width: "100%",
height: "65px",
@@ -95,30 +65,13 @@ export const InputStyle = {
backgroundColor: `${RollingPalette.unEmphasize.Lightest}`,
};
-export const Address = styled.div`
- width: 100%;
- height: auto;
-
- display: flex;
- flex-direction: column;
- row-gap: 10px;
-`;
-
-export const MainAddress = styled.div`
- display: flex;
- align-items: center;
- column-gap: 5px;
-`;
-
export const FindAddressButton = styled.div`
width: 100px;
height: 65px;
cursor: pointer;
font-weight: 700;
- display: flex;
- align-items: center;
- justify-content: center;
+ ${Flex({ alignItems: "center", justifyContent: "center" })}
color: ${RollingPalette.unEmphasize.Dark};
background-color: ${RollingPalette.unEmphasize.Lightest};
@@ -131,15 +84,6 @@ export const FindAddressButton = styled.div`
}
`;
-export const CompanyIntroduce = styled.div`
- width: 100%;
- height: auto;
-
- display: flex;
- flex-direction: column;
- row-gap: 15px;
-`;
-
export const TextAreaStyle = {
width: "100%",
height: "250px",
@@ -162,9 +106,7 @@ export const ModalContainer = styled.div`
z-index: 3;
padding: 0 10px 0 10px;
- display: flex;
- justify-content: center;
- align-items: center;
+ ${Flex({ alignItems: "center", justifyContent: "center" })}
${FadeInAnimation};
`;
diff --git a/src/components/Story/StoryRegister/RegisterItem/PositionList/style.ts b/src/components/Story/StoryRegister/RegisterItem/PositionList/style.ts
index 6a5e172..da3454d 100644
--- a/src/components/Story/StoryRegister/RegisterItem/PositionList/style.ts
+++ b/src/components/Story/StoryRegister/RegisterItem/PositionList/style.ts
@@ -1,3 +1,4 @@
+import { Flex } from "@src/styles/flex";
import styled from "styled-components";
export const Container = styled.div<{ positionTop: string }>`
@@ -20,8 +21,7 @@ export const Ul = styled.ul`
width: 100%;
height: 100%;
- display: flex;
- flex-direction: column;
+ ${Flex({ flexDirection: "column" })}
li {
width: 100%;
@@ -31,8 +31,7 @@ export const Ul = styled.ul`
line-height: 25px;
font-size: 17px;
- display: flex;
- align-items: center;
+ ${Flex({ alignItems: "center" })}
cursor: pointer;
&:hover {
diff --git a/src/components/Story/StoryRegister/RegisterItem/StarGrade/index.tsx b/src/components/Story/StoryRegister/RegisterItem/StarGrade/index.tsx
index c372976..7598693 100644
--- a/src/components/Story/StoryRegister/RegisterItem/StarGrade/index.tsx
+++ b/src/components/Story/StoryRegister/RegisterItem/StarGrade/index.tsx
@@ -1,4 +1,5 @@
import { STORY_STARGRAGE_ITEMS } from "@src/constants/Story/story.constant";
+import { Flex, Row } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import { StarRatingItem } from "@stubee2/stubee2-rolling-ui";
import { useEffect, useState } from "react";
@@ -33,7 +34,7 @@ const RegistStarGrade = ({
{STORY_STARGRAGE_ITEMS.map((item) => (
{item.title}
-
+
{Array.from({ length: 5 }).map((_, idx) => (
))}
-
+
))}
@@ -73,10 +74,11 @@ const StarGradeContainer = styled.div`
width: 100%;
height: 140px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- column-gap: 20px;
+ ${Flex({
+ alignItems: "center",
+ justifyContent: "space-between",
+ columnGap: "20px",
+ })}
overflow: auto;
@@ -87,9 +89,7 @@ const StarGradeContainer = styled.div`
li {
color: rgba(115, 123, 152, 1);
- display: flex;
- flex-direction: column;
- row-gap: 10px;
+ ${Flex({ flexDirection: "column", rowGap: "10px" })}
p {
text-align: center;
@@ -98,8 +98,4 @@ const StarGradeContainer = styled.div`
}
`;
-const ItemContainer = styled.div`
- display: flex;
-`;
-
export default RegistStarGrade;
diff --git a/src/components/Story/StoryRegister/RegisterItem/index.tsx b/src/components/Story/StoryRegister/RegisterItem/index.tsx
index 9462d40..eb07032 100644
--- a/src/components/Story/StoryRegister/RegisterItem/index.tsx
+++ b/src/components/Story/StoryRegister/RegisterItem/index.tsx
@@ -6,6 +6,7 @@ import { InputEmphasizeText, RegistButton } from "../../style";
import StoryPositionList from "./PositionList";
import RegistStarGrade from "./StarGrade";
import * as S from "./stye";
+import { Column } from "@src/styles/flex";
interface Props {
storyCompanyId: string;
@@ -41,15 +42,19 @@ function StoryRegisterItem({ storyCompanyId, companyName }: Props) {
}, [storyCompanyId]);
return (
-
+
{companyName}은/는 어떤가요?
showPositionList && setShowPositionList(false)}>
-
-
+
+
e.stopPropagation()}>
포지션 *
@@ -94,15 +99,15 @@ function StoryRegisterItem({ storyCompanyId, companyName }: Props) {
handleChange={(e) => attr.handleStoryChange(e, true)}
/>
-
-
+
+
-
+
장단점 *
-
+
attr.handleStoryChange(e, true)}
/>
-
-
+
+
-
+
회사 만족도 *
@@ -131,9 +136,9 @@ function StoryRegisterItem({ storyCompanyId, companyName }: Props) {
storyStarGrade={attr.storyStarGrade}
handleStarGradeChange={attr.handleStarGradeChange}
/>
-
+
-
+
기타 내용
-
+
-
+
);
}
diff --git a/src/components/Story/StoryRegister/RegisterItem/stye.ts b/src/components/Story/StoryRegister/RegisterItem/stye.ts
index da5ab6c..48b1a88 100644
--- a/src/components/Story/StoryRegister/RegisterItem/stye.ts
+++ b/src/components/Story/StoryRegister/RegisterItem/stye.ts
@@ -1,12 +1,7 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
-export const Container = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 20px;
-`;
-
export const CompanyStoryText = styled.p`
font-size: 24px;
font-family: "Pretendard-Bold" !important;
@@ -19,7 +14,6 @@ export const CompanyStoryText = styled.p`
export const Wrapper = styled.div`
width: 100%;
- height: auto;
background-color: #fff;
border-radius: 15px;
@@ -33,33 +27,12 @@ export const Wrapper = styled.div`
export const Form = styled.form`
width: 100%;
height: 100%;
-
- display: flex;
- flex-direction: column;
- row-gap: 3rem;
-`;
-
-export const RequireContainer = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 2rem;
-`;
-
-export const RequireWrapper = styled.div`
- display: flex;
- align-items: center;
- justify-content: space-between;
- column-gap: 30px;
+ ${Flex({ flexDirection: "column", rowGap: "3rem" })}
`;
export const InputContainer = styled.div`
width: 50%;
- height: auto;
-
- display: flex;
- flex-direction: column;
- row-gap: 10px;
-
+ ${Flex({ flexDirection: "column", rowGap: "10px" })}
position: relative;
`;
@@ -71,24 +44,8 @@ export const InputStyle = {
backgroundColor: `${RollingPalette.unEmphasize.Lightest}`,
};
-export const ProsConsContainer = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 10px;
-`;
-
-export const Content = styled.div`
- width: 100%;
- height: auto;
-
- display: flex;
- flex-direction: column;
- row-gap: 10px;
-`;
-
export const StarGradeContainer = styled.div`
width: 100%;
- height: auto;
background-color: rgba(247, 249, 250, 1);
border: 1px solid #bdc2d0;
border-radius: 5px;
diff --git a/src/components/Story/StoryRegister/index.tsx b/src/components/Story/StoryRegister/index.tsx
index e9c98a9..c564582 100644
--- a/src/components/Story/StoryRegister/index.tsx
+++ b/src/components/Story/StoryRegister/index.tsx
@@ -1,10 +1,5 @@
-import {
- AddText,
- RegisterContainer,
- SubTitle,
- Title,
- TitleContainer,
-} from "../style";
+import { Column } from "@src/styles/flex";
+import { AddText, SubTitle, Title, TitleContainer } from "../style";
import StoryRegisterItem from "./RegisterItem";
import * as S from "./style";
@@ -20,7 +15,7 @@ function StoryRegister({ storySearchCompany, storyCompanyId }: Props) {
const { companyName, isExistSearchList } = storySearchCompany;
return (
-
+
My Company 스토리
@@ -33,7 +28,7 @@ function StoryRegister({ storySearchCompany, storyCompanyId }: Props) {
)}
-
+
{storyCompanyId && companyName ? (
)}
-
-
+
+
);
}
diff --git a/src/components/Story/StoryRegister/style.ts b/src/components/Story/StoryRegister/style.ts
index e1286e8..0116b31 100644
--- a/src/components/Story/StoryRegister/style.ts
+++ b/src/components/Story/StoryRegister/style.ts
@@ -1,19 +1,13 @@
import { FadeInAnimation } from "@src/styles/common.style";
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
-export const Wrapper = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 15px;
-`;
-
export const GuideText = styled.p`
font-size: 15px;
color: ${RollingPalette.main.Base};
- display: flex;
- align-items: center;
+ ${Flex({ alignItems: "center" })}
padding-left: 10px;
width: 100%;
diff --git a/src/components/Story/style.ts b/src/components/Story/style.ts
index f311710..1031c99 100644
--- a/src/components/Story/style.ts
+++ b/src/components/Story/style.ts
@@ -1,3 +1,4 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled, { css } from "styled-components";
@@ -5,9 +6,7 @@ export const Container = styled.div`
width: 100%;
height: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
+ ${Flex({ alignItems: "center", justifyContent: "center" })}
padding: 90px 20px 0 20px;
min-width: 830px;
@@ -21,16 +20,11 @@ export const Wrapper = styled.div<{ rowGap: string }>`
padding-top: 4rem;
padding-bottom: 3rem;
- display: flex;
- flex-direction: column;
- row-gap: ${({ rowGap }) => rowGap};
+ ${({ rowGap }) => Flex({ flexDirection: "column", rowGap })}
`;
export const TitleContainer = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 15px;
-
+ ${Flex({ flexDirection: "column", rowGap: "15px" })}
padding-bottom: 1.5rem;
border-bottom: 1px solid #d9d9d9;
`;
@@ -46,18 +40,6 @@ export const SubTitle = styled.p`
font-weight: bold;
`;
-export const Content = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 20px;
-`;
-
-export const RegisterContainer = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 2rem;
-`;
-
export const AddText = styled.p`
font-size: 20px;
font-weight: 700;
@@ -76,9 +58,7 @@ export const InputEmphasizeText = styled.div`
export const RegistButton = styled.div<{ isRequired: boolean }>`
width: 100%;
- display: flex;
- align-items: center;
- justify-content: flex-end;
+ ${Flex({ alignItems: "center", justifyContent: "flex-end" })}
margin-top: 15px;
button {
diff --git a/src/components/User/Nav/NavFooter/style.ts b/src/components/User/Nav/NavFooter/style.ts
index 7738f46..4d08376 100644
--- a/src/components/User/Nav/NavFooter/style.ts
+++ b/src/components/User/Nav/NavFooter/style.ts
@@ -1,3 +1,4 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
@@ -6,11 +7,13 @@ export const NavFooterContainer = styled.div`
@media screen and (max-width: 1040px) {
width: 100%;
height: 60px;
+
background-color: #ffffff;
border-top: 1px solid #d9d9d9;
border-bottom: 1px solid #d9d9d9;
- display: flex;
- justify-content: center;
+
+ ${Flex({ justifyContent: "center" })}
+
position: fixed;
bottom: 0;
left: 0;
@@ -20,9 +23,9 @@ export const NavFooterContainer = styled.div`
export const NavFooterWrapper = styled.ul`
width: 100%;
height: 100%;
- display: flex;
- align-items: center;
- justify-content: space-evenly;
+
+ ${Flex({ alignItems: "center", justifyContent: "space-evenly" })}
+
font-size: 18px;
overflow-x: auto;
::-webkit-scrollbar {
diff --git a/src/components/User/Nav/index.tsx b/src/components/User/Nav/index.tsx
index 9a8d5d6..9e46ff0 100644
--- a/src/components/User/Nav/index.tsx
+++ b/src/components/User/Nav/index.tsx
@@ -7,6 +7,7 @@ import { useSetRecoilState } from "recoil";
import { useEffect } from "react";
import emptyFace from "@src/assets/icons/Home/emptyFace.svg";
import { useGetMyInfoQuery } from "@src/services/Member/queries";
+import { Column } from "@src/styles/flex";
interface Props {
pathName: string;
@@ -28,7 +29,13 @@ const Nav = ({ pathName }: Props) => {
return (
-
+
{myInfo?.details.name}
{
>
{myInfo?.details.email || "이메일 설정하러 가기"}
-
+
diff --git a/src/components/User/Nav/style.ts b/src/components/User/Nav/style.ts
index fa68e02..a38350b 100644
--- a/src/components/User/Nav/style.ts
+++ b/src/components/User/Nav/style.ts
@@ -1,3 +1,4 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
@@ -17,16 +18,6 @@ export const UserNavBar = styled.div`
}
`;
-export const UserInfoContainer = styled.div`
- width: 100%;
- height: 300px;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- gap: 10px;
-`;
-
export const UserImg = styled.img`
width: 115px;
height: 115px;
@@ -55,9 +46,9 @@ export const PageSelectContainer = styled.div`
height: 300px;
font-weight: bold;
color: #61677e;
- display: flex;
- flex-direction: column;
- row-gap: 10px;
+
+ ${Flex({ flexDirection: "column", rowGap: "10px" })}
+
-webkit-touch-callout: none;
user-select: none;
-moz-user-select: none;
@@ -67,10 +58,8 @@ export const PageSelectContainer = styled.div`
export const PageSelectWrapper = styled.div`
width: 100%;
- height: auto;
- display: flex;
- flex-direction: column;
- row-gap: 15px;
+ ${Flex({ flexDirection: "column", rowGap: "15px" })}
+
border-bottom: 2px solid #dee0e6;
font-size: 20px;
padding-bottom: 20px;
@@ -87,9 +76,7 @@ export const PageSelectItem = styled.div<{ isSelect?: boolean }>`
padding-left: 10px;
cursor: pointer;
- display: flex;
- align-items: center;
- column-gap: 10px;
+ ${Flex({ alignItems: "center", columnGap: "10px" })}
img {
width: 24px;
diff --git a/src/components/User/Profile/MyInfo/NickName/style.ts b/src/components/User/Profile/MyInfo/NickName/style.ts
index e7c0e88..bc87fbf 100644
--- a/src/components/User/Profile/MyInfo/NickName/style.ts
+++ b/src/components/User/Profile/MyInfo/NickName/style.ts
@@ -1,3 +1,4 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
@@ -30,9 +31,7 @@ export const SubmitButton = styled.button<{ isEditing: boolean }>`
width: 60px;
height: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
+ ${Flex({ alignItems: "center", justifyContent: "center" })}
outline: none;
border: none;
diff --git a/src/components/User/Profile/MyInfo/index.tsx b/src/components/User/Profile/MyInfo/index.tsx
index 38f357b..3d059af 100644
--- a/src/components/User/Profile/MyInfo/index.tsx
+++ b/src/components/User/Profile/MyInfo/index.tsx
@@ -5,6 +5,7 @@ import { Explain, Title } from "../../style";
import { convertToGithubLink } from "@src/utils/github/convertToGithubLink";
import { useRecoilValue } from "recoil";
import { MyMemberInfo } from "@src/stores/member/member.store";
+import { Row } from "@src/styles/flex";
const MyInfo = () => {
const myInfo = useRecoilValue(MyMemberInfo);
@@ -13,12 +14,12 @@ const MyInfo = () => {
-
+
기본 정보
{!myInfo?.details.nickName && (
닉네임을 설정하세요!
)}
-
+
롤링에서 제공되는 맞춤 콘텐츠의 기본 데이터로 활용됩니다.
diff --git a/src/components/User/Profile/MyInfo/style.ts b/src/components/User/Profile/MyInfo/style.ts
index 4b695ce..9338e21 100644
--- a/src/components/User/Profile/MyInfo/style.ts
+++ b/src/components/User/Profile/MyInfo/style.ts
@@ -1,16 +1,18 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
export const Container = styled.div`
width: 100%;
height: 260px;
+
background-color: #f3f4f5;
border-radius: 15px;
border: 1px solid #dddddd;
padding: 20px;
- display: flex;
- flex-direction: column;
- row-gap: 10px;
+
+ ${Flex({ flexDirection: "column", rowGap: "10px" })}
+
margin-bottom: 20px;
`;
@@ -18,9 +20,8 @@ export const Wrapper = styled.div`
width: 100%;
height: 100%;
font-weight: bold;
- display: flex;
- flex-direction: column;
- row-gap: 15px;
+
+ ${Flex({ flexDirection: "column", rowGap: "15px" })}
`;
export const TextContainer = styled.div`
@@ -28,12 +29,6 @@ export const TextContainer = styled.div`
width: 100%;
height: 20px;
margin-bottom: 18px;
-
- div {
- display: flex;
- align-items: flex-end;
- column-gap: 5px;
- }
`;
export const SetUpNickNameText = styled.p`
@@ -46,11 +41,11 @@ export const UserInfoContainer = styled.div`
width: 100%;
height: 200px;
border-bottom: 2.5px solid rgba(189, 194, 208, 1);
- display: flex;
- align-items: center;
- column-gap: 20px;
+
+ ${Flex({ alignItems: "center", columnGap: "20px" })}
white-space: nowrap;
overflow-x: auto;
+
img {
width: 85px;
height: 85px;
@@ -70,9 +65,7 @@ export const MyGitInfoContainer = styled.div`
width: 100%;
height: 45px;
div {
- display: flex;
- align-items: center;
- column-gap: 5px;
+ ${Flex({ alignItems: "center", columnGap: "5px" })}
font-weight: 400;
cursor: pointer;
}
diff --git a/src/components/User/Story/StoryItem/CompanyContent/index.tsx b/src/components/User/Story/StoryItem/CompanyContent/index.tsx
index 859589b..81c91ec 100644
--- a/src/components/User/Story/StoryItem/CompanyContent/index.tsx
+++ b/src/components/User/Story/StoryItem/CompanyContent/index.tsx
@@ -6,6 +6,7 @@ import { StoryModifiableEventAtom } from "@src/stores/story/story.store";
import { StoryModifiableContentAtom } from "@src/stores/story/story.store";
import { useStoryModify } from "@src/hooks/Story/useStoryModify";
import { TextInput } from "@stubee2/stubee2-rolling-ui";
+import { Column } from "@src/styles/flex";
interface Props {
isCoincideStoryId: boolean;
@@ -22,13 +23,18 @@ const CompanyContent = ({ isCoincideStoryId, storyData }: Props) => {
return (
<>
{storyItemsObject(storyData).map((item) => (
-
+
{item.id === 1 ? (
-
- {item.prosTitle}
+
+ {item.prosTitle}
{
-
- {item.consTitle}
+
+ {item.consTitle}
{
) : (
<>
-
- {item.title}
+
+ {item.title}
{item.id === 0 ? (
{
)}
>
)}
-
+
))}
>
);
@@ -99,13 +105,18 @@ const CompanyContent = ({ isCoincideStoryId, storyData }: Props) => {
return (
<>
{storyItemsObject(storyData).map((item) => (
-
+
{item.id === 1 ? (
-
- {item.prosTitle}
+
+ {item.prosTitle}
{item.prosContent}
@@ -113,8 +124,8 @@ const CompanyContent = ({ isCoincideStoryId, storyData }: Props) => {
-
- {item.consTitle}
+
+ {item.consTitle}
{item.consContent}
@@ -124,13 +135,13 @@ const CompanyContent = ({ isCoincideStoryId, storyData }: Props) => {
) : (
<>
-
- {item.title}
+
+ {item.title}
{item.content}
>
)}
-
+
))}
>
);
diff --git a/src/components/User/Story/StoryItem/CompanyContent/style.ts b/src/components/User/Story/StoryItem/CompanyContent/style.ts
index 57f9b8a..672dcd6 100644
--- a/src/components/User/Story/StoryItem/CompanyContent/style.ts
+++ b/src/components/User/Story/StoryItem/CompanyContent/style.ts
@@ -1,3 +1,4 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
@@ -5,35 +6,23 @@ export const Container = styled.div`
width: 100%;
height: calc(100% - 300px);
- display: flex;
- flex-direction: column;
- row-gap: 2.5rem;
-`;
-
-export const Wrapper = styled.div`
- width: 100%;
- height: 100%;
- display: flex;
- flex-direction: column;
- row-gap: 1.5rem;
+ ${Flex({ flexDirection: "column", rowGap: "2.5rem" })}
`;
export const Title = styled.div`
width: 100%;
height: 30px;
- display: flex;
- align-items: center;
- column-gap: 10px;
+ ${Flex({ alignItems: "center", columnGap: "10px" })}
+`;
- img {
- width: 30px;
- height: 30px;
- }
+export const Image = styled.img`
+ width: 30px;
+ height: 30px;
+`;
- p {
- font-family: "Pretendard-Bold" !important;
- font-size: 23px;
- }
+export const Text = styled.p`
+ font-family: "Pretendard-Bold" !important;
+ font-size: 23px;
`;
export const Content = styled.p<{ isEtc?: string }>`
@@ -59,9 +48,7 @@ export const Content = styled.p<{ isEtc?: string }>`
export const AdvantagesAndDisAdvantages = styled.div`
width: 100%;
- height: auto;
- display: flex;
- column-gap: 20px;
+ ${Flex({ columnGap: "20px" })}
@media screen and (max-width: 560px) {
flex-direction: column;
@@ -73,9 +60,8 @@ export const AdvantagesAndDisAdvantages = styled.div`
export const ProsAndCons = styled.div`
width: 50%;
height: 100%;
- display: flex;
- flex-direction: column;
- row-gap: 10px;
+
+ ${Flex({ flexDirection: "column", rowGap: "10px" })}
@media screen and (max-width: 560px) {
width: 100%;
@@ -84,7 +70,6 @@ export const ProsAndCons = styled.div`
export const ProsAndConsContent = styled.p<{ isPros?: boolean }>`
width: 100%;
- height: auto;
background-color: ${({ isPros }) => (isPros ? "#eef2fa" : "#fbeeee")};
border-radius: 10px;
@@ -98,7 +83,6 @@ export const ProsAndConsContent = styled.p<{ isPros?: boolean }>`
export const InputStyle = {
width: "100%",
- height: "auto",
border: `1px solid ${RollingPalette.unEmphasize.Base}`,
borderRadius: "5px",
backgroundColor: `${RollingPalette.unEmphasize.Lightest}`,
diff --git a/src/components/User/Story/StoryItem/CompanyInfo/index.tsx b/src/components/User/Story/StoryItem/CompanyInfo/index.tsx
index 3ba3032..9af066f 100644
--- a/src/components/User/Story/StoryItem/CompanyInfo/index.tsx
+++ b/src/components/User/Story/StoryItem/CompanyInfo/index.tsx
@@ -10,6 +10,7 @@ import { InputStyle } from "../CompanyContent/style";
import { searchPosition } from "@src/utils/Position/searchPosition";
import { Dispatch, SetStateAction } from "react";
import StoryPositionList from "@src/components/Story/StoryRegister/RegisterItem/PositionList";
+import { Row } from "@src/styles/flex";
interface Props {
isCoincideStoryId: boolean;
@@ -93,7 +94,9 @@ const CompanyInfo = ({ ...attr }: Props) => {
};
return (
- attr.showPositionList && attr.setShowPositionList(false)}
>
{
attr.storyData.memberNickName ||
attr.storyData.memberSocialLoginId}
-
+
{isModifiableEvent ? renderModifyCompanyInfo() : renderCompanyInfo()}
-
+
-
+
);
};
diff --git a/src/components/User/Story/StoryItem/CompanyInfo/style.ts b/src/components/User/Story/StoryItem/CompanyInfo/style.ts
index b5c8b5e..d8da30e 100644
--- a/src/components/User/Story/StoryItem/CompanyInfo/style.ts
+++ b/src/components/User/Story/StoryItem/CompanyInfo/style.ts
@@ -1,15 +1,7 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
-export const Container = styled.div`
- width: 100%;
- height: auto;
-
- display: flex;
-
- padding-bottom: 20px;
-`;
-
export const CompanyLogo = styled.div<{ isHaveSocialId: string }>`
width: 115px;
height: 115px;
@@ -27,12 +19,8 @@ export const CompanyLogo = styled.div<{ isHaveSocialId: string }>`
export const Wrapper = styled.div`
width: calc(100% - 115px);
height: 115px;
- display: flex;
- flex-direction: column;
- justify-content: center;
-
- row-gap: 20px;
padding: 0.5rem 0 10px 2rem;
+ ${Flex({ flexDirection: "column", justifyContent: "center", rowGap: "20px" })}
`;
export const Title = styled.p`
@@ -41,14 +29,8 @@ export const Title = styled.p`
cursor: pointer;
`;
-export const Content = styled.div`
- display: flex;
-`;
-
export const Info = styled.div`
- display: flex;
- column-gap: 5px;
- align-items: center;
+ ${Flex({ alignItems: "center", columnGap: "5px" })}
color: ${RollingPalette.main.Dark};
font-family: "Pretendard-Bold" !important;
@@ -84,21 +66,22 @@ export const ModifyInput = styled.input`
`;
export const PositionListUl = styled.ul`
+ width: 100%;
+
position: absolute;
top: 95px;
+
background-color: #fff;
border-radius: 5px;
border: 1px solid rgba(189, 194, 208, 1);
+
color: rgba(29, 30, 90, 1);
- width: 100%;
- height: auto;
max-height: 300px;
z-index: 3;
overflow-y: auto;
padding: 1rem;
- display: flex;
- flex-direction: column;
- row-gap: 20px;
+
+ ${Flex({ flexDirection: "column", rowGap: "20px" })}
li {
cursor: pointer;
diff --git a/src/components/User/Story/StoryItem/index.tsx b/src/components/User/Story/StoryItem/index.tsx
index 0a2bd83..1115d1c 100644
--- a/src/components/User/Story/StoryItem/index.tsx
+++ b/src/components/User/Story/StoryItem/index.tsx
@@ -18,6 +18,7 @@ import {
import { StoryModifiableEventAtom } from "@src/stores/story/story.store";
import { useStoryModify } from "@src/hooks/Story/useStoryModify";
import RegistStarGrade from "@src/components/Story/StoryRegister/RegisterItem/StarGrade";
+import { Column, Row } from "@src/styles/flex";
// 마이페이지와 회사단일 조회 페이지에서 같이 쓰이는 컴포넌트
const StoryItem = ({ ...attr }: StoryCommonType) => {
@@ -90,15 +91,20 @@ const StoryItem = ({ ...attr }: StoryCommonType) => {
}, [isCoincideStoryId, isModifiableEvent]);
return (
-
+
showPositionList && setShowPositionList(false)}>
hooks.handleModifyStorySubmit(e, modifyStroyCompanyId)
}
>
-
-
+
+
{getDateText(new Date(attr.storyModifiedAt))} 등록
@@ -112,7 +118,7 @@ const StoryItem = ({ ...attr }: StoryCommonType) => {
/>
)}
-
+
{
storyData={attr}
/>
-
+
{isModifiableEvent && isCoincideStoryId ? (
{
)}
{isModifiableEvent && isCoincideMemberId && isCoincideStoryId && (
-
+
수정하기
-
+
)}
-
+
);
};
diff --git a/src/components/User/Story/StoryItem/style.ts b/src/components/User/Story/StoryItem/style.ts
index c50498f..565885c 100644
--- a/src/components/User/Story/StoryItem/style.ts
+++ b/src/components/User/Story/StoryItem/style.ts
@@ -1,23 +1,16 @@
import styled, { css } from "styled-components";
import { HoverAnimation } from "@src/styles/common.style";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
-
-export const Container = styled.div`
- width: 100%;
- height: auto;
- display: flex;
- column-gap: 5px;
-`;
+import { Flex } from "@src/styles/flex";
export const Wrapper = styled.div`
width: 100%;
- height: auto;
+
background-color: #fff;
border: 1px solid #dddddd;
border-radius: 20px;
- display: flex;
- align-items: center;
- justify-content: center;
+
+ ${Flex({ alignItems: "center", justifyContent: "center" })}
`;
export const Content = styled.form`
@@ -25,38 +18,23 @@ export const Content = styled.form`
height: 100%;
padding: 2rem 0 2.5rem 0;
- display: flex;
- row-gap: 1.5rem;
- flex-direction: column;
- justify-content: space-between;
+ ${Flex({
+ flexDirection: "column",
+ rowGap: "1.5rem",
+ justifyContent: "space-between",
+ })}
`;
export const ContentContainer = styled.div`
width: 100%;
height: calc(100% - 40px);
- display: flex;
- flex-direction: column;
- row-gap: 1rem;
- align-items: center;
- column-gap: 2rem;
-`;
-
-export const CompanyInfoContainer = styled.div`
- width: 100%;
- height: 100%;
-
- display: flex;
- flex-direction: column;
- row-gap: 1rem;
-`;
-
-export const RegisteredAtAndDelEditContainer = styled.div`
- width: 100%;
- height: 40px;
- display: flex;
- align-items: center;
- justify-content: space-between;
+ ${Flex({
+ flexDirection: "column",
+ rowGap: "1rem",
+ alignItems: "center",
+ columnGap: "2rem",
+ })}
`;
export const RegisteredDate = styled.p`
@@ -66,9 +44,7 @@ export const RegisteredDate = styled.p`
`;
export const DelAndEditContainer = styled.div`
- display: flex;
- align-items: center;
- column-gap: 5px;
+ ${Flex({ alignItems: "center", columnGap: "5px" })}
margin-left: 10px;
img {
cursor: pointer;
@@ -87,17 +63,12 @@ export const CompanyContainer = styled.div`
width: 100%;
height: calc(100% - 40px);
- display: flex;
- flex-direction: column;
- row-gap: 1rem;
- align-items: center;
- column-gap: 2rem;
-`;
-
-export const StoryModifySubmitBtnContainer = styled.div`
- width: 100%;
- display: flex;
- justify-content: flex-end;
+ ${Flex({
+ flexDirection: "column",
+ rowGap: "1rem",
+ alignItems: "center",
+ columnGap: "2rem",
+ })}
`;
export const StoryModifySubmitBtn = styled.button<{ isRequired: boolean }>`
diff --git a/src/components/User/Story/index.tsx b/src/components/User/Story/index.tsx
index fc57ed2..28331ba 100644
--- a/src/components/User/Story/index.tsx
+++ b/src/components/User/Story/index.tsx
@@ -1,8 +1,8 @@
import StoryItem from "@src/components/User/Story/StoryItem";
import { useEffect } from "react";
import { useInView } from "react-intersection-observer";
-import * as S from "./style";
import { useGetMyStoryQuery } from "@src/services/Story/queries";
+import { Row } from "@src/styles/flex";
const Story = () => {
const { data: storyList, fetchNextPage } = useGetMyStoryQuery({
@@ -20,13 +20,18 @@ const Story = () => {
<>
{storyListData?.length!! > 0 ? (
<>
-
+
{storyList?.pages.map((data) =>
data.data.map((story) => (
))
)}
-
+
>
) : (
diff --git a/src/components/User/Story/style.ts b/src/components/User/Story/style.ts
deleted file mode 100644
index 63817f3..0000000
--- a/src/components/User/Story/style.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import styled from "styled-components";
-
-export const ListWrapper = styled.div`
- width: 100%;
- display: flex;
- flex-wrap: wrap;
- row-gap: 3rem;
- justify-content: center;
-`;
diff --git a/src/components/User/StoryStatus/index.tsx b/src/components/User/StoryStatus/index.tsx
index ddb4f37..adcc3e8 100644
--- a/src/components/User/StoryStatus/index.tsx
+++ b/src/components/User/StoryStatus/index.tsx
@@ -4,6 +4,7 @@ import { getTimeAgo } from "@stubee2/stubee2-rolling-util";
import write from "@src/assets/icons/Company/write.png";
import { useNavigate } from "react-router-dom";
import { useGetStoryMyStatusQuery } from "@src/services/Story/queries";
+import { Row } from "@src/styles/flex";
const StoryStatus = () => {
const { data: storyStatus, isError } = useGetStoryMyStatusQuery({
@@ -15,7 +16,7 @@ const StoryStatus = () => {
return (
-
+
@@ -24,9 +25,9 @@ const StoryStatus = () => {
스토리를 등록하여
후배들에게 더 많은 이야기를 들려주세요!
-
+
-
+
내가 작성한 롤링 Story · {isError ? 0 : count}개
@@ -42,7 +43,7 @@ const StoryStatus = () => {
스토리 등록
-
+
);
diff --git a/src/components/User/StoryStatus/style.ts b/src/components/User/StoryStatus/style.ts
index 09b3896..cd900af 100644
--- a/src/components/User/StoryStatus/style.ts
+++ b/src/components/User/StoryStatus/style.ts
@@ -1,3 +1,4 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
@@ -6,24 +7,12 @@ export const Container = styled.div`
height: 183px;
background-color: ${RollingPalette.main.Base};
border-radius: 10px;
-
- display: flex;
- flex-direction: column;
- row-gap: 10px;
- justify-content: center;
padding: 0 1.5rem 0 2rem;
-`;
-
-export const Wrapper = styled.div`
- display: flex;
- justify-content: space-between;
+ ${Flex({ flexDirection: "column", justifyContent: "center", rowGap: "10px" })}
`;
export const RegistStoryText = styled.div`
- display: flex;
- flex-direction: column;
- align-items: flex-end;
- row-gap: 7px;
+ ${Flex({ flexDirection: "column", alignItems: "flex-end", rowGap: "7px" })}
font-size: 18px;
color: #fff;
@@ -46,10 +35,8 @@ export const StoryNumber = styled.div`
border-radius: 4rem;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
color: #4869f6;
- display: flex;
- align-items: center;
- justify-content: center;
font-size: 22px;
+ ${Flex({ alignItems: "center", justifyContent: "center" })}
`;
export const WroteStoryCount = styled.p`
@@ -78,10 +65,7 @@ export const StoryButton = styled.button`
color: #fff;
cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- column-gap: 5px;
+ ${Flex({ alignItems: "center", justifyContent: "center", columnGap: "5px" })}
img {
width: 20px;
diff --git a/src/components/User/style.ts b/src/components/User/style.ts
index 853bd1d..86e5bdb 100644
--- a/src/components/User/style.ts
+++ b/src/components/User/style.ts
@@ -1,3 +1,4 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled, { css } from "styled-components";
@@ -7,10 +8,11 @@ export const UserContainer = styled.div`
background-color: #f9fafb;
zoom: 0.8;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
+ ${Flex({
+ flexDirection: "column",
+ alignItems: "center",
+ justifyContent: "center",
+ })}
padding-bottom: 2rem;
min-width: 500px;
@@ -25,9 +27,11 @@ export const UserWrapper = styled.div`
width: 1370px;
height: 100%;
display: flex;
+
@media screen and (max-width: 1130px) {
width: 100%;
}
+
@media screen and (max-width: 1040px) {
flex-direction: column;
height: calc(100% - 60px);
@@ -39,9 +43,7 @@ export const UserListContainer = styled.div<{ page: boolean }>`
height: 100%;
padding-top: 40px;
- display: flex;
- flex-direction: column;
- align-items: center;
+ ${Flex({ flexDirection: "column", alignItems: "center" })}
${({ page }) =>
page &&
@@ -63,9 +65,7 @@ export const UserListContainer = styled.div<{ page: boolean }>`
export const Container = styled.div`
width: 90%;
height: 100%;
- display: flex;
- flex-direction: column;
- row-gap: 30px;
+ ${Flex({ flexDirection: "column", rowGap: "30px" })}
`;
export const Title = styled.div`
diff --git a/src/components/ViewAll/All/AllList/index.tsx b/src/components/ViewAll/All/AllList/index.tsx
index 8b5fdfe..59d7504 100644
--- a/src/components/ViewAll/All/AllList/index.tsx
+++ b/src/components/ViewAll/All/AllList/index.tsx
@@ -2,7 +2,6 @@ import {
CompanyAddress,
CompanyCreatedAt,
CompanyDescription,
- CompanyDescriptionAndAddress,
CompanyName,
} from "@src/components/Home/Main/style";
import { getRgb } from "@src/utils/Rgb/getRgb";
@@ -15,6 +14,7 @@ import * as S from "./style";
import developer from "@src/assets/icons/Home/developer.svg";
import logo from "@src/assets/icons/Logo/logo.svg";
import { useGetAllCompanyListQuery } from "@src/services/Company/queries";
+import { Column } from "@src/styles/flex";
const AllList = () => {
const { data: recommandList, fetchNextPage } = useGetAllCompanyListQuery({
@@ -31,10 +31,10 @@ const AllList = () => {
}, [inView]);
return (
-
+
-
- 졸업생들이 롤링한 모든 기업들이에요!
+
+ 졸업생들이 롤링한 모든 기업들이에요!
@@ -59,7 +59,7 @@ const AllList = () => {
{item.companyDetails.name}
-
+
{item.companyDetails.description}
@@ -72,7 +72,7 @@ const AllList = () => {
{getDateText(new Date(item.createdAt))}
-
+
))
@@ -82,7 +82,7 @@ const AllList = () => {
)}
-
+
);
};
diff --git a/src/components/ViewAll/All/AllList/style.ts b/src/components/ViewAll/All/AllList/style.ts
index e2afade..1c0414d 100644
--- a/src/components/ViewAll/All/AllList/style.ts
+++ b/src/components/ViewAll/All/AllList/style.ts
@@ -1,21 +1,12 @@
import { FadeInAnimation } from "@src/styles/common.style";
+import { Flex } from "@src/styles/flex";
import styled from "styled-components";
-export const Container = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 20px;
-`;
-
export const Wrapper = styled.div`
width: 100%;
height: 100%;
- display: flex;
- flex-wrap: wrap;
-
- column-gap: 20px;
- row-gap: 6rem;
+ ${Flex({ flexWrap: "wrap", columnGap: "20px", rowGap: "6rem" })}
@media screen and (max-width: 1031px) {
row-gap: 2.5rem;
@@ -25,21 +16,19 @@ export const Wrapper = styled.div`
`;
export const Title = styled.div`
- display: flex;
- align-items: center;
- column-gap: 5px;
padding-bottom: 10px;
border-bottom: 1px solid #ddd;
+ ${Flex({ alignItems: "center", columnGap: "5px" })}
+`;
- img {
- width: 25px;
- height: 25px;
- }
+export const Image = styled.img`
+ width: 25px;
+ height: 25px;
+`;
- p {
- font-size: 22px;
- font-weight: bold;
- }
+export const Text = styled.p`
+ font-size: 22px;
+ font-weight: bold;
`;
export const CompanyBox = styled.div`
diff --git a/src/components/ViewAll/All/index.tsx b/src/components/ViewAll/All/index.tsx
index 5c84f1c..dcdbf1f 100644
--- a/src/components/ViewAll/All/index.tsx
+++ b/src/components/ViewAll/All/index.tsx
@@ -5,18 +5,19 @@ import AllList from "./AllList";
import { useAuthTopScroll } from "@stubee2/stubee2-rolling-util";
import Footer from "../../Common/Footer";
import AllListSkeleton from "../../Common/Skeleton/ViewAll/All";
+import { Column } from "@src/styles/flex";
const All = () => {
useAuthTopScroll();
return (
-
+
That's 모든 기업
졸업생들이 후배들을 위해 롤링한 기업들을 모두 보여줘요!
-
+
졸업생 추천 회사들을 가지고 오지 못했습니다.>}
diff --git a/src/components/ViewAll/Rank/RankList/index.tsx b/src/components/ViewAll/Rank/RankList/index.tsx
index 01cba69..3ec80d6 100644
--- a/src/components/ViewAll/Rank/RankList/index.tsx
+++ b/src/components/ViewAll/Rank/RankList/index.tsx
@@ -3,7 +3,6 @@ import {
CompanyAddress,
CompanyCreatedAt,
CompanyDescription,
- CompanyDescriptionAndAddress,
CompanyName,
} from "@src/components/Home/Main/style";
import { getDateText } from "@stubee2/stubee2-rolling-util";
@@ -18,6 +17,7 @@ import leftArrow from "@src/assets/icons/Rank/leftArrow.png";
import { useRef } from "react";
import { getSlideRankBoxWidth } from "@src/utils/Rank/getSlideRankBoxWidth";
import { useGetCompanyRankSelectQuery } from "@src/services/Company/queries";
+import { Column, Row } from "@src/styles/flex";
interface Props {
category: string;
@@ -45,25 +45,25 @@ const RankList = ({ category, title }: Props) => {
};
return (
-
+
{title}
-
+
scrollHandler("left")}>
scrollHandler("right")}>
-
+
-
+
{rankList?.length!! > 0 ? (
rankList?.map((item, idx) => (
@@ -86,7 +86,7 @@ const RankList = ({ category, title }: Props) => {
{item.companyDetails.name}
-
+
{item.companyDetails.description}
@@ -99,16 +99,16 @@ const RankList = ({ category, title }: Props) => {
{getDateText(new Date(item.createdAt))}
-
+
))
) : (
데이터가 없습니다.
)}
-
+
-
+
);
};
diff --git a/src/components/ViewAll/Rank/RankList/style.ts b/src/components/ViewAll/Rank/RankList/style.ts
index 48bfd46..576d646 100644
--- a/src/components/ViewAll/Rank/RankList/style.ts
+++ b/src/components/ViewAll/Rank/RankList/style.ts
@@ -1,27 +1,15 @@
import { FadeInAnimation } from "@src/styles/common.style";
+import { Flex } from "@src/styles/flex";
import styled from "styled-components";
-export const Container = styled.div`
- width: 100%;
- height: auto;
-
- display: flex;
- flex-direction: column;
- row-gap: 20px;
-`;
-
export const TitleContainer = styled.div`
- display: flex;
- align-items: center;
- justify-content: space-between;
border-bottom: 1px solid #ddd;
+ ${Flex({ alignItems: "center", justifyContent: "space-between" })}
`;
export const Title = styled.div`
- display: flex;
- align-items: center;
- column-gap: 5px;
padding-bottom: 10px;
+ ${Flex({ alignItems: "center", columnGap: "5px" })}
img {
width: 25px;
@@ -34,19 +22,11 @@ export const Title = styled.div`
}
`;
-export const ArrowContainer = styled.div`
- display: flex;
- align-items: center;
- column-gap: 5px;
-`;
-
export const SliderButton = styled.button`
width: 25px;
height: 25px;
- display: flex;
- justify-content: center;
- align-items: center;
+ ${Flex({ alignItems: "center", justifyContent: "center" })}
border: 1px solid #ddd;
cursor: pointer;
@@ -68,7 +48,6 @@ export const SliderButton = styled.button`
export const Wrapper = styled.div`
width: 100%;
- height: auto;
display: flex;
overflow-x: auto;
@@ -83,12 +62,6 @@ export const Wrapper = styled.div`
${FadeInAnimation};
`;
-export const Content = styled.div`
- display: flex;
- felx-wrap: wrap;
- column-gap: 2rem;
-`;
-
export const RankBox = styled.div`
width: 273px;
height: 320px;
diff --git a/src/components/ViewAll/Rank/index.tsx b/src/components/ViewAll/Rank/index.tsx
index 00719c4..b4e9fab 100644
--- a/src/components/ViewAll/Rank/index.tsx
+++ b/src/components/ViewAll/Rank/index.tsx
@@ -5,12 +5,13 @@ import Footer from "../../Common/Footer";
import RankingSkeleton from "../../Common/Skeleton/ViewAll/Rank";
import RankList from "./RankList";
import * as S from "../style";
+import { Column } from "@src/styles/flex";
const Rank = () => {
return (
-
+
That's 기업 랭킹
매일 오전 3:00시 업데이트
@@ -19,7 +20,7 @@ const Rank = () => {
졸업생들이 직접 매긴 회사만족도를 기반으로 카테고리별{" "}
TOP 10 기업을 보여줘요!
-
+
데이터를 가지고 오지 못했습니다.>}>
}>
diff --git a/src/components/ViewAll/style.ts b/src/components/ViewAll/style.ts
index 3a0fef3..3de0d94 100644
--- a/src/components/ViewAll/style.ts
+++ b/src/components/ViewAll/style.ts
@@ -1,3 +1,4 @@
+import { Flex } from "@src/styles/flex";
import { RollingPalette } from "@stubee2/stubee2-rolling-design-token";
import styled from "styled-components";
@@ -5,14 +6,15 @@ export const ViewAllContainer = styled.div<{ rowGap: string }>`
width: 100%;
height: 100%;
zoom: 0.8;
-
padding-top: 90px;
- display: flex;
- align-items: center;
- flex-direction: column;
- row-gap: ${({ rowGap }) => rowGap};
- justify-content: center;
+ ${({ rowGap }) =>
+ Flex({
+ alignItems: "center",
+ flexDirection: "column",
+ justifyContent: "center",
+ rowGap,
+ })}
background-color: #f9fafb;
min-width: 500px;
@@ -23,9 +25,7 @@ export const ViewAllWrapper = styled.div`
height: 100%;
padding: 3rem 5px 2rem 5px;
- display: flex;
- flex-direction: column;
- row-gap: 5rem;
+ ${Flex({ flexDirection: "column", rowGap: "5rem" })}
@media screen and (max-width: 985px) {
width: 785px;
@@ -38,12 +38,6 @@ export const ViewAllWrapper = styled.div`
}
`;
-export const TitleContianer = styled.div`
- display: flex;
- flex-direction: column;
- row-gap: 17px;
-`;
-
export const Title = styled.p`
font-size: 30px;
font-weight: 700;
@@ -75,8 +69,7 @@ export const CompanyLogoContainer = styled.div<{ rgb: string }>`
//회사 랭킹 숫자 보여주기 위해서 사용함
position: relative;
- display: flex;
- justify-content: center;
+ ${Flex({ justifyContent: "center" })}
border-bottom: 1px solid #ddd;
background-color: ${({ rgb }) => rgb || "#fff"};
@@ -88,8 +81,6 @@ export const CompanyLogoContainer = styled.div<{ rgb: string }>`
export const LogoImg = styled.img`
max-width: 100%;
max-height: 100%;
- width: auto;
- height: auto;
transform: scale(1);
transition: all 0.27s ease-in-out;
@@ -102,8 +93,6 @@ export const CompanyContent = styled.div`
width: 100%;
height: 40%;
- display: flex;
- flex-direction: column;
- row-gap: 1rem;
+ ${Flex({ flexDirection: "column", rowGap: "1rem" })}
padding: 1rem 1rem 0.7rem 0.3rem;
`;
diff --git a/src/pages/UserPage/index.tsx b/src/pages/UserPage/index.tsx
index e5302ff..be442b7 100644
--- a/src/pages/UserPage/index.tsx
+++ b/src/pages/UserPage/index.tsx
@@ -4,6 +4,7 @@ import Profile from "@src/components/User/Profile";
import { tokenDecode } from "@src/utils/Auth/tokenDecode";
import styled from "styled-components";
import { useNavigate } from "react-router-dom";
+import { Flex } from "@src/styles/flex";
interface Props {
page: number;
@@ -31,10 +32,8 @@ const UserPage = ({ page }: Props) => {
};
const AlumniCheck = styled.div`
- display: flex;
- justify-content: center;
- column-gap: 10px;
font-size: 18px;
+ ${Flex({ justifyContent: "center", columnGap: "10px" })}
`;
const Authenticate = styled.p`
diff --git a/src/styles/common.style.ts b/src/styles/common.style.ts
index ee0861a..a6c339a 100644
--- a/src/styles/common.style.ts
+++ b/src/styles/common.style.ts
@@ -1,9 +1,9 @@
import { css } from "styled-components";
+import { Flex } from "./flex";
export const HoverAnimation = css`
- display: flex;
- align-items: center;
- justify-content: center;
+ ${Flex({ alignItems: "center", justifyContent: "center" })}
+
border-radius: 10px;
transform: scale(1);
transition: all 0.1s ease-in-out;
diff --git a/src/styles/flex.ts b/src/styles/flex.ts
index 6cf732b..cdcaca0 100644
--- a/src/styles/flex.ts
+++ b/src/styles/flex.ts
@@ -8,6 +8,7 @@ interface Props {
columnGap?: CSSProperties["columnGap"];
rowGap?: CSSProperties["rowGap"];
gap?: CSSProperties["gap"];
+ flexWrap?: CSSProperties["flexWrap"];
}
export const Flex = ({
@@ -17,6 +18,7 @@ export const Flex = ({
columnGap,
rowGap,
gap,
+ flexWrap,
}: Props) => {
return css`
display: flex;
@@ -26,6 +28,7 @@ export const Flex = ({
column-gap: ${columnGap};
row-gap: ${rowGap};
gap: ${gap};
+ flex-wrap: ${flexWrap};
`;
};