Fix the template page

This commit is contained in:
2025-05-10 22:33:20 +02:00
parent 60bfd9481f
commit 058291fa80
7 changed files with 211 additions and 80 deletions

View File

@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:get_it/get_it.dart';
import 'package:grouped_list/grouped_list.dart';
import 'package:okane/ui/state/core.dart';
import 'package:okane/ui/utils.dart';
import 'package:okane/ui/widgets/add_template.dart';
@@ -18,29 +19,45 @@ class TemplateListState extends State<TemplateListPage> {
return BlocBuilder<CoreCubit, CoreState>(
builder: (context, state) {
final account = GetIt.I.get<CoreCubit>().activeAccount;
final nonRecurringTemplates =
state.transactionTemplates.where((t) => !t.recurring).toList();
return Stack(
children: [
Column(
children: [
Padding(
padding: EdgeInsets.only(top: 16),
child: ListView.builder(
itemCount: state.recurringTransactions.length,
shrinkWrap: true,
itemBuilder:
(ctx, idx) => ListTile(
title: Text(
state
.recurringTransactions[idx]
.template
.value!
.name,
),
),
),
CustomScrollView(
slivers: [
SliverToBoxAdapter(child: Text("Non-recurring")),
SliverList.builder(
itemCount: nonRecurringTemplates.length,
itemBuilder: (context, index) {
final template = nonRecurringTemplates[index];
return ListTile(title: Text(template.name));
},
),
SliverToBoxAdapter(child: Text("Recurring")),
SliverList.builder(
itemCount: state.recurringTransactions.length,
itemBuilder: (context, index) {
final template = state.recurringTransactions[index];
return ListTile(title: Text(template.template.value!.name));
},
),
],
),
/*Padding(
padding: EdgeInsets.only(top: 16),
child: ListView.builder(
itemCount: state.recurringTransactions.length,
shrinkWrap: true,
itemBuilder: (ctx, idx) {
print(idx);
return ListTile(
title: Text(
state.recurringTransactions[idx].template.value!.name,
),
);
},
),
),*/
Positioned(
right: 16,
bottom: 16,

View File

@@ -181,14 +181,16 @@ class TransactionDetailsPage extends StatelessWidget {
Padding(
padding: EdgeInsets.symmetric(vertical: 8),
child: Row(
children: [
state.activeTransaction!.amount > 0
? Icon(Icons.add)
: Icon(Icons.remove),
Text(formatCurrency(state.activeTransaction!.amount)),
],
),
child: Row(
children: [
state.activeTransaction!.amount > 0
? Icon(Icons.add)
: Icon(Icons.remove),
Text(
formatCurrency(state.activeTransaction!.amount),
),
],
),
),
],
),