프로필 꾸미기 미리보기 테두리/체험 버튼 추가, 확인 버튼 엔터 지원, 비밀번호 홀드 보기 추가
- 프로필 꾸미기: 미리보기 중인 큰 타일의 테두리도 테마 색으로 바뀌게 수정, 미구매 템플릿에 "체험하기" 버튼을 따로 둬서 사기 전에도 눌러볼 수 있게 함 - 앱 전반의 확인/삭제/저장 같은 다이얼로그 기본 액션 버튼에 autofocus를 줘서 엔터 키로도 눌리게 함 (텍스트 입력이 있는 다이얼로그는 입력창 쪽에 autofocus + onSubmitted를 달아 입력 중 바로 엔터로 제출되게 처리) - HoldToRevealPasswordField 위젯 추가 - 눈 아이콘을 누르고 있는 동안만 비밀번호가 평문으로 보임. 로그인/간편인증/초기 비밀번호 변경 화면에 적용
This commit is contained in:
@@ -295,7 +295,10 @@ class _CategoryTile extends StatelessWidget {
|
||||
)
|
||||
: null,
|
||||
border: Border.all(
|
||||
color: selected ? AppPalette.ink : AppPalette.sage,
|
||||
color: hasPreview
|
||||
? previewSecondary!
|
||||
: (selected ? AppPalette.ink : AppPalette.sage),
|
||||
width: hasPreview ? 2 : 1,
|
||||
),
|
||||
),
|
||||
child: Column(
|
||||
@@ -517,23 +520,38 @@ class _TemplateTile extends StatelessWidget {
|
||||
style: TextStyle(fontSize: 12, color: Colors.grey[600]),
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
SizedBox(
|
||||
width: double.infinity,
|
||||
child: template.equipped
|
||||
? OutlinedButton(
|
||||
onPressed: null,
|
||||
style: OutlinedButton.styleFrom(
|
||||
foregroundColor: AppPalette.approved,
|
||||
side: const BorderSide(color: AppPalette.approved),
|
||||
),
|
||||
child: const Text('장착중'),
|
||||
)
|
||||
: template.owned
|
||||
? OutlinedButton(
|
||||
onPressed: onEquip,
|
||||
child: const Text('장착하기'),
|
||||
)
|
||||
: ElevatedButton(
|
||||
if (template.equipped)
|
||||
SizedBox(
|
||||
width: double.infinity,
|
||||
child: OutlinedButton(
|
||||
onPressed: null,
|
||||
style: OutlinedButton.styleFrom(
|
||||
foregroundColor: AppPalette.approved,
|
||||
side: const BorderSide(color: AppPalette.approved),
|
||||
),
|
||||
child: const Text('장착중'),
|
||||
),
|
||||
)
|
||||
else if (template.owned)
|
||||
SizedBox(
|
||||
width: double.infinity,
|
||||
child: OutlinedButton(
|
||||
onPressed: onEquip,
|
||||
child: const Text('장착하기'),
|
||||
),
|
||||
)
|
||||
else
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: OutlinedButton(
|
||||
onPressed: onPreview,
|
||||
child: const Text('체험하기'),
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 8),
|
||||
Expanded(
|
||||
child: ElevatedButton(
|
||||
onPressed: canAfford ? onPurchase : null,
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: AppPalette.ink,
|
||||
@@ -542,7 +560,9 @@ class _TemplateTile extends StatelessWidget {
|
||||
),
|
||||
child: const Text('구매하기'),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user