From afc6bfd6d49d309a1bd590aff766d27c588c36c8 Mon Sep 17 00:00:00 2001 From: Shinak Date: Thu, 18 Jul 2024 20:48:06 +0900 Subject: [PATCH] =?UTF-8?q?[Feature]=20=EB=9E=9C=EB=94=A9=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EA=B5=AC=ED=98=84=20(#37)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor: 헤더 로그인 로직 분리 * feat: 랜딩 레이아웃 구현 * feat: 아이콘 컴포넌트 제작 * feat: 히어로 랜딩 구현 * refactor: 컴포넌트 구조 변경 * feat: 카드 컴포넌트 개발 * feat: 아이콘 섹션 일부 구현 * feat: 랜딩페이지 - 상세설명 레이아웃 섹션 구현 * feat: 랜딩페이지 하단 UI 레이아웃 구현 * feat: 애니메이션 적용 * feat: 랜딩 페이지 아이콘 섹션 일부 구현 * design: 아이콘 섹션 별 추가 * design: 푸터 디자인 수정 * fix: api 변경사항 적용 * fix: 누락된 페이지 복구 * fix: 아이콘 오류 해결 * fix: 아이콘 빌드 에러 수정 * chore: 도커 빌드 테스트 * fix: 아이콘 경로 수정 * fix: Feedback 0718 - 1,2,5,6,7 수정 --------- Co-authored-by: Kim Min-gyu Co-authored-by: Kim Min-gyu <99083803+cobocho@users.noreply.github.com> --- apps/web/.env.development | 3 +- apps/web/.env.production | 2 +- apps/web/.env.staging | 2 +- apps/web/package.json | 1 + apps/web/public/image/Excel.png | Bin 0 -> 8522 bytes apps/web/public/image/File.png | Bin 0 -> 6689 bytes apps/web/public/image/Folder.png | Bin 0 -> 5848 bytes apps/web/public/image/Jira.png | Bin 0 -> 21137 bytes apps/web/public/image/Notion.png | Bin 0 -> 18246 bytes apps/web/public/image/Pen.png | Bin 0 -> 11374 bytes apps/web/public/image/Star.png | Bin 0 -> 6894 bytes apps/web/public/image/spredadSheet.png | Bin 0 -> 24776 bytes apps/web/src/app/(afterLogin)/layout.css.ts | 5 +- apps/web/src/app/(afterLogin)/layout.tsx | 7 +- apps/web/src/app/(afterLogin)/page.tsx | 48 ---- .../[id]/_component/term/Term.css.ts | 13 + .../vocabulary/[id]/_component/term/Term.tsx | 62 +++-- .../{ => _components}/VocabularyItem.css.ts | 0 .../{ => _components}/VocabularyItem.tsx | 3 +- .../app/(afterLogin)/workspace/layout.css.ts | 34 +++ .../src/app/(afterLogin)/workspace/layout.tsx | 41 +++ .../src/app/(afterLogin)/workspace/page.tsx | 44 +++- .../src/app/(beforeLogin)/auth/token/page.tsx | 2 +- .../app/(beforeLogin)/terms/privacy/page.tsx | 2 +- .../DetailBanner/DetailBanner.css.ts | 79 ++++++ .../_components/DetailBanner/DetailBanner.tsx | 134 ++++++++++ .../DetailBanner/Icons/Icon.css.ts | 19 ++ .../_components/DetailBanner/Icons/Icon.tsx | 245 ++++++++++++++++++ .../_components/DetailBanner/Icons/index.tsx | 31 +++ .../DetailBanner/_components/CardSection.tsx | 102 ++++++++ .../_components/CardSectoin.css.ts | 33 +++ .../_components/DeviceScreen.css.ts | 129 +++++++++ .../DetailBanner/_components/DeviceScreen.tsx | 185 +++++++++++++ .../DetailBanner/_components/index.ts | 1 + .../_components/DetailBanner/index.ts | 1 + .../_components/Footer/Footer.css.ts | 21 ++ .../(landing)/_components/Footer/Footer.tsx | 50 ++++ .../_components/Footer/index.ts} | 0 .../_components/HeroBanner/HeroBanner.css.ts | 60 +++++ .../_components/HeroBanner/HeroBanner.tsx | 74 ++++++ .../(landing)/_components/HeroBanner/index.ts | 1 + .../(landing)/_components/IconBox/Card.tsx | 41 +++ .../_components/IconBox/IconBox.css.ts | 33 +++ .../(landing)/_components/IconBox/IconBox.tsx | 169 ++++++++++++ .../_components/IconBox/assets/Excel.png | Bin 0 -> 8522 bytes .../_components/IconBox/assets/File.png | Bin 0 -> 6689 bytes .../_components/IconBox/assets/Folder.png | Bin 0 -> 5848 bytes .../_components/IconBox/assets/Jira.png | Bin 0 -> 21137 bytes .../_components/IconBox/assets/Notion.png | Bin 0 -> 18246 bytes .../_components/IconBox/assets/Pen.png | Bin 0 -> 11374 bytes .../_components/IconBox/assets/Star.png | Bin 0 -> 6894 bytes .../IconBox/assets/spredadSheet.png | Bin 0 -> 24776 bytes .../(landing)/_components/IconBox/index.ts | 1 + .../IconSection/IconSection.css.ts | 50 ++++ .../_components/IconSection/IconSection.tsx | 73 ++++++ .../_components/IconSection/index.ts | 1 + .../IconSectionTitle/IconSectionTitle.css.ts | 33 +++ .../IconSectionTitle/IconSectionTitle.tsx | 50 ++++ .../_components/IconSectionTitle/index.ts | 1 + .../RedirectBanner/RedirectBanner.css.ts | 16 ++ .../RedirectBanner/RedirectBanner.tsx | 18 ++ .../_components/RedirectBanner/index.ts | 1 + apps/web/src/app/(landing)/layout.css.ts | 20 ++ apps/web/src/app/(landing)/layout.tsx | 35 +++ apps/web/src/app/(landing)/page.tsx | 20 ++ .../(onboarding)/onboarding/job/page.css.ts | 4 + .../app/(onboarding)/onboarding/job/page.tsx | 41 +-- .../components/AppearBottom/AppearBottom.tsx | 31 +++ apps/web/src/components/AppearBottom/index.ts | 1 + apps/web/src/components/DrawLeft/DrawLeft.tsx | 33 +++ apps/web/src/components/DrawLeft/index.ts | 1 + apps/web/src/components/Header/Header.css.ts | 19 +- apps/web/src/components/Header/Header.tsx | 30 ++- .../Orchestration/Orchestration.tsx | 27 ++ .../src/components/SearchBox/SearchBox.tsx | 2 +- apps/web/src/components/layout/Footer.tsx | 46 +++- apps/web/src/components/layout/Layout.css.ts | 22 +- apps/web/src/middleware.ts | 8 +- apps/web/src/styles/layout.ts | 2 + apps/web/src/styles/motion.ts | 76 ++++++ apps/web/tsconfig.json | 1 + packages/api/src/index.ts | 1 + packages/api/src/services/search/model.ts | 12 +- .../api/src/services/search/searchService.ts | 62 ++++- .../src/components/TypoLogo/TypoLogo.tsx | 44 +++- pnpm-lock.yaml | 22 ++ 86 files changed, 2346 insertions(+), 135 deletions(-) create mode 100644 apps/web/public/image/Excel.png create mode 100644 apps/web/public/image/File.png create mode 100644 apps/web/public/image/Folder.png create mode 100644 apps/web/public/image/Jira.png create mode 100644 apps/web/public/image/Notion.png create mode 100644 apps/web/public/image/Pen.png create mode 100644 apps/web/public/image/Star.png create mode 100644 apps/web/public/image/spredadSheet.png delete mode 100644 apps/web/src/app/(afterLogin)/page.tsx rename apps/web/src/app/(afterLogin)/workspace/{ => _components}/VocabularyItem.css.ts (100%) rename apps/web/src/app/(afterLogin)/workspace/{ => _components}/VocabularyItem.tsx (97%) create mode 100644 apps/web/src/app/(afterLogin)/workspace/layout.css.ts create mode 100644 apps/web/src/app/(afterLogin)/workspace/layout.tsx create mode 100644 apps/web/src/app/(landing)/_components/DetailBanner/DetailBanner.css.ts create mode 100644 apps/web/src/app/(landing)/_components/DetailBanner/DetailBanner.tsx create mode 100644 apps/web/src/app/(landing)/_components/DetailBanner/Icons/Icon.css.ts create mode 100644 apps/web/src/app/(landing)/_components/DetailBanner/Icons/Icon.tsx create mode 100644 apps/web/src/app/(landing)/_components/DetailBanner/Icons/index.tsx create mode 100644 apps/web/src/app/(landing)/_components/DetailBanner/_components/CardSection.tsx create mode 100644 apps/web/src/app/(landing)/_components/DetailBanner/_components/CardSectoin.css.ts create mode 100644 apps/web/src/app/(landing)/_components/DetailBanner/_components/DeviceScreen.css.ts create mode 100644 apps/web/src/app/(landing)/_components/DetailBanner/_components/DeviceScreen.tsx create mode 100644 apps/web/src/app/(landing)/_components/DetailBanner/_components/index.ts create mode 100644 apps/web/src/app/(landing)/_components/DetailBanner/index.ts create mode 100644 apps/web/src/app/(landing)/_components/Footer/Footer.css.ts create mode 100644 apps/web/src/app/(landing)/_components/Footer/Footer.tsx rename apps/web/src/app/{(afterLogin)/vocabulary/[id]/_component/term/TermHeader.tsx => (landing)/_components/Footer/index.ts} (100%) create mode 100644 apps/web/src/app/(landing)/_components/HeroBanner/HeroBanner.css.ts create mode 100644 apps/web/src/app/(landing)/_components/HeroBanner/HeroBanner.tsx create mode 100644 apps/web/src/app/(landing)/_components/HeroBanner/index.ts create mode 100644 apps/web/src/app/(landing)/_components/IconBox/Card.tsx create mode 100644 apps/web/src/app/(landing)/_components/IconBox/IconBox.css.ts create mode 100644 apps/web/src/app/(landing)/_components/IconBox/IconBox.tsx create mode 100644 apps/web/src/app/(landing)/_components/IconBox/assets/Excel.png create mode 100644 apps/web/src/app/(landing)/_components/IconBox/assets/File.png create mode 100644 apps/web/src/app/(landing)/_components/IconBox/assets/Folder.png create mode 100644 apps/web/src/app/(landing)/_components/IconBox/assets/Jira.png create mode 100644 apps/web/src/app/(landing)/_components/IconBox/assets/Notion.png create mode 100644 apps/web/src/app/(landing)/_components/IconBox/assets/Pen.png create mode 100644 apps/web/src/app/(landing)/_components/IconBox/assets/Star.png create mode 100644 apps/web/src/app/(landing)/_components/IconBox/assets/spredadSheet.png create mode 100644 apps/web/src/app/(landing)/_components/IconBox/index.ts create mode 100644 apps/web/src/app/(landing)/_components/IconSection/IconSection.css.ts create mode 100644 apps/web/src/app/(landing)/_components/IconSection/IconSection.tsx create mode 100644 apps/web/src/app/(landing)/_components/IconSection/index.ts create mode 100644 apps/web/src/app/(landing)/_components/IconSectionTitle/IconSectionTitle.css.ts create mode 100644 apps/web/src/app/(landing)/_components/IconSectionTitle/IconSectionTitle.tsx create mode 100644 apps/web/src/app/(landing)/_components/IconSectionTitle/index.ts create mode 100644 apps/web/src/app/(landing)/_components/RedirectBanner/RedirectBanner.css.ts create mode 100644 apps/web/src/app/(landing)/_components/RedirectBanner/RedirectBanner.tsx create mode 100644 apps/web/src/app/(landing)/_components/RedirectBanner/index.ts create mode 100644 apps/web/src/app/(landing)/layout.css.ts create mode 100644 apps/web/src/app/(landing)/layout.tsx create mode 100644 apps/web/src/app/(landing)/page.tsx create mode 100644 apps/web/src/components/AppearBottom/AppearBottom.tsx create mode 100644 apps/web/src/components/AppearBottom/index.ts create mode 100644 apps/web/src/components/DrawLeft/DrawLeft.tsx create mode 100644 apps/web/src/components/DrawLeft/index.ts create mode 100644 apps/web/src/components/Orchestration/Orchestration.tsx create mode 100644 apps/web/src/styles/motion.ts diff --git a/apps/web/.env.development b/apps/web/.env.development index 299e6d4..9921337 100644 --- a/apps/web/.env.development +++ b/apps/web/.env.development @@ -1,3 +1,2 @@ NEXT_PUBLIC_DOMAIN=http://localhost:3000 -NEXT_PUBLIC_API_URL=https://dev-api.vook.app -NEXT_PUBLIC_GOOGLE_LOGIN_URL=https://dev-api.vook.app/oauth2/authorization/google +NEXT_PUBLIC_API_URL=https://dev-api.vook.app \ No newline at end of file diff --git a/apps/web/.env.production b/apps/web/.env.production index 058991a..36d3d65 100644 --- a/apps/web/.env.production +++ b/apps/web/.env.production @@ -1,3 +1,3 @@ NEXT_PUBLIC_DOMAIN=https://vook.app NEXT_PUBLIC_API_URL=https://api.vook.app -NEXT_PUBLIC_GOOGLE_LOGIN_URL=https://api.vook.app/oauth2/authorization/google +NEXT_PUBLIC_GOOGLE_LOGIN_URL=https://api.vook.app/oauth2/authorization/google \ No newline at end of file diff --git a/apps/web/.env.staging b/apps/web/.env.staging index 65984a4..c4aceb8 100644 --- a/apps/web/.env.staging +++ b/apps/web/.env.staging @@ -1,3 +1,3 @@ NEXT_PUBLIC_DOMAIN=https://stag.vook.app NEXT_PUBLIC_API_URL=https://stag-api.vook.app -NEXT_PUBLIC_GOOGLE_LOGIN_URL=https://stag-api.vook.app/oauth2/authorization/google +NEXT_PUBLIC_GOOGLE_LOGIN_URL=https://stag-api.vook.app/oauth2/authorization/google \ No newline at end of file diff --git a/apps/web/package.json b/apps/web/package.json index 3952183..c7e1d84 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -22,6 +22,7 @@ "@vook-client/api": "*", "@vook-client/design-system": "*", "dayjs": "^1.11.11", + "framer-motion": "^11.3.2", "js-cookie": "^3.0.5", "next": "^14.1.1", "react": "^18.2.0", diff --git a/apps/web/public/image/Excel.png b/apps/web/public/image/Excel.png new file mode 100644 index 0000000000000000000000000000000000000000..d4053f1fee53e7edd54dd2bcc0a15dbccf158162 GIT binary patch literal 8522 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 EAH35x!vFvP literal 0 HcmV?d00001 diff --git a/apps/web/public/image/File.png b/apps/web/public/image/File.png new file mode 100644 index 0000000000000000000000000000000000000000..501526d26f84fa9a660329f4b0b02b741f35a7a6 GIT binary patch literal 6689 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 G(EkGD_D`n( literal 0 HcmV?d00001 diff --git a/apps/web/public/image/Jira.png b/apps/web/public/image/Jira.png new file mode 100644 index 0000000000000000000000000000000000000000..b89e19c963abfc162d363b5af7c9139cf72f6ff9 GIT binary patch literal 21137 zcmeEt^;29;u=e8a7Tkin1PJaiYMzAi{qX+=G5~9|e-Ltgb5n zfP(Yi3k68e{PbTFS2Y=NK-DD4$;St*wV09^08kr?@@fhP0I1Q*Ns4KBL0x1aWs+E? zz2|@`g{^2o9G`!}ipz@2vge6?#U;g)x_LUg{N^SU=ibjs7Kr8PzGR1M2#e>gTg}WE zc%y>@Hvr>iN{A1Om1h7mVuAfbQ9NFbb0pJWqx0(B`|R{I4Jl1gd&*7uz3cAewsd33%S8U6VAVb4EgW`Jd0t9R%_il$SWIIY^1 za5 zFq*ktIxt&mn+`GY7m&2cVJov9o7X)+?VR$X0Sz@$B3f=e7%?%XXaI@nX2d6tysAZu zjrKno%tz;aFoN&$KQo+&P}sl}rKbF@mNF@2n*XFwAJXCb`Hl4Z<=1x;$)Cwi<7$@^ z^RpqY1OR|MAk>CXPS!mFvJ{T=?-!;9U8UsQY1h>J$F>OK_)qb&5JG#>-uY)tIyID9 zXNt8M(GR7AsJKC#@rEtiK-?d^AI=5f!6QQ@#Z4mc9wsw)yQ$}y%5Μ{YhM^z`)h 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 O>RKB5>J4hPvHt^a*Fq5h literal 0 HcmV?d00001 diff --git a/apps/web/public/image/Notion.png b/apps/web/public/image/Notion.png new file mode 100644 index 0000000000000000000000000000000000000000..0b21a352505fe7872ce079b4ede53a7320d27999 GIT binary patch literal 18246 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

V3nBu+gJ!C6U&ZqN?LM#}8 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 literal 0 HcmV?d00001 diff --git a/apps/web/public/image/Pen.png b/apps/web/public/image/Pen.png new file mode 100644 index 0000000000000000000000000000000000000000..76ee0b5ef627841bc5eaf2b320c70525ccfa7144 GIT binary patch literal 11374 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 literal 0 HcmV?d00001 diff --git a/apps/web/public/image/Star.png b/apps/web/public/image/Star.png new file mode 100644 index 0000000000000000000000000000000000000000..3fc20ed3bcfb1b643141c3f47cc6afdf42126979 GIT binary patch literal 6894 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 SF$4de0?&m$3$D)(-Tyx+o}F_5 literal 0 HcmV?d00001 diff --git a/apps/web/public/image/spredadSheet.png b/apps/web/public/image/spredadSheet.png new file mode 100644 index 0000000000000000000000000000000000000000..7892894f01e790361bad418d08f63be45d4048fd GIT binary patch literal 24776 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 F{{cQ0vMT@p literal 0 HcmV?d00001 diff --git a/apps/web/src/app/(afterLogin)/layout.css.ts b/apps/web/src/app/(afterLogin)/layout.css.ts index 4595844..b7ffa44 100644 --- a/apps/web/src/app/(afterLogin)/layout.css.ts +++ b/apps/web/src/app/(afterLogin)/layout.css.ts @@ -7,12 +7,11 @@ export const mainArea = style({ minHeight: `calc(100vh - ${HEADER_HEIGHT}px)`, - padding: 40, - // paddingBottom: 400, - marginTop: HEADER_HEIGHT, marginLeft: SIDE_BAR_WIDTH, + padding: '40px', + display: 'flex', flexDirection: 'column', }) diff --git a/apps/web/src/app/(afterLogin)/layout.tsx b/apps/web/src/app/(afterLogin)/layout.tsx index b6475c1..ed7de26 100644 --- a/apps/web/src/app/(afterLogin)/layout.tsx +++ b/apps/web/src/app/(afterLogin)/layout.tsx @@ -9,6 +9,7 @@ import { Header } from '@/components/Header' import { UserProvider } from '@/store/user' import { getQueryClient } from '@/utils/react-query' import { SilentRefresh } from '@/components/SilentRefresh/SilentRefresh' +import { SearchBox, SearchHistoryProvider } from '@/components/SearchBox' import { mainArea } from './layout.css' @@ -43,7 +44,11 @@ const Layout = async ({ children }: PropsWithChildren) => {

-
+
+ + + +
{children} diff --git a/apps/web/src/app/(afterLogin)/page.tsx b/apps/web/src/app/(afterLogin)/page.tsx deleted file mode 100644 index 15d3b75..0000000 --- a/apps/web/src/app/(afterLogin)/page.tsx +++ /dev/null @@ -1,48 +0,0 @@ -'use client' - -import { Button, Text } from '@vook-client/design-system' -import { useVacabularyInfoQuery } from '@vook-client/api' - -import { useModal } from '@/hooks/useModal' -import { ModalTypes } from '@/hooks/useModal/useModal' -import { WarnBox } from '@/components/common/Common' - -import { workspaceContainer, workspaceHeader } from './layout.css' -import WorkspaceList from './workspace/page' - -const Home = () => { - const { toggleModal, setModal } = useModal() - const { data: response } = useVacabularyInfoQuery() - - if (response == null) { - return null - } - const isDisabled = response?.result.length >= 3 - return ( -
-
- - MY WORKSPACE - - -
- - {isDisabled && 용어집은 3개까지만 생성 가능합니다.} - - -
- ) -} - -export default Home diff --git a/apps/web/src/app/(afterLogin)/vocabulary/[id]/_component/term/Term.css.ts b/apps/web/src/app/(afterLogin)/vocabulary/[id]/_component/term/Term.css.ts index eb9d2ab..4a3b445 100644 --- a/apps/web/src/app/(afterLogin)/vocabulary/[id]/_component/term/Term.css.ts +++ b/apps/web/src/app/(afterLogin)/vocabulary/[id]/_component/term/Term.css.ts @@ -42,3 +42,16 @@ export const highlightHit = style({ export const highlight = style({ backgroundColor: vars.colors.yellow, }) + +export const dropboxItem = style({ + display: 'flex', + alignItems: 'center', + width: 174, + gap: 10, +}) + +export const headerIconContainer = style({ + display: 'flex', + alignItems: 'center', + gap: 2, +}) diff --git a/apps/web/src/app/(afterLogin)/vocabulary/[id]/_component/term/Term.tsx b/apps/web/src/app/(afterLogin)/vocabulary/[id]/_component/term/Term.tsx index d4d89e3..0a17732 100644 --- a/apps/web/src/app/(afterLogin)/vocabulary/[id]/_component/term/Term.tsx +++ b/apps/web/src/app/(afterLogin)/vocabulary/[id]/_component/term/Term.tsx @@ -8,26 +8,22 @@ import { termSort, useDeleteTermMutation, useGetTermQuery, + GetTermResponse, + TermSortValues, } from '@vook-client/api' import { useQueryClient } from '@tanstack/react-query' import { usePathname, useSearchParams } from 'next/navigation' import clsx from 'clsx' -import { - GetTermResponse, - TermSortValues, -} from 'node_modules/@vook-client/api/src/services/term/model' import { useToast } from '@/hooks/useToast' import { useVocabularyStore } from '@/store/term' import { useModal } from '@/hooks/useModal' import { ModalTypes } from '@/hooks/useModal/useModal' +import { LoadingComponent, NoneDataComponent } from '@/components/common' import { - LoadingComponent, - NoneDataComponent, -} from '../../../../../../components/common/Common' - -import { + dropboxItem, + headerIconContainer, highlight, highlightHit, termContainer, @@ -37,8 +33,6 @@ import { textContainer, } from './Term.css' -import { dropboxItem } from 'src/app/(afterLogin)/workspace/VocabularyItem.css' - const TextContainer = ({ length }: { length?: number }) => (
👀 용어목록 @@ -51,9 +45,11 @@ const TextContainer = ({ length }: { length?: number }) => ( const SortableListHeader = ({ handleSort, response, + sorts, }: { response: GetTermResponse handleSort: (sort: TermSort) => void + sorts: TermSortValues[] }) => { const { checkList, handleCheckList } = useVocabularyStore() @@ -74,14 +70,28 @@ const SortableListHeader = ({ kind="title" onClick={() => handleSort(termSort.Term)} > - 용어 +
+ 용어 + {sorts.includes(termSort.Term.Asc) && } + {sorts.includes(termSort.Term.Desc) && ( + + )} +
handleSort(termSort.Synonym)} > - 동의어 +
+ 동의어 + {sorts.includes(termSort.Synonym.Asc) && ( + + )} + {sorts.includes(termSort.Synonym.Desc) && ( + + )} +
handleSort(termSort.Meaning)} > - 뜻 +
+ 뜻 + {sorts.includes(termSort.Meaning.Asc) && ( + + )} + {sorts.includes(termSort.Meaning.Desc) && ( + + )} +
handleSort(termSort.CreatedAt)} > - 생성일자 +
+ 생성일자 + {sorts.includes(termSort.CreatedAt.Asc) && ( + + )} + {sorts.includes(termSort.CreatedAt.Desc) && ( + + )} +
@@ -293,7 +319,11 @@ export const Term = () => { {response?.result.length ? ( <> - + {response?.result.map((termData) => ( { + const cookieStore = cookies() + const isAuthorization = headers().get('X-AuthConfirm') + + if (isAuthorization !== 'confirmed') { + redirect('/login') + } + + const access = cookieStore.get('access')?.value || '' + const refresh = cookieStore.get('refresh')?.value || '' + + if (!access && !refresh) { + redirect('/login') + } + + const queryClient = getQueryClient() + queryClient.setQueryData(['access'], access) + queryClient.setQueryData(['refresh'], refresh) + + const user = await userService.userInfo(queryClient) + + if (user.result.status !== UserStatus.Registered) { + redirect('/signup') + } + + const dehydrateState = dehydrate(queryClient) + + return ( + {children} + ) +} + +export default Layout diff --git a/apps/web/src/app/(afterLogin)/workspace/page.tsx b/apps/web/src/app/(afterLogin)/workspace/page.tsx index 81ef666..e165233 100644 --- a/apps/web/src/app/(afterLogin)/workspace/page.tsx +++ b/apps/web/src/app/(afterLogin)/workspace/page.tsx @@ -3,6 +3,7 @@ import React, { useState } from 'react' import { useRouter } from 'next/navigation' import { useVacabularyInfoQuery } from '@vook-client/api' +import { Button, Text } from '@vook-client/design-system' import { useModal } from '@/hooks/useModal' import { ModalTypes } from '@/hooks/useModal/useModal' @@ -11,18 +12,25 @@ import { VocabularyDeleteModal, VocabularyEditModal, } from '@/modals/VocabularyModal/VocabularyModal' -import { LoadingComponent, NoneDataComponent } from '@/components/common/Common' +import { + LoadingComponent, + NoneDataComponent, + WarnBox, +} from '@/components/common/Common' import { workspaceInnerAlignRow } from '../layout.css' -import { VocabularyItem } from './VocabularyItem' +import { VocabularyItem } from './_components/VocabularyItem' +import { workspaceContainer, workspaceHeader } from './layout.css' export interface VocabularyModalDataType { uid: string defaultValue: string } -const WorkspaceList = () => { +const Home = () => { + const { toggleModal, setModal } = useModal() + const { data: response, isLoading } = useVacabularyInfoQuery() const { open, type } = useModal() @@ -41,9 +49,31 @@ const WorkspaceList = () => { name: vocabulary.name, createdAt: new Date(vocabulary.createdAt), })) - + if (response == null) { + return null + } + const isDisabled = response?.result.length >= 3 return ( - <> +
+
+ + MY WORKSPACE + + +
+ + {isDisabled && 용어집은 3개까지만 생성 가능합니다.} {vocabularyData.length > 0 ? (
{vocabularyData.map((vocabulary) => { @@ -74,8 +104,8 @@ const WorkspaceList = () => { defaultValue={modalData.defaultValue} /> )} - +
) } -export default WorkspaceList +export default Home diff --git a/apps/web/src/app/(beforeLogin)/auth/token/page.tsx b/apps/web/src/app/(beforeLogin)/auth/token/page.tsx index 973ff81..d693004 100644 --- a/apps/web/src/app/(beforeLogin)/auth/token/page.tsx +++ b/apps/web/src/app/(beforeLogin)/auth/token/page.tsx @@ -42,7 +42,7 @@ const AuthCallbackPage = ({ const isRegistered = userInfo.result.status === UserStatus.Registered if (isRegistered) { - router.push('/') + router.push('/workspace') const sendToken = () => { window.postMessage( diff --git a/apps/web/src/app/(beforeLogin)/terms/privacy/page.tsx b/apps/web/src/app/(beforeLogin)/terms/privacy/page.tsx index 5c4ab37..16514ee 100644 --- a/apps/web/src/app/(beforeLogin)/terms/privacy/page.tsx +++ b/apps/web/src/app/(beforeLogin)/terms/privacy/page.tsx @@ -296,7 +296,7 @@ const PrivacyTermPage = () => {
- 개인정보 관리책임자 • 성명 : 박재은 • 연락처 : pitapan1248@gmail.com + 개인정보 관리책임자 • 성명 : 박재은 • 연락처 : vook.help@gmail.com
diff --git a/apps/web/src/app/(landing)/_components/DetailBanner/DetailBanner.css.ts b/apps/web/src/app/(landing)/_components/DetailBanner/DetailBanner.css.ts new file mode 100644 index 0000000..7844c8c --- /dev/null +++ b/apps/web/src/app/(landing)/_components/DetailBanner/DetailBanner.css.ts @@ -0,0 +1,79 @@ +import { style } from '@vanilla-extract/css' +import { vars } from '@vook-client/design-system' + +export const detailBannerSection = style({ + display: 'flex', + flexDirection: 'column', + width: 1180, + gap: 22, + margin: 'auto', +}) + +export const extensionSection = style({ + position: 'relative', + display: 'flex', + flexDirection: 'column', + gap: 24, + padding: 60, + background: vars.colors['component-normal'], + width: '100%', + borderRadius: 30, + border: `1px solid ${vars.colors['semantic-line-normal']}`, + overflow: 'clip', +}) + +export const workspaceSection = style({ + position: 'relative', + display: 'flex', + flexDirection: 'column', + gap: 24, + padding: 60, + background: vars.colors['component-normal'], + width: '100%', + height: 680, + borderRadius: 30, + overflow: 'clip', +}) + +export const displaySection = style({ + width: '100%', + height: 680, + borderRadius: 30, + background: 'linear-gradient(0deg, #B4B4F3 0%, #5D5CE5 100%)', + outline: `1px solid ${vars.colors['semantic-line-normal']}`, + overflow: 'clip', +}) + +export const displayContainer = style({ + background: '#fff', + borderTop: `8px solid ${vars.colors['palette-gray-800']}`, + borderLeft: `8px solid ${vars.colors['palette-gray-800']}`, + borderTopLeftRadius: 30, + borderBottomLeftRadius: 3, + marginLeft: 100, + marginTop: 100, + height: 580, + paddingLeft: 40, + paddingTop: 40, + display: 'flex', + flexDirection: 'column', + gap: 30, +}) + +export const displayTermHeader = style({ + display: 'flex', + background: vars.colors['component-alternative'], + borderTopLeftRadius: 8, + borderBottomLeftRadius: 8, + marginTop: 20, +}) + +export const displayTermHeaderItem = style({ + padding: '16px 12px', +}) + +export const displayTermItem = style({ + display: 'flex', + padding: '8px 0 9px 0', + borderBottom: `1px solid ${vars.colors['semantic-line-alternative']}`, +}) diff --git a/apps/web/src/app/(landing)/_components/DetailBanner/DetailBanner.tsx b/apps/web/src/app/(landing)/_components/DetailBanner/DetailBanner.tsx new file mode 100644 index 0000000..8dbd365 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/DetailBanner/DetailBanner.tsx @@ -0,0 +1,134 @@ +import React from 'react' +import { Text } from '@vook-client/design-system' + +import { + detailBannerSection, + displayContainer, + displaySection, + displayTermHeader, + displayTermHeaderItem, + displayTermItem, + extensionSection, + workspaceSection, +} from './DetailBanner.css' +import { BannerIcons } from './Icons' +import { DeviceScreen } from './_components' +import CardSection from './_components/CardSection' + +const TableItem = ({ term, synom }: { term: string; synom: string }) => ( +
+
+ +
+
+ + {term} + +
+
+ + {synom} + +
+
+) + +export const DetailBanner = () => { + return ( +
+
+ + + Chrome Extension + + + 드래그 한 번으로 뜻 확인 + + +
+ + +
+ +
+
+ + + My Workspace + + + 주제별로 깔끔하게 관리 + + +
+
+
+
+ + 비개발자를 위한 용어집 + +
+
+
+ + 👀 용어 목록 + + + 12 + +
+
+
+ +
+
+ + 용어 + +
+
+ + 동의어 + +
+
+ + + + + +
+
+
+
+
+ ) +} diff --git a/apps/web/src/app/(landing)/_components/DetailBanner/Icons/Icon.css.ts b/apps/web/src/app/(landing)/_components/DetailBanner/Icons/Icon.css.ts new file mode 100644 index 0000000..86fa30f --- /dev/null +++ b/apps/web/src/app/(landing)/_components/DetailBanner/Icons/Icon.css.ts @@ -0,0 +1,19 @@ +import { style } from '@vanilla-extract/css' + +export const IconBox = style({ + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + width: 25, + height: 25, +}) + +export const LogoCircleBox = style({ + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + width: 20.89, + height: 20.89, + borderRadius: 21, + background: '#fff', +}) diff --git a/apps/web/src/app/(landing)/_components/DetailBanner/Icons/Icon.tsx b/apps/web/src/app/(landing)/_components/DetailBanner/Icons/Icon.tsx new file mode 100644 index 0000000..eac819f --- /dev/null +++ b/apps/web/src/app/(landing)/_components/DetailBanner/Icons/Icon.tsx @@ -0,0 +1,245 @@ +import { IconBox, LogoCircleBox } from './Icon.css' + +export const PointerIcon = () => ( +
+ + + +
+) + +export const WorkspaceIcon = () => ( +
+ + + + + + +
+) + +export const ChevronDown = () => ( +
+ + + +
+) + +export const Share = () => ( +
+ + + +
+) + +export const Star = () => ( +
+ + + +
+) + +export const Vook = () => ( +
+
+ + + + + +
+
+) + +export const Extension = () => ( +
+ + + +
+) + +export const Toggle = () => ( +
+ + + +
+) + +export const More = () => ( +
+ + + +
+) + +export const VookLogo = () => { + return ( + + + + + + ) +} + +export const CheckItem = () => ( + + + +) diff --git a/apps/web/src/app/(landing)/_components/DetailBanner/Icons/index.tsx b/apps/web/src/app/(landing)/_components/DetailBanner/Icons/index.tsx new file mode 100644 index 0000000..acd2498 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/DetailBanner/Icons/index.tsx @@ -0,0 +1,31 @@ +import { + PointerIcon, + ChevronDown, + WorkspaceIcon, + Share, + Star, + Vook, + Extension, + Toggle, + More, + VookLogo, + CheckItem, +} from './Icon' + +export const BannerIcons = { + PointerIcon, + ChevronDown, + WorkspaceIcon, + Share, + Star, + Vook, + Extension, + Toggle, + More, + VookLogo, + CheckItem, +} + +export type IconNames = keyof typeof BannerIcons + +export const iconNames = Object.keys(BannerIcons) as IconNames[] diff --git a/apps/web/src/app/(landing)/_components/DetailBanner/_components/CardSection.tsx b/apps/web/src/app/(landing)/_components/DetailBanner/_components/CardSection.tsx new file mode 100644 index 0000000..6c34453 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/DetailBanner/_components/CardSection.tsx @@ -0,0 +1,102 @@ +'use client' + +import React, { useEffect, useRef, useState } from 'react' +import { Icon, Text } from '@vook-client/design-system' + +import { AppearBottom } from '@/components/AppearBottom' + +import { + CardContainer, + CardContainerFooter, + CardContainerHeader, + IconContainer, +} from './CardSectoin.css' + +interface CardProps { + title?: string + date?: string +} + +export const Card = ({ + title = '비개발자를 위한 용어집', + date = '2024년 3월 17일 생성', +}: CardProps) => ( +
+
+ + {title} + +
+
+ + {date} + +
+ +
+
+
+) + +const CardSection = () => { + const [inView, setInView] = useState(false) + const ref = useRef(null) + + useEffect(() => { + const observer = new IntersectionObserver( + (entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + setInView(true) + } + }) + }, + { + threshold: 0.75, + }, + ) + + if (ref.current) { + observer.observe(ref.current) + } + + return () => { + if (ref.current) { + // eslint-disable-next-line react-hooks/exhaustive-deps + observer.unobserve(ref.current) + } + } + }, []) + + return ( +
+ {inView && ( + <> + + + + + + + + )} +
+ ) +} + +export default CardSection diff --git a/apps/web/src/app/(landing)/_components/DetailBanner/_components/CardSectoin.css.ts b/apps/web/src/app/(landing)/_components/DetailBanner/_components/CardSectoin.css.ts new file mode 100644 index 0000000..6ee398b --- /dev/null +++ b/apps/web/src/app/(landing)/_components/DetailBanner/_components/CardSectoin.css.ts @@ -0,0 +1,33 @@ +import { style, createVar } from '@vanilla-extract/css' + +export const accentVar = createVar() + +export const IconContainer = style({ + width: 32, + height: 32, + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + transform: 'translateY(-5px)', +}) + +export const CardContainer = style({ + width: 460, + display: 'flex', + flexDirection: 'column', + gap: 40, + boxShadow: '0px 4px 12px #EAEAEA', + borderRadius: 20, +}) + +export const CardContainerHeader = style({ + width: 460, + padding: 32, +}) + +export const CardContainerFooter = style({ + display: 'flex', + width: '100%', + justifyContent: 'space-between', + padding: '5px 32px 29px', +}) diff --git a/apps/web/src/app/(landing)/_components/DetailBanner/_components/DeviceScreen.css.ts b/apps/web/src/app/(landing)/_components/DetailBanner/_components/DeviceScreen.css.ts new file mode 100644 index 0000000..97c3f5d --- /dev/null +++ b/apps/web/src/app/(landing)/_components/DetailBanner/_components/DeviceScreen.css.ts @@ -0,0 +1,129 @@ +import { vars } from '@vook-client/design-system' +import { style } from '@vanilla-extract/css' + +export const deviceScreen = style({ + position: 'absolute', + left: 0, + bottom: 0, + width: 1080, + height: 500, + backgroundColor: '#fff', + borderRight: `8px solid ${vars.colors['palette-gray-800']}`, + borderTop: `8px solid ${vars.colors['palette-gray-800']}`, + borderTopRightRadius: '30px', + borderBottomRightRadius: '3px', +}) + +export const deviceScreenHeader = style({ + display: 'flex', + justifyContent: 'flex-end', + alignItems: 'center', + paddingRight: 20, + height: 50.55, + backgroundColor: '#000', + borderTopRightRadius: '22px', +}) + +export const deviceScreenURLHeader = style({ + position: 'absolute', + width: '100%', + display: 'flex', + gap: 15, + justifyContent: 'flex-end', + alignItems: 'center', + paddingRight: 20, + height: 50.54, + backgroundColor: '#35363A', + zIndex: 2, +}) + +export const deviceScreenURL = style({ + display: 'flex', + width: '100%', + borderRadius: 22, + gap: 12, + justifyContent: 'flex-end', + alignItems: 'center', + backgroundColor: '#202124', + height: 33.7, + paddingRight: 15, +}) + +export const deviceScreenText = style({ + position: 'absolute', + top: 82, + left: 60, + zIndex: 1, +}) + +export const vookLogoContainer = style({ + position: 'absolute', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + boxShadow: + '0px 4.77px 9.55px rgba(0, 0, 0, 0.08), 0px 0px 4.77px rgba(0, 0, 0, 0.08)', + top: 197, + left: 373, + width: 38, + height: 38, + borderRadius: 38.2, +}) + +export const chromeExtensionContainer = style({ + width: 635, + display: 'flex', + flexDirection: 'column', + gap: 19, + position: 'absolute', + right: 52, + bottom: 20.55, + padding: 19, + boxShadow: + '0px 4.77px 9.55px rgba(0, 0, 0, 0.08), 0px 0px 4.77px rgba(0, 0, 0, 0.08)', + borderRadius: 7.16, +}) + +export const chromeExtensionHeader = style({ + display: 'flex', + justifyContent: 'space-between', +}) + +export const chromeExtensionTableContainer = style({ + borderRadius: 4.77, + border: `1.19px solid ${vars.colors['semantic-line-alternative']}`, +}) + +export const chromeExtensionTableHeaderText = style({ + display: 'flex', + width: 143, + padding: '6px 14px', + alignItems: 'center', + backgroundColor: vars.colors['palette-primary-50'], +}) + +export const chromeExtensionTable = style({ + display: 'flex', + width: 143, + padding: '9.5px 14.32px', + alignItems: 'center', +}) + +export const chromeExtensionFooter = style({ + display: 'flex', + justifyContent: 'flex-end', + gap: 4, +}) + +export const drag = style({ + display: 'inline-block', + position: 'relative', +}) + +export const dragInner = style({ + position: 'absolute', + left: 0, + top: 0, + height: '100%', + backgroundColor: 'rgba(0, 119, 255, 0.22)', +}) diff --git a/apps/web/src/app/(landing)/_components/DetailBanner/_components/DeviceScreen.tsx b/apps/web/src/app/(landing)/_components/DetailBanner/_components/DeviceScreen.tsx new file mode 100644 index 0000000..f751fe5 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/DetailBanner/_components/DeviceScreen.tsx @@ -0,0 +1,185 @@ +'use client' + +import React, { PropsWithChildren, useEffect, useRef, useState } from 'react' +import { Icon, Text } from '@vook-client/design-system' +import { motion } from 'framer-motion' + +import { BannerIcons } from '../Icons/index' + +import { + chromeExtensionContainer, + chromeExtensionFooter, + chromeExtensionHeader, + chromeExtensionTable, + chromeExtensionTableContainer, + chromeExtensionTableHeaderText, + deviceScreen, + deviceScreenHeader, + deviceScreenText, + deviceScreenURL, + deviceScreenURLHeader, + drag, + dragInner, + vookLogoContainer, +} from './DeviceScreen.css' + +const DragAnimation = () => { + return ( + + ) +} + +const ExtensionAnimation = ({ children }: PropsWithChildren) => ( + + {children} + +) + +const LogoAnimation = ({ children }: PropsWithChildren) => ( + + {children} + +) + +export const DeviceScreen = () => { + const [inView, setInView] = useState(false) + const ref = useRef(null) + + useEffect(() => { + const observer = new IntersectionObserver( + (entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + setInView(true) + } + }) + }, + { + threshold: 0.9, + }, + ) + + if (ref.current) { + observer.observe(ref.current) + } + + return () => { + if (ref.current) { + // eslint-disable-next-line react-hooks/exhaustive-deps + observer.unobserve(ref.current) + } + } + }, []) + + return ( +
+
+ +
+ +
+
+ + +
+ + + + +
+ +
+ + 가상화 기술은 현대 IT 인프라에서 중요한 역할을 하고 있습니다. + {'\n'} + {'\n'} + 서버 자원을 효율적으로 사용하여 비용을 절감할 수 있으며{'\n'} + 많은 기업들이{' '} +
+ {inView && } + 가상화 솔루션을 도입하여 +
{' '} + 운영 효율성을 극대화하고 있습니다. +
+
+ + {inView && ( +
+ + + + + +
+ + +
+
+
+ + 용어 + + + 동의어 + + + 뜻 + +
+
+ + 가상화 + + + Virtualization + + + 하나의 컴퓨터를 여러 개의 가상 컴퓨터처럼{'\n'} + 사용할 수 있도록 하는 기술 + +
+
+ +
+ + Vook 바로가기 + + +
+
+
+ )} +
+ ) +} diff --git a/apps/web/src/app/(landing)/_components/DetailBanner/_components/index.ts b/apps/web/src/app/(landing)/_components/DetailBanner/_components/index.ts new file mode 100644 index 0000000..a85ede3 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/DetailBanner/_components/index.ts @@ -0,0 +1 @@ +export { DeviceScreen } from './DeviceScreen' diff --git a/apps/web/src/app/(landing)/_components/DetailBanner/index.ts b/apps/web/src/app/(landing)/_components/DetailBanner/index.ts new file mode 100644 index 0000000..cb9df38 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/DetailBanner/index.ts @@ -0,0 +1 @@ +export { DetailBanner } from './DetailBanner' diff --git a/apps/web/src/app/(landing)/_components/Footer/Footer.css.ts b/apps/web/src/app/(landing)/_components/Footer/Footer.css.ts new file mode 100644 index 0000000..e61c098 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/Footer/Footer.css.ts @@ -0,0 +1,21 @@ +import { style } from '@vanilla-extract/css' + +export const footerContainer = style({ + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + gap: 32, + padding: 60, +}) + +export const flexBoxBetween = style({ + display: 'flex', + width: 1180, + justifyContent: 'space-between', +}) + +export const flexBox = style({ + display: 'flex', + alignItems: 'center', +}) diff --git a/apps/web/src/app/(landing)/_components/Footer/Footer.tsx b/apps/web/src/app/(landing)/_components/Footer/Footer.tsx new file mode 100644 index 0000000..8619653 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/Footer/Footer.tsx @@ -0,0 +1,50 @@ +import React from 'react' +import { Icon, Text, TypoLogo } from '@vook-client/design-system' +import Link from 'next/link' + +import { flexBox, flexBoxBetween, footerContainer } from './Footer.css' + +const Footer = () => { + return ( +
+
+ + + +
+ + 서비스이용약관 + + + + 개인정보처리방침 + + +
+
+
+
+ + 부크(Vook) + + + | + + + 이메일 vook.help@gmail.com + +
+
+ + + + + + +
+
+
+ ) +} + +export default Footer diff --git a/apps/web/src/app/(afterLogin)/vocabulary/[id]/_component/term/TermHeader.tsx b/apps/web/src/app/(landing)/_components/Footer/index.ts similarity index 100% rename from apps/web/src/app/(afterLogin)/vocabulary/[id]/_component/term/TermHeader.tsx rename to apps/web/src/app/(landing)/_components/Footer/index.ts diff --git a/apps/web/src/app/(landing)/_components/HeroBanner/HeroBanner.css.ts b/apps/web/src/app/(landing)/_components/HeroBanner/HeroBanner.css.ts new file mode 100644 index 0000000..c000587 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/HeroBanner/HeroBanner.css.ts @@ -0,0 +1,60 @@ +import { keyframes, style } from '@vanilla-extract/css' + +export const heroBannerSection = style({ + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + marginBlock: 180, + marginBottom: 300, +}) + +export const heroTitle = style({ + display: 'flex', + marginBottom: 32, +}) + +export const subTitle = style({ + marginBottom: 60, +}) + +const draw = keyframes({ + '0%': { + transform: 'scaleX(0%)', + }, + '100%': { + transform: 'scaleX(100%)', + }, +}) + +export const highlightBox = style({ + position: 'relative', + width: 'fit-content', + height: 'fit-content', +}) + +export const yellowFont = style({ + color: '#FECA12', +}) + +export const yellowBlock = style({ + backgroundColor: '#FFF8D5', + width: 110, + animation: `${draw} 0.5s ease-in-out 1.5s forwards`, +}) + +export const blueBlock = style({ + backgroundColor: '#EFEFFC', + width: 154, + animation: `${draw} 0.5s ease-in-out 2s forwards`, +}) + +export const highlight = style({ + position: 'absolute', + left: -7, + height: 73, + borderRadius: 6, + zIndex: -1, + transformOrigin: 'left', + transform: 'scaleX(0%)', +}) diff --git a/apps/web/src/app/(landing)/_components/HeroBanner/HeroBanner.tsx b/apps/web/src/app/(landing)/_components/HeroBanner/HeroBanner.tsx new file mode 100644 index 0000000..c772856 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/HeroBanner/HeroBanner.tsx @@ -0,0 +1,74 @@ +import React from 'react' +import { Button, Text } from '@vook-client/design-system' +import clsx from 'clsx' +import Link from 'next/link' + +import { AppearBottom } from '@/components/AppearBottom' + +import { + blueBlock, + heroBannerSection, + heroTitle, + highlight, + highlightBox, + subTitle, + yellowBlock, + yellowFont, +} from './HeroBanner.css' + +export const HeroBanner = () => { + return ( +
+
+ + + IT 용어를 가장{' '} + + + +
+
+ + 쉽고{' '} + +
+ + +
+
+ + 빠르게{' '} + +
+ + + + 찾는 방법 + + +
+ +
+ + 용어집 관리부터 검색까지, 한 곳에서 해결하세요. + +
+
+ + + + + +
+ ) +} diff --git a/apps/web/src/app/(landing)/_components/HeroBanner/index.ts b/apps/web/src/app/(landing)/_components/HeroBanner/index.ts new file mode 100644 index 0000000..abf51bb --- /dev/null +++ b/apps/web/src/app/(landing)/_components/HeroBanner/index.ts @@ -0,0 +1 @@ +export { HeroBanner } from './HeroBanner' diff --git a/apps/web/src/app/(landing)/_components/IconBox/Card.tsx b/apps/web/src/app/(landing)/_components/IconBox/Card.tsx new file mode 100644 index 0000000..1c837bb --- /dev/null +++ b/apps/web/src/app/(landing)/_components/IconBox/Card.tsx @@ -0,0 +1,41 @@ +import React from 'react' +import { Icon, Text } from '@vook-client/design-system' + +import { + CardContainer, + CardContainerFooter, + CardContainerHeader, + IconContainer, +} from '../DetailBanner/_components/CardSectoin.css' + +interface CardProps { + title?: string + date?: string +} + +export const Card = ({ + title = '비개발자를 위한 용어집', + date = '2024년 3월 17일 생성', +}: CardProps) => { + return ( +
+
+ + {title} + +
+
+ + {date} + +
+ +
+
+
+ ) +} diff --git a/apps/web/src/app/(landing)/_components/IconBox/IconBox.css.ts b/apps/web/src/app/(landing)/_components/IconBox/IconBox.css.ts new file mode 100644 index 0000000..056e570 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/IconBox/IconBox.css.ts @@ -0,0 +1,33 @@ +import { style, createVar, keyframes } from '@vanilla-extract/css' + +export const accentVar = createVar() + +const bounce = keyframes({ + '0%': { + transform: 'translateY(-80px)', + }, + '25%': { + transform: 'translateY(0)', + }, + '50%': { + transform: 'translateY(-80px)', + }, + '75%': { + transform: 'translateY(0)', + }, + '100%': { + transform: 'translateY(-80px)', + }, +}) + +export const IconBoxContainer = style({ + width: 120, + height: 120, + borderRadius: 10.55, + boxShadow: '0px 0px 4px rgba(0, 0, 0, 0.08), 0px 4px 8px rgba(0, 0, 0, 0.08)', + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + backgroundColor: 'inherit', + animation: `${bounce} 3s forwards`, +}) diff --git a/apps/web/src/app/(landing)/_components/IconBox/IconBox.tsx b/apps/web/src/app/(landing)/_components/IconBox/IconBox.tsx new file mode 100644 index 0000000..bd1fb4a --- /dev/null +++ b/apps/web/src/app/(landing)/_components/IconBox/IconBox.tsx @@ -0,0 +1,169 @@ +'use client' + +import { motion } from 'framer-motion' +import React from 'react' +import Image from 'next/image' + +import Notion from './assets/Notion.png' +import Jira from './assets/Jira.png' +import Excel from './assets/Excel.png' +import FileIcon from './assets/File.png' +import Folder from './assets/Folder.png' +import Pen from './assets/Pen.png' +import SpredadSheet from './assets/spredadSheet.png' +import { IconBoxContainer } from './IconBox.css' + +interface IconBoxProps { + name: keyof typeof IconProps +} + +const IconProps = { + notion: { + width: 41, + left: null, + right: 400, + y: 0, + height: 41, + delay: Math.random(), + reverse: false, + color: '#F2F2F2', + rotate: -10.71, + }, + jira: { + width: 78, + left: 170, + right: null, + y: 200, + height: 41, + delay: Math.random(), + reverse: true, + color: '#E5F0FF', + rotate: -30, + }, + excel: { + width: 96, + left: 300, + right: null, + y: 0, + height: 50, + delay: Math.random(), + reverse: false, + color: '#C9EEDD', + rotate: -22.71, + }, + file: { + width: 43, + left: null, + right: 200, + height: 47, + delay: Math.random(), + reverse: true, + color: '#CDCCF7', + y: 400, + rotate: 18.1, + }, + folder: { + width: 55, + left: undefined, + right: 100, + height: 55, + delay: Math.random(), + reverse: false, + y: 200, + color: '#FFFBE8', + rotate: 10.72, + }, + pen: { + width: 50, + left: 300, + right: null, + height: 50, + delay: Math.random(), + reverse: true, + color: '#EFEFFC', + y: 400, + rotate: -16.1, + }, + spredadSheet: { + width: 101, + left: 0, + y: 0, + right: 160, + height: 40, + delay: Math.random(), + reverse: false, + color: '#EFF4F1', + rotate: -22.71, + }, +} + +export const IconBox = ({ name }: IconBoxProps) => { + const icon = IconProps[name] + + const style = { + left: icon?.left ? icon?.left : undefined, + right: icon?.right ? icon?.right : undefined, + } + + const iconImage = { + notion: Notion, + jira: Jira, + excel: Excel, + file: FileIcon, + folder: Folder, + pen: Pen, + spredadSheet: SpredadSheet, + } + + return ( + + +
+ {`Icon +
+
+
+ ) +} diff --git a/apps/web/src/app/(landing)/_components/IconBox/assets/Excel.png b/apps/web/src/app/(landing)/_components/IconBox/assets/Excel.png new file mode 100644 index 0000000000000000000000000000000000000000..d4053f1fee53e7edd54dd2bcc0a15dbccf158162 GIT binary patch literal 8522 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 EAH35x!vFvP literal 0 HcmV?d00001 diff --git a/apps/web/src/app/(landing)/_components/IconBox/assets/File.png b/apps/web/src/app/(landing)/_components/IconBox/assets/File.png new file mode 100644 index 0000000000000000000000000000000000000000..501526d26f84fa9a660329f4b0b02b741f35a7a6 GIT binary patch literal 6689 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 G(EkGD_D`n( literal 0 HcmV?d00001 diff --git a/apps/web/src/app/(landing)/_components/IconBox/assets/Jira.png b/apps/web/src/app/(landing)/_components/IconBox/assets/Jira.png new file mode 100644 index 0000000000000000000000000000000000000000..b89e19c963abfc162d363b5af7c9139cf72f6ff9 GIT binary patch literal 21137 zcmeEt^;29;u=e8a7Tkin1PJaiYMzAi{qX+=G5~9|e-Ltgb5n zfP(Yi3k68e{PbTFS2Y=NK-DD4$;St*wV09^08kr?@@fhP0I1Q*Ns4KBL0x1aWs+E? zz2|@`g{^2o9G`!}ipz@2vge6?#U;g)x_LUg{N^SU=ibjs7Kr8PzGR1M2#e>gTg}WE zc%y>@Hvr>iN{A1Om1h7mVuAfbQ9NFbb0pJWqx0(B`|R{I4Jl1gd&*7uz3cAewsd33%S8U6VAVb4EgW`Jd0t9R%_il$SWIIY^1 za5 zFq*ktIxt&mn+`GY7m&2cVJov9o7X)+?VR$X0Sz@$B3f=e7%?%XXaI@nX2d6tysAZu zjrKno%tz;aFoN&$KQo+&P}sl}rKbF@mNF@2n*XFwAJXCb`Hl4Z<=1x;$)Cwi<7$@^ z^RpqY1OR|MAk>CXPS!mFvJ{T=?-!;9U8UsQY1h>J$F>OK_)qb&5JG#>-uY)tIyID9 zXNt8M(GR7AsJKC#@rEtiK-?d^AI=5f!6QQ@#Z4mc9wsw)yQ$}y%5Μ{YhM^z`)h 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 O>RKB5>J4hPvHt^a*Fq5h literal 0 HcmV?d00001 diff --git a/apps/web/src/app/(landing)/_components/IconBox/assets/Notion.png b/apps/web/src/app/(landing)/_components/IconBox/assets/Notion.png new file mode 100644 index 0000000000000000000000000000000000000000..0b21a352505fe7872ce079b4ede53a7320d27999 GIT binary patch literal 18246 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

V3nBu+gJ!C6U&ZqN?LM#}8 z&^9Dj*D?mtG9_&79_s@bdmS7ZcuFmtq?pnG)TpiyaCM`o*)Q^Gff`w z0ev>BU zgkv>Df@UZ5AwW*nFq<~d|V4#NRP>i`}><~D#LPBQx z^3QSk&nx3FhJl%9NpJ}2zj9rgcA_AVS;c7kF&xi)^5n@s&^FM~r_BU!0^kB+W)C?T zrWE%E;7w<~wW@NRq|*Q|(AoFV_Cq*Dj8#DUIpjhjy=35)w{gMsFtq&u`yOP?bS>Az z*KKUnu_S_3kF}#Lz$V$pQ?NQtzXB|F(=#1~<0M6(nedS%v^^uJh^SC#o8+Tnm}?~IxxTSqCwi2dGggkoFxR;0D1d!3CIFF}AaD|1sp7f)rcc(z%7gY-;5MO+OMqD++tV-};0099&Nkig@?0kXvj2Tw zB%i14(#5~_Sz%|(4HK4-HUt!f+nt62)G9|pY+y1_lmetK71C>opd2o;wG#WAw9#6jai{i(Q^IvOIS%={Q=U3>X@R0d=5v>H^HV>u&0!IG&Wv5){PNd9M&g~^@!%f(Xfngknz83BdK}(H6b-;0L zvUAU|UKvR<5E04ky8|od-o5-N;SRiFnM{Msy-p#xP`Djs?;TpEXe_BAX(|Y#(iAPR zf8pNH&sX81PyJ@gRT0*`qS6C0x8DG-Yk>L=Vjnvt>tJ26p%pC1W^&4Z9w>({hCm8{ zd7Qrw3g)F(uU-*I^8bDW0NY&Ht|0Uum}>wcg2qYRRqTWe$$Wm0jw}Q!`o(xFvI@+G_oEVG z&gIkxXdcQWvVdscKR}?8#1L0zPW6gO`NF4z)Fc<|HWiS+zVPpxKZza4!NDP5{psNz zR0DO6Ea1C3D*~3F|6w(OBCUDgHF-~;)<@phTqHv~z8fZx8=F8qCi$hvuep|%$Q$Eb zk_9il`UkqfyYM(M3kPY*6DGwDe9*J8q7m%cdsQO1L>3kn@MMhI>;rE$R7uK!y83XA_Pr=C44R52prA#NoKP8bfU$Ta z`N}EeUu{ZGKw3^t&K!|diUi1@kK42E@{VjnP}B2b0TDOnUHw2H+5S37&W4kg=07l* zhJo#YLHpvxbz?-nX9tICyJ~8F*2bZD&|e=dO?IiGG9%ZqPmfB8sITwEN$ae!U^FC9 z27?IyMMFn!D>~Wn50RBX+9X6k;5ve#<0=jvoEj=Glt5*n#f53-!&nsQfop=NTm{Dt zB;o)8Kps&-M$wmEs}M~@n89_{YPwN#wC4)JQuhakGPjw>iA82pDvid8{0 zll@3Xh zM%dnJ;FeC}9{dEeRA5*Eh&%Fd*~1WMs_|AS_q8jpjuo_s##_J=$Dwq%j?Kzt&;q+y zka*&XslWf07Yy!F$xUOQ$_`RE-A1@-(&>xnrW%37UKDVKvVF&vW_#5UNj!fx@Ekf7r}# zg$?=0TI0n6HkK?~^#@w;DUFzldg#(75Wm0`9mUUi|BSVL0~-qPl;pM-=&kH*nYA78 zx2trdBmGrAg&2G0`?1Hte6Yw~Z>n(sYX##aomjk8^!3@`o%yrD`=JEWb{+)1#WJD~ zfHZ6hDDYi&fFfu#UNY$XEKb5v9cB?DwTeQzvHlmL8Nd1qm}xV&RtY@C{qEymfC`px z7P8Ghfd+E8(yImX`!S5u4i~LZ!x)8Z)6(crF5gDqz;-TvN?Sd238}C$0p+!2yqUv% zkYHuh$5Af97Klhbjp!?meP_f|#0h8gI-n9)7k9-eH#T2$alUE*R%OXLB~jZb1bNyw z2pU1(LN?@WJl`CyFd!)zy}67z?`F(%%w$9v@HctI#q|RJE*r(3wtqSVHr~sbh9Y6%;m@GR z61Q8boSOiK2*X^m@N}>r$L&)L+&cX1f)@k$TK1A@fI1Ka8^m3SLyvd9wB7-hI%Ee# zSfV)|clSVX9V++riGn>Kn)5oC4<%vt|D018 zg2mwtp0J`~aHW3h&MM}kt?aRB0xKXrvt8S9obHM0rB2DkBV8Wg6kUX}TleZfTUg2G?%&&BpDVd{QJDII zSBpp~-5-wq`;R9FZoGq?Czmk*qr@XKK~Re2_`NP-Qnb%Lqga(7t#M!}T{HHYM-^81 z$?{;J5e9*^I>ibgWDM8~P37@@sv%0>OCBrmuSI}E;u9W6f6?#z6txUwr2HOh;`Zz^ z=xwL|TB>1UtbJG7MV`|#;<;VEb@9mgul-zK{#Yxld0B!qRdx~dlh=!FyGu%4PYkd1 z0t2J`ZP67Jv63iiyL>*UBSfWdo%=j|A z<*JyyVF^6>af_-l%JeR941pJ;KG}}K4IJssp|VRrPkd;n*1omr-wQCkqzF2DD*J-q zEpTpq7zki&hft|9^Zs@>fu!&)0;|82%K7uIIW*~2;HAf}o`M%0E3S$$U#_`WIki2Vs(gp$n(D^R zGAx}YAak zZvRksbRiw;`2x0Z2R=XFnBeU}tf{|TBK+vetra;1)gmx2uL6_3l)*#!3#B#0ExodA z`BXeW%`5R$*Q~9nlTw2%b!dO>Ig{wHx>8YL@$2;UM&_wbA+0waICUYt&~6~dF#Sz&wM+d2cIuIs$Ve-#;s}sq({z$W=W2Iq zJXG&;IeDZ5g)pqjhuH>Sr0Tyj%#K5|Kcfibt*6)HvdUW^6=cQGT%gCZl&-RCLr1n8 z0!rJ2sbdwydY)(&5UDJE=P)VG-un=E_D?cNl@wtE=4=sy3UgyvM1L}6Y zxtHzKW==y+Y0f2pW>b#tCYH6LXU+_mw5LYgbF(WRN!8$R9CybYg{Lw>n9m$cEve~A z-ea!N5i|uPj>+;@2SB^=Hx9p zyb^iQI9ILu^e^yblqE}akzZ9Nc!U<_q_b|}$X@;f!oE6-E* z^%IQH1@++JYAup3Bf{HlB}7sMSe%@}GShz?VEY$Py^e3U^$^LxlstpYZ~@k!*==o# z@guTfAjp^tUM1S-xy6C60AZD}hnnA8xJzWaZG}iO0W!>6lo5!^bC)ka_3$XKbvutw zIpaC)O^ZFSoD)>4z)_kjGWv8;M+0cnOtF$qaRht=FM6PH2XtdFTAW#j z&We{=8Xi}1du^-|LwR5vDeJ$#=jc`qE;4+K1$hj6^xm>(238vyE&x4FTfrl(Q@FVZa}4DvExic$Er`iRe5y45`Jj=4S?fw@CP=7dc?;p zqkt1D04~?x4UoI&0xMuCume7XuK$AOPzQ}$&p=ShpHKq1;`Ce4C#CL%hHhS%N`s9> z;1B>!!VhDmV=##Fx$~CN%u2h?{k1UAmxS%X2So+T-mhu0QX0TLKOz;T=O!PR_L?0! z4)`Ss%WNE*Sr*kMU^FJ|j7k0XF3Nz#Ewu#KSZ#eBw&w;h-*=}u4HEeQ%-9a?W|FTz zw!H@^%CBGbr+kL1b6uA6Yv7N?tw-xg32aRBnNWZw5(l3>efm4rBk|04-MDf*>6x8J zcHNab?rkYE^xsYT>>_(2DixwP^8>jIHWcsv^UoXb7KL$xKxF!%U19U)-Suzu?6egC zq;3ENz@w3ruAe#d0|o{Y{t4o`l_CDKC^z|_nwEPN-?3wAwYe3R?K7ihwVLQT@l~m? zalyEgfW_n$!2Cj{Jwe{+*nRC-N7SQ~Q24Y>NNplPy?y;ffa(hSfdg>?TWhx>ZuYHC z(RIPXWa^XTn@HeB8Z?H z{aa^M9^5hW8us{)^k2PAJy(_X0o*`86CxG|ir~bmRB)9JN;wZ*F_7co*&B<2qD(jH$};*cX;W$u|x}qjv$}wdk1r4 zkQw9~=mj2Iz>53uow-6%+UL)8pS7zETPLWfo6AQM{kq~ZGdvT=+8pK06jkO`Qcl*= zDu#y=0EzL4M-`AYQ_c8yUjiG)I>;-$pp+uZtJMeR53!bVoxJ7v##>40Gujf_ggqIx z_5e>D!F($eMr9}4f^jt#{tFjy4_>7#4sUD&$FnFu+UhGs@qz};XQhQ5YA^gj0>8c7ZNz|YiEZ<8{E_G#Zk$h2a-|Q{m=7P%;Y+&B zpto0qjAd?ni*9E3TEA_wu~W!5nF0OOlr*7@J_)B;`hg{JS_)CZ;p^H}Ff}{XpTpZT zk?pYz72lK<2$Z;`(=Eg(=NnNxON9O0FD!N+mNsu&b~Ym0R39Yi#fDrD_SRLBiud}R zs*H7fdyc9!K9U+aR#(Smzh}lH%ZrLU=?oiyT3`>&BNw>*cFBJ6)W9jIO*Us1I(eMf zhoGUs_?b7_hen42&0Z|eR&jN;bD}>$e8g1vt;K_*>hy9YLZh$ed`ePkzI7|fw z?sgqDhZ^WV9y4mqF(*#I-ho1Gmhn`vso`~bPsTPcD$*t-6{jtjyE#^G!)w>BsX?z{ z*cdctx{`S{nhxu=6A!VoN0|e0HVr$yr|;jtKh46YF8zD1&Pr@w@F~qN(ZjHvq`~~! z#1$|dyDb0u_3O^}JZ?5@1K}FB75xgo1%+F-amWfb-^RB>4h=H;1SRJDzqzt17kaAK zAFuWwfy2eNtX~xGq<-i7jK&MVBJ>SX)RqdAw^tn<9n%oHyV*`0#;v7K18&^-3Ef{J zc!XjA!MgkbwWMJe>BJ+jR_|bYx+Ub~hJ0GVmh)H-Mh;2Hqr%dP3BY@2&@R<%?vwj= z(R?sIDk%8dYG?azJ4c@e>@-$j3H>Yf?@#t0J#ysxT9lDRzluMJk0f3OPBv$-Pyam! zYUk_5#zt${;qb*^aiZN)I8UJZbmMjVhL2Zc`LJi0mVsIH90d!9`=(n6aM|u%D-U5p zPGJ+$=cu1+5%3M{rluDuoX{->XmPIG`2;h$%kLo=ZaH1LGrF1ci7P1K?o>`?jth_% zI(V@5*@v$~TTwL#b>2iHTG&UMq6vYk(Q)+P_q@-~uvam12sXX%hZ*x<1@`c!@H`Vx zU~_h-Dui$KF&)K5CZ`BOQb9W4VVzxv&OG-B406XH*q+e8x~H)D_liufL#S+V03F9$ad+O(*uRli%aJAd8)sb&{WA>!~czjmPbUqE--Tq z$3k+0ow4aXFrz!$zrMV#Cm@PAzg0MK#F+m+HxrR4W0UqX;>E;nkbI}bbHB)H=9j#N zth%57e)7XdkF+Ad8p#Q+ak9U*y1To3!Fpfx$B!S+vA{1k7)pU@rh;wKTVO?U{#4_PuzAH2!!wD+YHHnMImIrlZ@OB) z`os|%Rm~koVS{1Cm|U?~cPX+B=J|mWF)i`8f`-Dnu%Is-zgC&hT}m9Um<{;)@GEEc z>Iyx(V8ZF(&3}kJs#^03Hx))RYFhiO@$1@!D*C0HMdYw-oh zoj$#E-?+W!kR7e&{D>D={>@?Uo}X4no3Lrgw7ui#PsbG-8yo&ub^l)Rb~(2zn8BEG z6+A>iZjkkcL1G*?*;Kfm))w(1wUA0C(?vWW>1xL8Gx*n{C)6+TI=}R-Qf^sNA)H5T zBV+Zu;6{tDjqTzY>YZ;HHCppM;-ji=hNGcO+#^1)m9QE};8^}EwsFUox-wkEyPX*` zT*zK(sOk-b8&fW9Fn$LV=)8QW$aqeT$KOH1oPKr<6Q^|E1*$XMQj}Uc6$|%;dJZoO zKw1ZZX-cJ*rY-kMnlg4?T)JAAlb9vj-nvm*yl5ts6Wc61>_2;$wd|QzUhgBv%GP$u zEbvpyZxG!TUS!b&X6ra?GmIZ>d9vfDQ#(*qJQcTpz+>jEr+Js>+lu2N^76yKD{PW< zdZXW&z)M(s4NtB2ZVt$>r9d3XO$kq-0w`YxD1N;I+s}SdFD!~pTHT_%R68dAMs6cv>Kd}lENlVb?w0%RlHVIK!^UQ z0JMIOqeM(4TM0Az)pLV{dHJ6++Bpo=XcaTR!tZ3^hc)$T5$cc03!e2Luzg^^hK0@Y zRGrMA{s>HTHmpN?aIBtTPr8}bwwjunI-{7cXd^&pB%q^8Wy(3Y?h$ literal 0 HcmV?d00001 diff --git a/apps/web/src/app/(landing)/_components/IconBox/assets/Pen.png b/apps/web/src/app/(landing)/_components/IconBox/assets/Pen.png new file mode 100644 index 0000000000000000000000000000000000000000..76ee0b5ef627841bc5eaf2b320c70525ccfa7144 GIT binary patch literal 11374 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 literal 0 HcmV?d00001 diff --git a/apps/web/src/app/(landing)/_components/IconBox/assets/Star.png b/apps/web/src/app/(landing)/_components/IconBox/assets/Star.png new file mode 100644 index 0000000000000000000000000000000000000000..3fc20ed3bcfb1b643141c3f47cc6afdf42126979 GIT binary patch literal 6894 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 SF$4de0?&m$3$D)(-Tyx+o}F_5 literal 0 HcmV?d00001 diff --git a/apps/web/src/app/(landing)/_components/IconBox/assets/spredadSheet.png b/apps/web/src/app/(landing)/_components/IconBox/assets/spredadSheet.png new file mode 100644 index 0000000000000000000000000000000000000000..7892894f01e790361bad418d08f63be45d4048fd GIT binary patch literal 24776 zcmeEt^LJg{_jPQuu^QX9ZM(5;+iGkZjg97}LDQhIbA!gX@l6`sZ=cT}@&5FVaeVgK zdyIAVI&01~*GbS&lSfA(MuCEYLRVCf(Sm}4`F994i-hoRJC`xl_iu;nu3+c|1%-s*+GpZE2`)mheze7N&|ak~;p-SH;NTc;ka+6?Z+cSQlGa4dW{CBs;eh8*4 zi!|gH>u~a65PGu+r(g6wZh?Ttk3*^4VgKC$VF;%eV1~Uqs|k(+ZHz;Orc()81MA~O zUHof@@^#)@jAp2*V&_4;T6S;Z2QxhjH65CVPN2SzT#w{@0wk0x(D(MTSgRH1`+rZP z@8hz{w+z_SyG_Ci*M|H7^0!sgv@bb*AViOJWFn?TY9`R-)R_&LrhVKL7Cm**pazO~}Lbrb79Z9J= zIWdP8_C-_w4T^~0Z%^bo-pDL7zFJPmZ2F2l1FDiB<$!Kf0BkjXc)k%G^s>n#t2!FV zafDd-fHfeH2a=n+M11B(__6;wQ0$xw{#KRT_$+B*rq7u2Cb#|Dt7E{-Ea*egi+-kP zQ@a&E{6ABF6>w(-Zy{$Z!G`zdDm~xz|M_6Kh&;?87$u|p-waT6pJIkWm+}c^fHvjo zH^UJD%V@y_BLB}rR4^3bB{o;f*5A8vO+ zsQ(S~Li}Hw>kKH>Ti_rDa$;6^(Ka&|yTIe9F(y0hchTJl=LrBuk=UnWCp9NI7!d~d zSBNeu!rK_{M+=c)?vz{c)7BP1wr7{3q(hsufCjB3uMTOocO;dJd+%I8)fq|b%F(ysH`wKWDu6eKyOdg}js9z_b&%~+*jQBkB zsT|zV)dc9+Hl@sOZ*&& zSU9&K8SnGDBb|50efx;RIB|Lr^tr6YHA62?TOrn}!L9T3bBjDK3{NMLRHsR_+Dp8p z9MP$fqBs7I*Q35b3-#615BI?(2rw*iX521)t%3Ou3l z?N^13`!4n&pCzg?xV*0Rh4FF09dDmNRn<2x)1~30Tp<*Xuc?0AJAw?~Gl%17wi$QJ zJ~ITF^N^>>-@G37CXP^M2Mgh$G|QJ$;Lcd08zv_vCL&mRvF3P#IU8PROa~*5rejbE zuL+x=IA$zosZL<(=-=ScRpM#MdstxmUrokD(xS^)DHJ6NDs;x&9C6cg^Fus-_QV1C zyXj5{ccMl^up(mxdec7-PNq>%C@3orV7a+#v(U{&-ONcn*H7CLY)?DjF=jq;Zn_PP z@SuhTnL{-~t=d(r`o%8)>9WDcPa`BG6xTI0?AsrHy>2{W%*Hggc%hQ~M#a9oltU(a zcM+c{zOB>|v?Vt25-I2`P{jfjYxv548U9&cebIZQzjuwX-8`4(A_d*T#`+>~RufL; zNMb!PA~`!N`;D>NX00iCzEMonAPb5qT`q;V`Vj;SqYT}R1f1Bd=h_kKEV5qipo9TavAZeTpLTm`7 zaU>S1Pu z0T-7ABf%SdYhG9Q*B7L1?aQ&WX}1moTqQtz!%aYr)+uhSTKh_^XQuhI z_Fj5fwCl4Kp$}76Hf%GI{LrGS3zWAMg|`$Xf1M#NG@h!(xttSh_NT*_q1AvQmyhT< zP3GovBjkDJr38W0eG&p=aC`R@&=CU)SrC560f0X-|PF+GZ`jGI-hh)cZxh>Cy(9pw#m0VMYN! z0j~{VVFXRiC*2tLfY^wnND-rI3PsyYMHiOH=k{0#Mim5 z=R4>=*?gT}lEwOEBdLno5_nRqC;+Bm%fm1qb_IlO_j*7hfxK>Zxyv~)X^2!%+J(*g zJQz2#2MmT>wSO;d< z$-U`>uC6Y5)gpmg{q>&8zJPHD_tQ|ZF>gM^A((WmCnX+%y|fOXC`URuQoKJ>es_D0 zD|JDVhy-l;#>W(k^KQx&DtyIyT(VgvfKn6o-^4Hg8 ze~nZ}iqL0Et=LaO-gSeoOwLDXRAk@$=S%0({PvW~Wx zFf7}j9)HsC(1QsZdrA{6-sPKeW4XAE7yZPsq3=;pX$;;8Ykqf~8J?-v)%Bx-N#ru= zEW_XckkAoe82IvM$FCojd8he8!)yRxcS~`?qw^b29JF8mq)@FzVem`om~Qt(JV~K5 z^QS=vF3ewwQ-sS1l!#8Vm3i8S+syBy7FSalG;RjN!2y{y@;%?}_QP&8%*;Z4OT|JE zB+HdA8=IPv0j#gnMS@<#LfcK{h|Ms+S@zj4TO!gmiRbR;knD|M-o&tfwX;BTIU2aa zT|ggLe8>LCQ21k%_i=wKe0nwjYQj$qgVsN~3X&q47sJ8OPvUF0U!ZPB8}u|@aM7<; z*{zS3={%6+S7c;laxa1S?zb1WsH4lc_1yg4KHVC7ETYQ4Pgk!j-4ui~RLF3UY6DfA zClNtwbSb0y@I^n?=`+F~mU>h|3?wCWKkUPv+{(2IAla;MHYod`2}Bn)Tez70wYsjN zKEB|BdNhHHep!QYNqR}vD9w9uB4ihsUHY|<8JChDf!aPIp)aD~nSch-=#j$LlkE{2 zZf-B06e#`u`<*V1!B!oPI8pOlBZjVL5YB}s^mGDhaR^(7@CsK>cH^CLI~P~zh{b3m zyYs&K=ftvr`(s&x8N=3Yp60BXxA9&+%X9u921BrvX62#BzJ#{rodHE&6x|x|dKCmXUn~8t2cuWU(EBnPfGJnt^{slpI(v$FgrO);J4g+vi{be*ipaMEEAqlR0_d9Ce{G|U>GB+8@!M@uO9kKXH< zsmN+4$e7>=C3KtP5n1vZ$1Ty3&U1Jra`gsYFk=7w{gHsX6dVeizabVieUIF+h2(ub zZ<|S;k^cwgS!1W80002#`PsovT8Q}{>*GNxBS|?qIXIE{*`+GF(xs}W$rKX);jUo8 zw4#8iLo^I9?_QY(R9#!?KF$X^a_EH#I2dX*pui#0sj0B6@hJ9%lmX@sMqL65t8M-V zZ5EU)4PxS))6u>%n2f&SV9QsZMw3uxtBB#~HC9~UowBGbUJ%XQPnO31&&=2?lZ161@ulrJc9a8Z6c8(!d?*(u)Df82I_Rp~m6n6=HsIivE z0eC+vqRJM#@BrJz5aJ6~i(UleuPsgw;p#u$V|jI5Q#RhDSV_hw%ijMBIdmA(m%ErBF0bG?uEoU%Cd2v{$MkQQMGFiny1>s`u=sk z1uO90V0qo#`aFvv%0O$hEWB-Jz6wkh^vn6Pz^NLd6-ldI?OuH;6BM3{HvYB*T-9fH_!n`q%-TwzPnm$!+DirOib=ypZ5ooQjh_D z3V8+{tQd}DyHpNpy|13G?ogW7E}j@r*>H3(mLS>hH??bN;4Ah=Z&)whUs+wh%UJs!P*0HulQ)5~oXVk&(HPR6yohbU_#6p!qZ`J*BOT(lD7R5Tr(Z znz_|U!Hh?tL!u@hUNeRv?)7{rvLce#13&D`$O8maF6d?ND+H~tMS;|t8QrLg`KVum z-2PqwiQ4F}b8|WEyD}X3IX^!i0||;&Ut-g|ecp%{W9VsbY|0XY%^+TWH08()3kUVj zrQd-BiHJZO9}gHbA|d?+B34QXbv%e;cNlNn_Ww}GMiK$*`SNIs(dJY#9^hI!u4Ymu zfcSk5FE)e5vjN+0Hb1IN_4jvy<#?_6U&`{xXUy#Eg!zVsa~hHEvhyySMuA$4dpySz@vkb7k{MYp^J|vXDVtmY9jR%P zhpDwwBqh;^KX>~uDgMmI)`(^m=RAdy;NyB}6)c`Fe)Qj^EoS#)e-lCa=C&?99*8fk zgo=|0CA-iOKM*8U{=4ufJ9`b$JA^89i4;Q*Vnc=gT*Lf@)9P-!uOqC`pJ?7W+>E={ z@x?j(?rF;n1P$K6cL;^B+kYo@GZ6y&h3F@Mj8bmIh?Y77?9fS`Zl^RW(Ka{%Dr(`2 z^||t9;c-^}i3_~+V+~yL-h(IeZ>t#!*2vvqY?mMzk4Vr9tsXG0qI)itf-~^JK8%CD zmK|mNei1g}{#F%%a`>+jag0Ho=MNy==U6|@@9%_@dh7YgEzI!TmRmc2{}g4fO@wO+Jl{nKvBM_ z=}sjdIi$vXsm@MTT%?0=HNc<&8*vNEJO~?;0BXIO*k{$Ye6b<9_Av94QND<`Ugj&#lGpFD?M?&dPfP_gZ;Si_ zKyNxj!@FK%-o* zk6^;?vpYPm_*|@pAc6#c(sz2@ibmCq(g~Rqgo%LMP>sAi32+<@AOd9$gqRd!Z@1d> zf|Z-oz;fwgyHOS@n%J39aj>KCge_Wp40~GNu;) zg`8@yleu@T&dAs60rpmxt!~h3Oc-e>hBR80A!~Y*AZ3=_v|X)6WO#L%nG&G8qUn+i z2}rrj=rtm|Ei~;|Jx-!3y-Vd_41-*Md3otYHA{bpaI!~!hL<}B_L}ozBuaQkVm9Op zZ6KKlXk2Y6e$)&7u=+9zLkz4Kf^R#gma*yM(4#Vnt5tB4eTj(yIRgh@vgbT+t2Fv? zCTEEK0$%pKO-G140vM+wD;=GjqH4NTl*(0-k%Ztj@5g&T!@wV~8bpv!^vz2d{639o zo+iQ4Fai#Tq%}0P3<{doH=b@FnS76D)K(Lq6^J1@TEaq!tLb#=G`Rc)y>Oa@o0RzR z{B*wJR9-bHdoe=8Nco|lY8|bo%gg5a$xiZcstZwpI}=Nn_!6`pw@A_p=Ws(J%=zaevbbIL`6VSE`b{0h&pjs-*H_pd4@Fo{vyvhpUUu)09+o%BV9^*) zSGlNpn(Cm<&XNWH2V$A+>~${@$D%V%qQ@-|mF^BH-q5X@v<4?pLhWTtMQgje=YG_{ z5|??{58~?~(|h@?e&~k3A@{{$pL^?%L|H%onF(87S2u_P8*Ht*9bI~{@(@6+Odl@m z#u04B(RhGGTYsDm;w5>dMeCcd`my(hIq30|FCZ%rI}y(dt(Jr?U&PTqNeMn{bdqgE zC}+M6)-iNC&K7Llh^6hDj-u(^4CIqJh^&Rl{P9!ppdv-RjQRE3I_i zuWy2u{~8!og){TyCe(xJXg?CMc1}M{oZ3AOJ5#sH>-|;3EE4Nu?GRAii_B}SO6dE* z^FX#Uj|(W#kgxw(QioAxH{s|pWaFD%Nc&wGo`^q2Ub-wS8y$gc24+In7 z@Ay{P!_!PA|CAx!4*!RF#&tQ#WsbDza>DOLj5Qp5g{r$;nM2;&w$WJk>-TBoX6T$s z?a7E+t_bTJ3K$RX)Ok3FkY$A3PM^3l4m2Q04r(?Z5j*lyDF0O|a9g-w|Ddk*Gk={I zW^Iu>^4kA#7?)85$ygn!o#J~=Pm{6D(KfO+{R7@r5u33CG^M3l{${6w(LmPC^0ZCG zL~#q^j}1|Tq!|e#?k+<6JUNw#tF*GMKomx(PBOQM%;Ab|t-;%sKuugXqrO_V@U(_jW6(RDHw?TNY8mb{v>U zHYSh8vbdo0fk#BUMDvWe73DcydMmM2fg(Gw5?dBRpN!Nf_ph{3tu&suI1taSTwqS1{Lpb&`8 zzWWGa>Vm*y-!!jLzN76}wGIe~_U9|Da&T$bzr4TutcuB&sy`mX{7{xt>4Vr>XdD^? zR1d<^5;qkTirs8MmwG3SwIT_(?M&F777eY1PNIAI0VmnYW#ej-;r*ZJii$ArpHt5w z+o5z6oTzjs}6Feon@>jlbAFh_=n^X_3=wAq<1J8;7q|H_o+h?MFZ!+CFez6W4+$o;_ zr+z)!#MjfCFy1Y8SSQ(TH9Fm&1eV!L`s#eKTM@ghTsvtj&aNhFS>Q)hs+Ek3-Y3W7ljwuErHaL9oVMV!i@t@ea+7Y;k zKqQY>$>%y+>lHV2iWLG~P>1IVz+W8Rwz(x|<&K00|MmMbj;SVilqJfMMl#o!=nHt< zsTciWv;K%`S&RJIyOcxic!IeJ>T%jtTwF*sS0d4O6axxtq!RMT3)1bU*+B>h%^gs8 z;GVd%hCbiH<#%Rh)8h~@=W@wQpPEJc2enh0xE~GP4DM9i3UF`9W$Ee`=kMRo0=n#! zowT_2`@i85A}o@2^?4jb9*okT8#^mR{FJI2%O@gwpNyWw6T=EE1H4+;?1!!e9;N6L z<+5tz?HdW^yu@#!);ls-fn?FY=lkIX<2sE?;qG_cLjo8 z$H7#aRIJ@v(7!J~{>r=)ykNK{g=2zbP`moqW-kgO@VYa#A=v-fNTypSkvb1@Y#@>*5~!f!&0Y zr)yswD`MMl#I>2Au-wJRUibrJMxvTu^!C;ro!{k&&ZXaW<%gX~Ptno$NEGCO-`j>4 z57WG2n%O-eWOZ#JiKe9qc=-|0GZnH)Fvi_31IW9@6#RJPLBP--YXj?{@E7O;Ju+v3 z{hf}yCsbY~X*Ult23>gIGO627rf13;_kEphn}m2Yjx#)}=`UtV`RA`uT2-&S&%Th@ zBwPkBu%XR{@be4i!Z5F!&)SY(n2v^t z2r|%{yu?3J>u07ba$~yMSeqn6e!a(a+Flqindb@6(4#LZ8usz_c+({uy3Q9f`{*1P zz(ubvv+Z3;%t$s-swA?A})!zsiVz@sRy?rqNl_ai>a+vy#u%&B}@v&_*!AXgYRYJxcFdFgHK$Nu1-HU&P3u zVn=l3$cLA)pvp+y8cWV@)h1kSQ*=0(rqmsn!TX@g(ukF+-pWSUPmXu%&mJ9uH201$ zM-ur?)bb$XA&K8yY9lves2z6U+Nyjak-ob3H~ux?A+%zcy2@G7<$Rf3pVQRfTN52& zHLyLMHhScq)Hq=yo==SgRqis-R z?6rEB#Wc=Nq~SqcQ%Nry1BR6K8tG0gwUQr7=?~~e%8FdKZ+fMv0WDOL+HO1P)O-E0 zM%S;cN6(dC*}_+W(z&3_q2LG-SyopzgFPSy@?wS^qF9++6wQ!J~m1ehXmw zy}5|ciEXxSA^m1Py+4$fiwYSO=%8evm&EJgu>DWUDdaICA20WU?H#sPNrFg925TB+ znwz>X^QnD0wcQZgCrNSZ#{qih+RM9p@j~Kh%zz(9xre+qEI$ronYL;#TU54Ik&QAX z=EnZQv9_4LtmvB$3Dw&#j#zPZcRK~Hk@@%d2N}R$?vhAuk*Z<>lM-j%b(KW7MVXUk z*0SgNvc$#SAC@j9DBnq^$~^?$O&q%5-3wEK4(W2GkwPLLNSqjgu?7hb3JMjU2SzH% zVw>wu*g30io77+UN;rf4X%{O3N-^WmGNjkOsmI;jAl==)^xh$uc;|Rg2%GM?{F!QM zYRZ+59s8AA+kN^QZg3~V=+%VmqY6i{ql?`rSjFgR=$39Q+9WN z)HDX#dTaigD`rrHF4LxK3RPJ7QOVel<+Jm8I=vqtpA-}aM1n8-so19l*DK0QR?o<+ z?|yF3>_GO_(XwFm8aU4UCPLgjAg2W)R)1#EuEbgvU}S7(D3{_MLWiH^Wa=_cDY*PV zBAQB{1k)sq@=l)wA-n>8 z?GS8KJD1^K>(WX8WZjg2Yu#?BxxPTdUC`eHENcPI)}Zkm!eF;*}yv_7hgi+)RUIx^cC!Inq`zpFc1wEJup(j$X=6Wf0Aw^h-gnjw>n2 z?MH{Hju540DftO39fAEg3h2Ed&Dbv6!i;!nwlLepx!=b7kBBjo^B*7nG<@oaQOwl=F1ay>OL3YmhpbqD=pJUW zeBTqkD7$Qb#BObO#aj>zr~_Gl9-wH4+}Kpnp3&68zO;NZtFc*Fb%+R~^^+@G8vrl@D>6Y|$SDBSi@!Lag4g?9CrkZ?A9DVK%QI@ZO5Mgr{TBK2I@f`=6I z%e}% zceuj7N;WkJ6R@4hyTyVDoAe4x^$tpPak#7R*V}Lf?{froz z%f~+w7!%2?sz*IUP+MIsir<~JpabrBim{y4xL;FYVF~^%Z|gobnr4VgGV44DWfPnFmHwo895Q}m5 zCAPXT8M2>YD*N65Mzw^W`k+Qo(#f9V;QRFehz&dC@J~X64UPQAN%O~hQkh2jfmc(5 zlbzJjM752LO&Suh@aP0{=b0&LV&Wj3V24PBkvKAhzXJD=FJ^@)0W3m$5ONr9<{A1Bl)J$_lu|~?C z7>jf9wAXeB1z3HI_KnqBl6RX%D+U@^SLE1)YRA64CnC>7bNcyGLqR<9YGf09ThL!` zFqsDt8PX_C=;oVlbEkRnYkEX^CNB@GI9{@~V1-F|(; z|A;_Zzscg)Ws20Y301Q_Hl8I9M$t^q%(&%4fj@U>n{OTzj8XG){iF9rZ1wL0wQT=r zVl!`aruoUr-_d_}CID0$2p57$j0xk=FFd@2xkqPMS4sK9XKho|5~r?TPMsd56oj@A zA#(E_7T=v)1b233kgcIYT=MVd*%%hZKgKCR_uMX>85)?F%qGxx{jxAmUMrurX%T)A^0wZ`qP8&T#CI7-*MgDb z_rVp-#yubUo!_Hmq&)TkG3M0dbcc5N^vQn?`p&!7%q|Yl;~rksC$#6Ze~KC?XoSWD z?JS_}gXB^ozp4cwL5CrYI9azFSEgNq%}-mlsVr zI-ptY!612bbTqDcszK(JP_PGa z`V@-RP|ox6SK0%cb*&WsR6WR#;@(pF}hJRzP!A=e#rV;NNKhqJUkD$^}c79 zGAUKeZ_ai?Fu$rf1lCxhpiG&KkYXt4=D*#P$=`IC`SEToa(4b8$X|(=2#TtC3uH7JJ*bkA}$h489A>u7T#O70U@= zX^MVaNn?uYuo+1pOBgu(-S72svt%@dhO078v{UXiV<@8U-5nEr;%u@Fi|%UVg-vHP zK;Ip^0xDSU3*ajSQ}jftMZK40ePE<&e#&$rh`sgxS8;<_fiEGMc7U+_?449Ovayd0 zs0q7H86Pjt+5RRt?ZI@g@I3d~sj}KX-FUwtP3*5d7UPduUAg0#{ChT^l&)sXDwsEUr#>l#H z!1w6*xJABPqWR$`Mb2_K#{5*Y6qog6D%m`$F_skcc@p4K;oJB2^4R2GfaX$Uw%E-} zVv*cH%4Bznj#5e6KTB=FG9&dD6v1=!2l@4K&(gB0LmU4bQdFw5DU*3Y^wTyX_k+^* ziSYCibD5xj_5j`#QJw4rO$Ic>kkp()nCpJb(G{Cs?nrb#g)%X~$9V+$oo$rF6u~B$ z*vFP`$6(b-LIJfpW4`ST_U!4~^7Dc#6kEC8r&V3sXYWy85McP zTX#+3H<{aVJctAd!2CG(C&}WQ{ZTr@^*6)4RUMdHN*9@oEgFj^g^a|Yq*LDlQ-d=*E zubv7yETs@k5a>}FMHQ*Vu#b_NIOoCVE6lsZM`?>F2bPG_zngo3ZEV$1{hu&n4YRjJ z(3uP$4&*%7Wu3lvxe0HTDD4K+nar9F1wOuYIjyxwZeT?S%d6-wk)f(F$##rIYh46E zBjt+ges-R$q2!&to3^3zh8JHV#LFf1ar}}TE|pc*eH?KJ7ld+m1U*Do!@kOg}f>{ zg_9oD+bn`adCLp*CebBXzgiv}C#@?mKwZPY!tdYCJ;mwj=EFvx7D_#98&EH=C>xk2 z7+H~($0{#p$IE3d8CSqnwO&?v$|u|=O}s8KFFDM3hN0}+{YYMa-9KA8v_vYd*RDNY zUR^Db=OrT*#&lcGq}%ijg9X2CIh|XXDYM=&~b$cdR!_klkd+xqpn}rv{L|d zHAAp4@j#pkMo{B=Ehwm?@brms_vBMXky_o*uWEzRl-6d}G?|ZT!k>@|skW}K)L|P_ z4doYcOal>=#lZ5j5nYt<4Spc)I$79|U|*_n4j*MW*)K`$^wT91icx!8^x`bkW_aKn zWBQC@qV*&uqRMqsUIYD&f@qpE2YKVaWZ{w<1?Mi~(Vy9xCQS++$ zdY2G@kwfD(t(A6T8Dq|5KTTN;YFQedABLFAf8Rg9 z)yCB}Rsg7pN483t(5YSdmoMw;aa_Wih(Zw24BSSnhxXlk9G+m?3lqM)QUK3o8$ z7jCRB$&9A(y$R)_dijrz>hm6Ns(59k4v)t{tj z{-I&m+mJ|&M})x$ecehvqP0%hn*_WR&Dnw>ov3uXsUl;Sf%CfgAoj62@s^8$!?%s@ z3O1vtm+RHH`D;#LhO`=H8X>GLW|IC@-fouzvu5N;X)kgnb_TYRh*{v0mngWbHC^~d z>hhgHY+Eb~+T1#t>toH$Wu&Lkdc}wVt~5qIl?9#MoZROw=@e>n9rZhMri#aBU4Koj z<*WpH{t-sswJd(dUjv98KhP(Gm4#fxgT(*lGNtJy)kyJhbPSO4?vW0#O2D27!k1JA z^q-)g!f9yb%6dOvqjkt#gs=o?&!bpd7bRTf%AU}4_4<;o%J(@n@$u;I*xk_3^*?IF z%E9o-`!@>Lv)x+-QQ+M@<&C?2d);+S2X-`coqyliAHY{}T#Sz=6^$X;CJ>>09qyRN zQkE_J{WI&-^RQPE3pXX4%Yi|>04!NU>X6+3u9G_T)O z`t3KX7=Q&j*533t5J}bX=#Yo$YmL@_9*8a`f*6b>ZGLdy+CNa37lk}^9~JYwJCJBR z8Q?BIy3snizQkYM`j0x#^RHx(hbDM^Y;5z9O$m4P$~y%KD=4qh9`(dV=OiK?gbwM= ztNEnfB_r;283=;E`7JGjm4w8}^#lHK0oxY|C44xOscwUn!YEo@0pbBa>DNIGG1-G( z*s2zVyj#}Llu~DB>M{)tcQ<<+B|9q%AH~@r1!^>o)NeawMoZ7c;xQ~tDUhR|q!$L9yvk89*#CP1!WPrKfAO z3M@rE6{FLapprhD@7OL{j=-?z8raTiqA?{_eo}64B4es;E%N?7e7NcfBY& zrdIT1DAI+M21e3w^w*$R^6Rus?VwnX!71mI6H+gr^jAerJo*RjKl)fowy^je0M)mnJOn`-#BX|29eHGY6d{8duFZ7jPK3BfS;C_bp<4JJeOMXdq5vqjHnPUowNhpx$z zLP0@a_J7FAlLahu^Q6Yu%Wtmi7B6RigU(=@jWZg9UfMLQ(-m(i$T-orGh8rHZm z&!a`!pESvutmgi)KfGtg4H)iwyq|`39^9|b;9r@ra=UD8F$)KtlpA^bgh^8`5@Xk$ zwKr=g9G*j$D-4_{RdnZu7dMR@&wv_@`i`(T-e3!RDlS$mN+;=9N6Y4sdKe)5_+hBJ zk%BY-ooW#vj3%pyvCaN+ppf5?JtYMfgZ z)?*WAe`WX7Lv&0VS2dbyMG81Sq}FxCQs2_$1g_e%9+kCA^-y=%N$1*oga~idUvK>O z^&(h%xBd-McVbF4N@p*K&I*V3IvLh!S&o^4^*adtBc!|Qul^WpTu%=k6%;!Qx=dmp z?uER$_nJ;#pFKx}7ev&Pf8naLdl{`2JZ`fNrvevdk zt;BLj2~YfWrX$NmIpbH*wEchsKx2l1L!$Z_GIz{blE3P#@HM8)E4^xAx8b+uX3i!A zEyV<4PrMy!V7ijATT(}SV z%8d$h$>gu&?ZQfiP{I823Qp%GeAbI$*dq`VZSDL2#Gty-3o7Ot?KX#{n&N+n)i4tS zX)b!h$j|65Ti?@vyKZVf^FO?APio$$3e*UxtA60JU|MzTuwc8ogLYbBzK&0lnlOy? zQc9I@=98K^PD-%NpU5Ig*tqJ%*N{L8vVZ$#OPr4e-23hifmqnt&67R%AgyVES0m5@TWA{P>5@m>I~BkxayFcIIGqEBGX7|~CA z1nE1m(%uK_P9fw4+_kbH(Z*v{KQrg=kgxReXmJmdaD6Q$4+#eI3JV9uX+(5#fFrD0 z#>$}$E!UA#VsSVx@i)mt7h}zMFg&do(NDCD!P|501*O;PZDXX!>9Mvki!zp<`DLZr z+Q(EhqWFldkAW5V3{G04#I^fP20cxL_oj$ad5B|~Z#u*7AfB8j9{SrQ$_(HRkJ_8*@JRbD? z!=2i)OIG|nURLx7j<$LBUyUAkg~Ylk^R}OR3wB_O zv+L16I>!T?f?DIIE-qN}1sLsgVC+AqxUODFO_yQ`>P8CJ9Gi~IE~OBIJh_uBu`m22 zfTI0dLEZZ{2t!q{P-0%W-vmQ-Z?ZU5GIFY4A(##l|5cj7m1($RKIkHP!4Z>t%CiiJ zLG{B|V>3Z2TxXmnw(T@)CJF9nv=s3S5eS~8*>~?crF0#*>NZRNdtc5#Yun%zmp!Au z4#q?8-pAL;vP}BNNxcUHrJ<9!66zRywx9bjR51F8__WyEIbM{D z&Ou0D8`{14mmFeIMoFRqy(E63kw{_mTL!hDh^Py*^?=&P<9L(>LQpeJqNiXsmA=>7Ls z0Ui8nkFymh9OLTVHWlfVNG8c~uWyuvWrO-#LbcQPX=%=ZG z2>^hm3RDZ4SCF4O`S}-Gv_c&d4xb=eX3ga-8Nc|0BfjG=f7j^5TFlBg2RZCw>{UOf(=D7BIrjdoLIVIfTd&*NXgh0y=WR$*{FT>8?6nO+8xHCaOP zxBcZMaOQT4v9?WIrkt+6k$dpMn-bl;0CXu&0M(a$9wTf1I25Juj(IuWeu~emDGOHW z2&WzoWxIT{VCM;)tRGe}r|<}OuhO+zEldrc)*+5}yx#6>Y*UdCDT?3_k>jG072wh& zHy5*-NapKlbbQzNK27|0%_xhp>ab+|vgg~mxjsQNo=q1v%iQLMn%Q*a@n;S|t)c7W z`+5(>3164aq*JpXlE^&Yas=TsBW0#fN=f7V*pqfiK}S#_M*93IejeFKQh_RSjZhQj zO1g$d>K*f=NC_vPB_mK3vONFMVZibfWI(A!;Osq@qj4(O#Ls(E$Absp)@w0VggxOA z-qDQ6>Sn#lMVjItnlyo*?D!YDcQ3?b^iXIBDkJ2@df-DBeQZA+9DrYz?t+qzBkOvr z%P29$t_%SMsG`-aP~@+m>4WK_5q zm9}km3{sHj!=Mvot(f`X?c=CEXDRYp5R#oe8P8|IXWPh$uyI=ohjPlAGG4F57t+I= zvV+SjPfP>xp(pDH;K)pjd=?fSnDwet&l7r_nn+!`|5s1xSE=^ehHDm7zUksOvQI&^ zId$qTV5Q=(k`(*yvs40%u{9eUsyppnsFdetY^`2VHDont-9vqQgBM$b?G%rZ@?)E( z@+$CNK-lCV3_q;W^gR@{+sfaj*L+l?9B(;)Kgb2W877B1CG`5xvMSFW5q1tu@5b@I zmwb%Sm%%MR22Pp3w)URQA{Lk&hdd|OMdDE6T6S$x^*X()eT#^K{=4VE>+ovHR|Cx< z){YwiCiRN3Vd$nfKQb7htM+L1p_&I*Ukm!A-`s8IH>g0vz<;$-&uLX>Up3m}ZYOghF-mvL!~TQLGFzN;L|>tf zBh;MEBw*5N?j0vlYv?1UYDeCwG7Q((DNvns36qN|?soWOOS&v@>}zMSc)%Sc5(NI) z6?WTWX)*E_NlvT*pC^$D{wC`B_GQ>y%kTq!ZBpCE#TQ3l8G6Q!-+1Vy??1hEr?pd z9^*p$b^@_Z7$2{1^Ccyrgf{T2Be0b?W20|dP<%giu@kl1WsA?G%N;-pKBQO4b1x7l zeivpDg8#qv&bu3~_HCeg7tt9ly69oFh#oz9Zy7;!MuO;sFiMEtqxTxUmmoU9=-m*V z(MK8OH_xYd|9RIspWv)@?zQgg+It^s4$UKLp3wKr9OETA*2d%lvu#^wDIB`R)jZiE z6^-jTwzTgisw-)z%LyJxt1EKeWxr{yun z(Q6+FI5;?PHnO?yj%ON0zVnpH2JI7*$M}&E4m|sb{ktb}woT{Gx#xh*P3w1smB{8p zr&)iwR8Ca$7w~f)FSA3j+Kxu2Z>=s>GL+zx)xw|nVO%kliw|X{&2|NDDUCblKF|}9 zn}?n?zGCd(3`+IENe>T)OAjR@{TNp-C6VIyE1S|gjab@!vTV`*Y$4tL zh()`4!V-!=_p!8B${URE3_aZ*_3PY7lQ;?AybY;}pr^}=3Tj(BYu0+&F3pQOe1+gAJeOx$pr8^79}%u_|a6@Zr(^H{JQ``g>%asD*( z(_?Rkd#?pAvFhP3gJFk(|Ac%zP{6W&;wb_9odv^mgN)@v8PboHWGB0;R(3@I)1pDo)laF}^X zww70Lwkw-QEjAl;DVx^=k)+!9)k?wVPc^$3@%h?L;5;iFw6j)+X^zjBZz2TeN@s|1 zgmc+es8;|#g&jtcwwV89nY31(e0S=F8C~Hga$ch(45ljDPvxurMsqO>Drc)Ckv8u& zQ~A|h1^8Y2(i#kxv0Fk!%6hkyQ|8}JI!XWCEHB;LbNNn8$P}i7KgLJ|#CFn|2>(NB_+i;@-+s;B*x2Q5 z+&E9M<@lJ_i`p`*l>gWIi2s>4@RHCQGe)3gH32DYo7Gp24`pXBPl z3A;z?br{XtuJozEl+N_DvLMALSMsi=Ngup=Ngv3#In~{A)N6_G3$a~;bGq3JJh@xQ zWCj}}KhGN!-`zJpirQU@j$_NxnyT)X=c`m8)+5R+W|6C>k~8j1le*oE#$t%CRiULg zON#VF(oYP_J@C(sdYi!l8L;gHYk7?Vx8yL(EKDS|l z74l7zaeL$q=0kHIVT;e39)3vQ?FFk00g3EEe`Ki;i84T)z#^^)N77U+$DT_h)p%yJ zosMt=YeuiT?pfg(7sgW*a`teEtEx7|!L|nU0SO4b?H&?j8WgF;4YLIhM6>FYKATSZ z!ri-M(KcX<;N}v4R1%~zYw*~ICRr#PNi@p@JNPhGTYPm=C?mob7d1{jXEdmYDT^|w zQVPBb&Knits}_0@fs}VIQT+kQm(A;uXwY9hPNIyTP?XP8R>b5*u~$SVuSuvGc&Zi` z$lz3|VY^(;6FqmusQGzU3j z4gwBl%7Q|I&N0m0(=YA|hbV+FUtJRFZ}T5!%wO>pw#Vj11(lUr@^KB7og=kQ69wK+ z-w`^gS&ZY?6ZfkEFqBgG9myvT;J;EdD;%GPtHUZv&gNs!TSEMwKkMF~|HVYPq^`Xs zD)$5xciUPo$nUf`c6fi_MXO+rC+3tmp<-G=NN{*60S6@b?sJ2 zS>v0J=el@jpw0GGd=O9s&$&(*pKrQYLz0YRKYgKiN`3qse-u9f+Lk1P0*N|kyAzj4 z43d(ZLq=ivN12eE$fe5Lhp?O31J4RC)+Z=$`c&Zndf+yX5;x0sJO^67 zQpN5q&?OXhJ&k2)4RDf*y%=@5j)0FW&$wMXn_t_v1hP6;h^G6;t}UoiRsh@WeiZx$ z(c)pPL9Fh%Mk=|dqP@8945rZJ^tda0F>$6Q*InQQ3*6Ybe-SUoj8xJd9a0liS08op z{a?F!&O5dA2aF!>dR~h}-whr(KH!QW_H>^3E6VTEsl=RAIOB3tuEqy;2nc7h?W?~W zEPcsPvZxJ>aFk{eSrWd7nB*qpmf#Edk5orWMCumr5!jwo{0V=bPrGDge{S}c@Exm} zm}>xSTTCc@pXR+a1Q~ zx2)n}rdvzFn7CAVmc~(ji1;fF{-n;*Q#N$(H;&JB^wcLk9Y`d2iIeG5^w(=zfkrpW zySo1H?|-bqR6Hai(k|XUWUvGXt0g|@P)&xud$qbBoqJe%nYpT-b&|oYMhWeq)_xP@ zgQyW+10T`^Lo;YEI*<4lgJiu`CcTvt+0b8+gFgX6*TAqYAHSY^>{(Ay>O=iIg}JhX zgoHO-p}Pff!-GArviE4~4m#HRx$J62>h{5#B`8q~fVbUki7ZjYjRVDN1^)2bgWRMM zkFJNifo7KmS0;q`Bx`=8^UcGipF|J=>TI#$vI4ZSM*$f9kJjlc-o`xvw3*@`N49)< zzl1fk{cdGtCrOS#=5^!{jjmu`1PX&I-oZp`lix_7c=EB!%gd7yZ+~t?)=_BRt+Y3j z+BY!1lkYB0a9!urFNaxinW>6_z|_&_Dbza?IZr@d{2i%{FEew$Kmwf#(tR=K@1M{g zK*54{*^&Vp(yc=iu%DHc{N%kbTxv)kveTjGQRDVq!OMPw#*DDOeMEZ;(*+fjCFc1u zNBo?XFo~4w?*g$EV}7geXCaTpaJf9XxNOc8kTx5NNAIsL*F8J*N{w`hCmU3sw9G$F zj_27SLZ%Nrvq`(Y-KQfQ9|$Iv9&M5)+J`FNpZ}>CTSJqqKtwTBr&Tm5BTSg;BX5K* zv|TO{PysDtUQ-DRXFu6UUw@q`S(T#YGuW>Zx!};OY`yenS)u=oU$0(&o+Zn?>iop- z@OZ(kkhhNb$}*Wz{dpb~6kz)P8s06B=ukB!XB0trZx7=UXEctxC*8fEij6g?u|%J( z%b1-e#x@WofJ?eP7(@3IS@-9v$J@PzasIM`=wA{F7~DpyUatpC4CXtGWe_-Kv3hEN z@Dy{E-Fr751J_Q#`&ittx|#_iF6WUgmiIs~qJzB}sXDV68=PPNY*{s?aPM_t{rn3o zfpEHl9(abnI4U@jl~#>pd>aUW`I~`Tem3k$%vqYNRUD5}-FFl;G+ag&+s-(l7yAGX zWj6c*x`X9Yp;OO7&rQZTLBK*VW@t|!2w0x4!$*7v)Yt(M%_mA+>ziX7hMqqwQ=fW7 zkSf!EVhpwWLx-dL;>Ft`wtII6v!*?al|dImC@b<->U1HIn9F!{B-)U_zNi(Ko*#RJ@g7S4W_<8t%66Nx|W3 zwFO}Qic-4o24e(L7WaEImsQJa_Wm(3mkmS`=8FZj7WhD7xIMy@q@43MkcLF;Pw6WE8yhZnFp#) zR`mtFWmm&hTFpa!luA#tgY4C0!xhVPDu;Yv#qz7pyUGvqQA->J%RzZ?1c4{8s3Jb5;irK;dU3;{2Pd(0c|QJar#be?!?j1o*Pr$<1Z);@h+Lki zq$c_M?4-FtV~~OqIn)ppa&GPy$2bKrwGyeR(r3!s;P3V9*T1MAZ_@QOCmRu2shD3m z)}=`5T(VKIzN;-76(B?b}#~?##9wQc6W4PzHXnDsc^OzZRk7L=rz4trp%0hz4;bR4MKd1+sY` z$KRLgIKR%WBm7iH)GgzI+8+sDbViMg_>tm`urkk!iB_>hw4bOH<-B0AV#u!Z>9eCl zYy|4R8op3n*TypjP(uK3Ig+?{1GF8yX?MHU3}FIqIf=3Ud9UrujH6FV7G&CIo5!m% z;QN*|AGN*C2~sEMM~IC#Qnl}Nk{sf0@C5Z&O620OR+-%Sk606YF+Jefbm)Sy@v(cQ zk^z^w4&iOkkTc=#SXRAWgZV3+|HOPzpYwlS`75@KLL#J(W)-jMY-_Wghnw z<3#n9QyrFFm##Gp;e>F~_cZ}^ z9?3gHf<%mw@-x5{Bh}PdT_cegQOOos_xTi zHQMer{q>StV7TOE1hX%g^D_bvFCaqRvb5EI}+IhP+ECk}MU8O5L`DfmQYR%vN z>dK~|9dKXt5R0t{7AeOv#4aUW?o$@a#c{19)J8@}N`TbDZe?y3}!=4n<1pZX(+yn?|1i!32yDakii!SNRA+8_k z?jW0GB?hC>M^0Zj3uHiGSnYKX(p$kZss5%>fJ zyLl1!omNkeB*!=rRrn+U^9LVCQ#xx7Rt=cS(-0Q_9!JkAr;p1NJPWG7icC-&HVQ+; zxqIwF)1k(3$;nrmCW`$rYZ;9Xl0QPi{B2XDf3gr|uk%4MlzI|^XLtMi`|F=`PP{Ou zNTqgco5Ky$FV@?TIDy?Z0euyw^F^5l;uZZbw~A=a+iZ3!=Vt)Y&8l($0OnDA`p!)Yy~T_WkoyRIoM+HEI#j?3ch z1iZu(FkXzEq`{~C*Td*`NPp37)cRa-D^pXiCt7PHiQAUYpsz_cbhVaM()Yohqp^X~+-=svcUT3<7TRM%{ zB!I+xFZaA)u?29Kl7qkith!ZIacLSt&(zVHRV+SeTQeflu!HQdyzL?+fMi@=xH~ma)NNJe%RTDjIlXxY%D)C16~%jGJ6eKMabb{jUct>KqD7(SYDsdz(a zHjzYSYrj(iqzoyMHa#KOg*u5rsHRa{$)q43B_3Ee@9nOvW#TD&sv@LvUePRYt=;P+ zC2gJ3e}3k@<#x-btu=^zBaQT;-sx~S>lYkYpwCSg^B?wE*O4;|p3^ZG?XI=H+GK4@ zY0@fZJ18KW_NyVD2adJn<15D%gGm3?PIHQ^RW> z_M}Wq{Q5h5G`cWjqRX9LhxO?2jt7H?3TA(u6v}-JAARKqfasmM$}KGB_gz0C+Usxd(%g)f74WANd--u5s8Cw6E9CzDyJGcQrQ0x zIYznVK*V$3<1+d5HB$Ik+j#%ml>QhXt+>`=V0;lC2Q7Q4)y}*4)st#8b>SK>yVm9} zI6;}lg@?~Tjywj9m8EIHUWrvUd?x@sne8{eI#1nlBiFUIG(%qx6t6}?8#9AM=6-S> zRa~G~d0^xQj7RPJGUWizEse&hW-w*-8da1GJ}DeU_HTi(JOjiwJ(wC+9;)H)SuTh; z)>OV}NHyqW-J)Jn*qD3_ZHP&_@mEt5Hvlyq1l4x=qAHu4*>ejFI9J$AsEQWT8Cle= zKkfc$u)GShT0wG;Wldc}Lqo<6z#c5OZG3FeUK*d{ZR*aa{^MT>5P%j|_mY!7JLRM_Fd<=4Eeuez@ z8({kOxXgK2zUU|PyaFB&3?V& zK0!4_P^_7yW}#MQ@!cbRFz<>^0JXr)CLG-qp`SsYF|{+%07;y~ zBSj7rIL7@m04}LtfZ&GRCh)>(QPoi+0MIJHD%RZ07!yc6(JgDT3aEEEq#rNSh8QnI z>(@2qvmh2W`(pxSO!O(>40`b=HnaxBGftA)0rouzzS6)c_L) zK}g}_GC%WloWzZ6Jof|r-f59XP6MZ=ZTEJHng0xfTCwZow2ip^*W~hpa+zGnCAm>m zuj7l-;j5O-rB)O|!DDI*2TxodpSC#j*#3efBs`}`X3Z<5uQJ1UJtF_Agy9D5w(w%Q$84l=8`6dEzRG*PCwaR(sV{B8ZqqbN$wIeS?VV=EPt{v)Moj5qi9ZyR=#UW%g!t4h8D~VR9~MM)xw26+ix`BIo@hU8Eh^bH;UAs_421Tj8^jM8&)nn~W+1qr4>WjixqnWO+^(k0t*FC| zOs#0?IeKm6i9_ttjtA2_;EUczA#qty=HK3&4{12|sjWGD%-MT^DZt-h4!|0VkAE+J z@96jZO|Wk;-Oc|pk7)g8^$gcz#3|!TUc&&RASc$RMvT8ypI%8FUQ8%YO_t~5vwsbJ zSa_*-ZmF5;sUNK@ zUK2BSI+RvpTS6xoB!*5MKhhR&nNU1S?YF8`u5ow<$xFaJ%)1OKES?ELotewONI>g* z6pho`7h2zyPUIfjbS8}t`H%b*laroGOG_8nP>EqcF7Xzc@uQE|`1&Wp1<3^en@Ak= z@@n*)_U^#^+3rJe!oVFj7F5ReR)y{S4fJ}um+{w6x0h4EcgJJ!c(_qd^OI!S8R(u{ zD!?d++0ko$#$!BsP)mONQND%LwU=_{^TIM`y5WqVQzmKbQ+?+Ewa#04VYwjz2y#ykVi)?9N1id+4>_*9urp{kUK_Im|7M<1CkSZ%vQb%YwPcU%ZZB z+`6mGk4^VkQ67gBU=SD|4T*q2p z+a4hZrFJN9o|T!xB||zjU)BJg7;JujF7Fo>mM^kuvrI!klwRDkac_I-PTQYSYx}v>_uXJK(BmMx`iV+ttdX-=Ax*{)fm>^T>08(=mIc%A1U3oGzG@+Ktno@G z8kTg}QRopQn#QVfVyjG|KM&8;T-^FDZNg*q?VZz89zVZBG={>_8d|$GeHv>PFhF~No16!To&;i7;saKc z;+dh-{dq%(%ku@|WnuM!-EBpmOPS)tyy2jRJcaO`w=D7Ct!9Z^d{4qZqA_q~Jt?Q1 zu|Pv=`Er z=8wu0GKt*rTFfJ@K_v7n-_c?SWu@@GOc4bwtfi);C`Enk2|<0cbG?{huf}@9B%g*WZ~`$GYms-ouGYI)0$ F{{cQ0vMT@p literal 0 HcmV?d00001 diff --git a/apps/web/src/app/(landing)/_components/IconBox/index.ts b/apps/web/src/app/(landing)/_components/IconBox/index.ts new file mode 100644 index 0000000..6aa3cca --- /dev/null +++ b/apps/web/src/app/(landing)/_components/IconBox/index.ts @@ -0,0 +1 @@ +export { IconBox } from './IconBox' diff --git a/apps/web/src/app/(landing)/_components/IconSection/IconSection.css.ts b/apps/web/src/app/(landing)/_components/IconSection/IconSection.css.ts new file mode 100644 index 0000000..b029c41 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/IconSection/IconSection.css.ts @@ -0,0 +1,50 @@ +import { style } from '@vanilla-extract/css' +import { vars } from '@vook-client/design-system' + +import { appearBottom } from '@/styles/animations.css' + +export const iconSection = style({ + position: 'relative', + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'center', +}) + +export const iconContainer = style({ + display: 'flex', + justifyContent: 'center', + + position: 'relative', + left: 0, + + width: 1700, + height: '100%', +}) + +export const starIcon = style({ + opacity: 0, + animation: `${appearBottom} 1s forwards`, +}) + +export const typoLogo = style({ + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + + position: 'relative', + + gap: '24px', + + transform: 'translateY(400px)', +}) + +export const typoHighlight = style({ + position: 'absolute', + bottom: -12, + + width: '100%', + height: 32, + backgroundColor: vars.colors.yellow, + zIndex: -1, +}) diff --git a/apps/web/src/app/(landing)/_components/IconSection/IconSection.tsx b/apps/web/src/app/(landing)/_components/IconSection/IconSection.tsx new file mode 100644 index 0000000..16ab63e --- /dev/null +++ b/apps/web/src/app/(landing)/_components/IconSection/IconSection.tsx @@ -0,0 +1,73 @@ +'use client' + +import { SymbolLogo, TypoLogo } from '@vook-client/design-system' + +import { IconBox } from '../IconBox' +import { IconSectionTitle } from '../IconSectionTitle' + +import { + iconContainer, + iconSection, + starIcon, + typoHighlight, + typoLogo, +} from './IconSection.css' + +interface StarIconProps { + left?: number + right?: number + top?: number + bottom?: number +} + +const StarIcon = ({ left, right, top, bottom }: StarIconProps) => ( + + + +) + +export const IconSection = () => { + return ( +

+
+ + + + + + + + + + + + +
+ +
+ +
+
+ +
+ ) +} diff --git a/apps/web/src/app/(landing)/_components/IconSection/index.ts b/apps/web/src/app/(landing)/_components/IconSection/index.ts new file mode 100644 index 0000000..db07854 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/IconSection/index.ts @@ -0,0 +1 @@ +export { IconSection } from './IconSection' diff --git a/apps/web/src/app/(landing)/_components/IconSectionTitle/IconSectionTitle.css.ts b/apps/web/src/app/(landing)/_components/IconSectionTitle/IconSectionTitle.css.ts new file mode 100644 index 0000000..26717a1 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/IconSectionTitle/IconSectionTitle.css.ts @@ -0,0 +1,33 @@ +import { keyframes, style } from '@vanilla-extract/css' + +export const iconTitle = style({ + position: 'absolute', + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'center', + top: 150, +}) + +const drag = keyframes({ + '0%': { + transform: 'scaleX(0%)', + }, + '100%': { + transform: 'scaleX(100%)', + }, +}) + +export const dragBlock = style({ + position: 'absolute', + zIndex: -1, + opacity: 0.22, + backgroundColor: '#0077FF', + width: '99%', + height: 55, + top: -2, + left: 5, + transformOrigin: 'left', + transform: 'scaleX(0%)', + animation: `${drag} 0.5s ease-in-out forwards`, +}) diff --git a/apps/web/src/app/(landing)/_components/IconSectionTitle/IconSectionTitle.tsx b/apps/web/src/app/(landing)/_components/IconSectionTitle/IconSectionTitle.tsx new file mode 100644 index 0000000..8a6d34f --- /dev/null +++ b/apps/web/src/app/(landing)/_components/IconSectionTitle/IconSectionTitle.tsx @@ -0,0 +1,50 @@ +import { Text } from '@vook-client/design-system' +import { useInView } from 'framer-motion' +import { useRef } from 'react' + +import { dragBlock, iconTitle } from './IconSectionTitle.css' + +export const IconSectionTitle = () => { + const ref = useRef(null) + const isInView = useInView(ref) + + return ( + <> +
+ trigger +
+ {isInView && ( +
+ + 여기저기 흩어진 용어, 검색하는데 지치셨나요? + + + + 부크 + + 로 간편하게 관리하고 + +
드래그만으로 뜻을 확인 + + 하세요. + +
+ )} + + ) +} diff --git a/apps/web/src/app/(landing)/_components/IconSectionTitle/index.ts b/apps/web/src/app/(landing)/_components/IconSectionTitle/index.ts new file mode 100644 index 0000000..774e594 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/IconSectionTitle/index.ts @@ -0,0 +1 @@ +export { IconSectionTitle } from './IconSectionTitle' diff --git a/apps/web/src/app/(landing)/_components/RedirectBanner/RedirectBanner.css.ts b/apps/web/src/app/(landing)/_components/RedirectBanner/RedirectBanner.css.ts new file mode 100644 index 0000000..52adaec --- /dev/null +++ b/apps/web/src/app/(landing)/_components/RedirectBanner/RedirectBanner.css.ts @@ -0,0 +1,16 @@ +import { style } from '@vanilla-extract/css' +import { vars } from '@vook-client/design-system' + +import { FOOTER_HEIGHT } from '@/styles/layout' + +export const redirectBanner = style({ + marginTop: 160, + backgroundColor: vars.colors['palette-primary-50'], + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + gap: 48, + padding: 90, + marginBottom: FOOTER_HEIGHT, +}) diff --git a/apps/web/src/app/(landing)/_components/RedirectBanner/RedirectBanner.tsx b/apps/web/src/app/(landing)/_components/RedirectBanner/RedirectBanner.tsx new file mode 100644 index 0000000..843f7ea --- /dev/null +++ b/apps/web/src/app/(landing)/_components/RedirectBanner/RedirectBanner.tsx @@ -0,0 +1,18 @@ +import React from 'react' +import { Button, Text } from '@vook-client/design-system' +import Link from 'next/link' + +import { redirectBanner } from './RedirectBanner.css' + +export const RedirectBanner = () => { + return ( +
+ + 나만의 용어집으로 IT 용어를 효율적으로 관리하세요 + + + + +
+ ) +} diff --git a/apps/web/src/app/(landing)/_components/RedirectBanner/index.ts b/apps/web/src/app/(landing)/_components/RedirectBanner/index.ts new file mode 100644 index 0000000..64513b6 --- /dev/null +++ b/apps/web/src/app/(landing)/_components/RedirectBanner/index.ts @@ -0,0 +1 @@ +export { RedirectBanner } from './RedirectBanner' diff --git a/apps/web/src/app/(landing)/layout.css.ts b/apps/web/src/app/(landing)/layout.css.ts new file mode 100644 index 0000000..0658e1e --- /dev/null +++ b/apps/web/src/app/(landing)/layout.css.ts @@ -0,0 +1,20 @@ +import { style } from '@vanilla-extract/css' + +import { HEADER_HEIGHT } from '@/styles/layout' + +export const landingOverlay = style({ + position: 'relative', + marginTop: HEADER_HEIGHT, +}) + +export const landingLayout = style({ + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + overflowX: 'hidden', +}) + +export const headerButtonContainer = style({ + display: 'flex', + gap: 10, +}) diff --git a/apps/web/src/app/(landing)/layout.tsx b/apps/web/src/app/(landing)/layout.tsx new file mode 100644 index 0000000..5b15133 --- /dev/null +++ b/apps/web/src/app/(landing)/layout.tsx @@ -0,0 +1,35 @@ +import { PropsWithChildren } from 'react' +import { Button } from '@vook-client/design-system' +import Link from 'next/link' + +import { Header } from '@/components/Header' +import { Footer } from '@/components/layout' + +import { + headerButtonContainer, + landingLayout, + landingOverlay, +} from './layout.css' + +const Layout = ({ children }: PropsWithChildren) => { + return ( +
+
+
+ + + + + + +
+
+
{children}
+
+
+ ) +} + +export default Layout diff --git a/apps/web/src/app/(landing)/page.tsx b/apps/web/src/app/(landing)/page.tsx new file mode 100644 index 0000000..d09ebc4 --- /dev/null +++ b/apps/web/src/app/(landing)/page.tsx @@ -0,0 +1,20 @@ +import React from 'react' + +import { HeroBanner } from './_components/HeroBanner' +import { IconSection } from './_components/IconSection' +import { DetailBanner } from './_components/DetailBanner' +import { RedirectBanner } from './_components/RedirectBanner' + +const LandingPage = () => { + return ( +
+ + +
+ + +
+ ) +} + +export default LandingPage diff --git a/apps/web/src/app/(onboarding)/onboarding/job/page.css.ts b/apps/web/src/app/(onboarding)/onboarding/job/page.css.ts index fb2d349..e6bb38e 100644 --- a/apps/web/src/app/(onboarding)/onboarding/job/page.css.ts +++ b/apps/web/src/app/(onboarding)/onboarding/job/page.css.ts @@ -24,3 +24,7 @@ export const buttonGroup = style({ justifyContent: 'flex-end', gap: 16, }) + +export const skipButton = style({ + cursor: 'pointer', +}) diff --git a/apps/web/src/app/(onboarding)/onboarding/job/page.tsx b/apps/web/src/app/(onboarding)/onboarding/job/page.tsx index 42a510e..466bd4b 100644 --- a/apps/web/src/app/(onboarding)/onboarding/job/page.tsx +++ b/apps/web/src/app/(onboarding)/onboarding/job/page.tsx @@ -14,7 +14,7 @@ import { SelectBoxGroup } from '../_components/SelectBoxGroup' import { useOnBoarding } from '../_context/useOnboarding' import { OnboardingHeader } from '../_components/OnboardingHeader' -import { buttonGroup, header, jobGroup } from './page.css' +import { buttonGroup, header, jobGroup, skipButton } from './page.css' const JOBS: Array<{ icon: ButtonProps['prefixIcon'] @@ -69,7 +69,7 @@ const OnboardingJobPage = () => { }, { onSuccess: () => { - router.push('/') + router.push('/workspace') }, }, ) @@ -115,23 +115,30 @@ const OnboardingJobPage = () => {
- - 건너뛰기 - - + 건너뛰기 + + + +
) diff --git a/apps/web/src/components/AppearBottom/AppearBottom.tsx b/apps/web/src/components/AppearBottom/AppearBottom.tsx new file mode 100644 index 0000000..b0f3810 --- /dev/null +++ b/apps/web/src/components/AppearBottom/AppearBottom.tsx @@ -0,0 +1,31 @@ +'use client' + +import { motion } from 'framer-motion' +import { PropsWithChildren } from 'react' + +interface AppearBottomProps extends PropsWithChildren { + delay?: number +} + +export const AppearBottom = ({ children, delay }: AppearBottomProps) => { + return ( + + {children} + + ) +} diff --git a/apps/web/src/components/AppearBottom/index.ts b/apps/web/src/components/AppearBottom/index.ts new file mode 100644 index 0000000..2df541e --- /dev/null +++ b/apps/web/src/components/AppearBottom/index.ts @@ -0,0 +1 @@ +export { AppearBottom } from './AppearBottom' diff --git a/apps/web/src/components/DrawLeft/DrawLeft.tsx b/apps/web/src/components/DrawLeft/DrawLeft.tsx new file mode 100644 index 0000000..1c92b23 --- /dev/null +++ b/apps/web/src/components/DrawLeft/DrawLeft.tsx @@ -0,0 +1,33 @@ +'use client' + +import { motion } from 'framer-motion' +import { PropsWithChildren } from 'react' + +interface AppearBottomProps extends PropsWithChildren { + delay?: number +} + +export const DrawLeft = ({ children, delay }: AppearBottomProps) => { + return ( + + {children} + + ) +} diff --git a/apps/web/src/components/DrawLeft/index.ts b/apps/web/src/components/DrawLeft/index.ts new file mode 100644 index 0000000..d2b0494 --- /dev/null +++ b/apps/web/src/components/DrawLeft/index.ts @@ -0,0 +1 @@ +export { DrawLeft } from './DrawLeft' diff --git a/apps/web/src/components/Header/Header.css.ts b/apps/web/src/components/Header/Header.css.ts index 4536ae9..ea5adb2 100644 --- a/apps/web/src/components/Header/Header.css.ts +++ b/apps/web/src/components/Header/Header.css.ts @@ -4,10 +4,6 @@ import { vars } from '@vook-client/design-system' import { HEADER_HEIGHT } from '@/styles/layout' export const header = style({ - display: 'flex', - alignItems: 'center', - justifyContent: 'space-between', - position: 'fixed', top: 0, left: 0, @@ -23,3 +19,18 @@ export const header = style({ backgroundColor: vars.colors['common-white'], zIndex: 100, }) + +export const headerInner = style({ + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + marginInline: 'auto', + height: '100%', + maxWidth: 1180, + width: '100%', + zIndex: 100, +}) + +export const headerInnerFull = style({ + maxWidth: '100%', +}) diff --git a/apps/web/src/components/Header/Header.tsx b/apps/web/src/components/Header/Header.tsx index 6484c50..cbf0288 100644 --- a/apps/web/src/components/Header/Header.tsx +++ b/apps/web/src/components/Header/Header.tsx @@ -1,21 +1,31 @@ import { TypoLogo } from '@vook-client/design-system' +import { PropsWithChildren } from 'react' +import clsx from 'clsx' import { Link } from '../Link' -import { SearchBox, SearchHistoryProvider } from '../SearchBox' -import { header } from './Header.css' +import { header, headerInner, headerInnerFull } from './Header.css' -export const Header = () => { +interface HeaderProps extends PropsWithChildren { + full?: boolean +} + +export const Header = ({ children, full = true }: HeaderProps) => { return (
-
- - - +
+
+ + + +
+ {children}
- - -
) } diff --git a/apps/web/src/components/Orchestration/Orchestration.tsx b/apps/web/src/components/Orchestration/Orchestration.tsx new file mode 100644 index 0000000..b6d1979 --- /dev/null +++ b/apps/web/src/components/Orchestration/Orchestration.tsx @@ -0,0 +1,27 @@ +import { motion, MotionProps } from 'framer-motion' +import { HTMLAttributes } from 'react' + +import { orchestrate, orchestrateFast } from '@/styles/motion' + +type Stagger = 'slow' | 'fast' + +type Props = { stagger?: Stagger } & HTMLAttributes & + MotionProps + +const Orchestration = ({ stagger, children, ...props }: Props) => { + if (stagger === 'fast') { + return ( + + {children} + + ) + } + + return ( + + {children} + + ) +} + +export default Orchestration diff --git a/apps/web/src/components/SearchBox/SearchBox.tsx b/apps/web/src/components/SearchBox/SearchBox.tsx index 4b18f95..1fedd71 100644 --- a/apps/web/src/components/SearchBox/SearchBox.tsx +++ b/apps/web/src/components/SearchBox/SearchBox.tsx @@ -65,7 +65,7 @@ export const SearchBox = () => { const searchQuery = useSearchQuery( { vocabularyUids: vocabulariesInfo.map((vocabulary) => vocabulary.uid), - query: searchValue, + queries: searchValue.split(' '), withFormat: true, highlightPreTag: '', highlightPostTag: '', diff --git a/apps/web/src/components/layout/Footer.tsx b/apps/web/src/components/layout/Footer.tsx index 7484c82..dc2c769 100644 --- a/apps/web/src/components/layout/Footer.tsx +++ b/apps/web/src/components/layout/Footer.tsx @@ -1,14 +1,15 @@ import React from 'react' -import { Icon } from '@vook-client/design-system' +import { Icon, Text } from '@vook-client/design-system' import { Hyperlink, Logo } from '../common/Common' import { flexAlignCenter, - flexEnd, footer, footerContainer, - footerLine, + footerEmail, + footerPolicy, + footerRow, inner, } from './Layout.css' @@ -27,12 +28,41 @@ export const Footer = () => (