feat(ui): add premium PluriWave redesign
Build & Deploy Pluriwave / Análisis de código (push) Failing after 21s
Build & Deploy Pluriwave / Build APK + AAB release (push) Has been skipped

This commit is contained in:
2026-05-20 18:42:22 +02:00
parent f95a8290ae
commit c707fc9911
30 changed files with 2218 additions and 954 deletions
+43
View File
@@ -0,0 +1,43 @@
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'pluriwave_motion.dart';
import 'pluriwave_tokens.dart';
abstract final class PluriWaveTheme {
static ThemeData dark() {
const tokens = PluriWaveTokens.dark;
final colorScheme = const ColorScheme.dark().copyWith(
primary: tokens.electricMagenta,
secondary: tokens.warmCoral,
surface: const Color(0xFF130B22),
surfaceContainerLow: const Color(0xFF1A112C),
onSurface: const Color(0xFFF4EEFF),
onPrimary: Colors.white,
);
return ThemeData(
useMaterial3: true,
colorScheme: colorScheme,
scaffoldBackgroundColor: tokens.deepViolet,
textTheme: GoogleFonts.interTextTheme(ThemeData.dark().textTheme),
extensions: const <ThemeExtension<dynamic>>[
tokens,
PluriWaveMotion.dark,
],
cardTheme: CardThemeData(
elevation: 0,
color: colorScheme.surfaceContainerLow,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(tokens.radiusMd),
),
),
);
}
}
extension PluriWaveThemeContextX on BuildContext {
PluriWaveTokens get pluriTokens => Theme.of(this).extension<PluriWaveTokens>() ?? PluriWaveTokens.dark;
PluriWaveMotion get pluriMotion => Theme.of(this).extension<PluriWaveMotion>() ?? PluriWaveMotion.dark;
}