앱 공통 계층 — 데이터 저장소 · 서버 시계 · 푸시 · 결제·광고 · 다국어 5종 · 행성 표현 · 공통 UI · 화면 자산
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
/// 사본 `Radio` 컴포넌트(20) — 미선택은 #2A2A2C 가는 테두리, 선택은 #D1D1D2 원 안의 어두운 점.
|
||||
///
|
||||
/// Material [Radio] 는 2px 링을 그려 사본보다 굵고 밝다. 신고 사유 · 환불 사유가 같이 쓴다.
|
||||
class AppRadio extends StatelessWidget {
|
||||
const AppRadio({super.key, required this.selected});
|
||||
|
||||
final bool selected;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => Semantics(
|
||||
checked: selected,
|
||||
inMutuallyExclusiveGroup: true,
|
||||
child: Container(
|
||||
width: 20,
|
||||
height: 20,
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
color: selected ? const Color(0xFFD1D1D2) : null,
|
||||
border: selected
|
||||
? null
|
||||
: Border.all(color: const Color(0xFF2A2A2C), width: 1.5),
|
||||
),
|
||||
child: selected
|
||||
? const DecoratedBox(
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
color: Color(0xFF141414),
|
||||
),
|
||||
child: SizedBox.square(dimension: 8),
|
||||
)
|
||||
: null,
|
||||
),
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user