Commit Graph
93 Commits
Author SHA1 Message Date
Mohammad Salameh 37d2c1b53f apend 2024-04-04 00:01:02 +03:00
Mohammad Salameh 8d02eb2f40 Refactor DefaultNavBar widget build method
Remove unnecessary BlocProvider and DevicesCubit logic from DefaultNavBar widget
build method, simplify code structure.
2024-04-04 00:00:48 +03:00
Mohammad Salameh bff4b9493c Refactor device control logic and add temperature and fan speed enums
- Refactor device control logic in the app to improve readability and maintainability.
- Add temperature modes (hot, cold, wind) and fan speeds (auto, low, middle, high) enums.
- Update icon mappings and utility functions for temperature modes and fan speeds.
2024-04-03 18:54:21 +03:00
Mohammad Salameh 6577652702 Refactor AC mode control unit widget
Move fan speed and temperature mode logic to the DevicesCubit for better
separation of concerns and improved code readability. Update widget to use
BlocBuilder for state management and simplify control logic.
2024-04-03 18:53:54 +03:00
Mohammad Salameh e49627d3e1 Add status model and fetch device statuses
Added a new StatusModel class to represent device statuses and implemented
functionality to fetch and update device statuses in the DevicesCubit and
DeviceModel classes. Also updated UI components to display device status
information.
2024-04-03 11:07:55 +03:00
Mohammad Salameh 5ff5f65549 Refactor emit calls to use emitSafe method
Replace direct calls to emit with emitSafe method to ensure emitting
states only when the cubit is not closed. This helps prevent errors
when emitting states after the cubit is closed.
2024-04-03 02:12:35 +03:00
Mohammad Salameh 313912a941 Fixed conditional rendering logic for app bar in AppLayout widget
Update the condition to check for the presence of spaces in HomeCubit
instance before displaying the DefaultAppBar component. This improves
readability and maintainability of the code.
2024-04-03 02:00:46 +03:00
Mohammad Salameh 127d3a0295 Refactor code structure and update dependencies
Clean up code structure, remove unused imports, and update dependencies.
No functional changes made, only code organization improvements.
2024-04-03 01:55:50 +03:00
Mohammad Salameh 9cc479ba17 Refactor email and password validation logic in LoginForm widget
Update email and password validation logic in the LoginForm widget to only
perform validation when the state is not AuthTokenError. This ensures that
validation is skipped when there is an authentication token error.
2024-04-02 18:09:23 +03:00
Mohammad Salameh ef41940333 Add support for different device types in RoomPageSwitch
-Update the navigation approch to be device type orianted to the corresponding interface when tapped.
-Add three gang switch interface and related components
2024-04-02 15:45:21 +03:00
Mohammad Salameh 81625cd50e Add device icons based on device type and update network exception handling
- Add logic to set device icons based on device type in DeviceModel.fromJson method
- Update network exception handling to parse HTML response in ServerFailure class
- Add html package as a dependency for parsing HTML responses
-Added Devices Icons by updateing device types mapping
2024-04-02 15:11:20 +03:00
Mohammad Salameh 5dc4f96a71 Add functionality to fetch devices by room ID
Added a new method in DevicesCubit to fetch devices by room ID and updated
related classes and API calls to support this functionality.
2024-04-02 12:12:54 +03:00
Mohammad Salameh 1397778123 Refacorted imports 2024-04-01 12:17:18 +03:00
Mohammad Salameh d1bc973b38 Refactor HomeCubit class for better instance management
Create a private static instance variable and refactor methods for better instance management in the HomeCubit class.
2024-04-01 12:09:01 +03:00
Mohammad Salameh a20dfa3709 Refactor device status handling and update UI components
- Update device status handling from 'status' to 'isOnline' for consistency
- Remove unused imports and redundant code related to light switches
- Refactor UI components to use 'isOnline' instead of 'status' for device status
2024-04-01 09:58:51 +03:00
Mohammad Salameh 3031d19836 Add three gang widgets for controlling three different switches
- Added ThreeGangBody, ThreeGangSwitch, and ThreeGangSwitchesView widgets
  for controlling three different switches in the UI.
- Updated constants file with functions for ThreeGang device type.
2024-04-01 09:56:55 +03:00
Mohammad Salameh 9368575154 Add AC cubit and state classes
Add AC cubit and state classes with initial state for managing air conditioning
related functionality in the devices feature bloc.
2024-03-31 12:08:53 +03:00
Mohammad Salameh ee095d0fdc bug_fixing 2 2024-03-24 14:59:29 +03:00
Mohammad Salameh 58bf70ea1a Update DefaultAppBar leading widget to show 'Create Home' when spaces is empty 2024-03-24 14:58:20 +03:00
Mohammad Salameh e17c0af144 Add HomeCubit and HomeState classes
This commit adds the HomeCubit class along with its corresponding HomeState
class. It also includes necessary imports and updates references to the
previously used SpacesCubit to the new HomeCubit in various files.
handled the multible onCreate -- HomeCubit
2024-03-24 14:43:13 +03:00
Mohammad Salameh c0bfd24751 Refactor device-related views and add error handling
Refactor device-related views to improve code structure and readability.
Add error handling for authentication token in the splash view.
Remove unnecessary NavCubit from the app initialization.
2024-03-21 13:58:20 +03:00
Mohammad Salameh a52f2c0b5a Add close method override in DevicesCubit
Add override for close method in DevicesCubit to set _isClosed flag and call super.close(). This prevents further operations after closing.
2024-03-19 15:17:40 +03:00
Mohammad Salameh d4a9cfb7ab Refactor error handling in AuthCubit and ServerFailure
Update error handling in AuthCubit to use toString() method and mdified
handling of badResponse in ServerFailure class.
2024-03-19 15:13:00 +03:00
Mohammad Salameh cb913cd784 Refactor navigation in SplashView and add CustomPageRoute
Introduce CustomPageRoute for smoother navigation transitions in SplashView.
Update navigation in SplashView to use CustomPageRoute for login redirection.
2024-03-19 15:06:10 +03:00
Mohammad Salameh 3cbc3d7fa9 Add autovalidate mode to LoginForm
Set autovalidate mode to onUserInteraction in the LoginForm widget to improve
user experience.
2024-03-19 14:58:33 +03:00
Mohammad Salameh 42051bb977 Fixed the overflow in the login screen, the page is scrollable.
- Fixed Scrolling wasent working in login screen
- Changed Home page to indexed based view instead of PageView
2024-03-19 13:29:12 +03:00
Mohammad Salameh 79279180df Refactor code for better readability and maintainability
- Add method to get token and validate in AuthCubit
- Update AuthState with loading, success, and error states for token
- Use BlocBuilder in SplashView for token validation and navigation

This commit refactors the code in AuthCubit to include a method to get the token and validate it. It also updates the AuthState with loading, success, and error states for token handling. In SplashView, BlocBuilder is now used to handle token validation and navigation based on the token status.
2024-03-19 11:15:45 +03:00
Mohammad Salameh 5cc2db7645 fetch groups 2024-03-18 11:46:35 +03:00
Mohammad Salameh 13e80fbad7 fetch groups 2024-03-18 11:46:27 +03:00
Mohammad Salameh 65cbf10485 temp 2024-03-17 09:38:26 +03:00
Mohammad Salameh 8ac164f0c5 fixed AppBar null check 2024-03-15 22:23:34 +03:00
Mohammad Salameh c5f1b8d090 switch functionality initial implantation 2024-03-14 01:14:54 +03:00
Mohammad Salameh 1c25f65028 3gang assets 2024-03-14 00:42:38 +03:00
Mohammad Salameh 00d1ad50f1 built 3 gang switch View 2024-03-14 00:38:00 +03:00
Mohammad Salameh 024f15728b getting spaces and rooms from api {null checks} 2024-03-13 13:52:22 +03:00
Mohammad Salameh 0f3cc453ce Semi-implemented getting spaces feature 2024-03-12 11:14:31 +03:00
Mohammad Salameh fec2f10a0d Modified Devices Pages 2024-03-11 12:04:47 +03:00
Mohammad Salameh d3bd10730c Modified Devices Pages 2024-03-11 12:04:26 +03:00
Mohammad Salameh f11b6d8d32 Added page swipe for navigation 2024-03-10 16:57:12 +03:00
Mohammad Salameh c03b2b248d Fixed navigation bug 2024-03-10 15:57:43 +03:00
Mohammad Salameh 37187acdf4 Merged Auth branch & Curtains branch 2024-03-10 15:09:06 +03:00
Mohammad Salameh 39a3f97181 Merged Auth branch & Curtains branch 2024-03-10 15:06:04 +03:00
Mohammad Salameh a6018b282e Redesigned Splash Screen and Login Screen 2024-03-10 14:49:17 +03:00
Mohammad Salameh ce34933738 Added loading and success icons to login button 2024-03-10 10:58:45 +03:00
Mohammad Salameh 2c4543e83f Added Login with email model instead of json encode 2024-03-10 10:20:06 +03:00
Mohammad Salameh 5a7787b42d Added Error handling 2024-03-10 08:56:06 +03:00
Mohammad Salameh d70c370c2e Added form validation for login view 2024-03-07 15:33:14 +03:00
Mohammad Salameh f8e8591d13 Implemented room device interface
(AC only)
2024-03-07 14:53:13 +03:00
Mohammad Salameh bf275d5adf Implemented the page view functionality
-synced page controllers
2024-03-07 12:57:35 +03:00
Mohammad Salameh f734801e94 Initialized Auth pages for future work
Implemented Login functionality
2024-03-07 10:29:19 +03:00
Mohammad Salameh c5f88caec3 Partially implemented the page view functionality
-page controller on change need to be figured correctly
2024-03-06 23:11:09 +03:00
Mohammad Salameh b3fcca639a Removed location from models
Added the spaces models
Added the rooms models
Added the Spaces cubit
Implemented the home dropdown functionality
2024-03-06 21:34:23 +03:00
Mohammad Salameh b99247c937 Added appbar actions for all the views
Added appbar leading logo for the menu view
2024-03-05 13:42:58 +03:00
Mohammad Salameh 5a9c96b0a8 Built Curtains List view
Modified Category Model(default value of devices status is now null)
Added a category getter in each devices cubit ( AcCubit, LightsCubit ...)
2024-03-05 12:36:57 +03:00
Mohammad Salameh a9fdb2fc76 modified UI padding handling approach
added auth API endpoints
initialized curtains view for further development
2024-03-05 11:18:08 +03:00
Mohammad Salameh 33b7149dde fixed padding bug
fixed AC interface routing issue
2024-03-04 17:10:34 +03:00
Mohammad Salameh 282739acf7 Added ac bounds in model
implemented bounds in AC Temp controls
2024-03-04 15:55:02 +03:00
Mohammad Salameh 49b24e14eb Fixed navigation issue 2024-03-04 15:03:57 +03:00
Mohammad Salameh 7ecac02a8a light interface 2024-03-04 14:38:48 +03:00
Mohammad Salameh 79e0b7ec21 light brightness slider 2024-03-04 11:25:08 +03:00
Mohammad Salameh 3fccadfc1d light switch
code refactor
2024-03-04 09:45:34 +03:00
Mohammad Salameh d9a3f9e2a0 code refactoring 2024-03-03 19:07:24 +03:00
Mohammad Salameh ad511fe3af added smooth_page_indicator for devices view body 2024-03-03 17:01:08 +03:00
Mohammad Salameh 24ccb243d4 fixed Universal AC temperature control 2024-03-03 16:17:00 +03:00
Mohammad Salameh 4cfae85f9c implemented light brightness slider
optimised state emit to only emit when change is detected
2024-03-03 15:00:13 +03:00
Mohammad Salameh 643b206d4c cleaned some warring messages 2024-03-03 13:10:03 +03:00
Mohammad Salameh 136987c56a built Lights List 2024-03-03 13:05:34 +03:00
Mohammad Salameh 7e98329738 added Null state from the AC universal switch (in case the status for the ACs are different from each other) 2024-03-03 11:37:30 +03:00
Mohammad Salameh bcaed7a4b8 Converted all the devices models to extends from DeviceModel for the purpose of unifying.
Initialized Lights feature.
2024-03-02 21:57:11 +03:00
Mohammad Salameh 8203836332 Update firebase and flutter_svg versions. 2024-03-02 15:59:32 +03:00
Mohammad Salameh 481fe1c0f3 replaced Gap Class with the appropriate SizedBox
removed the Gap dependency
2024-03-02 15:52:28 +03:00
Mohammad Salameh 1ed9c22e15 dashboard_view.dart 2024-02-29 12:59:01 +03:00
Mohammad Salameh 4ee5426e9c Implemented AC Interface 2024-02-29 12:11:39 +03:00
Mohammad Salameh 3fabd41e72 Stabilized UI elements across multiple devices
Synchronized ACs Status functionality
2024-02-28 12:22:45 +03:00
Mohammad Salameh 4c27cce519 Switches updated 2024-02-27 10:13:58 +03:00
Mohammad Salameh abe7072f2d AC devices page implemented
AC Cubit Add
New Devices Cubit Arch will be used
Devices Cubit (for devices categories, and devices page)
{
AC cubit,
Lights cubit.
... }
Replaced AssetsManager with Assets Class (auto generated)
2024-02-26 15:55:22 +03:00
Mohammad Salameh c95a9c7817 initialized menu page 2024-02-21 16:39:16 +03:00
Mohammad Salameh d903849e92 fixed Devices Page
-Categories View overflow error
2024-02-21 14:40:07 +03:00
Mohammad Salameh d5196fda45 initialized Routine Page 2024-02-21 13:47:08 +03:00
Mohammad Salameh cdfb778884 initialized Devices Page 2024-02-20 16:01:50 +03:00
Mohammad Salameh d27063f149 initialized Dashboard Page 2024-02-20 12:08:59 +03:00
Mohammad Salameh 0c390a8062 Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	lib/my_app.dart
#	lib/utils/resource_manager/font_manager.dart
#	lib/utils/resource_manager/styles_manager.dart
#	lib/utils/resource_manager/theme_manager.dart
2024-02-17 16:30:22 +03:00
Mohammad Salameh 3d1693050e initialized Application theme 2024-02-17 16:29:03 +03:00
Mohammad Salameh 85b04b5c15 initialized Application theme 2024-02-17 16:28:45 +03:00
Mohammad Salameh 3190361901 initialized Application theme 2024-02-17 16:27:27 +03:00
Mohammad Salameh 1d18210158 restructured the application
added .end files
switched to BLoC state-management
removed unnecessary helpers
initialized Scenes Page
2024-02-15 14:00:09 +03:00
Mohammad Salameh 16f47f744c initialized Splash UI
initialized Login UI
initialized Home(no Devices) UI
Added Colors (from syncrow website)
Added Logo
2024-02-15 00:10:33 +03:00
Mohammad Salameh 3385ed1297 initialized home state
modified appbar
tested loading for home screen
2024-02-14 17:02:12 +03:00
Mohammad Salameh 4d8a2655e1 Implemented Navigation to these screens:
- Home
- Scene
- Smart
- profile

Converted to state based Provider
2024-02-14 15:49:06 +03:00
Mohammad Salameh 3f1f8e72b3 Implemented Navigation 2024-02-14 13:26:09 +03:00
Mohammad Salameh 2707124a10 initialized home view 2024-02-14 11:28:14 +03:00
Mohammad Salameh 34517bdfff initial home view 2024-02-14 11:25:23 +03:00
Mohammad Salameh 84e142a099 initial commit 2024-02-14 10:58:43 +03:00