Figma 설명 프레임 반영 — 로그인·온보딩·스플래시 · HOME · GALAXY · 퀘스트·이클립스·알림

This commit is contained in:
Sn-Kinos
2026-10-06 03:03:20 +09:00
parent 64825e72b0
commit ecf5998725
77 changed files with 2703 additions and 640 deletions
+26 -2
View File
@@ -277,11 +277,25 @@ class QuestAdWarpScreen extends StatefulWidget {
State<QuestAdWarpScreen> createState() => _QuestAdWarpScreenState();
}
class _QuestAdWarpScreenState extends State<QuestAdWarpScreen> {
class _QuestAdWarpScreenState extends State<QuestAdWarpScreen>
with SingleTickerProviderStateMixin {
String _message(BuildContext context) =>
widget.message ??
(widget._after ? context.l10n.adWarpAfter : context.l10n.adWarpBefore);
/// 명세 `518:88645` — 시청 전 *광고 시청을 북돋을 수 있는 짧은 애니메이션*, 시청 후 *서비스에
/// 재몰입 할 수 있는 애니메이션*. 행성이 한 번 커지며 반 바퀴 돈다(한 번만 — 반복하지 않는다).
late final AnimationController _spin = AnimationController(
vsync: this,
duration: const Duration(milliseconds: 1200),
)..forward();
@override
void dispose() {
_spin.dispose();
super.dispose();
}
@override
void initState() {
super.initState();
@@ -307,7 +321,17 @@ class _QuestAdWarpScreenState extends State<QuestAdWarpScreen> {
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Image.asset('assets/figma/quest-warp-planet.png', width: 212, height: 212),
AnimatedBuilder(
animation: _spin,
builder: (_, child) {
final t = Curves.easeOutBack.transform(_spin.value);
return Transform.rotate(
angle: (widget._after ? -1 : 1) * (1 - _spin.value) * 3.14159,
child: Transform.scale(scale: 0.8 + 0.2 * t, child: child),
);
},
child: Image.asset('assets/figma/quest-warp-planet.png', width: 212, height: 212),
),
const SizedBox(height: 24),
// 시안은 405 폭 한 줄이라 375 화면 밖으로 잘린다 — 좌우 16 안에서 가운데 두 줄로.
// 행간은 한 줄이면 사본 값 1, 두 줄로 넘어갈 때만 1.4.