feat: 홈을 오늘·공지·바로가기 중심으로 재구성 - #307
Merged
Merged
Conversation
목록을 읽기 전에 오늘 상태부터 알리도록 첫 문장을 둔다. 0 인 항목은 문장에서 빼고 둘 다 없으면 "오늘은 일정이 없어요" 로 바꾼다 — "수업 0개, 공지 0개" 는 읽는 사람에게 아무것도 알려주지 않는다. 오늘 카드 - `오늘` 제목과 `시간표 ›` 헤더를 없앴다. 수업 칸 자체가 시간표로 가는 링크이고 우측 셰브런만 그 사실을 알린다. 제목 줄이 빠져 카드가 한 뼘 짧아진다 - 수업과 학식을 좌우로 넘긴다. BouncingScrollPhysics 라 넘길 게 하나뿐이어도 끌리고 튕겨 돌아온다. 넘길 곳이라는 것과 넘길 게 없다는 것을 함께 알려주므로 안내 문구를 따로 두지 않았다 - 학식 제목은 넘긴 날짜를 따라간다. 서버가 dayOfWeek 를 주므로 요일을 계산하지 않는다 - 대표 메뉴를 뽑지 않고 전부 같은 무게로 나열한다. 어떤 메뉴가 앞에 올지 데이터가 보장하지 않아 밥이나 김치가 대표로 보일 수 있다 광고를 세로 250 네이티브에서 가로 배너로 바꿨다. 공지와 바로가기 사이를 크게 가르던 것이 목록 흐름을 끊었다. 광고가 안 붙으면 아무것도 그리지 않는다. 인기 모집은 게시판과 함께 홈에서 뺐다. 안 쓰이게 된 home_today, home_new_notice, home_popular_recruits 를 지웠다. 공지 앞의 점은 읽음 여부 자리다. HomeNotice 응답에 공지 id 가 없어 로컬 읽음 기록과 대조할 수 없으므로 지금은 전부 안 읽음으로 둔다. 백엔드에서 id 가 내려오면 isUnread 만 채우면 된다.
고정 AdSize.banner 도 지원되지만 구글이 권하는 방식이 아니다. 폭이 390~430 인 요즘 기기에서 320 고정이면 양옆에 70~110 이 빈 채 남는다. 기기 폭을 넘기면 그에 맞는 높이를 돌려주므로 폭을 꽉 채운다. adaptive 크기를 구하려면 화면 폭이 필요해 로딩 시작을 initState 에서 didChangeDependencies 로 옮기고 한 번만 돌게 막았다. 기기가 크기를 못 주면 표준 배너로 떨어진다.
홈 공지는 서버에서 세 건으로 잘려 오고(searchHomeNotices 의 limit(3)) 읽음 여부도 알 수 없어, 그 길이를 "새 공지 N개" 로 쓰면 매일 3개가 뜬다. 공지 수를 빼고 수업만 센다. 안 읽은 공지를 셀 수 있게 되면 그때 넘긴다. gray7 == background 로 빈 상태를 흐리게 하려 했으나 gray7 을 넘기는 곳이 없어 항상 검정이었다. isMuted 로 명시한다. 그 밖에 - 바로가기 배경색을 ColorStyles.mintBg / amberBg 로 바꾼다 - prefer_const_constructors 에 걸리던 TextStyle 세 곳에 const 를 붙인다
rdyjun
force-pushed
the
feat/home-redesign
branch
from
September 5, 2026 05:11
61400b0 to
6103977
Compare
재구성하면서 HomeToday 의 일정 카드가 빠져 homeEntity.schedule 을 아무도 읽지 않게 됐다. 특히 비회원은 학사 일정을 볼 곳이 없어졌다. 바로가기의 학사일정은 링크일 뿐 내용을 보여주지 않는다. 수업과 학식 사이에 일정 덱을 넣는다. 표기는 기존 HomeToday 를 따른다. - 학사 일정은 시각 대신 "학사", 개인 일정은 시작 시각 - 비회원에게는 개인 일정이 없으므로 학사 일정만 남긴다 - 칸을 누르면 일정 화면으로 간다
수업·일정은 내 것이고 학식은 학교 것이라 한 장에 묶으면 카드가 무슨 카드인지 흐려진다. 오늘 카드는 수업과 일정만 담고, 학식은 공지 위에 자기 제목을 단 구획으로 세운다. - HomeMealSection 신설. 제목의 날짜가 넘긴 쪽을 따라 바뀌므로 구획이 스스로 상태를 든다. 다른 구획과 같은 largeTextBold 제목을 쓴다 - 두 카드가 같이 쓰는 줄을 HomeTodayRow 로 뽑는다 - 학식이 빠지면서 HomeTodayCard 는 훅도 프로바이더도 필요 없어져 StatelessWidget 이 된다 - 인사말을 수업 + 일정으로 센다. 공지는 서버에서 세 건으로 잘려 와 세면 매일 "새 공지 3개" 가 뜨므로 넣지 않는다
두 구획이 gray1 채움에 같은 줄 위젯, 같은 높이라 스크롤하면 같은 카드가 두 번 나오는 것처럼 보였다. - 면을 amberBg 로 바꾼다. 오늘 카드가 회색이라 곧바로 갈린다 - 40x40 이모지 타일을 뺀다. 구획 제목이 이미 학식이라 타일이 같은 말을 한 번 더 하고 있었고, 홈에서 타일 반복이 셋에서 둘로 준다 - 메뉴를 흰 칩으로 편다. 한 줄에 밀어 넣으면 읽어야 할 덩어리가 된다 - 덱 높이 68 -> 92. 오늘 카드와 비율도 갈린다 - 불러오는 중·실패·자료 없음은 펼칠 메뉴가 없으니 중립 회색 낮은 칸 서버 구분자를 확정할 수 없어 쓰일 만한 기호를 모두 끊고, 끊을 곳이 없는 문장(주말·휴일 안내)은 칩으로 만들지 않는다. 반찬이 아주 많은 날은 칩이 세 줄을 넘길 수 있어 ClipRect 로 잘라 낸다. PageView 는 장마다 높이를 달리 줄 수 없다. 새 색은 쓰지 않았다. amberBg 는 원래 이 구획 이모지 타일 배경이었다.
This was referenced Sep 6, 2026
캠퍼스에서 만든 MealDeck 을 홈도 그대로 쓴다. 두 화면이 같은 모양으로 읽히고 같이 좌우로 넘어간다. 홈에서만 요일을 못 넘기게 두면 예전에 되던 것이 안 되는 셈이라 회귀다. 다른 것은 그릇뿐이다. 홈은 채운 면 대신 왼쪽 세로선을 쓴다 — 바로 위 오늘 카드가 이미 둥근 회색 면이라, 학식까지 면을 깔면 색만 다른 같은 덩어리 둘이 붙어 있게 된다. 앰버 면과 흰 칩으로 갈라 보려 했던 것을 걷어냈다. 겹치는 이유가 색이 아니라 구조여서 색으로는 갈라지지 않는다. SwipeDeck 을 core/presentation/components 로 옮겼다. 홈 오늘 카드와 캠퍼스 학식이 같이 쓰는데 presentation/home/widgets 에 두면 캠퍼스가 홈 안쪽을 들여다보게 된다.
rdyjun
force-pushed
the
feat/home-redesign
branch
from
September 6, 2026 02:52
95c86fa to
4de39ca
Compare
This was referenced Sep 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #306. base는 feat/campus-tab이며 #306을 먼저 병합합니다.
홈을 인사말·수업과 학식·새로운 공지·바로가기 중심으로 재배치했습니다. 기존 홈·학식 API와 ViewModel의 데이터를 그대로 사용합니다.
변경 파일은 lib/presentation/home 내부에만 있습니다. 공통 컴포넌트·시간 포맷 유틸 추출, API·Repository·UseCase·ViewModel 변경, 새 광고 컴포넌트, CI 및 의존성 변경은 포함하지 않습니다.
검증: 커밋
e8a461e의 iOS release 빌드가 성공했고 분석 로그의 error는 0개입니다. git diff --check와 변경 Dart 파일의 프로젝트 내부 import 검사도 통과했습니다. #306 대비 home presentation 외의 변경이 없음을 확인했습니다. 로컬 Flutter SDK가 없어 기기에서 화면 동작을 실행해 확인하지는 못했습니다.