Files

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);