- 홈 화면에 웹과 동일한 framer-motion 스타일 애니메이션 적용 - 멤버 화면 카드 스와이프 디자인으로 재구현 - 인스타그램 딥링크 지원 (url_launcher, AndroidManifest queries) - flutter_svg 추가로 SVG 아이콘 동적 strokeWidth 지원 - 바텀 네비게이션 아이콘 strokeWidth 웹과 동일하게 조정 - 멤버 화면 툴바 그림자 제거 및 인디케이터 그림자 최적화 - 탭 전환 시 애니메이션 재생 기능 추가 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
53 lines
1.4 KiB
Dart
53 lines
1.4 KiB
Dart
/// 앱 전역 상수 정의
|
|
library;
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
/// API 기본 URL
|
|
const String apiBaseUrl = 'https://fromis9.caadiq.co.kr/api';
|
|
|
|
/// 앱 테마 색상 (웹과 동일)
|
|
class AppColors {
|
|
// Primary 색상 (프로미스나인 팬덤 컬러)
|
|
static const Color primary = Color(0xFF548360);
|
|
static const Color primaryLight = Color(0xFF6A9A75);
|
|
static const Color primaryDark = Color(0xFF456E50);
|
|
|
|
// 배경 색상
|
|
static const Color background = Color(0xFFFAFAFA);
|
|
static const Color surface = Colors.white;
|
|
|
|
// 텍스트 색상
|
|
static const Color textPrimary = Color(0xFF1A1A1A);
|
|
static const Color textSecondary = Color(0xFF6B7280);
|
|
static const Color textTertiary = Color(0xFF9CA3AF);
|
|
|
|
// 테두리 색상
|
|
static const Color border = Color(0xFFE5E7EB);
|
|
static const Color divider = Color(0xFFF3F4F6);
|
|
}
|
|
|
|
/// 앱 텍스트 스타일
|
|
class AppTextStyles {
|
|
static const TextStyle heading1 = TextStyle(
|
|
fontSize: 24,
|
|
fontWeight: FontWeight.bold,
|
|
color: AppColors.textPrimary,
|
|
);
|
|
|
|
static const TextStyle heading2 = TextStyle(
|
|
fontSize: 20,
|
|
fontWeight: FontWeight.bold,
|
|
color: AppColors.textPrimary,
|
|
);
|
|
|
|
static const TextStyle body = TextStyle(
|
|
fontSize: 14,
|
|
color: AppColors.textPrimary,
|
|
);
|
|
|
|
static const TextStyle caption = TextStyle(
|
|
fontSize: 12,
|
|
color: AppColors.textSecondary,
|
|
);
|
|
}
|