Skip to content

Commit

Permalink
Preserve state and fix UI (#69)
Browse files Browse the repository at this point in the history
* Fix UI Issue

* Preserve state

* Reformat files
  • Loading branch information
cp-sneha-s authored Mar 11, 2024
1 parent d845ed7 commit 1969123
Show file tree
Hide file tree
Showing 10 changed files with 466 additions and 447 deletions.
481 changes: 253 additions & 228 deletions lib/app_router.dart

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions lib/data/configs/theme.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ class AppTheme {

static DaysOfWeekStyle daysOfWeekStyle(BuildContext context) =>
DaysOfWeekStyle(
weekdayStyle: AppTextStyle.style16.copyWith(
weekdayStyle: AppTextStyle.style14.copyWith(
color: context.colorScheme.textPrimary,
fontWeight: FontWeight.w600),
weekendStyle: AppTextStyle.style16.copyWith(
weekendStyle: AppTextStyle.style14.copyWith(
color: context.colorScheme.textDisable,
fontWeight: FontWeight.w600),
);
Expand Down
5 changes: 1 addition & 4 deletions lib/data/core/extensions/widget_extension.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,7 @@ extension GestureExtension on Widget {
child: Material(
borderRadius: BorderRadius.circular(12),
color: Colors.transparent,
child: Container(
padding: const EdgeInsets.all(10),
decoration: BoxDecoration(borderRadius: BorderRadius.circular(12)),
child: this),
child: this,
),
);
}
Expand Down
40 changes: 19 additions & 21 deletions lib/ui/admin/leaves/leave_screen/widget/admin_leaves_filter.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:go_router/go_router.dart';
import 'package:projectunity/data/core/extensions/context_extension.dart';
import 'package:projectunity/data/core/extensions/widget_extension.dart';
import 'package:projectunity/data/provider/user_state.dart';
import 'package:projectunity/style/app_text_style.dart';
import 'package:projectunity/ui/widget/bottom_sheet_top_divider.dart';
Expand Down Expand Up @@ -145,27 +146,24 @@ class SearchEmployeeShowAllMemberLeaveButton extends StatelessWidget {

@override
Widget build(BuildContext context) {
return InkWell(
onTap: () {
if (employeeIsSelected) {
context.read<AdminLeavesBloc>().add(FetchLeavesInitialEvent());
}
context.pop();
},
child: Padding(
padding: const EdgeInsets.all(8),
child: Row(
children: [
SpaceLogoView(
spaceLogoUrl: getIt<UserStateNotifier>().currentSpace?.logo),
const SizedBox(width: 20),
Text(context.l10n.all_tag,
style: AppTextStyle.style16
.copyWith(color: context.colorScheme.textPrimary),
overflow: TextOverflow.ellipsis),
],
),
return Padding(
padding: const EdgeInsets.all(8),
child: Row(
children: [
SpaceLogoView(
spaceLogoUrl: getIt<UserStateNotifier>().currentSpace?.logo),
const SizedBox(width: 20),
Text(context.l10n.all_tag,
style: AppTextStyle.style16
.copyWith(color: context.colorScheme.textPrimary),
overflow: TextOverflow.ellipsis),
],
),
);
).onTapGesture(() {
if (employeeIsSelected) {
context.read<AdminLeavesBloc>().add(FetchLeavesInitialEvent());
}
context.pop();
});
}
}
51 changes: 28 additions & 23 deletions lib/ui/admin/members/list/member_list_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ class HeaderDelegate extends SliverPersistentHeaderDelegate {
}

@override
double get maxExtent => 60;
double get maxExtent => 100;

@override
double get minExtent => 60;
Expand Down Expand Up @@ -137,31 +137,34 @@ class MembersTile extends StatelessWidget {
pinned: true,
delegate: HeaderDelegate(
child: Container(
padding: const EdgeInsets.all(16),
margin: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
decoration: BoxDecoration(
color: context.colorScheme.surface,
color: context.colorScheme.containerLow,
borderRadius: BorderRadius.circular(12)),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
title,
style: AppTextStyle.style20.copyWith(
child: Padding(
padding:
const EdgeInsets.symmetric(horizontal: 16.0, vertical: 8),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
title,
style: AppTextStyle.style20.copyWith(
color: isExpanded
? context.colorScheme.primary
: context.colorScheme.textPrimary),
),
Icon(
Icons.arrow_drop_down,
color: isExpanded
? context.colorScheme.primary
: context.colorScheme.textPrimary),
),
Icon(
Icons.arrow_drop_down,
color: isExpanded
? context.colorScheme.primary
: context.colorScheme.textPrimary,
)
],
),
).onTapGesture(() {
context.read<AdminMembersBloc>().add(ExpansionChangeEvent(index));
}))),
: context.colorScheme.textPrimary,
)
],
)).onTapGesture(() {
context.read<AdminMembersBloc>().add(ExpansionChangeEvent(index));
}),
))),
if (isExpanded)
SliverPadding(
padding: const EdgeInsets.all(16),
Expand All @@ -184,7 +187,9 @@ class MembersTile extends StatelessWidget {
extra: employee.uid),
);
},
separatorBuilder: (context, index) => const Divider()))
separatorBuilder: (context, index) => Divider(
color: context.colorScheme.outlineColor,
)))
]);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,37 +27,36 @@ class UserProfileCard extends StatelessWidget {
const SizedBox(
height: 20,
),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
ImageProfile(
backgroundColor: context.colorScheme.surface,
imageUrl: currentEmployee.imageUrl,
radius: 24,
),
const SizedBox(width: 10),
Expanded(
child: Text(
currentEmployee.name,
style: AppTextStyle.style20
.copyWith(color: context.colorScheme.textPrimary),
overflow: TextOverflow.ellipsis,
),
),
Icon(
Icons.arrow_forward_ios_rounded,
color: context.colorScheme.primary,
size: 15,
),
],
).onTapGesture(() {
Padding(
padding: const EdgeInsets.all(12.0),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
ImageProfile(
backgroundColor: context.colorScheme.surface,
imageUrl: currentEmployee.imageUrl,
radius: 24,
),
const SizedBox(width: 10),
Expanded(
child: Text(
currentEmployee.name,
style: AppTextStyle.style20
.copyWith(color: context.colorScheme.textPrimary),
overflow: TextOverflow.ellipsis,
),
),
Icon(
Icons.arrow_forward_ios_rounded,
color: context.colorScheme.primary,
size: 15,
),
],
)).onTapGesture(() {
context.pop();
context
.goNamed(isAdminOrHr ? Routes.adminProfile : Routes.userProfile);
}),
const SizedBox(
height: 20,
),
const Divider(),
],
);
Expand Down
6 changes: 3 additions & 3 deletions lib/ui/user/home/home_screen/user_home_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ class _UserHomeScreenState extends State<UserHomeScreen> {
padding:
const EdgeInsets.only(top: 16, bottom: 16),
child: Text(locale.request_tag,
style: Theme.of(context)
.textTheme
.headlineSmall),
style: AppTextStyle.style20.copyWith(
fontWeight: FontWeight.w600,
color: context.colorScheme.textPrimary)),
),
ListView.separated(
physics: const NeverScrollableScrollPhysics(),
Expand Down
88 changes: 43 additions & 45 deletions lib/ui/widget/employee_card.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import 'package:flutter/material.dart';
import 'package:projectunity/data/core/extensions/context_extension.dart';
import 'package:projectunity/data/core/extensions/string_extension.dart';
import 'package:projectunity/data/core/extensions/widget_extension.dart';
import 'package:projectunity/style/app_text_style.dart';
import 'package:projectunity/ui/widget/user_profile_image.dart';
import 'package:projectunity/ui/widget/widget_validation.dart';
import '../../data/configs/space_constant.dart';
import '../../data/configs/theme.dart';
import '../../data/model/employee/employee.dart';

class EmployeeCard extends StatelessWidget {
Expand All @@ -16,51 +16,49 @@ class EmployeeCard extends StatelessWidget {

@override
Widget build(BuildContext context) {
return InkWell(
borderRadius: AppTheme.commonBorderRadius,
onTap: onTap,
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: primaryVerticalSpacing, vertical: primaryHalfSpacing),
child: Row(
children: [
ImageProfile(
imageUrl: employee.imageUrl,
radius: 25,
),
const SizedBox(
width: primaryHorizontalSpacing,
),
Flexible(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(employee.name,
style: employee.status == EmployeeStatus.inactive
? AppTextStyle.style18.copyWith(
color: context.colorScheme.textSecondary)
: AppTextStyle.style18.copyWith(
color: context.colorScheme.textPrimary,
height: 1.5),
overflow: TextOverflow.ellipsis,
maxLines: 1),
ValidateWidget(
isValid: employee.designation.isNotNullOrEmpty,
child: Padding(
padding: const EdgeInsets.only(top: 2),
child: Text(employee.designation ?? "",
style: AppTextStyle.style14.copyWith(
color: context.colorScheme.textSecondary),
overflow: TextOverflow.ellipsis,
maxLines: 1),
),
return Padding(
padding: const EdgeInsets.symmetric(
horizontal: primaryVerticalSpacing, vertical: primaryHalfSpacing),
child: Row(
children: [
ImageProfile(
imageUrl: employee.imageUrl,
radius: 25,
),
const SizedBox(
width: primaryHorizontalSpacing,
),
Flexible(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(employee.name,
style: employee.status == EmployeeStatus.inactive
? AppTextStyle.style18
.copyWith(color: context.colorScheme.textSecondary)
: AppTextStyle.style18.copyWith(
color: context.colorScheme.textPrimary,
height: 1.5),
overflow: TextOverflow.ellipsis,
maxLines: 1),
ValidateWidget(
isValid: employee.designation.isNotNullOrEmpty,
child: Padding(
padding: const EdgeInsets.only(top: 2),
child: Text(employee.designation ?? "",
style: AppTextStyle.style14
.copyWith(color: context.colorScheme.textSecondary),
overflow: TextOverflow.ellipsis,
maxLines: 1),
),
],
),
)
],
),
),
],
),
)
],
),
);
).onTapGesture(() {
onTap?.call();
});
}
}
Loading

0 comments on commit 1969123

Please sign in to comment.