import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';

import 'theme_extension.dart';
import 'tokens.dart';

ThemeData buildThemeData() {
  final fs = FabledSwordTheme.fromTokens();
  final colorScheme = ColorScheme.dark(
    surface: fs.iron,
    onSurface: fs.parchment,
    primary: fs.accent,
    onPrimary: fs.parchment,
    secondary: fs.moss,
    error: fs.error,
  );

  return ThemeData(
    useMaterial3: true,
    colorScheme: colorScheme,
    scaffoldBackgroundColor: fs.obsidian,
    textTheme: GoogleFonts.interTextTheme().apply(
      bodyColor: fs.parchment,
      displayColor: fs.parchment,
    ),
    fontFamily: FabledSwordTokens.fontBody,
    extensions: <ThemeExtension<dynamic>>[fs],
  );
}
