Skip to content

Commit

Permalink
16기 공식 서류 모집 시작 (#434)
Browse files Browse the repository at this point in the history
  • Loading branch information
klmhyeonwoo authored Dec 2, 2024
2 parents 8471395 + d8313cf commit 0145cd5
Show file tree
Hide file tree
Showing 16 changed files with 250 additions and 69 deletions.
Binary file modified public/images/16th/main/reason/reason_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/images/16th/main/reason/reason_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/images/16th/main/reason/reason_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions public/sitemap-0.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url><loc>https://www.depromeet.com</loc><lastmod>2024-11-26T14:32:05.024Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://www.depromeet.com/about</loc><lastmod>2024-11-26T14:32:05.024Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://www.depromeet.com/apply</loc><lastmod>2024-11-26T14:32:05.024Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://www.depromeet.com/blog</loc><lastmod>2024-11-26T14:32:05.024Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://www.depromeet.com/project</loc><lastmod>2024-11-26T14:32:05.024Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://www.depromeet.com/recruit</loc><lastmod>2024-11-26T14:32:05.024Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://www.depromeet.com</loc><lastmod>2024-12-02T13:03:08.104Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://www.depromeet.com/about</loc><lastmod>2024-12-02T13:03:08.105Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://www.depromeet.com/apply</loc><lastmod>2024-12-02T13:03:08.105Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://www.depromeet.com/blog</loc><lastmod>2024-12-02T13:03:08.105Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://www.depromeet.com/project</loc><lastmod>2024-12-02T13:03:08.105Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://www.depromeet.com/recruit</loc><lastmod>2024-12-02T13:03:08.105Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
</urlset>
4 changes: 2 additions & 2 deletions src/components/Button/Button.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,14 @@ const buttonCss = (theme: Theme, size: ButtonSize) => css`
}
`}
/* NOTE: 16기에서는 불필요해서 사용을 하지 않았으나, 추후 사용을 위해 주석을 해제해주세요
&:hover {
background-color: ${theme.colors.blue};
}
&:active {
background-color: ${theme.colors.blue};
}
} */
&:disabled {
background-color: ${theme.colors.lightGray};
Expand Down
37 changes: 15 additions & 22 deletions src/components/GNB/GNB.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,36 +9,29 @@ import { MobileMenu } from '~/components/GNB/MobileMenu';
import { MobileMenuIcon } from '~/components/GNB/MobileMenuIcon';
import { GNB_MENU_NAME, GNBMenu } from '~/constant/gnb';
import { useDropDown } from '~/hooks/useDropdown';
import useIsInProgress from '~/hooks/useIsInProgress';
import { mediaQuery } from '~/styles/media';
import { getPathToRecruit } from '~/utils/utils';

const LOGO_IMAGE = `/images/16th/logo/depromeet.svg`;
const CURRENT_GENERATION = 16;

function NotifyButton() {
const handleClick = () => window.open('https://bit.ly/3YJgDmR');
function ApplyButton() {
const { progressState } = useIsInProgress();
const router = useRouter();
const { label, action } = getPathToRecruit(router, progressState);

return (
<Button onClick={handleClick} css={linkButtonCss}>
{CURRENT_GENERATION}기 모집 알림 신청
<Button
css={linkButtonCss}
onClick={action}
disabled={progressState === 'FINISH'}
suppressHydrationWarning
>
{label}
</Button>
);
}

// TODO: 웹 사이트 오픈 시에 주석 해제
// function ApplyButton() {
// const { isInProgress, dDay } = useIsInProgress();
// const router = useRouter();
//
// const onClick = () => {
// router.push('/apply');
// };
//
// return (
// <Button disabled={!isInProgress} css={linkButtonCss} onClick={onClick} suppressHydrationWarning>
// {isInProgress ? '16기 지원하기' : dDay < 0 ? `D${dDay}` : `지원 마감`}
// </Button>
// );
// }

const linkButtonCss = css`
height: 37px;
padding: 8px 24px 8px 24px;
Expand Down Expand Up @@ -73,7 +66,7 @@ export function GNB() {
</li>
))}
</ul>
<NotifyButton />
<ApplyButton />
</div>
</nav>
<nav css={mobileNavCss} ref={containerRef}>
Expand Down
14 changes: 8 additions & 6 deletions src/components/GNB/MobileMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,19 @@ import { m } from 'framer-motion';
import { GNB_MOBILE_MENU_NAME, GNBMenu } from '~/constant/gnb';
import useIsInProgress from '~/hooks/useIsInProgress';
import { mediaQuery } from '~/styles/media';
import { getPathToRecruit } from '~/utils/utils';

interface MobileMenuProps {
onClickMenu: () => void;
}

export function MobileMenu({ onClickMenu }: MobileMenuProps) {
const { pathname, push } = useRouter();
const { isInProgress, dDay } = useIsInProgress();
const router = useRouter();
const { progressState } = useIsInProgress();
const { label, action } = getPathToRecruit(router, progressState);

const getActiveLinkcss = (menu: GNBMenu) => {
if (pathname.startsWith(menu.href)) {
if (router.pathname.startsWith(menu.href)) {
return activeLinkCss;
}
return inActiveLinkCss;
Expand All @@ -40,12 +42,12 @@ export function MobileMenu({ onClickMenu }: MobileMenuProps) {
>
{menu.type === 'button' ? (
<button
disabled={!isInProgress}
onClick={() => push(menu.href)}
disabled={progressState === 'FINISH'}
onClick={action}
css={linkCss}
suppressHydrationWarning
>
{isInProgress ? menu.name : dDay < 0 ? `D${dDay}` : '지원 마감'}
{label}
</button>
) : (
<Link
Expand Down
2 changes: 1 addition & 1 deletion src/components/Main/RecruitTextSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export function RecruitTextSection() {
const router = useRouter();

const onButtonClick = () => {
router.push('/apply');
router.push('/recruit#apply');
};

return (
Expand Down
27 changes: 16 additions & 11 deletions src/components/Positions/PositionsItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,26 +21,26 @@ interface PositionsItemProps {
}

export function PositionsItem({ type, title, link, description, keyword }: PositionsItemProps) {
const { progressState } = useIsInProgress();

const stateLabels = {
FINISH: '지원 마감',
PREVIOUS: '모집 예정',
};
const { progressState, isInProgress } = useIsInProgress();

const renderContent = ({ state = 'default' }: { state?: 'hover' | 'default' }) => {
// FIXME: 링크 방어 코드 추후 변경
// if (!link) return null;
if (!link) return null;
if (progressState === 'IN_PROGRESS') {
return (
<Fragment>
<span> 지원하기 </span>
<Icon icon={state ? 'ic_arrow_black' : 'ic_arrow_white'} size={24} direction={'right'} />
<Icon
icon={state === 'default' ? 'ic_arrow_black' : 'ic_arrow_white'}
size={24}
direction={'right'}
/>
</Fragment>
);
} else if (progressState === 'PREVIOUS') {
return '모집 예정';
}

return stateLabels[progressState] || null;
return '모집 마감';
};

return (
Expand Down Expand Up @@ -85,7 +85,12 @@ export function PositionsItem({ type, title, link, description, keyword }: Posit
</div>
{
<div css={linkContainerCss}>
<Link css={linkCss} href={link} target="_blank">
<Link
css={linkCss}
href={isInProgress ? link : ''}
target="_blank"
onClick={e => !isInProgress && e.preventDefault()}
>
{renderContent({ state: 'hover' })}
</Link>
</div>
Expand Down
9 changes: 6 additions & 3 deletions src/constant/common.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
import { adjustToUTC } from '~/utils/utils';

export const CURRENT_GENERATION = 16;

export const IS_PRODUCTION = process.env.NODE_ENV === 'production';

export const GA_ID = process.env.NEXT_PUBLIC_GA_ID;
Expand All @@ -9,9 +13,8 @@ export const NOTION_RECRUIT_PATH =
'https://depromeet.notion.site/DEPROMEET-13th-f1e931cf073e43c4aeca44a4521b44be';

// NOTE: UTC 타임존에 맞추기 위해 9시간을 뺌
// TODO: 개발용으로 임시로 데이트 타임을 변경
export const START_DATE = '2024-12-03T14:59:59.000Z'; // 04.27 00:00
export const END_DATE = '2024-12-09T14:59:59.000Z'; // 05.04 11:59:59
export const START_DATE = adjustToUTC({ dateString: '2024-12-02T23:59:59.000Z' });
export const END_DATE = adjustToUTC({ dateString: '2024-12-09T23:59:59.000Z' });

// export const START_DATE = '2024-04-19T06:00:00.000Z'; // test
// export const END_DATE = '2025-03-04T20:00:00.000Z'; // test
Expand Down
16 changes: 10 additions & 6 deletions src/constant/gnb.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
/** NOTE
* 본래는 `href` 속셍어 /apply 속성도 있었지만, 16기에서는 불필요하여 삭제했어요.
* 개발을 진행하시면서 참고를 해주세요
*/

export type GNBMenu = {
name: '소개' | '모집 안내' | '프로젝트' | '블로그' | '지원하기' | '16기 모집 알림 신청';
href: '/about' | '/recruit' | '/project' | '/blog' | '/apply' | 'https://bit.ly/3YJgDmR';
name: '소개' | '모집 안내' | '프로젝트' | '블로그' | '지원하기';
href: '/about' | '/recruit' | '/recruit#apply' | '/project' | '/blog';
type: 'text' | 'button';
isNewTab?: boolean;
};
Expand Down Expand Up @@ -51,9 +56,8 @@ export const GNB_MOBILE_MENU_NAME: GNBMenu[] = [
type: 'text',
},
{
name: '16기 모집 알림 신청',
href: 'https://bit.ly/3YJgDmR',
type: 'text',
isNewTab: true,
name: '지원하기',
href: '/recruit#apply',
type: 'button',
},
];
112 changes: 112 additions & 0 deletions src/constant/review.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,118 @@ export type ReviewItemType = {
};

export const REVIEWS: ReviewItemType[] = [
{
name: '김현우',
group: '15기',
part: 'WEB',
summary:
'프로덕트의 시작부터 런칭까지의 플로우를 경험하는 과정을 통해 평소 생각만하던 아이디어를 디프만에서 몰입하고 실현할 수 있었어요! 디프만을 경험하고 싶으신 분들이 있다면, 절대 후회하지 않을거라고 확신해요!',
links: [
{
type: 'project',
label: '프로젝트',
url: 'https://github.com/depromeet/layer',
},
],
},
{
name: '정준원',
group: '15기',
part: 'SERVER',
summary:
'성장의 정체기나 슬럼프를 겪고 있는 분이라면, 디프만은 좋은 해결책이 될 수 있다고 생각해요. 여러분이 하는 만큼 가져갈 수 있는 게 더 많아지니까 최대한 열심히 참여해서 만족스러운 만큼 성장할 수 있으면 좋겠어요.',
links: [
{
type: 'blog',
label: '블로그 후기',
url: 'https://dev-won0313.tistory.com/entry/%F0%9F%8E%89%EB%94%94%ED%94%84%EB%A7%8C-15%EA%B8%B0-%ED%9B%84%EA%B8%B0feat%F0%9F%A5%87%EB%8C%80%EC%83%81-%F0%9F%8E%89',
},
],
},
{
name: '이서영',
group: '15기',
part: 'DESIGN',
summary:
'실무에 미숙한 대학생 입장에선 팀원들이 너무 큰 도움과 힘이 되었어요. 현업자들과 함께 프로젝트를 하며 16주 동안 많이 배우고 든든한 동료도 얻을 수 있었어요. 디프만에 들어온 게 올해 가장 잘한 선택이라고 느껴져요!',
links: [
{
type: 'project',
label: '프로젝트',
url: 'https://www.behance.net/gallery/206508371/(moring)-',
},
],
},
{
name: '조용인',
group: '15기',
part: 'iOS',
summary:
'혼자라면 시도하지 못했을 기술을 팀원들과 함께 고민하고 적용할 수 있어서 정말 즐거웠어요. 협업 속에서 성장하는 법을 배우고, 같은 목표를 향해 달려가는 든든한 동료도 얻었습니다. 디프만은 제게 최고의 경험이었어요!',
links: [
{
type: 'project',
label: '프로젝트',
url: 'https://github.com/depromeet/WalWal-iOS',
},
],
},
{
name: '박세준',
group: '15기',
part: 'SERVER',
summary:
'서버 개발자로서의 방향성을 혼자 고민하며 답을 찾지 못했을 때 디프만이 등대가 되어주었어요. 단기간 몰입하고 성장할 수 있는 최고의 동아리를 찾는다면 디프만으로.',
links: [
{
type: 'project',
label: '프로젝트',
url: 'https://github.com/depromeet/bbo-gak-server',
},
],
},
{
name: '이한음',
group: '15기',
part: 'SERVER',
summary:
'현직자 분들과 16주간 함께 프로덕트를 개발하면서 요구 사항을 빠르게 반영하고 유연하고 탄탄한 설계를 가져가는 방법을 몸소 배울 수 있었어요. 디프만은 대학생 개발자로서 할 수 있는 최고의 경험이라고 생각합니다!',
links: [
{
type: 'project',
label: '프로젝트',
url: 'https://github.com/depromeet/moring-server',
},
],
},
{
name: '조혜원',
group: '15기',
part: 'DESIGN',
summary:
'16주간 팀원들과 하나의 목표를 향해 달려가며 정말 많은걸 배웠어요. 프로덕트를 0에서 1로 만들어가는 과정을 함께하면서 몰입의 중요성을 느꼈습니다. 능력 있고 든든한 동료까지 만날 수 있었던 소중한 시간이었어요!',
links: [
{
type: 'project',
label: '프로젝트',
url: 'https://www.behance.net/gallery/207843619/BBOGAK-',
},
],
},
{
name: '이지희',
group: '15기',
part: 'iOS',
summary:
'16주간 하나의 문제를 해결하기 위해 팀원 모두가 열정을 쏟는 경험 자체가 빛난다고 생각해요. 이 과정에서 혼자라면 불가능했던 것들을 하나씩 해쳐나가면서 상호 성장의 기쁨을 느낄 수 있어요!',
links: [
{
type: 'project',
label: '프로젝트',
url: 'https://github.com/depromeet/WalWal-iOS',
},
],
},
{
name: '이상조',
group: '13기',
Expand Down
Loading

0 comments on commit 0145cd5

Please sign in to comment.