Files
pluriwave/lib/widgets/pluri_glass_surface.dart
T
FreeTLab c707fc9911
Build & Deploy Pluriwave / Análisis de código (push) Failing after 21s
Build & Deploy Pluriwave / Build APK + AAB release (push) Has been skipped
feat(ui): add premium PluriWave redesign
2026-05-20 18:42:22 +02:00

43 lines
1.1 KiB
Dart

import 'dart:ui';
import 'package:flutter/material.dart';
import '../tema/pluriwave_theme.dart';
class PluriGlassSurface extends StatelessWidget {
const PluriGlassSurface({
super.key,
required this.child,
this.padding = const EdgeInsets.all(16),
this.borderRadius,
this.blurSigma = 14,
});
final Widget child;
final EdgeInsetsGeometry padding;
final BorderRadius? borderRadius;
final double blurSigma;
@override
Widget build(BuildContext context) {
final t = context.pluriTokens;
final radius = borderRadius ?? BorderRadius.circular(t.radiusMd);
return RepaintBoundary(
child: ClipRRect(
borderRadius: radius,
child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: blurSigma, sigmaY: blurSigma),
child: DecoratedBox(
decoration: BoxDecoration(
color: t.glassSurface,
borderRadius: radius,
border: Border.all(color: t.glassBorder),
),
child: Padding(padding: padding, child: child),
),
),
),
);
}
}