[05-Designer] #218 UX 다듬기 — RAM 게이트 문구 + 옵트아웃 표현
Round 2 QA PASS 후 user-facing 문구 3건 정리. 1) AC-6 RAM 게이트 안내: "이 단말의 RAM 이 부족합니다 (필요: 4GB 이상)" → "이 단말에서는 AI 도움을 사용할 수 없어요 (RAM 4GB 이상 필요)". Planner spec 톤과 align. "부족합니다" (비난 어조) → "사용할 수 없어요" (정보 제공 톤). 안내문 끝 마침표 제거. 2) ModelAvailability.missing 메시지가 RAM 게이트 active 상태에서 "위 토글을 켜면" 안내를 표시해 모순 발생. meetsRam=false 분기 추가 → "이 단말은 모델을 받을 수 없어요 (RAM 4GB 이상 필요)" 노출. 3) _confirmOptOut 보조 텍스트 "다시 켜면 다시 다운로드해야 합니다" → "다시 켜면 처음부터 다운로드합니다". "다시" 중복 제거 + 호흡 정리. 기능 동작 변화 0. analyze clean, 88/88 통과. Refs #218
This commit is contained in:
@@ -58,7 +58,7 @@ class _AiSection extends ConsumerWidget {
|
||||
subtitle: Text(
|
||||
meetsRam
|
||||
? 'Gemma 4 E2B 모델 ≈ 2.4GB. 모든 처리는 단말에서 일어납니다.'
|
||||
: '이 단말의 RAM 이 부족합니다 (필요: 4GB 이상).',
|
||||
: '이 단말에서는 AI 도움을 사용할 수 없어요 (RAM 4GB 이상 필요)',
|
||||
),
|
||||
value: meetsRam && optIn,
|
||||
onChanged: meetsRam
|
||||
@@ -86,7 +86,7 @@ class _AiSection extends ConsumerWidget {
|
||||
error: (e, _) => ListTile(title: Text('상태 오류: $e')),
|
||||
data: (a) => ListTile(
|
||||
title: const Text('모델 상태'),
|
||||
subtitle: Text(_describe(a)),
|
||||
subtitle: Text(_describe(a, meetsRam: meetsRam)),
|
||||
),
|
||||
),
|
||||
if (optIn && download != null)
|
||||
@@ -102,12 +102,16 @@ class _AiSection extends ConsumerWidget {
|
||||
);
|
||||
}
|
||||
|
||||
String _describe(ModelAvailability a) {
|
||||
String _describe(ModelAvailability a, {required bool meetsRam}) {
|
||||
switch (a) {
|
||||
case ModelAvailability.ready:
|
||||
return '준비 완료 — 새 습관 만들기에서 ✨ AI 제안을 쓸 수 있어요';
|
||||
case ModelAvailability.missing:
|
||||
return '아직 받지 않았어요 — 위 토글을 켜면 다운로드합니다';
|
||||
// RAM 게이트로 토글이 비활성인 상태에서 "토글을 켜면" 안내는 모순.
|
||||
// 단말 미지원 메시지를 그대로 노출해서 사용자가 다음 행동을 알 수 있게.
|
||||
return meetsRam
|
||||
? '아직 받지 않았어요 — 위 토글을 켜면 다운로드합니다'
|
||||
: '이 단말은 모델을 받을 수 없어요 (RAM 4GB 이상 필요)';
|
||||
case ModelAvailability.corrupt:
|
||||
return '파일이 손상됐어요 — 끄고 다시 켜면 새로 받습니다';
|
||||
case ModelAvailability.downloading:
|
||||
@@ -171,7 +175,7 @@ class _AiSection extends ConsumerWidget {
|
||||
),
|
||||
SizedBox(height: 4),
|
||||
Text(
|
||||
'다시 켜면 다시 다운로드해야 합니다.',
|
||||
'다시 켜면 처음부터 다운로드합니다.',
|
||||
style: TextStyle(fontSize: 13, color: Colors.grey),
|
||||
),
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user