fix: Add labels to each cubit using repositories and state properties, remove label cubits

This commit is contained in:
Anton Stubenbord
2023-04-04 20:30:25 +02:00
parent 78fbd042a6
commit a2388b014b
95 changed files with 4790 additions and 1823 deletions

View File

@@ -1,11 +1,8 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:paperless_api/paperless_api.dart';
import 'package:paperless_mobile/features/labels/cubit/label_cubit.dart';
import 'package:paperless_mobile/features/labels/cubit/providers/correspondent_bloc_provider.dart';
class CorrespondentWidget extends StatelessWidget {
final int? correspondentId;
final Correspondent? correspondent;
final void Function(int? id)? onSelected;
final Color? textColor;
final bool isClickable;
@@ -13,7 +10,7 @@ class CorrespondentWidget extends StatelessWidget {
const CorrespondentWidget({
Key? key,
required this.correspondentId,
required this.correspondent,
this.textColor,
this.isClickable = true,
this.textStyle,
@@ -22,25 +19,18 @@ class CorrespondentWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return CorrespondentBlocProvider(
child: AbsorbPointer(
absorbing: !isClickable,
child:
BlocBuilder<LabelCubit<Correspondent>, LabelState<Correspondent>>(
builder: (context, state) {
return GestureDetector(
onTap: () => onSelected?.call(correspondentId!),
child: Text(
(state.getLabel(correspondentId)?.name) ?? "-",
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: (textStyle ?? Theme.of(context).textTheme.bodyMedium)
?.copyWith(
color: textColor ?? Theme.of(context).colorScheme.primary,
),
),
);
},
return AbsorbPointer(
absorbing: !isClickable,
child: GestureDetector(
onTap: () => onSelected?.call(correspondent?.id),
child: Text(
correspondent?.name ?? "-",
maxLines: 1,
overflow: TextOverflow.ellipsis,
style:
(textStyle ?? Theme.of(context).textTheme.bodyMedium)?.copyWith(
color: textColor ?? Theme.of(context).colorScheme.primary,
),
),
),
);