Skip to content

[RELEASE] 데모데이 전용 페이지 배포#262

Merged
jeonbinggu merged 8 commits intomainfrom
develop
Feb 20, 2026
Merged

[RELEASE] 데모데이 전용 페이지 배포#262
jeonbinggu merged 8 commits intomainfrom
develop

Conversation

@jeonbinggu
Copy link
Contributor

@jeonbinggu jeonbinggu commented Feb 20, 2026

🔀 Pull Request Title

데모데이 전용 페이지 배포


🎞️ 주요 코드 설명

주제1

주제2


📌 PR 설명

이번 PR에서 어떤 작업을 했는지 요약해주세요.

  • [ ]
  • [ ]
  • [ ]

📷 스크린샷

UI 변경이 있을 경우 스크린샷을 첨부해주세요.


@vercel
Copy link

vercel bot commented Feb 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
finders Ready Ready Preview, Comment Feb 20, 2026 2:02am

@jeonbinggu jeonbinggu self-assigned this Feb 20, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @jeonbinggu, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 풀 리퀘스트는 데모데이 이벤트를 위한 전용 페이지를 배포하고, 관련 기능을 추가하는 것을 목표로 합니다. 사용자가 데모 이미지를 통해 AI 사진 복원 기능을 체험하고, 로그인 상태에 따라 적절하게 리다이렉션될 수 있도록 새로운 페이지와 유틸리티가 구현되었습니다. 또한, 기존 페이지들의 UI/UX 개선을 위한 미세 조정도 포함되어 전반적인 사용자 경험을 향상시킵니다.

Highlights

  • 데모데이 페이지 추가: 데모데이 이벤트를 위한 전용 페이지(DemoDayPage.tsx)가 새로 추가되었습니다. 이 페이지는 데모 이미지를 표시하고, 사용자가 이미지를 복원할 수 있도록 로그인 및 리다이렉션 로직을 포함합니다.
  • 데모데이 애니메이션 및 스타일: 데모데이 페이지의 시각적 효과를 위한 새로운 CSS 애니메이션(demoday-fade-in, demoday-slide-up, demoday-reveal, demoday-tint) 및 필름 스트립 스타일이 src/index.css에 추가되었습니다.
  • 로그인 후 리다이렉션 로직 개선: 로그인 후 특정 페이지로 리다이렉션하는 기능을 관리하기 위한 유틸리티(redirectAfterLogin.ts)가 추가되었으며, KakaoCallbackPage.tsx에서 이를 활용하여 데모데이 페이지로의 자동 리다이렉션을 지원합니다.
  • 검색 필터 UI/UX 개선: PhotoFeedSearchPage.tsx에서 검색 필터 선택 시 임시 상태를 사용하여 바텀 시트 내에서 필터 변경을 미리 보고, 확인 버튼 클릭 시에만 실제 필터에 적용되도록 개선되었습니다.
  • UI 간격 및 패딩 조정: FindPhotoLabPage.tsx, PostPage.tsx, ReviewPhotoLabPage.tsx 등 여러 페이지에서 UI 간격 및 하단 버튼 패딩이 조정되어 전반적인 레이아웃이 개선되었습니다.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • src/index.css
    • 데모데이 페이지에 사용될 페이드인, 슬라이드업, 리빌, 틴트 애니메이션 키프레임과 .film-strip 스타일이 추가되었습니다.
  • src/pages/auth/KakaoCallbackPage.tsx
    • 카카오 로그인 콜백 시 consumeRedirectAfterLogin 함수를 사용하여 데모데이 페이지로의 리다이렉션 로직이 추가되었습니다.
  • src/pages/demoDay/DemoDayPage.tsx
    • 데모 이미지를 표시하고, 사용자가 이미지를 복원할 수 있도록 로그인 및 리다이렉션 로직을 포함하는 새로운 데모데이 페이지 컴포넌트가 추가되었습니다.
  • src/pages/demoDay/redirectAfterLogin.ts
    • 로그인 후 특정 경로로 리다이렉션 정보를 저장하고 소비하는 setRedirectAfterLoginconsumeRedirectAfterLogin 유틸리티 함수가 추가되었습니다.
  • src/pages/photoFeed/FindPhotoLabPage.tsx
    • 하단 버튼 영역의 패딩이 safe-area-inset-bottom을 고려하여 조정되었습니다.
  • src/pages/photoFeed/PhotoFeedSearchPage.tsx
    • 검색 필터 선택 시 임시 필터 상태(tempFilter)를 도입하여 바텀 시트가 열릴 때 현재 필터 값을 저장하고, 확인 버튼 클릭 시에만 실제 필터에 적용되도록 로직이 변경되었습니다.
  • src/pages/photoFeed/PostPage.tsx
    • 게시글 상세 페이지의 상단 섹션과 하단 섹션의 간격(gap)이 조정되었고, 랩 리뷰 정보의 폰트 두께가 font-semibold에서 font-medium으로 변경되었습니다.
    • 최상위 divpt-[1rem] 패딩이 제거되었습니다.
  • src/pages/photoFeed/ReviewPhotoLabPage.tsx
    • 하단 버튼 영역의 패딩이 safe-area-inset-bottom을 고려하여 조정되었습니다.
  • src/router/Router.tsx
    • /demo-day 경로에 DemoDayPage 컴포넌트가 추가되었습니다.
Activity
  • 활동 내역이 없습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@jeonbinggu jeonbinggu merged commit 7a1b134 into main Feb 20, 2026
2 checks passed
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request introduces a new Demo Day page with animations and functionality for photo restoration, including a redirect mechanism after login. It also includes minor UI adjustments to existing pages, primarily related to button positioning and spacing. The new features appear well-implemented, and the UI changes address potential layout issues on different devices. I've identified a few areas for improvement regarding code clarity and consistency, particularly with magic numbers and animation delays.

}

.animate-demoday-fade-in {
animation: demoday-fade-in 0.6s ease-out both;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Consider defining 0.6s as a CSS variable for better maintainability and consistency if this duration is used elsewhere or might change in the future. This makes it easier to update animation durations across the application.

Suggested change
animation: demoday-fade-in 0.6s ease-out both;
animation: demoday-fade-in var(--demoday-fade-in-duration, 0.6s) ease-out both;

}

.animate-demoday-slide-up {
animation: demoday-slide-up 0.5s ease-out both;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Similar to the fade-in animation, 0.5s could be a CSS variable to centralize animation duration values.

Suggested change
animation: demoday-slide-up 0.5s ease-out both;
animation: demoday-slide-up var(--demoday-slide-up-duration, 0.5s) ease-out both;

}

.animate-demoday-reveal {
animation: demoday-reveal 1.8s ease-out both;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The 1.8s duration for demoday-reveal could also benefit from being a CSS variable.

Suggested change
animation: demoday-reveal 1.8s ease-out both;
animation: demoday-reveal var(--demoday-reveal-duration, 1.8s) ease-out both;

}

.animate-demoday-tint {
animation: demoday-tint 2.4s ease-out both;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The 2.4s duration for demoday-tint should also be considered for a CSS variable.

Suggested change
animation: demoday-tint 2.4s ease-out both;
animation: demoday-tint var(--demoday-tint-duration, 2.4s) ease-out both;

Comment on lines +36 to +39
onExistingMember: () => {
// DEMO-DAY: 원래는 navigate("/mainpage", { replace: true })
const redirect = consumeRedirectAfterLogin();
navigate(redirect ?? "/mainpage", { replace: true });
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The comment // DEMO-DAY: 원래는 navigate("/mainpage", { replace: true }) is helpful for understanding the change, but it's generally better to remove such comments after the feature is stable to keep the codebase clean. If the original behavior needs to be referenced, consider documenting it in a more permanent place like a design document or a more general code comment explaining the conditional navigation.

<div className="flex flex-col gap-4">
{/** 게시글 제목 및 내용 */}
<div className="flex flex-col gap-2">
<div className="flex flex-col gap-1">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Changing gap-2 to gap-1 (which is 0.25rem) for the post title and content might reduce the visual separation more than intended. Verify this adjustment against the design.

className="bg-neutral-875 border-neutral-850 flex flex-col gap-1 rounded-2xl border px-5 py-4 text-left text-neutral-500"
>
<div className="gap-2">
<div className="flex flex-col gap-1.5">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Changing gap-2 to gap-1.5 (which is 0.375rem) for the lab review section might alter the spacing between elements. Confirm this is the desired layout.

<div className="flex items-center gap-2">
<HomeIcon className="h-4 w-4 font-semibold" />
<p className="text-[1rem] font-semibold text-neutral-200">
<p className="text-[1rem] font-medium text-neutral-200">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Changing font-semibold to font-medium for the lab name text might make it less prominent. Ensure this change is intentional and matches the desired visual hierarchy.


return (
<div className="mx-auto min-h-dvh w-full max-w-[23.4375rem] pt-[1rem]">
<div className="mx-auto min-h-dvh w-full max-w-[23.4375rem]">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Removing pt-[1rem] from the main container might affect the top padding of the page content. If this was intended to remove extra space, ensure it doesn't negatively impact the layout on different screen sizes or when the header is present.

</div>

<div className="fixed right-0 bottom-0 left-0 flex justify-center px-5 py-5">
<div className="fixed right-0 bottom-0 left-0 flex justify-center px-5 py-5 pb-[calc(1.25rem+env(safe-area-inset-bottom,2.125rem))]">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The pb-[calc(1.25rem+env(safe-area-inset-bottom,2.125rem))] class is a long and complex TailwindCSS class. Consider extracting this into a custom CSS utility class or a Tailwind plugin if it's reused across multiple components. This improves readability and reduces repetition in the JSX.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants