Frontend first draft

This commit is contained in:
Arseni
2025-11-13 15:06:15 +03:00
parent e47f343afb
commit ddb54ddfdc
504 changed files with 25498 additions and 1 deletions

View File

@@ -0,0 +1,51 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:pweb/pages/payment_page/wallet/edit/buttons/send.dart';
import 'package:pweb/pages/payment_page/wallet/edit/buttons/top_up.dart';
import 'package:pweb/providers/wallets.dart';
import 'package:pweb/utils/dimensions.dart';
class ButtonsWalletWidget extends StatelessWidget {
const ButtonsWalletWidget({super.key});
@override
Widget build(BuildContext context) {
final provider = context.watch<WalletsProvider>();
final wallet = provider.wallets?.first;
if (wallet == null) return const SizedBox.shrink();
final dimensions = AppDimensions();
return Container(
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.surfaceBright,
borderRadius: BorderRadius.circular(dimensions.borderRadiusSmall),
boxShadow: [
BoxShadow(
color: Theme.of(context).colorScheme.primary.withAlpha(50),
blurRadius: 4,
offset: const Offset(0, 2),
),
],
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Expanded(
child: SendPayoutButton(),
),
VerticalDivider(
color: Theme.of(context).colorScheme.primary,
thickness: 1,
width: 10,
),
Expanded(
child: TopUpButton(),
),
],
),
);
}
}

View File

@@ -0,0 +1,52 @@
import 'package:flutter/material.dart';
import 'package:pweb/models/wallet.dart';
import 'package:pweb/utils/dimensions.dart';
class SaveWalletButton extends StatelessWidget {
final Wallet wallet;
final TextEditingController nameController;
final TextEditingController balanceController;
final VoidCallback onSave; // Changed to VoidCallback
const SaveWalletButton({
super.key,
required this.wallet,
required this.nameController,
required this.balanceController,
required this.onSave, // Now matches _saveWallet signature
});
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
final dimensions = AppDimensions();
return Center(
child: SizedBox(
width: dimensions.buttonWidth,
height: dimensions.buttonHeight,
child: InkWell(
borderRadius: BorderRadius.circular(dimensions.borderRadiusSmall),
onTap: onSave, // Directly use onSave now
child: Container(
decoration: BoxDecoration(
color: theme.colorScheme.primary,
borderRadius: BorderRadius.circular(dimensions.borderRadiusSmall),
),
child: Center(
child: Text(
'Save',
style: theme.textTheme.bodyLarge?.copyWith(
color: theme.colorScheme.onSecondary,
fontWeight: FontWeight.w600,
),
),
),
),
),
),
);
}
}

View File

@@ -0,0 +1,29 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:pweb/models/wallet.dart';
import 'package:pweb/providers/wallets.dart';
class SendPayoutButton extends StatelessWidget {
const SendPayoutButton({
super.key,
});
@override
Widget build(BuildContext context) {
return ElevatedButton(
style: ElevatedButton.styleFrom(
shadowColor: null,
elevation: 0,
),
onPressed: () => ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text('Add functionality')),
),
child: Text('Send Payout'),
);
}
}

View File

@@ -0,0 +1,22 @@
import 'package:flutter/material.dart';
class TopUpButton extends StatelessWidget{
const TopUpButton({super.key});
@override
Widget build(BuildContext context) {
return ElevatedButton(
style: ElevatedButton.styleFrom(
shadowColor: null,
elevation: 0,
),
onPressed: () {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Add functionality')),
);
},
child: Text('Top Up Balance'),
);
}
}