Open call-me-bammer opened 3 weeks ago
ics import, logout 관련 우선순위가 더 높은 작업보다 먼저 한 이유는, 앱바라서 그렇습니다.(?)
다음으로 달력 뷰, 사이드 바에 적용하고 프로필/설정 뷰에서 적용하면서 위 이슈들 처리하겠습니다.
CustomAppBar가 MainCalendar, 달력 뷰에도 적용되었습니다.
하지만 LoginScreen에서는 String을 전달하고, 달력 뷰에서는 DateTime을 줘서 centerText를 표시하므로, CustomAppBar가 dynamic 타입으로 받아서 둘 다 처리 가능하도록 했습니다.
main_calendar.dart 내부에 존재하던 CustomHeader 관련 코드를 전부 삭제하고 대체했습니다.
기존 CustomHeader 보다 높이도 낮아지고 아이콘도 조금 작아져서 어색하지만, 나중에 수정해야하면 CustomAppBar 스펙만 바꿔서 수정하겠습니다.
MainCalendar에서 호출하는 CustomSidebarModal에서도 기존의 기본 AppBar에서 CustomAppBar로 교체했습니다.
이미지 타입 위젯도 잘 처리하는 것을 확인했고, 그 동안 String 타입의 한글만 처리했는데 (Pretendard font), Text 타입으로 직접 TextStyle을 지정하여 넘겨주어 서비스 명을 표시할 영문 Rockwell font도 처리합니다.
gutter 사이즈 8.0에서 20.0으로 전달하여 자연스럽게 표현했습니다.
PreferenceView, 프로필 및 설정 페이지에도 CustomAppBar를 적용했습니다.
따로 implements PreferredSizeWidget
를 앱바에 구현해줘야,
Scaffold 위젯 아래에 바로 appbar:
요소에 사용할 수 있어서
그대로 사용할 시, 다음과 같은 에러 메시지가 뜹니다.
lib/screens/preference/preference_view.dart:150:15: Error: The argument type 'CustomAppBar' can't be assigned to the parameter type 'PreferredSizeWidget?'.
- 'CustomAppBar' is from 'package:mobile_client/common/component/custom_app_bar.dart' ('lib/common/component/custom_app_bar.dart').
- 'PreferredSizeWidget' is from 'package:flutter/src/widgets/preferred_size.dart' ('../../../development/flutter/packages/flutter/lib/src/widgets/preferred_size.dart').
appBar: CustomAppBar(),
SafeArea 처리도 안되어있어서 SingleChildScrollView 아래의 Column 상단에 넣는 구조로 바꾸면 그럴 필요가 없어서 그렇게 했습니다.
Icons.more_horiz
아이콘을 왼쪽에 넣어 놓기는 했지만,
누르면 로그아웃 옵션이 있는 팝업은 아직 없습니다.
로그아웃은 일단 중앙의 버튼으로만 가능합니다.
AppBar에 대한 코드 재사용성이 없어서, CustomAppBar 위젯을 만들어 로그인 스크린, 캘린더 뷰, 설정 페이지, 인풋 폼, 사이드 바 등에 적용합니다.
현재
/lib/common/component/
에 해당 코드를 작성하여, LoginScreen에 해당 CustomAppBar를 적용한 상태이고, 스펙은 다음과 같습니다.kToolbarHeight
를 기본으로 적용하면 높이 56이 나와서 UI 값을 적용합니다.피그마에 작성한 그럴싸한 UI 그대로가 아니더라도, 개발 / 테스트 단에서 자연스럽고 오히려 억지로 반영하는 것 같다면 피그마 수정 없이 이슈로 쌓아서 공유하겠습니다.
아래 flutter inspector로 보고 코드 단계에서는 정확히 맞습니다.
일단 로그인 스크린, 달력 뷰, 사이드바, 설정, 인풋 폼 등까지 적용하면 해당 이슈를 닫겠습니다.