mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-08-25 14:39:41 +00:00
SP-1972-delete-space-reworks (#368)
<!-- Thanks for contributing! Provide a description of your changes below and a general summary in the title Please look at the following checklist to ensure that your PR can be accepted quickly: --> ## Jira Ticket [SP-1972](https://syncrow.atlassian.net/browse/SP-1972) ## Description Enhanced UI design of delete space feature. ## Type of Change <!--- Put an `x` in all the boxes that apply: --> - [ ] ✨ New feature (non-breaking change which adds functionality) - [ x ] 🛠️ Bug fix (non-breaking change which fixes an issue) - [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change) - [ ] 🧹 Code refactor - [ ] ✅ Build configuration change - [ ] 📝 Documentation - [ ] 🗑️ Chore [SP-1972]: https://syncrow.atlassian.net/browse/SP-1972?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
This commit is contained in:
@ -1,23 +1,20 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
abstract class ColorsManager {
|
||||
abstract final class ColorsManager {
|
||||
const ColorsManager._();
|
||||
|
||||
static const Color textPrimaryColor = Color(0xFF5D5D5D);
|
||||
static const Color switchOffColor = Color(0x7F8D99AE);
|
||||
static const Color primaryColor = Color(0xFF0030CB); //023DFE
|
||||
static const Color primaryColor = Color(0xFF0030CB);
|
||||
static const Color secondaryTextColor = Color(0xFF848484);
|
||||
static Color primaryColorWithOpacity =
|
||||
const Color(0xFF023DFE).withOpacity(0.6);
|
||||
static const Color whiteColors = Colors.white;
|
||||
static Color whiteColorsWithOpacity = Colors.white.withOpacity(0.6);
|
||||
|
||||
static final Color opaquePrimary = const Color(0xFF023DFE).withValues(alpha: 0.6);
|
||||
static const Color white = Color(0xFFFFFFFF);
|
||||
static Color whiteColorsWithOpacity = Colors.white.withValues(alpha: 0.6);
|
||||
static const Color secondaryColor = Color(0xFF023DFE);
|
||||
static const Color onSecondaryColor = Color(0xFF023DFE);
|
||||
static Color shadowBlackColor = Colors.black.withOpacity(0.2);
|
||||
|
||||
static Color dialogBlueTitle = const Color(0xFF023DFE).withOpacity(0.6);
|
||||
|
||||
static Color shadowBlackColor = Colors.black.withValues(alpha: 0.2);
|
||||
static Color dialogBlueTitle = const Color(0xFF023DFE).withValues(alpha: 0.6);
|
||||
static const Color primaryTextColor = Colors.black;
|
||||
|
||||
static const Color greyColor = Color(0xFFd5d5d5);
|
||||
static const Color lightGreyColor = Color(0xFF999999);
|
||||
static const Color backgroundColor = Color(0xFFececec);
|
||||
@ -57,11 +54,10 @@ abstract class ColorsManager {
|
||||
static const Color neutralGray = Color(0xFFE5E5E5);
|
||||
static const Color warningRed = Color(0xFFFF6465);
|
||||
static const Color borderColor = Color(0xFFE5E5E5);
|
||||
static const Color CircleImageBackground = Color(0xFFF4F4F4);
|
||||
static const Color circleImageBackground = Color(0xFFF4F4F4);
|
||||
static const Color softGray = Color(0xFFD5D5D5);
|
||||
static const Color semiTransparentBlack = Color(0x19000000);
|
||||
static const Color dataHeaderGrey = Color(0x33999999);
|
||||
static const Color circleImageBackground = Color(0xFFF4F4F4);
|
||||
static const Color circleRolesBackground = Color(0xFFF8F8F8);
|
||||
static const Color activeGreen = Color(0xFF99FF93);
|
||||
static const Color activeGreenText = Color(0xFF008905);
|
||||
@ -72,7 +68,7 @@ abstract class ColorsManager {
|
||||
static const Color invitedOrangeText = Color(0xFFFFBF00);
|
||||
static const Color lightGrayBorderColor = Color(0xB2D5D5D5);
|
||||
static const Color vividBlue = Color(0xFF023DFE);
|
||||
static const Color semiTransparentRed = Color(0x99FF0000);
|
||||
static const Color semiTransparentRed = Color(0xFFFF6465);
|
||||
static const Color grey700 = Color(0xFF2D3748);
|
||||
static const Color goodGreen = Color(0xFF0CEC16);
|
||||
static const Color moderateYellow = Color(0xFFFAC96C);
|
||||
@ -95,5 +91,4 @@ abstract class ColorsManager {
|
||||
static const Color shadowOfDetailsContainer = Color(0x40000000);
|
||||
static const Color checkBoxBorderGray = Color(0xffD0D0D0);
|
||||
static const Color timePickerColor = Color(0xff000000);
|
||||
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ extension AppSnackBarsBuildContextExtension on BuildContext {
|
||||
Text(
|
||||
message,
|
||||
style: textTheme.bodyMedium?.copyWith(
|
||||
color: ColorsManager.whiteColors,
|
||||
color: ColorsManager.white,
|
||||
),
|
||||
),
|
||||
],
|
||||
|
@ -49,7 +49,7 @@ extension BuildContextExt on BuildContext {
|
||||
title,
|
||||
style: titleStyle ??
|
||||
context.textTheme.bodyMedium!.copyWith(
|
||||
color: ColorsManager.primaryColorWithOpacity,
|
||||
color: ColorsManager.opaquePrimary,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
@ -87,8 +87,8 @@ extension BuildContextExt on BuildContext {
|
||||
child: Text(
|
||||
onDismissText ?? 'Cancel',
|
||||
style: context.textTheme.bodyMedium!.copyWith(
|
||||
color: onDismissColor ??
|
||||
ColorsManager.greyColor),
|
||||
color:
|
||||
onDismissColor ?? ColorsManager.greyColor),
|
||||
),
|
||||
),
|
||||
),
|
||||
@ -104,7 +104,7 @@ extension BuildContextExt on BuildContext {
|
||||
onConfirmText ?? 'Confirm',
|
||||
style: context.textTheme.bodyMedium!.copyWith(
|
||||
color: onConfirmColor ??
|
||||
ColorsManager.primaryColorWithOpacity),
|
||||
ColorsManager.opaquePrimary),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
@ -22,7 +22,7 @@ class CustomSnackBar {
|
||||
content: Row(mainAxisAlignment: MainAxisAlignment.center, children: [
|
||||
const Icon(
|
||||
Icons.check_circle,
|
||||
color: ColorsManager.whiteColors,
|
||||
color: ColorsManager.white,
|
||||
size: 32,
|
||||
),
|
||||
const SizedBox(
|
||||
@ -30,10 +30,8 @@ class CustomSnackBar {
|
||||
),
|
||||
Text(
|
||||
message,
|
||||
style: Theme.of(currentContext)
|
||||
.textTheme
|
||||
.bodySmall!
|
||||
.copyWith(fontSize: 14, fontWeight: FontWeight.w500, color: Colors.green),
|
||||
style: Theme.of(currentContext).textTheme.bodySmall!.copyWith(
|
||||
fontSize: 14, fontWeight: FontWeight.w500, color: Colors.green),
|
||||
)
|
||||
]),
|
||||
);
|
||||
@ -59,10 +57,8 @@ class CustomSnackBar {
|
||||
),
|
||||
Text(
|
||||
message,
|
||||
style: Theme.of(currentContext)
|
||||
.textTheme
|
||||
.bodySmall!
|
||||
.copyWith(fontSize: 14, fontWeight: FontWeight.w500, color: Colors.green),
|
||||
style: Theme.of(currentContext).textTheme.bodySmall!.copyWith(
|
||||
fontSize: 14, fontWeight: FontWeight.w500, color: Colors.green),
|
||||
)
|
||||
]),
|
||||
);
|
||||
|
@ -52,11 +52,11 @@ BoxDecoration containerWhiteDecoration = BoxDecoration(
|
||||
offset: const Offset(0, 5), // changes position of shadow
|
||||
),
|
||||
],
|
||||
color: ColorsManager.whiteColors,
|
||||
color: ColorsManager.white,
|
||||
borderRadius: const BorderRadius.all(Radius.circular(15)));
|
||||
|
||||
BoxDecoration subSectionContainerDecoration = BoxDecoration(
|
||||
color: ColorsManager.whiteColors,
|
||||
color: ColorsManager.white,
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: Colors.black.withOpacity(0.1),
|
||||
|
@ -24,7 +24,7 @@ class ResponsiveTextTheme extends ThemeExtension<ResponsiveTextTheme> {
|
||||
deviceManagementTitle: TextStyle(
|
||||
fontSize: isMobile ? 20 : 30,
|
||||
fontWeight: FontWeight.w700,
|
||||
color: ColorsManager.whiteColors),
|
||||
color: ColorsManager.white),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ final myTheme = ThemeData(
|
||||
textTheme: const TextTheme(
|
||||
bodySmall: TextStyle(
|
||||
fontSize: 13,
|
||||
color: ColorsManager.whiteColors,
|
||||
color: ColorsManager.white,
|
||||
fontWeight: FontWeight.normal,
|
||||
),
|
||||
bodyMedium: TextStyle(color: Colors.black87, fontSize: 14),
|
||||
@ -30,13 +30,13 @@ final myTheme = ThemeData(
|
||||
if (states.contains(WidgetState.selected)) {
|
||||
return ColorsManager.blueColor;
|
||||
}
|
||||
return ColorsManager.whiteColors;
|
||||
return ColorsManager.white;
|
||||
}),
|
||||
trackColor: WidgetStateProperty.resolveWith((states) {
|
||||
if (states.contains(WidgetState.selected)) {
|
||||
return ColorsManager.blueColor.withOpacity(0.5);
|
||||
}
|
||||
return ColorsManager.whiteColors;
|
||||
return ColorsManager.white;
|
||||
}),
|
||||
),
|
||||
checkboxTheme: CheckboxThemeData(
|
||||
@ -47,12 +47,12 @@ final myTheme = ThemeData(
|
||||
return Colors.grey.shade200;
|
||||
}),
|
||||
checkColor: WidgetStateProperty.all(Colors.white),
|
||||
side: const BorderSide(color: ColorsManager.whiteColors),
|
||||
side: const BorderSide(color: ColorsManager.white),
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(4),
|
||||
),
|
||||
),
|
||||
dialogTheme: const DialogThemeData(
|
||||
backgroundColor: ColorsManager.whiteColors,
|
||||
backgroundColor: ColorsManager.white,
|
||||
),
|
||||
);
|
||||
|
@ -1,10 +1,8 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:syncrow_web/pages/auth/bloc/auth_bloc.dart';
|
||||
import 'package:syncrow_web/pages/auth/model/user_model.dart';
|
||||
import 'package:syncrow_web/pages/common/bloc/project_manager.dart';
|
||||
import 'package:syncrow_web/pages/common/buttons/default_button.dart';
|
||||
import 'package:syncrow_web/utils/color_manager.dart';
|
||||
import 'package:syncrow_web/utils/constants/assets.dart';
|
||||
@ -81,7 +79,7 @@ class _UserDropdownMenuState extends State<UserDropdownMenu> {
|
||||
await showMenu(
|
||||
context: context,
|
||||
position: position,
|
||||
color: ColorsManager.whiteColors,
|
||||
color: ColorsManager.white,
|
||||
shape: const RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.only(
|
||||
bottomRight: Radius.circular(10),
|
||||
@ -122,8 +120,7 @@ class _UserDropdownMenuState extends State<UserDropdownMenu> {
|
||||
height: 200,
|
||||
width: 400,
|
||||
child: Padding(
|
||||
padding:
|
||||
const EdgeInsets.only(top: 24, left: 24, right: 24),
|
||||
padding: const EdgeInsets.only(top: 24, left: 24, right: 24),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
@ -136,14 +133,12 @@ class _UserDropdownMenuState extends State<UserDropdownMenu> {
|
||||
padding: const EdgeInsets.only(top: 16),
|
||||
child: Text(
|
||||
'Log out of your Syncrow account',
|
||||
style: Theme.of(context)
|
||||
.textTheme
|
||||
.bodyMedium!
|
||||
.copyWith(
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w400,
|
||||
color: Colors.black,
|
||||
),
|
||||
style:
|
||||
Theme.of(context).textTheme.bodyMedium!.copyWith(
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w400,
|
||||
color: Colors.black,
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(
|
||||
@ -154,7 +149,7 @@ class _UserDropdownMenuState extends State<UserDropdownMenu> {
|
||||
SizedBox.square(
|
||||
dimension: 80,
|
||||
child: CircleAvatar(
|
||||
backgroundColor: ColorsManager.whiteColors,
|
||||
backgroundColor: ColorsManager.white,
|
||||
child: SizedBox.square(
|
||||
dimension: 78,
|
||||
child: SvgPicture.asset(
|
||||
@ -170,8 +165,7 @@ class _UserDropdownMenuState extends State<UserDropdownMenu> {
|
||||
),
|
||||
Expanded(
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'${widget.user?.firstName ?? ''} ${widget.user?.lastName}',
|
||||
@ -215,13 +209,11 @@ class _UserDropdownMenuState extends State<UserDropdownMenu> {
|
||||
elevation: 1,
|
||||
child: Text(
|
||||
'Cancel',
|
||||
style: Theme.of(context)
|
||||
.textTheme
|
||||
.bodyMedium!
|
||||
.copyWith(
|
||||
fontSize: 12,
|
||||
color: Colors.black,
|
||||
),
|
||||
style:
|
||||
Theme.of(context).textTheme.bodyMedium!.copyWith(
|
||||
fontSize: 12,
|
||||
color: Colors.black,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
Reference in New Issue
Block a user