Skip to content

[FEAT] 사진수다 검색에서 빈화면에 필터링 추가#252

Merged
jeonbinggu merged 2 commits intodevelopfrom
feat/photo-feed-search-filter(#228)
Feb 12, 2026
Merged

[FEAT] 사진수다 검색에서 빈화면에 필터링 추가#252
jeonbinggu merged 2 commits intodevelopfrom
feat/photo-feed-search-filter(#228)

Conversation

@dodaaaaam
Copy link
Contributor

@dodaaaaam dodaaaaam commented Feb 12, 2026

🔀 Pull Request Title

사진수다 검색 결과 없는 경우에도 필터링 추가

📌 PR 설명

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

  • PhotoFeedSearchPage 수정
  • PhotoCardSkeleton 수정

📷 스크린샷

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


@dodaaaaam dodaaaaam linked an issue Feb 12, 2026 that may be closed by this pull request
2 tasks
@vercel
Copy link

vercel bot commented Feb 12, 2026

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

Project Deployment Actions Updated (UTC)
finders Ready Ready Preview, Comment Feb 12, 2026 1:37pm

@dodaaaaam dodaaaaam self-assigned this Feb 12, 2026
@dodaaaaam dodaaaaam added feature 새 기능 추가 enhancement 사용성,완성도,경험 개선(기능 확장 포함) labels Feb 12, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @dodaaaaam, 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!

이 PR은 '사진수다 검색' 페이지의 사용자 경험을 개선하기 위해 검색 결과가 없어도 필터링 옵션을 항상 표시하도록 변경합니다. 또한, 로딩 스켈레톤 UI의 간격을 조정하여 시각적 일관성을 높였습니다. 이를 통해 사용자는 검색 결과 유무와 관계없이 필터 기능을 활용할 수 있습니다.

Highlights

  • 빈 검색 결과 필터링: 사진수다 검색 페이지에서 검색 결과가 없는 경우에도 필터링 옵션이 표시되도록 변경되었습니다.
  • 스켈레톤 UI 간격 조정: 로딩 중인 스켈레톤 카드들의 하단 여백이 추가되고, 전체 스켈레톤 섹션의 간격이 조정되어 시각적 일관성이 향상되었습니다.
  • 조건부 렌더링 로직 개선: 검색 결과 목록의 길이에 따른 조건부 렌더링 로직이 간소화되어, 결과 유무에 관계없이 필터 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/components/photoFeed/mainFeed/PhotoCardSkeleton.tsx
    • 사진 카드 스켈레톤의 텍스트 영역에 하단 여백을 추가했습니다.
  • src/pages/photoFeed/PhotoFeedSearchPage.tsx
    • 스켈레톤 로딩 상태에서 PhotoCardSkeleton의 간격을 조정했습니다.
    • 검색 결과의 조건부 렌더링 로직을 간소화했습니다.
    • 검색 결과가 없을 때 EmptyView가 필터 UI와 함께 올바르게 렌더링되도록 수정했습니다.
Activity
  • 이 PR에는 아직 사람의 활동(댓글, 리뷰 등)이 없습니다.
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.

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

이 PR은 사진수다 검색 결과가 없을 때도 필터링 UI를 표시하도록 로직을 변경합니다. 주요 변경 사항은 PhotoFeedSearchPage에서 검색 결과가 0개일 때의 렌더링 방식을 수정한 것입니다. 코드 리뷰 결과, 몇 가지 레이아웃 불일치 문제와 코드 개선점을 발견했습니다. 스켈레톤 UI의 간격이 실제 컴포넌트와 다르게 적용되어 있어 수정을 제안했으며, 불필요한 조건문을 제거하여 코드 가독성을 높일 것을 권장합니다.

if (isSearchPending) {
return (
<section className="columns-2 gap-4 md:columns-3 xl:columns-4">
<section className="columns-2 md:columns-3 xl:columns-4">
Copy link
Contributor

Choose a reason for hiding this comment

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

high

gap-4 클래스를 제거하면 스켈레톤 카드들의 열(column) 사이 간격이 사라져 레이아웃이 깨져 보일 수 있습니다. 실제 검색 결과와 일관된 UI를 위해 gap-4를 다시 추가하는 것을 권장합니다.

Suggested change
<section className="columns-2 md:columns-3 xl:columns-4">
<section className="columns-2 gap-4 md:columns-3 xl:columns-4">

Copy link
Contributor Author

@dodaaaaam dodaaaaam Feb 12, 2026

Choose a reason for hiding this comment

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

Masonry로 변경


{/* 텍스트 영역 */}
<div className="mt-1 w-full">
<div className="mt-1 mb-2 w-full">
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

PhotoCard 컴포넌트는 하단 마진이 없으며, 부모 컨테이너의 gap 속성으로 아이템 간의 간격이 조절됩니다. 스켈레톤 UI도 이와 일관성을 맞추기 위해 mb-2를 제거하는 것이 좋습니다. 실제 카드 목록은 gap-4(1rem)를 사용하는데, mb-2(0.5rem)는 다른 간격을 만들어냅니다.

Suggested change
<div className="mt-1 mb-2 w-full">
<div className="mt-1 w-full">

Copy link
Contributor Author

@dodaaaaam dodaaaaam Feb 12, 2026

Choose a reason for hiding this comment

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

위에 수정하면서 없앰

<PhotoCardSkeleton
key={`skeleton-${i}`}
className={heightClass}
className={`mb-2 ${heightClass}`}
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

sectiongap-4를 다시 사용한다면, 이 mb-2 클래스는 더 이상 필요하지 않습니다. 또한 이 클래스는 스켈레톤 전체가 아닌 내부 이미지 요소에 적용되어 의도치 않은 레이아웃을 유발할 수 있습니다.

Suggested change
className={`mb-2 ${heightClass}`}
className={heightClass}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

위에거 수정하면서 없앰

}

if (previewList.length > 0) {
if (previewList.length >= 0) {
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

previewList?? [] 구문을 통해 항상 배열로 존재하므로, length는 0 이상일 수밖에 없습니다. 따라서 if (previewList.length >= 0) 조건문은 항상 참이므로 불필요합니다. 조건문을 제거하고 내부 JSX를 바로 반환하여 코드를 더 명확하게 만들 수 있습니다.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

반영

Copy link
Contributor

@MlNTYS MlNTYS left a comment

Choose a reason for hiding this comment

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

PRAISE: API 콜 하는 상태 전환 로직만 한번 봐주시면 좋을 거 같아요! 수고하셨습니다~

@jeonbinggu jeonbinggu merged commit 1a72380 into develop Feb 12, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement 사용성,완성도,경험 개선(기능 확장 포함) feature 새 기능 추가

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] 사진수다 검색 empty 화면에서 필터 선택하는 기능 추가

4 participants