From c9471e11060a23493ed8edb88380c26b2534002e Mon Sep 17 00:00:00 2001 From: Minha Kang <118591632+m2na7@users.noreply.github.com> Date: Mon, 16 Dec 2024 21:55:19 +0900 Subject: [PATCH 1/2] feat(community): add LabList component --- apps/community/src/components/lab/lab-list.css.ts | 14 ++++++++++++++ apps/community/src/components/lab/lab-list.tsx | 11 +++++++++++ 2 files changed, 25 insertions(+) create mode 100644 apps/community/src/components/lab/lab-list.css.ts create mode 100644 apps/community/src/components/lab/lab-list.tsx diff --git a/apps/community/src/components/lab/lab-list.css.ts b/apps/community/src/components/lab/lab-list.css.ts new file mode 100644 index 0000000..2137343 --- /dev/null +++ b/apps/community/src/components/lab/lab-list.css.ts @@ -0,0 +1,14 @@ +import { screen, themeVars } from '@aics-client/design-system/styles'; +import { style } from '@vanilla-extract/css'; + +const labList = style([ + screen.xl({ + gridTemplateColumns: 'repeat(2, minmax(0, 1fr))', + }), + { + display: 'grid', + gap: themeVars.spacing.md, + }, +]); + +export { labList }; diff --git a/apps/community/src/components/lab/lab-list.tsx b/apps/community/src/components/lab/lab-list.tsx new file mode 100644 index 0000000..a1ff5f1 --- /dev/null +++ b/apps/community/src/components/lab/lab-list.tsx @@ -0,0 +1,11 @@ +import * as styles from '~/components/lab/lab-list.css'; + +interface Props { + children: React.ReactNode; +} + +function LabList({ children }: Props) { + return
{children}
; +} + +export { LabList }; From cfc70fc3a1c1c2f75a024396fe51731a8b2aa418 Mon Sep 17 00:00:00 2001 From: Minha Kang <118591632+m2na7@users.noreply.github.com> Date: Mon, 16 Dec 2024 21:56:16 +0900 Subject: [PATCH 2/2] feat(community): update styles with design-system token --- apps/community/src/app/lab/page.css.ts | 15 ------------- apps/community/src/app/lab/page.tsx | 6 ++--- .../src/components/lab/lab-card.css.ts | 22 +++++++++++-------- 3 files changed, 16 insertions(+), 27 deletions(-) delete mode 100644 apps/community/src/app/lab/page.css.ts diff --git a/apps/community/src/app/lab/page.css.ts b/apps/community/src/app/lab/page.css.ts deleted file mode 100644 index dedc567..0000000 --- a/apps/community/src/app/lab/page.css.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { style } from '@vanilla-extract/css'; - -const cardContainer = style({ - display: 'grid', - padding: '2rem 0', - gap: '1rem', - - '@media': { - 'screen and (min-width: 1024px)': { - gridTemplateColumns: 'repeat(2, minmax(0, 1fr))', - }, - }, -}); - -export { cardContainer }; diff --git a/apps/community/src/app/lab/page.tsx b/apps/community/src/app/lab/page.tsx index 7bc5f45..31acadf 100644 --- a/apps/community/src/app/lab/page.tsx +++ b/apps/community/src/app/lab/page.tsx @@ -1,6 +1,6 @@ -import * as styles from '~/app/lab/page.css'; import { getLabs } from '~/app/lab/remotes'; import { LabCard } from '~/components/lab/lab-card'; +import { LabList } from '~/components/lab/lab-list'; import { PageHeader } from '~/components/page-header'; //** TODO: for mocking */ @@ -15,11 +15,11 @@ export default async function LabPage() { title="연구실 소개" description="경기대학교 AI컴퓨터공학부의 다양한 연구실을 소개해요." /> -
+ {data.map((lab) => ( ))} -
+ ); } diff --git a/apps/community/src/components/lab/lab-card.css.ts b/apps/community/src/components/lab/lab-card.css.ts index d6620f6..7a65753 100644 --- a/apps/community/src/components/lab/lab-card.css.ts +++ b/apps/community/src/components/lab/lab-card.css.ts @@ -1,13 +1,14 @@ +import { themeVars } from '@aics-client/design-system/styles'; import { style } from '@vanilla-extract/css'; const cardWrapper = style({ display: 'flex', alignItems: 'center', - padding: '1rem 3rem', + padding: '2rem 1rem 2rem 3rem', gap: '3rem', - border: '1px solid rgba(0, 0, 0, 0.1)', - borderRadius: '0.5rem', - boxShadow: '0 1px 3px rgba(0, 0, 0, 0.1)', + border: `1px solid ${themeVars.color.gray300}`, + borderRadius: themeVars.borderRadius.lg, + boxShadow: themeVars.boxShadow.md, }); const image = style({ @@ -16,7 +17,7 @@ const image = style({ const divider = style({ width: 1, - height: '90%', + height: '100%', backgroundImage: 'repeating-linear-gradient(#000, #000 1px, transparent 1px, transparent 3px)', opacity: 0.5, @@ -26,18 +27,21 @@ const infoWrapper = style({ display: 'flex', flexDirection: 'column', justifyContent: 'center', - paddingBottom: '1rem', + gap: themeVars.spacing.md, }); const title = style({ - fontSize: '1.25rem', + marginBottom: themeVars.spacing.lg, + fontSize: themeVars.fontSize.xl, + fontWeight: themeVars.fontWeight.semibold, color: '#333D4B', }); const link = style({ - color: 'black', + textDecoration: 'underline', + ':hover': { - color: 'blue', + color: themeVars.color.primary, transition: 'color 0.3s', }, });