33 lines
1.1 KiB
Dart
33 lines
1.1 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import '../../../core/theme/tokens.dart';
|
|
|
|
/// Figma 사본(F5) 글자 — 크기 · 굵기 · 색 · 줄 높이를 spec.json 값 그대로 옮긴다.
|
|
///
|
|
/// 자간은 Figma 의 -2.5% 를 기본으로 둔다(글자 크기 비례). ABeeZee 에 한글이 없어
|
|
/// 한글은 42dot Sans 로 떨어진다 — Figma 렌더와 같은 결과다.
|
|
TextStyle campaignText(
|
|
double size,
|
|
int weight,
|
|
Color color, {
|
|
double? height,
|
|
double spacing = -0.025,
|
|
String family = AppFonts.body,
|
|
}) => TextStyle(
|
|
fontFamily: family,
|
|
fontFamilyFallback: const [AppFonts.body],
|
|
fontSize: size,
|
|
fontWeight: FontWeight.values[weight ~/ 100 - 1],
|
|
height: height,
|
|
letterSpacing: size * spacing,
|
|
color: color,
|
|
);
|
|
|
|
/// 달성 배지 · 기여 게이지 · 말풍선의 청록→보라 그라디언트(Figma 이미지 채움 실측).
|
|
const campaignGradient = LinearGradient(
|
|
colors: [AppColors.cosmicTeal, Color(0xFF5A69DE)],
|
|
);
|
|
|
|
/// 작성자 아바타 자리. 캠페인 문서에 작성자 사진 필드가 없어 시안의 단색 원을 쓴다.
|
|
const campaignAvatarColor = Color(0xFFED7E7E);
|