Refactor widgets, add bloc dep

Clean up widget code and update a dependency:

- Remove redundant const qualifiers and tidy widget children in several skeleton/header widgets for consistent style.
- Add super.key to TaxFormsProgressOverview, TaxFormStatusBadge, and AccountCard constructors.
- Simplify AccountCard by consolidating its constructor into a single const declaration.
- Minor fixes: adjust Image.onError parameter, reformat CircleAvatar/Icon construction in edit_profile_page.
- Add bloc ^8.1.4 to staff/authentication pubspec.

These changes are stylistic and aim to improve consistency and constructor patterns across the codebase.
This commit is contained in:
Achintha Isuru
2026-03-18 10:33:19 -04:00
parent 9ee8467632
commit 3e5b6af8dc
9 changed files with 28 additions and 28 deletions

View File

@@ -12,22 +12,22 @@ class ClientHomeHeaderSkeleton extends StatelessWidget {
Widget build(BuildContext context) {
return const UiShimmer(
child: Padding(
padding: const EdgeInsets.fromLTRB(
padding: EdgeInsets.fromLTRB(
UiConstants.space4,
UiConstants.space4,
UiConstants.space4,
UiConstants.space3,
),
child: const Row(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: const <Widget>[
const Row(
children: const <Widget>[
const UiShimmerCircle(size: UiConstants.space10),
const SizedBox(width: UiConstants.space3),
const Column(
children: <Widget>[
Row(
children: <Widget>[
UiShimmerCircle(size: UiConstants.space10),
SizedBox(width: UiConstants.space3),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: const <Widget>[
children: <Widget>[
UiShimmerLine(width: 80, height: 12),
SizedBox(height: UiConstants.space1),
UiShimmerLine(width: 120, height: 16),
@@ -35,9 +35,9 @@ class ClientHomeHeaderSkeleton extends StatelessWidget {
),
],
),
const Row(
Row(
spacing: UiConstants.space2,
children: const <Widget>[
children: <Widget>[
UiShimmerBox(width: 36, height: 36),
UiShimmerBox(width: 36, height: 36),
],

View File

@@ -12,7 +12,7 @@ class ReorderSectionSkeleton extends StatelessWidget {
Widget build(BuildContext context) {
return const Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: const <Widget>[
children: <Widget>[
UiShimmerSectionHeader(),
SizedBox(height: UiConstants.space2),
SizedBox(

View File

@@ -21,9 +21,9 @@ class MetricCardSkeleton extends StatelessWidget {
// Icon + label row
const Row(
children: <Widget>[
const UiShimmerCircle(size: UiConstants.space6),
const SizedBox(width: UiConstants.space2),
const Expanded(
UiShimmerCircle(size: UiConstants.space6),
SizedBox(width: UiConstants.space2),
Expanded(
child: UiShimmerLine(width: 60, height: 10),
),
],

View File

@@ -50,14 +50,18 @@ class _EditProfilePageState extends State<EditProfilePage> {
key: _formKey,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
children: <Widget>[
Center(
child: Stack(
children: <Widget>[
const CircleAvatar(
children: <Widget>[
const CircleAvatar(
radius: 50,
backgroundColor: UiColors.bgSecondary,
child: const Icon(UiIcons.user, size: 40, color: UiColors.primary),
child: Icon(
UiIcons.user,
size: 40,
color: UiColors.primary,
),
),
Positioned(
bottom: 0,

View File

@@ -26,6 +26,7 @@ dependencies:
path: ../../../design_system
core_localization:
path: ../../../core_localization
bloc: ^8.1.4
dev_dependencies:

View File

@@ -27,7 +27,7 @@ class LocationMapPlaceholder extends StatelessWidget {
// In a real app with keys, this would verify visually.
// For now we use a generic placeholder color/icon to avoid broken images.
fit: BoxFit.cover,
onError: (_, __) {},
onError: (_, _) {},
),
),
child: Stack(

View File

@@ -4,7 +4,7 @@ import 'package:krow_domain/krow_domain.dart';
/// Widget displaying the overall progress of tax form completion.
class TaxFormsProgressOverview extends StatelessWidget {
const TaxFormsProgressOverview({required this.forms});
const TaxFormsProgressOverview({super.key, required this.forms});
final List<TaxForm> forms;

View File

@@ -4,7 +4,7 @@ import 'package:krow_domain/krow_domain.dart';
/// Widget displaying status badge for a tax form.
class TaxFormStatusBadge extends StatelessWidget {
const TaxFormStatusBadge({required this.status});
const TaxFormStatusBadge({super.key, required this.status});
final TaxFormStatus status;

View File

@@ -3,15 +3,10 @@ import 'package:flutter/material.dart';
import 'package:krow_domain/krow_domain.dart';
class AccountCard extends StatelessWidget {
const AccountCard({super.key, required this.account, required this.strings});
final BankAccount account;
final dynamic strings;
const AccountCard({
super.key,
required this.account,
required this.strings,
});
@override
Widget build(BuildContext context) {
final bool isPrimary = account.isPrimary;