Initial commit

This commit is contained in:
admin1
2026-07-14 11:11:36 +08:00
commit 656499cf94
604 changed files with 119518 additions and 0 deletions
@@ -0,0 +1,88 @@
import 'package:flutter/material.dart';
import 'package:forui/forui.dart';
import '../../../shared/constants/breakpoints.dart';
import '../../../shared/widgets/frosted_panel.dart';
class SectionContainer extends StatelessWidget {
final String title;
final Widget child;
final bool embedded;
final bool leadingDivider;
final Widget? leading;
const SectionContainer({
super.key,
required this.title,
required this.child,
this.embedded = false,
this.leadingDivider = false,
this.leading,
});
static double hPadOf(BuildContext context) =>
MediaQuery.sizeOf(context).width < Breakpoints.detail ? 16.0 : 32.0;
@override
Widget build(BuildContext context) {
final hPad = embedded ? 0.0 : hPadOf(context);
final innerPad = embedded ? 0.0 : hPadOf(context);
final compact = MediaQuery.sizeOf(context).width < Breakpoints.compact;
final content = Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: EdgeInsets.fromLTRB(
innerPad,
0,
innerPad,
compact ? 12 : 16,
),
child: Text(
title,
style: TextStyle(
fontSize: compact ? 17 : 20,
fontWeight: FontWeight.w600,
color: Colors.white.withValues(alpha: 0.9),
),
),
),
child,
],
);
if (embedded) {
if (leading != null) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [leading!, content],
);
}
if (leadingDivider) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const FDivider(style: .delta(color: Color(0x1AFFFFFF), padding: .value(EdgeInsets.symmetric(vertical: 24)))),
content,
],
);
}
return content;
}
return Padding(
padding: EdgeInsets.symmetric(horizontal: hPad),
child: FrostedPanel(
radius: 16,
padding: EdgeInsets.symmetric(vertical: hPad),
blurSigma: 15,
border: Border.all(color: Colors.white.withValues(alpha: 0.08)),
color: Colors.black.withValues(alpha: 0.3),
child: content,
),
);
}
}