8 Commits

345 changed files with 14555 additions and 47261 deletions

4
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,4 @@
{
"CodeGPT.apiKey": "CodeGPT Plus Beta",
"dart.flutterSdkPath": "D:\\pooja\\fluttersdk\\flutter_3.16.9\\flutter"
}

View File

@@ -22,9 +22,6 @@ if (flutterVersionName == null) {
}
apply plugin: 'com.android.application'
// START: FlutterFire Configuration
apply plugin: 'com.google.gms.google-services'
// END: FlutterFire Configuration
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

View File

@@ -1,29 +0,0 @@
{
"project_info": {
"project_number": "563133114654",
"project_id": "regroup-9aed2",
"storage_bucket": "regroup-9aed2.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:563133114654:android:9032ddcb6dc5add26c010f",
"android_client_info": {
"package_name": "com.example.regroup"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyA7z_Q3xN1IHZFzhfOtkXTyryGEJMOZrPY"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}

View File

@@ -16,12 +16,10 @@
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<application
android:label="ReGroup"
android:label="regroup"
android:requestLegacyExternalStorage="true"
android:name="${applicationName}"
android:icon="@mipmap/launcher_icon"
android:allowBackup="false"
android:fullBackupContent="false">
android:icon="@mipmap/ic_launcher">
<activity
android:name="com.yalantis.ucrop.UCropActivity"
android:screenOrientation="portrait"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Regroup</string>
<string name="facebook_app_id">803386025107790</string>
<string name="fb_login_protocol_scheme">fb803386025107790</string>
<string name="facebook_client_token">fa69ee794ff94e50c7ddbfac1e035cb9</string>
<string name="app_name">ReGroup123</string>
<string name="facebook_app_id">8076081959097016</string>
<string name="fb_login_protocol_scheme">fb8076081959097016</string>
<string name="facebook_client_token">ca5a1805872edbec0d3a0a0b02229ba5</string>
</resources>

View File

@@ -6,9 +6,6 @@ buildscript {
}
dependencies {
// START: FlutterFire Configuration
classpath 'com.google.gms:google-services:4.3.15'
// END: FlutterFire Configuration
classpath 'com.android.tools.build:gradle:7.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 493 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -1 +0,0 @@
extensions:

View File

@@ -1 +0,0 @@
{"flutter":{"platforms":{"android":{"default":{"projectId":"regroup-9aed2","appId":"1:563133114654:android:9032ddcb6dc5add26c010f","fileOutput":"android/app/google-services.json"}},"ios":{"default":{"projectId":"regroup-9aed2","appId":"1:563133114654:ios:d5ce57e5b214757e6c010f","uploadDebugSymbols":false,"fileOutput":"ios/Runner/GoogleService-Info.plist"}},"dart":{"lib/firebase_options.dart":{"projectId":"regroup-9aed2","configurations":{"android":"1:563133114654:android:9032ddcb6dc5add26c010f","ios":"1:563133114654:ios:d5ce57e5b214757e6c010f"}}}}}}

View File

@@ -1,10 +1,4 @@
PODS:
- AppAuth (1.7.5):
- AppAuth/Core (= 1.7.5)
- AppAuth/ExternalUserAgent (= 1.7.5)
- AppAuth/Core (1.7.5)
- AppAuth/ExternalUserAgent (1.7.5):
- AppAuth/Core
- connectivity_plus (0.0.1):
- Flutter
- FlutterMacOS
@@ -41,49 +35,10 @@ PODS:
- DKPhotoGallery/Resource (0.0.19):
- SDWebImage
- SwiftyGif
- FBAEMKit (16.3.1):
- FBSDKCoreKit_Basics (= 16.3.1)
- FBSDKCoreKit (16.3.1):
- FBAEMKit (= 16.3.1)
- FBSDKCoreKit_Basics (= 16.3.1)
- FBSDKCoreKit_Basics (16.3.1)
- FBSDKLoginKit (16.3.1):
- FBSDKCoreKit (= 16.3.1)
- file_picker (0.0.1):
- DKImagePickerController/PhotoGallery
- Flutter
- Firebase/Auth (10.25.0):
- Firebase/CoreOnly
- FirebaseAuth (~> 10.25.0)
- Firebase/CoreOnly (10.25.0):
- FirebaseCore (= 10.25.0)
- firebase_auth (4.20.0):
- Firebase/Auth (= 10.25.0)
- firebase_core
- Flutter
- firebase_core (2.32.0):
- Firebase/CoreOnly (= 10.25.0)
- Flutter
- FirebaseAppCheckInterop (10.29.0)
- FirebaseAuth (10.25.0):
- FirebaseAppCheckInterop (~> 10.17)
- FirebaseCore (~> 10.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.8)
- GoogleUtilities/Environment (~> 7.8)
- GTMSessionFetcher/Core (< 4.0, >= 2.1)
- RecaptchaInterop (~> 100.0)
- FirebaseCore (10.25.0):
- FirebaseCoreInternal (~> 10.0)
- GoogleUtilities/Environment (~> 7.12)
- GoogleUtilities/Logger (~> 7.12)
- FirebaseCoreInternal (10.29.0):
- "GoogleUtilities/NSData+zlib (~> 7.8)"
- Flutter (1.0.0)
- flutter_facebook_auth (6.0.4):
- FBSDKLoginKit (~> 16.3.1)
- Flutter
- flutter_keyboard_visibility (0.0.1):
- Flutter
- fluttertoast (0.0.2):
- Flutter
- Toast
@@ -92,51 +47,11 @@ PODS:
- google_maps_flutter_ios (0.0.1):
- Flutter
- GoogleMaps (< 9.0)
- google_sign_in_ios (0.0.1):
- AppAuth (>= 1.7.4)
- Flutter
- FlutterMacOS
- GoogleSignIn (~> 7.1)
- GTMSessionFetcher (>= 3.4.0)
- GoogleMaps (6.2.1):
- GoogleMaps/Maps (= 6.2.1)
- GoogleMaps/Base (6.2.1)
- GoogleMaps/Maps (6.2.1):
- GoogleMaps/Base
- GoogleSignIn (7.1.0):
- AppAuth (< 2.0, >= 1.7.3)
- GTMAppAuth (< 5.0, >= 4.1.1)
- GTMSessionFetcher/Core (~> 3.3)
- GoogleUtilities/AppDelegateSwizzler (7.13.3):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Privacy
- GoogleUtilities/Environment (7.13.3):
- GoogleUtilities/Privacy
- PromisesObjC (< 3.0, >= 1.2)
- GoogleUtilities/Logger (7.13.3):
- GoogleUtilities/Environment
- GoogleUtilities/Privacy
- GoogleUtilities/Network (7.13.3):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Privacy
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (7.13.3)":
- GoogleUtilities/Privacy
- GoogleUtilities/Privacy (7.13.3)
- GoogleUtilities/Reachability (7.13.3):
- GoogleUtilities/Logger
- GoogleUtilities/Privacy
- GTMAppAuth (4.1.1):
- AppAuth/Core (~> 1.7)
- GTMSessionFetcher/Core (< 4.0, >= 3.3)
- GTMSessionFetcher (3.5.0):
- GTMSessionFetcher/Full (= 3.5.0)
- GTMSessionFetcher/Core (3.5.0)
- GTMSessionFetcher/Full (3.5.0):
- GTMSessionFetcher/Core
- image_cropper (0.0.4):
- Flutter
- TOCropViewController (~> 2.7.3)
@@ -149,16 +64,12 @@ PODS:
- FlutterMacOS
- permission_handler_apple (9.3.0):
- Flutter
- PromisesObjC (2.4.0)
- RecaptchaInterop (100.0.0)
- SDWebImage (5.19.4):
- SDWebImage/Core (= 5.19.4)
- SDWebImage/Core (5.19.4)
- SDWebImage (5.19.2):
- SDWebImage/Core (= 5.19.2)
- SDWebImage/Core (5.19.2)
- shared_preferences_foundation (0.0.1):
- Flutter
- FlutterMacOS
- sign_in_with_apple (0.0.1):
- Flutter
- SwiftyGif (5.4.5)
- Toast (4.1.1)
- TOCropViewController (2.7.4)
@@ -167,44 +78,22 @@ DEPENDENCIES:
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/darwin`)
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
- file_picker (from `.symlinks/plugins/file_picker/ios`)
- firebase_auth (from `.symlinks/plugins/firebase_auth/ios`)
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
- Flutter (from `Flutter`)
- flutter_facebook_auth (from `.symlinks/plugins/flutter_facebook_auth/ios`)
- flutter_keyboard_visibility (from `.symlinks/plugins/flutter_keyboard_visibility/ios`)
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
- geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`)
- google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`)
- google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`)
- image_cropper (from `.symlinks/plugins/image_cropper/ios`)
- image_gallery_saver (from `.symlinks/plugins/image_gallery_saver/ios`)
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
- sign_in_with_apple (from `.symlinks/plugins/sign_in_with_apple/ios`)
SPEC REPOS:
trunk:
- AppAuth
- DKImagePickerController
- DKPhotoGallery
- FBAEMKit
- FBSDKCoreKit
- FBSDKCoreKit_Basics
- FBSDKLoginKit
- Firebase
- FirebaseAppCheckInterop
- FirebaseAuth
- FirebaseCore
- FirebaseCoreInternal
- GoogleMaps
- GoogleSignIn
- GoogleUtilities
- GTMAppAuth
- GTMSessionFetcher
- PromisesObjC
- RecaptchaInterop
- SDWebImage
- SwiftyGif
- Toast
@@ -217,24 +106,14 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/device_info_plus/ios"
file_picker:
:path: ".symlinks/plugins/file_picker/ios"
firebase_auth:
:path: ".symlinks/plugins/firebase_auth/ios"
firebase_core:
:path: ".symlinks/plugins/firebase_core/ios"
Flutter:
:path: Flutter
flutter_facebook_auth:
:path: ".symlinks/plugins/flutter_facebook_auth/ios"
flutter_keyboard_visibility:
:path: ".symlinks/plugins/flutter_keyboard_visibility/ios"
fluttertoast:
:path: ".symlinks/plugins/fluttertoast/ios"
geolocator_apple:
:path: ".symlinks/plugins/geolocator_apple/ios"
google_maps_flutter_ios:
:path: ".symlinks/plugins/google_maps_flutter_ios/ios"
google_sign_in_ios:
:path: ".symlinks/plugins/google_sign_in_ios/darwin"
image_cropper:
:path: ".symlinks/plugins/image_cropper/ios"
image_gallery_saver:
@@ -247,49 +126,25 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/permission_handler_apple/ios"
shared_preferences_foundation:
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
sign_in_with_apple:
:path: ".symlinks/plugins/sign_in_with_apple/ios"
SPEC CHECKSUMS:
AppAuth: 501c04eda8a8d11f179dbe8637b7a91bb7e5d2fa
connectivity_plus: ddd7f30999e1faaef5967c23d5b6d503d10434db
device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6
DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c
DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60
FBAEMKit: 6c7b5eb77c96861bb59e040842c6e55bf39512ce
FBSDKCoreKit: 5e4dd478947ab1bcc887e8cfadeae0727af1a942
FBSDKCoreKit_Basics: cd7b5f5d1e8868c26706917919d058999ca672c3
FBSDKLoginKit: 572cca0bc6c90067ef197187697cb3b584310c52
file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655
Firebase: 0312a2352584f782ea56f66d91606891d4607f06
firebase_auth: 5719ddc9f654b813405899480e84971bd8e61235
firebase_core: a626d00494efa398e7c54f25f1454a64c8abf197
FirebaseAppCheckInterop: 6a1757cfd4067d8e00fccd14fcc1b8fd78cfac07
FirebaseAuth: c0f93dcc570c9da2bffb576969d793e95c344fbb
FirebaseCore: 7ec4d0484817f12c3373955bc87762d96842d483
FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_facebook_auth: c8700ab1770f3d8e5e7456220e4f3bbcdb831454
flutter_keyboard_visibility: 0339d06371254c3eb25eeb90ba8d17dca8f9c069
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
fluttertoast: 9f2f8e81bb5ce18facb9748d7855bf5a756fe3db
geolocator_apple: 6cbaf322953988e009e5ecb481f07efece75c450
google_maps_flutter_ios: d1318b4ff711612cab16862d7a87e31a7403d458
google_sign_in_ios: 07375bfbf2620bc93a602c0e27160d6afc6ead38
GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4
GoogleSignIn: d4281ab6cf21542b1cfaff85c191f230b399d2db
GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15
GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de
GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
image_cropper: 2c150b3d63f4feaad31054d20381ddac0a460e63
image_gallery_saver: cb43cc43141711190510e92c460eb1655cd343cb
image_picker_ios: 99dfe1854b4fa34d0364e74a78448a0151025425
path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21
SDWebImage: 066c47b573f408f18caa467d71deace7c0f8280d
SDWebImage: dfe95b2466a9823cf9f0c6d01217c06550d7b29a
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
sign_in_with_apple: f3bf75217ea4c2c8b91823f225d70230119b8440
SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4
Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e
TOCropViewController: 80b8985ad794298fb69d3341de183f33d1853654

View File

@@ -8,13 +8,12 @@
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
2105BA461347F33698D3FD7B /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC7FC30109CCD5376F6BFA0F /* Pods_Runner.framework */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
9FD3FE5A0194B5B2D8202DCF /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = D4274500C33C54346ECA2D49 /* GoogleService-Info.plist */; };
CA23128F3D22F12344F34510 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2E6D63EEFD9353D7ADC2CB4D /* Pods_Runner.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -31,17 +30,15 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
01A8D59FC22474B9D47BC82F /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
2E6D63EEFD9353D7ADC2CB4D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
355191DC29CD1712AAFF95EF /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
4145FC1F69369273F821F424 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
5210D9302C4006FC0040021E /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
3E093EFD052120EBB5EFE242 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7A2724068B1177B4942EB08B /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
8DA153E7FEAC51D97681DB93 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -49,7 +46,7 @@
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
D4274500C33C54346ECA2D49 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = "<group>"; };
DC7FC30109CCD5376F6BFA0F /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -57,7 +54,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
CA23128F3D22F12344F34510 /* Pods_Runner.framework in Frameworks */,
2105BA461347F33698D3FD7B /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -67,9 +64,9 @@
01448FBCAC46C16EC8BC1181 /* Pods */ = {
isa = PBXGroup;
children = (
355191DC29CD1712AAFF95EF /* Pods-Runner.debug.xcconfig */,
7A2724068B1177B4942EB08B /* Pods-Runner.release.xcconfig */,
4145FC1F69369273F821F424 /* Pods-Runner.profile.xcconfig */,
8DA153E7FEAC51D97681DB93 /* Pods-Runner.debug.xcconfig */,
3E093EFD052120EBB5EFE242 /* Pods-Runner.release.xcconfig */,
01A8D59FC22474B9D47BC82F /* Pods-Runner.profile.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
@@ -92,8 +89,7 @@
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
01448FBCAC46C16EC8BC1181 /* Pods */,
D4274500C33C54346ECA2D49 /* GoogleService-Info.plist */,
F4C62E65C792A2B03ABD303E /* Frameworks */,
DE8E73CF7AB07643531FB23E /* Frameworks */,
);
sourceTree = "<group>";
};
@@ -108,7 +104,6 @@
97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup;
children = (
5210D9302C4006FC0040021E /* Runner.entitlements */,
97C146FA1CF9000F007C117D /* Main.storyboard */,
97C146FD1CF9000F007C117D /* Assets.xcassets */,
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
@@ -121,10 +116,10 @@
path = Runner;
sourceTree = "<group>";
};
F4C62E65C792A2B03ABD303E /* Frameworks */ = {
DE8E73CF7AB07643531FB23E /* Frameworks */ = {
isa = PBXGroup;
children = (
2E6D63EEFD9353D7ADC2CB4D /* Pods_Runner.framework */,
DC7FC30109CCD5376F6BFA0F /* Pods_Runner.framework */,
);
name = Frameworks;
sourceTree = "<group>";
@@ -136,15 +131,15 @@
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
30BAD3BCCCA511EDA8157430 /* [CP] Check Pods Manifest.lock */,
2427B225240D99C3274E4E9F /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
4343791398B77D1A11F261A2 /* [CP] Embed Pods Frameworks */,
57523D9CD6B060C3BF6C72B7 /* [CP] Copy Pods Resources */,
193E6ECF33FCE0798A403773 /* [CP] Embed Pods Frameworks */,
A1A5C179E86574032091061E /* [CP] Copy Pods Resources */,
);
buildRules = (
);
@@ -161,7 +156,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1510;
LastUpgradeCheck = 1430;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@@ -197,14 +192,30 @@
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
9FD3FE5A0194B5B2D8202DCF /* GoogleService-Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
30BAD3BCCCA511EDA8157430 /* [CP] Check Pods Manifest.lock */ = {
193E6ECF33FCE0798A403773 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
2427B225240D99C3274E4E9F /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -242,24 +253,22 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
4343791398B77D1A11F261A2 /* [CP] Embed Pods Frameworks */ = {
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
inputPaths = (
);
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
name = "Run Script";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
57523D9CD6B060C3BF6C72B7 /* [CP] Copy Pods Resources */ = {
A1A5C179E86574032091061E /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -276,21 +285,6 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
showEnvVarsInLog = 0;
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Run Script";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -381,7 +375,6 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 8;
DEVELOPMENT_TEAM = A89AY6VY4F;
ENABLE_BITCODE = NO;
@@ -515,7 +508,6 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 8;
DEVELOPMENT_TEAM = A89AY6VY4F;
ENABLE_BITCODE = NO;
@@ -543,7 +535,6 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 8;
DEVELOPMENT_TEAM = A89AY6VY4F;
ENABLE_BITCODE = NO;

View File

@@ -1,15 +0,0 @@
{
"originHash" : "ca3cf5f8f83d297b47d2cb0edff3e06f294951e2e06fa55cfc82831103499b2a",
"pins" : [
{
"identity" : "facebook-ios-sdk",
"kind" : "remoteSourceControl",
"location" : "https://github.com/facebook/facebook-ios-sdk",
"state" : {
"revision" : "c19607d535864533523d1f437c84035e5fb101cf",
"version" : "14.1.0"
}
}
],
"version" : 3
}

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1510"
LastUpgradeVersion = "1430"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 467 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 613 B

After

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 450 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1018 B

After

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 704 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 862 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 862 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>API_KEY</key>
<string>AIzaSyCvettUZf1thSh9xO5-SxR_IYx-tCmVnc0</string>
<key>GCM_SENDER_ID</key>
<string>563133114654</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>com.regroup.wdi</string>
<key>PROJECT_ID</key>
<string>regroup-9aed2</string>
<key>STORAGE_BUCKET</key>
<string>regroup-9aed2.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:563133114654:ios:d5ce57e5b214757e6c010f</string>
</dict>
</plist>

View File

@@ -51,29 +51,5 @@
<string>Regroup get write-only access to the user photo library</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Allow access to photo library</string>
<key>NSCameraUsageDescription</key>
<string>To capture profile photo please grant camera access</string>
<!-- facebook start -->
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb803386025107790</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>803386025107790</string>
<key>FacebookClientToken</key>
<string>fa69ee794ff94e50c7ddbfac1e035cb9</string>
<key>FacebookDisplayName</key>
<string>Regroup</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-share-api</string>
</array>
<!-- facebook end -->
</dict>
</plist>

View File

@@ -4,9 +4,5 @@
<dict>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.developer.applesignin</key>
<array>
<string>Default</string>
</array>
</dict>
</plist>

View File

@@ -1,18 +0,0 @@
// import 'package:get/get.dart';
// import 'package:flutter/material.dart';
// import 'package:async/async.dart';
// import 'package:regroup/Main_Screens/Community_HomePage/PostDetailScreen/ViewModel/CommentsRepository.dart';
// class ApiRepository extends GetxController {
// Future<List<dynamic>> fetchMultipleAPIs() async {
// FutureGroup futureGroup = FutureGroup();
// // PostDetail
// futureGroup.add(CommentsRepository().getAllComments());
// // Close the group (no more futures can be added)
// futureGroup.close();
// // Wait for all futures to complete
// return await futureGroup.future;
// }
// }

View File

@@ -1,7 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:glassmorphism/glassmorphism.dart';
import 'package:glassmorphism_ui/glassmorphism_ui.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/controller/MainController.dart';
GlassContainer bottomnavigationbar(MainController _mainController) {
@@ -9,7 +11,7 @@ GlassContainer bottomnavigationbar(MainController _mainController) {
width: double.infinity,
height: 100,
borderRadius: BorderRadius.circular(2),
blur: 2,
blur: 6,
opacity: 0.2,
gradient: LinearGradient(
begin: Alignment.topLeft,
@@ -200,7 +202,7 @@ GlassContainer bottomnavigationbar(MainController _mainController) {
))
],
),
label: 'Calendar',
label: 'Calender',
),
BottomNavigationBarItem(
icon: Image.asset(

View File

@@ -1,6 +1,6 @@
// ignore_for_file: prefer_const_constructors
import 'dart:ui';
import 'package:dropdown_button2/dropdown_button2.dart';
import 'package:flutter/material.dart';
@@ -8,6 +8,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:regroup/Common/CommonWidget.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
class CommonDropdownBtn extends StatefulWidget {
CommonDropdownBtn({
@@ -106,7 +107,7 @@ class _CommonDropdownBtnState extends State<CommonDropdownBtn> {
Color(0xFFffffff).withOpacity(0.8),
Color(0xFFFFFFFF).withOpacity(0.8),
],
stops: const [
stops: [
0.1,
1,
]),
@@ -244,7 +245,7 @@ class _CommonDropdownradioBtnState extends State<CommonDropdownradioBtn> {
Color(0xFFffffff).withOpacity(0.8),
Color(0xFFFFFFFF).withOpacity(0.8),
],
stops: const [0.1, 1],
stops: [0.1, 1],
),
borderRadius: BorderRadius.circular(30),
border: Border.all(
@@ -588,7 +589,7 @@ class _CommonDropdownCheckboxState extends State<CommonDropdownCheckbox> {
Color(0xFFffffff).withOpacity(0.8),
Color(0xFFFFFFFF).withOpacity(0.8),
],
stops: const [0.1, 1],
stops: [0.1, 1],
),
borderRadius: BorderRadius.circular(30.r),
border: Border.all(

View File

@@ -23,7 +23,7 @@ Widget commonGlassContainer({
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
const Color(0xFFFFFFFF).withOpacity(opacity1),
Color(0xFFFFFFFF).withOpacity(opacity1),
const Color(0xFFFFFFFF).withOpacity(opacity2),
],
stops: const [
@@ -61,8 +61,8 @@ Widget commonGlassContainerblue({
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
const Color(0xFF009DAB).withOpacity(0.48),
const Color(0xFF009DAB).withOpacity(0.12),
Color(0xFF009DAB).withOpacity(0.48),
Color(0xFF009DAB).withOpacity(0.12),
],
stops: const [
0.1,
@@ -82,10 +82,10 @@ Widget commonGlassContainerblue({
Widget commonGlassUIBlue({
required double width,
required double? height,
required double height,
required Widget customWidget,
// required double border,
double mainOpacity = 1,
double mainOpacity = 0.05,
Color borderColor = const Color(0xff434A53),
required BorderRadius? borderRadius,
}) {
@@ -99,8 +99,8 @@ Widget commonGlassUIBlue({
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
const Color(0xFF009DAB).withOpacity(0.48),
const Color(0xFF009DAB).withOpacity(0.12),
Color(0xFF009DAB).withOpacity(0.48),
Color(0xFF009DAB).withOpacity(0.12),
],
stops: const [
0.1,
@@ -113,7 +113,7 @@ Widget commonGlassUIBlue({
Widget commonGlassUI({
required double width,
required double? height,
required double height,
// required double border,
double mainOpacity = 1,
double opacity1 = 0.04,
@@ -127,13 +127,13 @@ Widget commonGlassUI({
width: width,
height: height,
borderRadius: borderRadius,
blur: 2,
blur: 6,
opacity: mainOpacity,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
const Color(0xFFFFFFFF).withOpacity(opacity1),
Color(0xFFFFFFFF).withOpacity(opacity1),
const Color(0xFFFFFFFF).withOpacity(opacity2),
],
stops: const [
@@ -144,38 +144,3 @@ Widget commonGlassUI({
border: Border.all(color: borderColor, width: borderwidth),
child: customWidget);
}
Widget commonContainer({
required double width,
required double? height,
// required double border,
// double mainOpacity = 1,
double opacity1 = 0.04,
double opacity2 = 0.05,
Color borderColor = const Color(0xff434A53),
double borderwidth = 1.0,
BorderRadius? borderRadius,
required Widget customWidget,
BoxShape boxShape = BoxShape.rectangle,
}) {
return Container(
width: width,
height: height,
decoration: BoxDecoration(
borderRadius: borderRadius,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
const Color(0xFFFFFFFF).withOpacity(opacity1),
const Color(0xFFFFFFFF).withOpacity(opacity2),
],
stops: const [
0.1,
1,
],
),
shape: boxShape,
border: Border.all(color: borderColor, width: borderwidth)),
child: customWidget);
}

View File

@@ -5,16 +5,15 @@ class CommonTabBar extends StatelessWidget {
// Set the desired height
final List<Tab> tabs;
const CommonTabBar({super.key, required this.tabs,});
CommonTabBar({required this.tabs,});
@override
Widget build(BuildContext context) {
return TabBar(
dividerColor: const Color(0xFFFFFFFF).withOpacity(0.07),
dividerColor: Color(0xFFFFFFFF).withOpacity(0.07),
labelStyle: TextStyle(
fontSize: 14.sp,
color: const Color(0xFFFCFCFC),
color: Color(0xFFFCFCFC),
fontWeight: FontWeight.w400,
fontFamily: 'Helvetica'),
indicatorSize: TabBarIndicatorSize.tab,
@@ -22,7 +21,7 @@ class CommonTabBar extends StatelessWidget {
// labelColor: Colors.white,
indicatorWeight: 2.h,
dividerHeight: 2.h,
unselectedLabelColor: const Color(0xFFFCFCFC),
unselectedLabelColor: Color(0xFFFCFCFC),
overlayColor: MaterialStateProperty.all(const Color(0xFFD90B2E)),
tabs: tabs);
}

View File

@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
@@ -22,7 +23,7 @@ class TextInputField extends StatefulWidget {
class _TextInputFieldState extends State<TextInputField> {
@override
Widget build(BuildContext context) {
return SizedBox(
return Container(
width: double.infinity,
height: 46.h,
child: TextFormField(
@@ -77,13 +78,13 @@ Widget MessageTextInputField(
labelStyle: const TextStyle(color: Colors.black),
errorStyle: TextStyle(
fontSize: 13.sp,
color: const Color.fromARGB(255, 245, 130, 122),
color: Color.fromARGB(255, 245, 130, 122),
),
contentPadding: const EdgeInsets.symmetric(
vertical: 12.0,
horizontal: 16), //<-- Adjust the vertical padding as needed
filled: true,
fillColor: const Color(0xFFFFF3E4),
fillColor: Color(0xFFFFF3E4),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(5),
borderSide: const BorderSide(color: Color(0xFFE8C69F80), width: 1),
@@ -123,7 +124,7 @@ Widget commonDivider() {
return Container(
height: 1.5.h,
width: double.infinity,
decoration: const BoxDecoration(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
@@ -153,7 +154,7 @@ Future<void> datePicker(
onSecondary: Colors.white),
textButtonTheme: TextButtonThemeData(
style: TextButton.styleFrom(
foregroundColor: const Color(0xFFD90B2E),
foregroundColor: Color(0xFFD90B2E),
),
));
final DateTime? picked = await showDatePicker(
@@ -170,7 +171,7 @@ Future<void> datePicker(
);
if (picked != null) {
controller.text = DateFormat('yyyy-MM-dd').format(picked);
controller.text = DateFormat('dd-MM-yyyy').format(picked);
}
}
@@ -185,12 +186,11 @@ Future<TimeOfDay?> showCustomTimePicker(BuildContext context,
onSurface: Colors.white,
),
textTheme: Theme.of(context).textTheme.copyWith(
titleLarge:
const TextStyle(color: Colors.blue), // Change the title color
headline6: TextStyle(color: Colors.blue), // Change the title color
),
textButtonTheme: TextButtonThemeData(
style: TextButton.styleFrom(
foregroundColor: const Color(0xFFD90B2E),
foregroundColor: Color(0xFFD90B2E),
),
));
return showTimePicker(
@@ -219,13 +219,13 @@ Widget stackContainers({
width: 30,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: const Color(0xFFD90B2E),
border: Border.all(color: const Color(0xFF2C3742), width: 1),
color: Color(0xFFD90B2E),
border: Border.all(color: Color(0xFF2C3742), width: 1),
),
child: Center(
child: Text(
number,
style: const TextStyle(
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.w400,
fontSize: 8,
@@ -248,8 +248,7 @@ Widget stackContainers({
width: 30,
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(
color: const Color(0xFF2C3742), width: 1),
border: Border.all(color: Color(0xFF2C3742), width: 1),
),
child: CircleAvatar(
foregroundImage: AssetImage(containerImages[index]),
@@ -266,81 +265,6 @@ Widget stackContainers({
);
}
Widget stackContainersGroups({
required String number,
required List<String> containerImages,
}) {
// Define the maximum number of images to display
const maxImagesToShow = 3;
// Calculate the number of images to show and the remaining count
// final remainingCount = containerImages.length - maxImagesToShow;
final imagesToShow = containerImages.take(maxImagesToShow).toList();
return Row(
children: [
Stack(
clipBehavior: Clip.none,
children: [
containerImages.length > maxImagesToShow
? Container(
height: 30.h,
width: 30.w,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: const Color(0xFFD90B2E),
border:
Border.all(color: const Color(0xFF2C3742), width: 1),
),
child: Center(
child: Text(
// remainingCount > 0 ? '+$remainingCount' : '',
number,
style: const TextStyle(
color: Colors.white,
fontWeight: FontWeight.w400,
fontSize: 8,
),
),
),
)
: SizedBox(
height: 30.h,
width: 30.w,
),
Positioned(
left: containerImages.length > maxImagesToShow ? 22.w : 0.w,
child: SizedBox(
height: 30,
width: 30 * maxImagesToShow.toDouble(),
child: Stack(
clipBehavior: Clip.none,
children: List.generate(imagesToShow.length, (index) {
return Positioned(
left: index * 22.0,
child: Container(
height: 30,
width: 30,
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(
color: const Color(0xFF2C3742), width: 1),
),
child: CircleAvatar(
backgroundImage: NetworkImage(imagesToShow[index]),
),
),
);
}),
),
),
),
],
),
],
);
}
Widget stackContainers2({
required List<String> containerImages,
}) {
@@ -360,7 +284,7 @@ Widget stackContainers2({
width: 40,
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(color: const Color(0xFF2C3742), width: 1),
border: Border.all(color: Color(0xFF2C3742), width: 1),
),
child: CircleAvatar(
foregroundImage: AssetImage(containerImages[index]),
@@ -388,26 +312,15 @@ Widget stackReaction({
return Positioned(
top: 6.h,
left: index * 23.w,
child: Container(
child: commonGlassUI(
width: 30.w,
height: 30.h,
decoration: BoxDecoration(
shape: BoxShape.circle,
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
const Color(0xFFFFFFFF).withOpacity(0.1),
const Color(0xFFFFFFFF).withOpacity(0.06),
],
stops: const [
0.1,
1,
],
),
border: Border.all(
color: const Color(0xFF1E3A46), width: 1.71)),
child: Center(
mainOpacity: 1,
opacity1: 0.05,
opacity2: 0.06,
borderRadius: BorderRadius.circular(100),
customWidget: Center(
child: Image.asset(
containerImages[index],
height: 18.h,

View File

@@ -1,36 +0,0 @@
class ConvertServerDateToUserDate {
convertServerDateToReadableFormate(String? createAtstring) {
if (createAtstring == null || createAtstring.isEmpty) {
createAtstring = DateTime.now().toIso8601String();
}
String? timeAgo;
try {
DateTime postDateTime = DateTime.parse(createAtstring);
DateTime now = DateTime.now();
Duration difference = now.difference(postDateTime);
if (difference.inDays > 365) {
timeAgo = '${(difference.inDays / 365).floor()} years ago';
} else if (difference.inDays > 30) {
timeAgo = '${(difference.inDays / 30).floor()} months ago';
} else if (difference.inDays > 7) {
timeAgo = '${(difference.inDays / 7).floor()} weeks ago';
} else if (difference.inDays > 0) {
timeAgo = '${difference.inDays} days ago';
} else if (difference.inHours > 0) {
timeAgo = '${difference.inHours} hours ago';
} else if (difference.inMinutes > 0) {
timeAgo = '${difference.inMinutes} minutes ago';
} else {
timeAgo = '${difference.inSeconds} seconds ago';
}
print("Time ago: $timeAgo");
return timeAgo;
} catch (e) {
print("Error parsing date: $e");
String timeAgo = 'Unknown';
}
}
}

View File

@@ -1,12 +0,0 @@
import 'package:flutter/material.dart';
class ReactionActions extends StatelessWidget {
const ReactionActions({super.key});
@override
Widget build(BuildContext context) {
return const Placeholder();
}
}

View File

@@ -1,201 +0,0 @@
class ApiUrls {
static const baseUrl = "https://regroup.betadelivery.com/api/v1/";
static const getlogin = "${baseUrl}login";
static const forgotpassword = "${baseUrl}forgot-password";
static const verifyotp = "${baseUrl}forgot-password/verify-otp";
static const tellUsBusinessApi = "${baseUrl}tell-us-about-your-business";
static const letUsUnderstandApi = "${baseUrl}update-business-profile-step-1";
static const resetpassword = "${baseUrl}reset-password";
static const registeration = "${baseUrl}send_otp";
static const verifyregisteration = "${baseUrl}verify_otp";
static const tellusIndividual = "${baseUrl}add_profile";
static const getIndividualactivity = "${baseUrl}fetch-interests";
static const postindividualactivity = "${baseUrl}select-interests";
static const getgroups = "${baseUrl}fetch-groups";
static const postgroups = "${baseUrl}select-groups";
static const getcommunities = "${baseUrl}fetch-communities";
static const postcommunities = "${baseUrl}select-communities";
static const googlelogin = "${baseUrl}sign-in-with-google-login";
static const applelogin = "${baseUrl}apple-login-or-registration";
static const facebooklogin = "${baseUrl}facebook-login";
static const storeDetailsOfOAuth = "${baseUrl}update-user-account-type";
static const getuserdetails = "${baseUrl}get-auth-user-data";
static const getfaqs = "${baseUrl}fetch-faqs";
static const getprivacypolicy = "${baseUrl}fetch-privacy-policy";
static const gettermsconditios = "${baseUrl}fetch-terms-and-condition";
static const postcontactus = "${baseUrl}contact-us";
static const postreportbug = "${baseUrl}bug-report";
static const getfollowers = "${baseUrl}fetch-followers";
static const getfollowing = "${baseUrl}fetch-following";
static const postblock = "${baseUrl}block-profile";
static const postunfollow = "${baseUrl}follow-user";
static const postremoveuser = "${baseUrl}remove-follower";
static const postchangepassword = "${baseUrl}update-password-send-otp";
static const postchangepassverify = "${baseUrl}verify-update-password-otp";
static const gettimelineabilitylist = "${baseUrl}list-of-abilities";
static const posttimeline = "${baseUrl}create-timeline";
static const postaccountvisibility = "${baseUrl}account-visibility";
static const postdeleteaccount = "${baseUrl}delete-my-account";
static const postlogoutaccount = "${baseUrl}logout";
static const getedittimeline = "${baseUrl}get-timeline-data";
static const postedittimeline = "${baseUrl}update-timeline";
static const postremovetimeline = "${baseUrl}delete-timeline";
static const postremovecertification = "${baseUrl}delete-certification";
static const postcertification = "${baseUrl}store-certification";
static const getaccountsessions = "${baseUrl}get-account-session";
static const postuserdevice = "${baseUrl}store-account-session";
static const getmyjoinedgroups = "${baseUrl}my-joined-groups";
static const getmycommunity = "${baseUrl}fetch-my-communities";
static const getcommunitydetail = "${baseUrl}fetch-community-all-details";
static const getComPostdetail = "${baseUrl}fetch-community-all-posts";
static const postleavecommunity = "${baseUrl}leave-community";
static const postmutenotification = "${baseUrl}mute-unmute-community";
static const getrequestedcommunity =
"${baseUrl}fetch-joining-request-for-community";
static const getInvitecommunity = "${baseUrl}fetch-all-invite";
static const postnewinterest = "${baseUrl}store-tags";
static const postacceptreject = "${baseUrl}accept-reject-tag";
static const getinterests = "${baseUrl}list-of-tags-and-requested-tags";
static const postcancelrequest = "${baseUrl}cancel-request-of-community";
static const postacceptinvite = "${baseUrl}accept-invite-to-join-community";
static const postrejectinvite = "${baseUrl}reject-invite-to-join-community";
static const getusercertificates = "${baseUrl}my-certificates";
static const postnotification = "${baseUrl}update-notification-settings";
static const getnotification = "${baseUrl}fetch-notification-settings";
static const getblockuser = "${baseUrl}fetch-blocked-profile";
static const postblockuser = "${baseUrl}block-profile";
static const getlatestpost = "${baseUrl}fetch-latest-post";
static const getpopularpost = "${baseUrl}fetch-popular-post";
static const getfeedpost = "${baseUrl}fetch-post";
static const tagcommunityuser = "${baseUrl}fetch-communities-tags-to-pin";
// Individual
static const posteditprofile = "${baseUrl}update-profile";
static const geteditprofile = "${baseUrl}fetch-profile";
static const getinterestlist = "${baseUrl}fetch-interests";
// Business
static const posteditprofilebusiness = "${baseUrl}update-business-profile";
static const geteditprofilebusiness = "${baseUrl}fetch-business-profile";
//Guest
static const getGuestProfileInd =
"${baseUrl}get-guest-view-of-individual-user-profile";
static const getGuestProfileBus =
"${baseUrl}get-guest-view-of-business-user-profile";
static const getGuestfollowers = "${baseUrl}get-guest-user-followers";
static const getGuestfollowing = "${baseUrl}get-guest-user-following";
//community
static const getpostcommunitylist = "${baseUrl}fetch-communities-with-tags";
static const getpopulartagscommunity = "${baseUrl}fetch-popular-tags";
static const postnewtags = "${baseUrl}store-tags";
static const postupload = "${baseUrl}store-post";
static const postlike = "${baseUrl}fetch-like-list";
static const getuserpinlist = "${baseUrl}fetch-pinned-detail";
static const postusertag = "${baseUrl}pin-unpin";
//comments
static const getComments = "${baseUrl}fetch-comment-with-replied-comment";
static const storeComments = "${baseUrl}store-comment";
static const storeRepliesOnComments = "${baseUrl}reply-on-comment";
static const deleteComments = "${baseUrl}delete-comment";
static const deleteRepliesComments = "${baseUrl}delete-reply-on-comment";
static const getLikeicons = "${baseUrl}fetch-like-icons";
static const postLike = "${baseUrl}like-post";
static const getTagsdetails = "${baseUrl}fetch-post-by-tag";
static const postusersave = "${baseUrl}save-post";
static const getpostdetail = "${baseUrl}fetch-single-post";
static const getpopularTagsdetails = "${baseUrl}fetch-popular-post";
static const postcreatecommunity = "${baseUrl}create-community";
static const getcommunityaddgroups = "${baseUrl}fetch-groups-to-add";
static const getcommunitygroups = "${baseUrl}fetch-community-all-groups";
static const getcommunitymembers = "${baseUrl}fetch-community-all-members";
static const geteditcommunity = "${baseUrl}edit-community";
static const posteditcommunity = "${baseUrl}update-community";
static const getactivitieslist = "${baseUrl}get_activity";
static const getcommunitymanagegroups = "${baseUrl}fetch-community-all-groups-list";
static const postremovegroupscommunity = "${baseUrl}remove-groups-from-community";
static const postmanageaddgroupscommunity = "${baseUrl}add-groups-in-community";
}

View File

@@ -1,10 +1,12 @@
import 'package:get/get.dart';
import 'package:regroup/Main_Screens/CalenderTab/CalenderTab.dart';
import 'package:regroup/Main_Screens/Chats/View/chatsmainscreen.dart';
import 'package:regroup/Main_Screens/Community_HomePage/Community.dart';
import 'package:regroup/Main_Screens/GroupTab/View/GroupTab.dart';
import 'package:regroup/Main_Screens/ProfileTab/EditProfile/View/ProfileTab.dart';
import 'package:regroup/Feed%20Module/Main_Screens/CalenderTab/CalenderTab.dart';
import 'package:regroup/Feed%20Module/Main_Screens/Chats/View/chatsmainscreen.dart';
import 'package:regroup/Feed%20Module/Main_Screens/Community/Community.dart';
import 'package:regroup/Feed%20Module/Main_Screens/GroupTab/View/GroupTab.dart';
import 'package:regroup/Feed%20Module/Main_Screens/ProfileTab/ProfileTab.dart';
class MainController extends GetxController {
var selectedIndex = 0.obs;

View File

@@ -1,78 +1,19 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';
import 'package:regroup/Common/controller/MainController.dart';
import 'package:regroup/Main_Screens/ProfileTab/EditProfile/ViewModel/InterestApiList.dart';
final MainController mainController = Get.put(MainController());
class MainScreen extends StatefulWidget {
class MainScreen extends StatelessWidget {
const MainScreen({super.key});
@override
State<MainScreen> createState() => _MainScreenState();
}
class _MainScreenState extends State<MainScreen> {
@override
void initState() {
InterestListApi().getinterestlistApi();
super.initState();
}
@override
Widget build(BuildContext context) {
return Obx(() {
return WillPopScope(
onWillPop: () async {
_onBackButtonPressed(context);
return true; // Return true to allow the pop action
},
child: Scaffold(
resizeToAvoidBottomInset: false,
body: mainController.currentTab[mainController.selectedIndex.value],
),
return Scaffold(
resizeToAvoidBottomInset: false,
body: mainController.currentTab[mainController.selectedIndex.value],
);
});
}
Future<bool> _onBackButtonPressed(BuildContext context) async {
bool? exitApp = await showDialog(
context: context,
builder: (context) {
return AlertDialog(
backgroundColor: Color(0xFF222935),
title: const Text('Exit App', style: TextStyle(color: Colors.white)),
content: const Text('Do you really want to close the app?',
style: TextStyle(color: Colors.white)),
actions: [
TextButton(
onPressed: () {
Navigator.of(context).pop(false);
},
child: const Text(
'No',
style: TextStyle(
color: Color(0xFFD90B2E),
),
),
),
TextButton(
onPressed: () {
SystemNavigator.pop();
Navigator.pop(context);
},
child: const Text(
'Yes',
style: TextStyle(
color: Color(0xFFD90B2E),
),
),
)
],
);
},
);
return exitApp ?? false;
}
}

View File

@@ -1,686 +0,0 @@
import 'dart:developer';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_reaction_button/flutter_reaction_button.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
import 'package:regroup/Common/base_manager.dart';
import 'package:regroup/Main_Screens/Community/Model/CommonDatumObjModel.dart';
import 'package:regroup/Main_Screens/Community/Model/fetchicons.dart';
import 'package:regroup/Main_Screens/Community/ViewModel/postmethod.dart';
import 'package:regroup/Main_Screens/Community_HomePage/view_model/CountersHelper.dart';
import 'package:regroup/Main_Screens/Community_HomePage/view_model/communitypostmethod.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/dialogs.dart';
import 'package:regroup/Utils/texts.dart';
import 'package:regroup/resources/routes/route_name.dart';
import 'package:regroup/sidemenu/view_model/postmethod.dart';
class NormalCardTile extends StatefulWidget {
List<ManageTagPopular> tags;
String? createAt;
CommonDatumObjModelData commonObj;
String forWhichTab;
List<ReactionData> reactions;
Map<int, ReactionData?> selectedReactions;
bool? coachbool;
bool showCommentButton;
int currentIndex;
NormalCardTile(
{Key? key,
required this.tags,
this.createAt,
required this.forWhichTab,
required this.commonObj,
required this.reactions,
required this.selectedReactions,
required this.currentIndex,
this.showCommentButton = true,
this.coachbool})
: super(key: key);
@override
_NormalCardTileState createState() => _NormalCardTileState();
}
class _NormalCardTileState extends State<NormalCardTile> {
RxString mainImage = 'assets/images/png/uiw_like-o.png'.obs;
final CountersHelper countersHelper = Get.find<CountersHelper>();
int saveCount = 0;
_handleReactionChange(Reaction<String>? reaction) async {
if (widget.selectedReactions[widget.commonObj.id] != null &&
reaction?.value ==
widget.selectedReactions[widget.commonObj.id]!.id.toString() ||
reaction?.value == null) {
// User tapped on the currently selected reaction, so remove it
//api call for dislike
await LikeUploaddata(
widget.selectedReactions[widget.commonObj.id]?.id,
widget.commonObj.id!,
);
setState(() {
widget.selectedReactions[widget.commonObj.id!] = null;
//decrement gloally
countersHelper.likesCounterPopular[widget.currentIndex]--;
log("global value ${countersHelper.likesCounterPopular[widget.currentIndex]}");
});
} else {
// User selected a new reaction
var newSelectedReaction = widget.reactions.firstWhere(
(r) => r.id.toString() == reaction?.value,
orElse: () => widget.reactions.first, // Default reaction if not found
);
await _handleReactionChangeApiCall(
newSelectedReaction, widget.commonObj.id!);
}
}
Future<void> _handleReactionChangeApiCall(
ReactionData? reaction, int postId) async {
setState(() {
widget.selectedReactions[postId] =
reaction; // Set the selected reaction for this post
if (countersHelper.likesCounterPopular[widget.currentIndex] <=
widget.commonObj.totalReactionCount!) {
countersHelper.likesCounterPopular[widget.currentIndex]++;
}
});
await LikeUploaddata(
reaction?.id,
postId,
);
}
LikeUploaddata(int? likeIconId, int? postid) async {
Map<String, dynamic> updata = {
"manage_posts_xid": postid,
"like_icons_xid": likeIconId ?? '',
};
final data = await CommunitypostMethod().postLikepost(updata);
if (data.status == ResponseStatus.SUCCESS) {
// return utils.showToast(data.message);
} else {
return utils.showToast(data.message);
}
}
void updateImage(String reaction) {
switch (reaction) {
case 'like':
mainImage.value = 'assets/images/png/f7_hand-thumbsup.png';
break;
case 'heart':
mainImage.value = 'assets/images/png/heart 2.png';
break;
case 'party':
mainImage.value = 'assets/images/png/party-popper 2.png';
break;
default:
// Handle any other cases or do nothing
break;
}
}
saveunsavepost(int popularpostid) async {
// utils.loader();
Map<String, dynamic> updata = {
"manage_posts_xid": popularpostid,
};
final data = await Communitypostmethod().postUserSave(updata);
if (data.status == ResponseStatus.SUCCESS) {
if (countersHelper.saveButtonPopular[widget.currentIndex] == false) {
countersHelper.savePostCounterPopular[widget.currentIndex]++;
} else {
countersHelper.savePostCounterPopular[widget.currentIndex]--;
}
countersHelper.saveButtonPopular[widget.currentIndex] =
!countersHelper.saveButtonPopular[widget.currentIndex];
return utils.showToast(data.message);
} else {
return utils.showToast(data.message);
}
}
pinunpinUser(int userid) async {
Map<String, dynamic> updata = {
"pin_iam_principal_xid": userid,
};
final data = await SidebarTags().postUserpin(updata);
if (data.status == ResponseStatus.SUCCESS) {
countersHelper.pinButtonPopular[widget.currentIndex] =
!countersHelper.pinButtonPopular[widget.currentIndex];
countersHelper.updateFeedsPage.value =
!countersHelper.updateFeedsPage.value;
return utils.showToast(data.message);
} else {
return utils.showToast(data.message);
}
}
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
var imgUrl = widget.commonObj.image!
.split(
"https://regroup.betadelivery.com/storage/app/public/uploads/post_image/")
.last;
return ConstrainedBox(
constraints: BoxConstraints(minHeight: Get.width < 400 ? 750 : 770),
child: commonGlassUI(
width: double.infinity,
height: 600.h,
mainOpacity: 1,
borderRadius: BorderRadius.circular(1),
customWidget: Column(
children: [
sizedBoxHeight(25.h),
Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
CircleAvatar(
backgroundImage:
widget.commonObj.iamPrincipal?.profilePhoto != null
? NetworkImage(widget.commonObj.iamPrincipal!
.profilePhoto!) as ImageProvider<Object>
: const AssetImage(
'assets/images/default_profile.png')
as ImageProvider<Object>,
radius: 25.r,
),
sizedBoxWidth(12.w),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
text16w400_FCFCFC(
widget.commonObj.iamPrincipal!.fullName ??
"Regroup"),
sizedBoxWidth(10.w),
widget.coachbool == true
? Container(
width: 75.w,
height: 25.h,
decoration: BoxDecoration(
border: Border.all(
color: const Color(0xFFD90B2E),
width: 1.w,
),
borderRadius: BorderRadius.circular(5.r),
),
child: Center(
child: text12w400_FCFCFC("Coach")),
)
: const SizedBox(),
],
),
sizedBoxHeight(5.h),
Row(
children: [
Image.asset(
'assets/images/png/community 1 (traced).png',
height: 14.w,
width: 14.w,
),
sizedBoxWidth(7.w),
text12w400_FCFCFC(
widget.commonObj.community!.communityName ??
""),
sizedBoxWidth(7.w),
Icon(
Icons.circle,
color: const Color(0xFFFCFCFC),
size: 4.sp,
),
sizedBoxWidth(6.w),
text12w400_FCFCFC(widget.createAt!),
],
)
],
),
const Spacer(),
PopupMenuButton(
surfaceTintColor: const Color(0xFF222935),
constraints: BoxConstraints.tightFor(width: 176.w),
offset: const Offset(0, 50),
color: const Color(0xFF222935),
tooltip: "",
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
PopupMenuItem(
onTap: () {},
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 12.w),
child: Row(
children: [
Text(
'Report Post',
style: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontWeight: FontWeight.w800,
fontFamily: "Nunito Sans",
),
),
const Spacer(),
Image.asset(
"assets/images/png/Vector (5).png",
height: 15.h,
width: 15.w,
)
],
),
),
),
const PopupMenuDivider(),
PopupMenuItem(
onTap: () {},
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 12.w),
child: Row(
children: [
Text(
'Share post',
style: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontWeight: FontWeight.w800,
fontFamily: "Nunito Sans",
),
),
const Spacer(),
Image.asset(
"assets/images/png/share.png",
height: 20.h,
width: 20.w,
)
],
),
),
),
const PopupMenuDivider(),
PopupMenuItem(
onTap: () {
pinunpinUser(widget.commonObj.iamPrincipal!.id!);
},
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 12.w),
child: Row(
children: [
countersHelper
.pinButtonPopular[widget.currentIndex]
? Text(
'Unpin',
style: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontWeight: FontWeight.w800,
fontFamily: "Nunito Sans",
),
)
: Text(
'Pin',
style: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontWeight: FontWeight.w800,
fontFamily: "Nunito Sans",
),
),
const Spacer(),
countersHelper
.pinButtonPopular[widget.currentIndex]
? Image.asset(
"assets/images/png/PinnedIcon.png",
height: 25.h,
width: 25.w,
)
: Image.asset(
"assets/images/png/f7_pin-fill (2).png",
height: 25.h,
width: 25.w,
)
],
),
),
),
],
child: Image.asset(
'assets/images/png/Group 1000004071.png',
width: 16.w,
height: 18.h,
),
),
sizedBoxWidth(5.w)
],
),
),
sizedBoxHeight(20.h),
GestureDetector(
onTap: () async {
if (widget.showCommentButton) {
bool result = await Get.toNamed(RouteName.postdetailsScreen,
arguments: {
'postId': widget.commonObj.id,
'tagsList': widget.tags,
'created_at': widget.createAt,
'commonObj': widget.commonObj,
'fromWhichTab': widget.forWhichTab,
'reactions': widget.reactions,
'selectedReactions': widget.selectedReactions,
'currentIndex': widget.currentIndex
});
if (result) {
setState(() {});
}
}
},
child: SizedBox(
height: 360,
width: double.infinity,
child: Image.network(
widget.commonObj.image!,
fit: BoxFit.cover,
errorBuilder: (context, error, stackTrace) {
return const Center(
child: Icon(Icons.error),
);
},
),
),
),
sizedBoxHeight(20.h),
Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: Column(children: [
SizedBox(
height: 30.h,
width: double.infinity,
child: ListView.builder(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: widget.tags.length,
itemBuilder: (context, index) {
var manageTag = widget.tags[index];
return Padding(
padding: EdgeInsets.only(right: 12.w),
child: GestureDetector(
onTap: () {
Get.toNamed(RouteName.tagdetailscreen,
arguments: {
'tagid': manageTag.id,
'tagname': manageTag.name,
'ispinnedtag': manageTag.isPinned,
});
},
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
commonContainer(
width: 130.w,
height: 30.h,
borderRadius: BorderRadius.circular(30.r),
borderColor: const Color(0xFFD90B2E),
opacity1: 0.04,
opacity2: 0.05,
customWidget: Padding(
padding:
EdgeInsets.symmetric(horizontal: 10.w),
child: Center(
child: text14w400_FCFCFC(
'#${manageTag.name}',
),
),
),
),
],
),
),
);
},
),
),
sizedBoxHeight(20.h),
SizedBox(
width: double.infinity,
child: Text(
widget.commonObj.caption ?? "",
style: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontFamily: "Nunito Sans",
),
maxLines: 2, // Set the maximum number of lines
overflow: TextOverflow
.ellipsis, // Truncate the text with an ellipsis
),
),
// sizedBoxHeight(20.h),
Row(children: [
Obx(
() => InkWell(
onTap: () {
Get.toNamed(RouteName.reactionview, arguments: {
'postId': widget.commonObj.id,
});
},
child: stackReaction(
number: countersHelper
.likesCounterPopular[widget.currentIndex]
.toString(),
containerImages: [
'assets/images/png/f7_hand-thumbsup.png',
'assets/images/png/heart 2.png',
'assets/images/png/party-popper 2.png'
]),
),
),
const Spacer(),
commonContainer(
width: 30.w,
height: 30.h,
borderColor: const Color(0xFF434A53),
borderwidth: 0.43,
opacity1: 0.2,
opacity2: 0.2,
boxShape: BoxShape.circle,
customWidget: Center(
child: Image.asset(
'assets/images/png/Frame 1000004088.png',
height: 13.h,
width: 13.w,
),
),
),
sizedBoxWidth(12.w),
Obx(
() => text14w400_FCFCFC(countersHelper
.commentsCounterPopular[widget.currentIndex]
.toString()),
),
sizedBoxWidth(20.w),
commonContainer(
width: 30.w,
height: 30.h,
borderColor: const Color(0xFF434A53),
borderwidth: 0.43,
opacity1: 0.2,
opacity2: 0.2,
boxShape: BoxShape.circle,
customWidget: Center(
child: Image.asset(
'assets/images/png/Vector (1).png',
height: 12.h,
width: 12.w,
),
),
),
sizedBoxWidth(12.w),
Obx(
() => text14w400_FCFCFC(countersHelper
.savePostCounterPopular[widget.currentIndex]
.toString()),
),
]),
sizedBoxHeight(12.h),
commonDivider(),
sizedBoxHeight(12.h),
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ReactionButton<String>(
onReactionChanged: (reaction) async {
_handleReactionChange(reaction);
},
reactions: widget.reactions
.map((reaction) => Reaction<String>(
value: reaction.id.toString(),
previewIcon: Image.network(reaction.image,
width: 24,
height: 24,
fit: BoxFit.cover),
icon: Image.network(reaction.image,
width: 24,
height: 24,
fit: BoxFit.cover),
))
.toList(),
selectedReaction: widget.selectedReactions[
widget.commonObj.id] !=
null
? Reaction<String>(
value: widget
.selectedReactions[widget.commonObj.id]!
.id
.toString(),
icon: Image.network(
widget
.selectedReactions[
widget.commonObj.id]!
.image,
width: 24,
height: 24,
fit: BoxFit.cover,
),
)
: null,
boxColor: Colors.white,
boxElevation: 9,
boxRadius: 30,
itemsSpacing: 20,
itemScale: 0.3,
itemSize: const Size(30, 30),
boxPadding: const EdgeInsets.all(8),
boxAnimationDuration:
const Duration(milliseconds: 200),
itemAnimationDuration:
const Duration(milliseconds: 500),
hoverDuration: const Duration(milliseconds: 700),
child: widget.selectedReactions[
widget.commonObj.id] !=
null
? Image.network(
widget
.selectedReactions[widget.commonObj.id]!
.image,
width: 24,
height: 24,
fit: BoxFit.cover,
)
: Image.asset(
'assets/images/png/uiw_like-o.png',
width: 24,
height: 24,
fit: BoxFit.cover,
),
),
sizedBoxHeight(8.h),
text11w400_FCFCFC('Like'),
],
),
widget.showCommentButton
? GestureDetector(
onTap: () async {
bool result = await Get.toNamed(
RouteName.postdetailsScreen,
arguments: {
'postId': widget.commonObj.id,
'tagsList': widget.tags,
'created_at': widget.createAt,
'commonObj': widget.commonObj,
'fromWhichTab': widget.forWhichTab,
'reactions': widget.reactions,
'selectedReactions':
widget.selectedReactions,
'currentIndex': widget.currentIndex
});
if (result) {
setState(() {});
}
},
child: Column(
children: [
Image.asset(
'assets/images/png/Frame 1000004088.png',
height: 19.h,
width: 19.w,
),
sizedBoxHeight(8.h),
text11w400_FCFCFC('Comment')
],
),
)
: SizedBox(),
Obx(
() => Column(
//here
children: [
GestureDetector(
onTap: () async =>
await saveunsavepost(widget.commonObj.id!),
child: countersHelper
.saveButtonPopular[widget.currentIndex]
? Image.asset(
'assets/images/png/postSaved.png',
height: 19.h,
width: 19.w,
)
: Image.asset(
'assets/images/png/Frame 1000004089.png',
height: 19.h,
width: 19.w,
),
),
sizedBoxHeight(8.h),
text11w400_FCFCFC('Save')
],
),
),
],
),
sizedBoxHeight(12.h),
commonDivider(),
sizedBoxHeight(12.h),
]),
),
],
)),
);
}
}

View File

@@ -1,4 +0,0 @@
abstract class BaseApiServices {
Future<dynamic> getApi(String url);
Future<dynamic> postApi(var data, String url);
}

View File

@@ -1,441 +0,0 @@
import 'dart:convert';
import 'dart:developer';
import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
import 'package:get/get.dart' hide Response;
import 'package:regroup/Global.dart';
import 'package:regroup/Common/base_manager.dart';
import 'package:regroup/Utils/dialogs.dart';
import 'package:regroup/resources/routes/route_name.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:http/http.dart' as http;
import '../../entry_point_controller.dart';
class NetworkApiServices {
Dio dio = Dio();
final controllerEntryPoint = Get.put(EntryPointController());
String basicAuth =
'Basic ${base64.encode(utf8.encode('RegroupUserName:71%@L%es^bUX94`J9XT*@bh,._WWM{\$%^^&&'))}';
Future<ResponseData> getApi(String url, {bool optionalpar = false}) async {
if (kDebugMode) {
print("api url is >>> $url");
}
Response response;
SharedPreferences prefs = await SharedPreferences.getInstance();
token = prefs.getString('access-token');
log(token.toString());
try {
response = await dio.get(
url,
options:
// Options(headers: {
// "authorization": "Bearer $token",
// 'content-Type': 'application/json',
// })
optionalpar
? Options(
headers: {
"authorization": basicAuth,
},
)
: Options(
headers: {
'authorization': basicAuth,
'access-token': token
},
),
);
} on Exception catch (e) {
// log(e.toString());
if (e is DioException) {
log(e.response.toString());
if (e.response == null) {
return ResponseData<dynamic>(
'Oops something Went Wrong, Please try again!',
ResponseStatus.FAILED,
);
}
if (e.response!.statusCode == 401) {
if (e.response!.data['message'] == 'Invalid token') {
// prefs.remove('access-token');
// await prefs.clear();
// Get.offNamed(RouteName.loginScreen);
utils.showToast('Please login again');
} else {
return ResponseData<dynamic>(
'Oops something Went Wrong, Please try again!',
ResponseStatus.FAILED,
);
}
}
if (e.response!.statusCode == 403) {
if (e.response!.data['message'] is List) {
return ResponseData<dynamic>(
e.response!.data['message'][0]!, ResponseStatus.FAILED,
data: e.response!.data);
} else {
return ResponseData<dynamic>(
e.response!.data['message'], ResponseStatus.FAILED,
data: e.response!.data);
}
}
}
return ResponseData<dynamic>(
'Oops something Went Wrong', ResponseStatus.FAILED);
}
// on Exception catch (e) {
// if (e is DioException) {
// if (e.response!.statusCode == 403) {
// return ResponseData<dynamic>(
// e.response!.data['message'][0]!, ResponseStatus.FAILED,
// data: e.response!.data);
// }
// }
// return ResponseData<dynamic>(
// 'Oops something Went Wrong',
// ResponseStatus.FAILED,
// );
// }
if (response.statusCode == 200) {
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: response.data);
} else if (response.statusCode == 201) {
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: response.data);
} else if (response.statusCode == 404) {
return ResponseData<dynamic>("error", ResponseStatus.ERROR,
data: response.data);
} else {
try {
return ResponseData<dynamic>(
response.data['message'].toString(), ResponseStatus.FAILED);
} catch (_) {
return ResponseData<dynamic>(
response.statusMessage!, ResponseStatus.FAILED);
}
}
}
// Future<ResponseData> postApi(
// data,
// String url,
// {bool optionalpar = false}
// ) async {
// if (kDebugMode) {
// print("data >>> $data");
// print("api url is >>> $url");
// }
// Response response;
// SharedPreferences prefs = await SharedPreferences.getInstance();
// // ignore: unused_local_variable
// String? token = prefs.getString('token').toString();
// print("token is $token");
// log(token.toString());
// try {
// response = await dio.post(url,
// data: data,
// options: optionalpar
// ?
// Options(
// headers: {
// "authorization": basicAuth,
// },
// )
// :
// Options(
// headers: {'authorization': basicAuth, 'access-token': token},
// ),
// );
// log(response.toString());
// } on Exception catch (e) {
// if (e is DioException) {
// log(e.response.toString());
// }
// return ResponseData<dynamic>(
// 'Opps something went wrong', ResponseStatus.FAILED);
// }
// // if (kDebugMode) {
// // print(response);
// // }
// // print("response in post $response");
// if (response.statusCode == 200) {
// // print(response.data);
// return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
// data: response.data);
// } else {
// try {
// return ResponseData<dynamic>(
// response.data['message'].toString(), ResponseStatus.FAILED);
// } catch (_) {
// return ResponseData<dynamic>(
// response.statusMessage!, ResponseStatus.FAILED);
// }
// }
// }
//New post api
@override
Future<ResponseData> postApi(data, String url,
{bool optionalpar = false}) async {
if (kDebugMode) {
print("data >>> $data");
print("api url is >>> $url");
}
Response response;
SharedPreferences prefs = await SharedPreferences.getInstance();
String? token = prefs.getString('access-token');
try {
response = await dio.post(
url,
data: data,
options: optionalpar
// (token != null)
? Options(
headers: {
"authorization": basicAuth,
},
)
: Options(
headers: {'authorization': basicAuth, 'access-token': token},
),
);
log(response.toString());
} on Exception catch (e) {
if (e is DioException) {
log(e.response.toString());
if (e.response == null) {
return ResponseData<dynamic>(
'Oops something Went Wrong, Please try again!',
ResponseStatus.FAILED,
);
}
if (e.response!.statusCode == 401) {
if (e.response!.data['message'] == 'Invalid token') {
prefs.remove('access-token');
await prefs.clear();
Get.offNamed(RouteName.loginScreen);
utils.showToast('Please login again');
} else {
return ResponseData<dynamic>(
'Oops something Went Wrong, Please try again!',
ResponseStatus.FAILED,
);
}
// Get.toNamed(RouteName.login);
// return ResponseData<dynamic>(
// 'Oops something Went Wrong, Please try again!',
// ResponseStatus.FAILED,
// );
}
if (e.response!.statusCode == 403) {
if (e.response!.data['message'] is List) {
return ResponseData<dynamic>(
e.response!.data['message'][0]!, ResponseStatus.FAILED,
data: e.response!.data);
}
// else if (e.response!.data['message']
// // ['name'] is List
// ) {
// return ResponseData<dynamic>(
// // e.response!.data['message']['name'][0]!, ResponseStatus.FAILED,
// e.response!.data['message'], ResponseStatus.FAILED,
// data: e.response!.data);
// }
else {
return ResponseData<dynamic>(
e.response!.data['message'], ResponseStatus.FAILED,
data: e.response!.data);
}
}
}
return ResponseData<dynamic>(
'Oops something Went Wrong',
ResponseStatus.FAILED,
);
}
if (response.statusCode == 200 || response.statusCode == 201) {
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: response.data);
} else if (response.statusCode == 203) {
print(response.data);
return ResponseData<dynamic>("success", ResponseStatus.PRIVATE,
data: response.data);
} else {
try {
return ResponseData<dynamic>(
response.data['message'].toString(), ResponseStatus.FAILED);
} catch (_) {
return ResponseData<dynamic>(
response.statusMessage!, ResponseStatus.FAILED);
}
}
}
Future<ResponseData> postFileUploadApi({data, required String url}) async {
if (kDebugMode) {
print("data >>> $data");
print("api url is >>> $url");
}
Response response;
SharedPreferences prefs = await SharedPreferences.getInstance();
// ignore: unused_local_variable
String? token = prefs.getString('access-token').toString();
try {
response = await dio.post(url,
data: data,
options: Options(headers: {"authorization": "Bearer $token"}));
} on Exception catch (_) {
return ResponseData<dynamic>(
'Opps something went wrong', ResponseStatus.FAILED);
}
if (kDebugMode) {
print(response);
}
print("response in post $response");
if (response.statusCode == 200) {
// print(response.data);
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: response.data);
} else {
try {
return ResponseData<dynamic>(
response.data['message'].toString(), ResponseStatus.FAILED);
} catch (_) {
return ResponseData<dynamic>(
response.statusMessage!, ResponseStatus.FAILED);
}
}
}
Future<ResponseData<dynamic>> postApiHttp(
String token, String url, Map<String, String> body) async {
// var headers = {
// 'Authorization': 'Bearer 1867|aBb92qswYsEzQa8LJayiuQw6B3Wofuj6iluUumLx',
// 'Authorization': 'Bearer 189|yeRLynwInflhfnVObT7dd7R0Ywv91AIlxIKXoiAv',
// 'Cookie': 'laravel_session=eyJpdiI6ImcwS2NYNlJYam4wcU1YUXJsYWZsb2c9PSIsInZhbHVlIjoiK0hvT3c5NmZFQ0NDajYxTUFaaVluWkpYbUkwYk1JbldyTVJwZitMN05zWnliaVdBNWZjTXpyVG5UODM1MTBaMzQwUCtNc3lGak5MQWRZamh2dWIvdzIxQnNVVWQrQi9NUi9YTS9PQWgxMlZHTENUNU0zY0VVazluNEplTFFvbGgiLCJtYWMiOiJkNjA0NjA4YWJhZDkxODA0YmQ2MTViNzc1MTg4OWRiODMzMjI5OGE0ZDI3MDRhMTAzM2E1MGY4ODQyMjI1NGIxIiwidGFnIjoiIn0%3D'
// };
// controllerEntryPoint.logedIn!
// ?
// headers = {"authorization": "Bearer $token"};
// : headers = {
// "authorization":
// "Bearer 189|yeRLynwInflhfnVObT7dd7R0Ywv91AIlxIKXoiAv"
// };
var headers = {
'Accept': 'application/json',
'Authorization': token,
// 'Cookie': 'jerichoalternatives_session=eyJpdiI6Ik5KTWVUUnM2elR0b0Z0SWZneWY2Nmc9PSIsInZhbHVlIjoiY0s5WjV5UmJyZ3J2UUY1enY4KzZEblg5RmxWUm1KdXpmVWxQVTRKNUgyMThqRlJPK1lrcVhXMzJLMkhjSW5BdFJhNEgyTWFZQmM3Sll0aG52d1F4RGpSM0l4TlFWWlVPaUhpVFVsQ3lnaW8rSXJSY2Y2aG8ydFhqck8xTmlDaUMiLCJtYWMiOiI2MmNhZWZjYmZkMzBlYzhhZjcxNzRhMmM1OGJhYmRjM2JkOGMzM2Y3ZGFmMWViNWIyOTYyODY5ZDk3MmZmNGI3IiwidGFnIjoiIn0%3D'
};
var request = http.MultipartRequest('POST', Uri.parse(url));
request.fields.addAll(body);
request.headers.addAll(headers);
http.StreamedResponse response = await request.send();
print(response.statusCode);
if (response.statusCode == 200) {
var resp = await response.stream.bytesToString();
var jsonResp = jsonDecode(resp);
print(jsonResp);
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: jsonResp);
// return await response.stream.bytesToString();
} else if (response.statusCode == 201) {
var resp = await response.stream.bytesToString();
var jsonResp = jsonDecode(resp);
print(jsonResp);
return ResponseData<dynamic>(jsonResp["message"], ResponseStatus.PRIVATE,
data: jsonResp);
} else if (response.statusCode == 400) {
var resp = await response.stream.bytesToString();
var jsonResp = jsonDecode(resp);
print(jsonResp);
return ResponseData<dynamic>(
jsonResp["message"],
ResponseStatus.FAILED,
);
} else if (response.statusCode == 422) {
var resp = await response.stream.bytesToString();
var jsonResp = jsonDecode(resp);
print(jsonResp);
var errorMessage = jsonResp["errors"]["email2"].join(", ") +
"\n" +
jsonResp["errors"]["contact_number2"].join(", ");
// return ResponseData<dynamic>(
// jsonResp["errors"][0]["email2"] +
// jsonResp["errors"][0]["contact_number2"],
// ResponseStatus.PRIVATE,
// );
return ResponseData<String>(
errorMessage,
ResponseStatus.PRIVATE,
);
} else if (response.statusCode == 500) {
var resp = await response.stream.bytesToString();
var jsonResp = jsonDecode(resp);
print(jsonResp);
return ResponseData<dynamic>(
jsonResp["message"],
ResponseStatus.FAILED,
);
} else {
return ResponseData<dynamic>(
response.reasonPhrase!,
ResponseStatus.FAILED,
);
}
}
Future<ResponseData> postslugApi(String url) async {
if (kDebugMode) {
print("api url is >>> $url");
}
Response response;
SharedPreferences prefs = await SharedPreferences.getInstance();
// String? token = prefs.getString('token');
String? token = prefs.getString('access-token').toString();
print("token is $token");
try {
response = await dio.post(url,
options: Options(headers: {"authorization": "Bearer $token"}));
} on Exception catch (_) {
return ResponseData<dynamic>(
'Oops something Went Wrong', ResponseStatus.FAILED);
}
if (response.statusCode == 200) {
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: response.data);
} else {
try {
return ResponseData<dynamic>(
response.data['message'].toString(), ResponseStatus.FAILED);
} catch (_) {
return ResponseData<dynamic>(
response.statusMessage!, ResponseStatus.FAILED);
}
}
}
}

View File

@@ -0,0 +1,255 @@
import 'dart:convert';
import 'dart:developer';
import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
import 'package:get/get.dart' hide Response;
import 'package:regroup/Global.dart';
import 'package:regroup/Utils/base_manager.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:http/http.dart' as http;
import 'entry_point_controller.dart';
class NetworkApi {
Dio dio = Dio();
final controllerEntryPoint = Get.put(EntryPointController());
Future<ResponseData> getApi(String url) async {
if (kDebugMode) {
print("api url is >>> $url");
}
Response response;
SharedPreferences prefs = await SharedPreferences.getInstance();
token = prefs.getString('token');
try {
response = await dio.get(url,
options: Options(headers: {
"authorization": "Bearer $token",
'content-Type': 'application/json',
}));
} on Exception catch (_) {
return ResponseData<dynamic>(
'Oops something Went Wrong', ResponseStatus.FAILED);
}
if (response.statusCode == 200) {
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: response.data);
} else if (response.statusCode == 404) {
return ResponseData<dynamic>("error", ResponseStatus.ERROR,
data: response.data);
} else {
try {
return ResponseData<dynamic>(
response.data['message'].toString(), ResponseStatus.FAILED);
} catch (_) {
return ResponseData<dynamic>(
response.statusMessage!, ResponseStatus.FAILED);
}
}
}
Future<ResponseData> postApi({data, required String url}) async {
if (kDebugMode) {
print("data >>> $data");
print("api url is >>> $url");
}
Response response;
SharedPreferences prefs = await SharedPreferences.getInstance();
// ignore: unused_local_variable
String? token = prefs.getString('token').toString();
print("token is $token");
try {
response = await dio.post(url,
data: data,
options: Options(
headers: {
"authorization": "Bearer $token",
'content-Type': 'application/json',
"Accept": 'application/json'
},
));
} on Exception catch (e) {
if (e is DioException) {
log(e.response.toString());
}
return ResponseData<dynamic>(
'Opps something went wrong', ResponseStatus.FAILED);
}
// if (kDebugMode) {
// print(response);
// }
// print("response in post $response");
if (response.statusCode == 200) {
// print(response.data);
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: response.data);
} else {
try {
return ResponseData<dynamic>(
response.data['message'].toString(), ResponseStatus.FAILED);
} catch (_) {
return ResponseData<dynamic>(
response.statusMessage!, ResponseStatus.FAILED);
}
}
}
Future<ResponseData> postFileUploadApi({data, required String url}) async {
if (kDebugMode) {
print("data >>> $data");
print("api url is >>> $url");
}
Response response;
SharedPreferences prefs = await SharedPreferences.getInstance();
// ignore: unused_local_variable
String? token = prefs.getString('token').toString();
try {
response = await dio.post(url,
data: data,
options: Options(headers: {"authorization": "Bearer $token"}));
} on Exception catch (_) {
return ResponseData<dynamic>(
'Opps something went wrong', ResponseStatus.FAILED);
}
if (kDebugMode) {
print(response);
}
print("response in post $response");
if (response.statusCode == 200) {
// print(response.data);
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: response.data);
} else {
try {
return ResponseData<dynamic>(
response.data['message'].toString(), ResponseStatus.FAILED);
} catch (_) {
return ResponseData<dynamic>(
response.statusMessage!, ResponseStatus.FAILED);
}
}
}
Future<ResponseData<dynamic>> postApiHttp(
String token, String url, Map<String, String> body) async {
// var headers = {
// 'Authorization': 'Bearer 1867|aBb92qswYsEzQa8LJayiuQw6B3Wofuj6iluUumLx',
// 'Authorization': 'Bearer 189|yeRLynwInflhfnVObT7dd7R0Ywv91AIlxIKXoiAv',
// 'Cookie': 'laravel_session=eyJpdiI6ImcwS2NYNlJYam4wcU1YUXJsYWZsb2c9PSIsInZhbHVlIjoiK0hvT3c5NmZFQ0NDajYxTUFaaVluWkpYbUkwYk1JbldyTVJwZitMN05zWnliaVdBNWZjTXpyVG5UODM1MTBaMzQwUCtNc3lGak5MQWRZamh2dWIvdzIxQnNVVWQrQi9NUi9YTS9PQWgxMlZHTENUNU0zY0VVazluNEplTFFvbGgiLCJtYWMiOiJkNjA0NjA4YWJhZDkxODA0YmQ2MTViNzc1MTg4OWRiODMzMjI5OGE0ZDI3MDRhMTAzM2E1MGY4ODQyMjI1NGIxIiwidGFnIjoiIn0%3D'
// };
// controllerEntryPoint.logedIn!
// ?
// headers = {"authorization": "Bearer $token"};
// : headers = {
// "authorization":
// "Bearer 189|yeRLynwInflhfnVObT7dd7R0Ywv91AIlxIKXoiAv"
// };
var headers = {
'Accept': 'application/json',
'Authorization': token,
// 'Cookie': 'jerichoalternatives_session=eyJpdiI6Ik5KTWVUUnM2elR0b0Z0SWZneWY2Nmc9PSIsInZhbHVlIjoiY0s5WjV5UmJyZ3J2UUY1enY4KzZEblg5RmxWUm1KdXpmVWxQVTRKNUgyMThqRlJPK1lrcVhXMzJLMkhjSW5BdFJhNEgyTWFZQmM3Sll0aG52d1F4RGpSM0l4TlFWWlVPaUhpVFVsQ3lnaW8rSXJSY2Y2aG8ydFhqck8xTmlDaUMiLCJtYWMiOiI2MmNhZWZjYmZkMzBlYzhhZjcxNzRhMmM1OGJhYmRjM2JkOGMzM2Y3ZGFmMWViNWIyOTYyODY5ZDk3MmZmNGI3IiwidGFnIjoiIn0%3D'
};
var request = http.MultipartRequest('POST', Uri.parse(url));
request.fields.addAll(body);
request.headers.addAll(headers);
http.StreamedResponse response = await request.send();
print(response.statusCode);
if (response.statusCode == 200) {
var resp = await response.stream.bytesToString();
var jsonResp = jsonDecode(resp);
print(jsonResp);
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: jsonResp);
// return await response.stream.bytesToString();
} else if (response.statusCode == 201) {
var resp = await response.stream.bytesToString();
var jsonResp = jsonDecode(resp);
print(jsonResp);
return ResponseData<dynamic>(jsonResp["message"], ResponseStatus.PRIVATE,
data: jsonResp);
} else if (response.statusCode == 400) {
var resp = await response.stream.bytesToString();
var jsonResp = jsonDecode(resp);
print(jsonResp);
return ResponseData<dynamic>(
jsonResp["message"],
ResponseStatus.FAILED,
);
} else if (response.statusCode == 422) {
var resp = await response.stream.bytesToString();
var jsonResp = jsonDecode(resp);
print(jsonResp);
var errorMessage = jsonResp["errors"]["email2"].join(", ") + "\n" +
jsonResp["errors"]["contact_number2"].join(", ");
// return ResponseData<dynamic>(
// jsonResp["errors"][0]["email2"] +
// jsonResp["errors"][0]["contact_number2"],
// ResponseStatus.PRIVATE,
// );
return ResponseData<String>(
errorMessage,
ResponseStatus.PRIVATE,
);
} else if (response.statusCode == 500) {
var resp = await response.stream.bytesToString();
var jsonResp = jsonDecode(resp);
print(jsonResp);
return ResponseData<dynamic>(
jsonResp["message"],
ResponseStatus.FAILED,
);
} else {
return ResponseData<dynamic>(
response.reasonPhrase!,
ResponseStatus.FAILED,
);
}
}
Future<ResponseData> postslugApi(String url) async {
if (kDebugMode) {
print("api url is >>> $url");
}
Response response;
SharedPreferences prefs = await SharedPreferences.getInstance();
// String? token = prefs.getString('token');
String? token = prefs.getString('token').toString();
print("token is $token");
try {
response = await dio.post(url,
options: Options(headers: {"authorization": "Bearer $token"}));
} on Exception catch (_) {
return ResponseData<dynamic>(
'Oops something Went Wrong', ResponseStatus.FAILED);
}
if (response.statusCode == 200) {
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: response.data);
} else {
try {
return ResponseData<dynamic>(
response.data['message'].toString(), ResponseStatus.FAILED);
} catch (_) {
return ResponseData<dynamic>(
response.statusMessage!, ResponseStatus.FAILED);
}
}
}
}

View File

@@ -1,6 +1,5 @@
import 'package:geolocator/geolocator.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:shared_preferences/shared_preferences.dart';
LatLng? latlong;
@@ -26,16 +25,3 @@ getLocation() async {
print('done');
}
setname() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String? token = prefs.getString('token');
if (token != null) {
// await ProfileAPI().getApi();
// prefs.setString('email', getProfileObj!.data!.email!);
// prefs.setString('profile_img', getProfileObj!.data!.profilePhoto!);
// prefs.setString('firstName', getProfileObj!.data!.firstName!);
// prefs.setString('phoneNo', getProfileObj!.data!.phoneNo ?? "");
// prefs.setInt('complete', getProfileObj!.data!.profileComplete ?? 0);
}
}

View File

@@ -9,8 +9,10 @@ import 'package:regroup/Common/CommonDropDown.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
import 'package:regroup/Utils/Common/CustomNextButton.dart';
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/ImageUpload.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
import 'package:regroup/resources/routes/route_name.dart';
@@ -31,8 +33,8 @@ class _AddEventState extends State<AddEvent> {
TextEditingController dateController = TextEditingController();
TextEditingController dateController2 = TextEditingController();
TimeOfDay? starttime = const TimeOfDay(hour: 15, minute: 0);
TimeOfDay? endtime = const TimeOfDay(hour: 15, minute: 0);
TimeOfDay? starttime = TimeOfDay(hour: 15, minute: 0);
TimeOfDay? endtime = TimeOfDay(hour: 15, minute: 0);
String formatTimeOfDay(TimeOfDay time) {
final now = DateTime.now();
@@ -46,10 +48,10 @@ class _AddEventState extends State<AddEvent> {
Widget build(BuildContext context) {
return Scaffold(
// key: _scaffoldKey1,
backgroundColor: const Color(0xFF222935),
backgroundColor: Color(0xFF222935),
extendBody: true,
resizeToAvoidBottomInset: false,
appBar: const CommonAppbar(
appBar: CommonAppbar(
titleTxt: "",
),
body: Stack(children: [
@@ -67,7 +69,7 @@ class _AddEventState extends State<AddEvent> {
text16400white("Event Title"),
sizedBoxHeight(14.h),
CustomTextFormField(
leadingIcon: SizedBox(
leadingIcon: Container(
height: 22.h,
width: 18.w,
child: Center(
@@ -99,15 +101,15 @@ class _AddEventState extends State<AddEvent> {
},
child: DottedBorder(
strokeWidth: 1,
dashPattern: const [7, 4],
dashPattern: [7, 4],
borderType: BorderType.RRect,
radius: Radius.circular(14.r),
color: const Color(0xFF434A53),
child: commonGlassUI(
// border: 0,
color: Color(0xFF434A53),
child: commonGlassContainer(
border: 0,
width: double.infinity,
height: 130.h,
borderRadius: BorderRadius.circular( 10.r),
borderradius: 10.r,
customWidget: bannerPath.isNotEmpty && isbannerAdded
? Stack(children: [
Image.file(
@@ -128,12 +130,12 @@ class _AddEventState extends State<AddEvent> {
width: 27,
height: 27,
decoration: ShapeDecoration(
color: const Color(0xFF7E7E7E),
color: Color(0xFF7E7E7E),
shape: RoundedRectangleBorder(
borderRadius:
BorderRadius.circular(5)),
),
child: const Icon(
child: Icon(
Icons.delete_outline_outlined,
color: Colors.white,
))),
@@ -160,10 +162,10 @@ class _AddEventState extends State<AddEvent> {
),
),
sizedBoxHeight(20.h),
commonGlassUI(
commonGlassContainer(
width: double.infinity,
height: 60.h,
borderRadius: BorderRadius.circular( 10.r),
borderradius: 10.r,
customWidget: Center(
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 12.w),
@@ -188,7 +190,7 @@ class _AddEventState extends State<AddEvent> {
text12w400_FCFCFC_blur("10 kb")
],
),
const Spacer(),
Spacer(),
Image.asset(
'assets/images/png/cancelicon.png',
height: 20.h,
@@ -197,14 +199,14 @@ class _AddEventState extends State<AddEvent> {
]),
),
),
borderwidth: 1),
border: 1),
sizedBoxHeight(20.h),
text16400white("Type of event"),
sizedBoxHeight(14.h),
CommonDropdownBtn(
hint: 'Race',
items: const ['', ''],
leadingImage: SizedBox(
items: [],
leadingImage: Container(
height: 22.h,
width: 18.w,
child: Center(
@@ -219,8 +221,8 @@ class _AddEventState extends State<AddEvent> {
sizedBoxHeight(14.h),
CommonDropdownBtn(
hint: 'Cycling',
items: const [],
leadingImage: SizedBox(
items: [],
leadingImage: Container(
height: 22.h,
width: 18.w,
child: Center(
@@ -248,7 +250,7 @@ class _AddEventState extends State<AddEvent> {
child: CustomTextFormField(
textEditingController: dateController,
hintText: "1-4-2024",
leadingIcon: SizedBox(
leadingIcon: Container(
height: 20.h,
width: 20.w,
child: Center(
@@ -279,7 +281,7 @@ class _AddEventState extends State<AddEvent> {
child: CustomTextFormField(
textEditingController: dateController2,
hintText: "4-4-2024",
leadingIcon: SizedBox(
leadingIcon: Container(
height: 20.h,
width: 20.w,
child: Center(
@@ -313,10 +315,10 @@ class _AddEventState extends State<AddEvent> {
});
}
},
child: commonGlassUI(
child: commonGlassContainer(
width: 174.w,
height: 50.h,
borderRadius: BorderRadius.circular( 30.r),
borderradius: 30.r,
customWidget: Center(
child: Row(children: [
sizedBoxWidth(16.w),
@@ -330,11 +332,11 @@ class _AddEventState extends State<AddEvent> {
formatTimeOfDay(starttime!)),
]),
),
borderwidth: 1),
border: 1),
)
],
),
const Spacer(),
Spacer(),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -351,10 +353,10 @@ class _AddEventState extends State<AddEvent> {
});
}
},
child: commonGlassUI(
child: commonGlassContainer(
width: 174.w,
height: 50.h,
borderRadius: BorderRadius.circular( 30.r),
borderradius: 30.r,
customWidget: Center(
child: Row(children: [
sizedBoxWidth(16.w),
@@ -368,7 +370,7 @@ class _AddEventState extends State<AddEvent> {
formatTimeOfDay(endtime!)),
]),
),
borderwidth: 1),
border: 1),
)
],
),
@@ -378,9 +380,9 @@ class _AddEventState extends State<AddEvent> {
Row(
children: [
Obx(() {
return commonGlassUI(
borderwidth: 1,
borderRadius: BorderRadius.circular( 2),
return commonGlassContainer(
border: 1,
borderradius: 2,
height: 23.h,
width: 23.w,
opacity1: 0.24,
@@ -388,7 +390,7 @@ class _AddEventState extends State<AddEvent> {
customWidget: Transform.scale(
scale: 1.4,
child: Checkbox(
side: const BorderSide(color: Color(0xFF434A53)),
side: BorderSide(color: Color(0xFF434A53)),
value: isChecked.value,
activeColor: Colors.transparent,
checkColor: Colors.white,
@@ -408,8 +410,8 @@ class _AddEventState extends State<AddEvent> {
sizedBoxHeight(14.h),
CommonDropdownBtn(
hint: '',
items: const [],
leadingImage: SizedBox(
items: [],
leadingImage: Container(
height: 22.h,
width: 28.w,
child: Center(
@@ -424,7 +426,7 @@ class _AddEventState extends State<AddEvent> {
onTap: () {
Get.toNamed(RouteName.addUsers);
},
leadingIcon: SizedBox(
leadingIcon: Container(
height: 22.h,
width: 18.w,
child: Center(
@@ -438,7 +440,7 @@ class _AddEventState extends State<AddEvent> {
),
hintText: "",
suffixIcon:
const Icon(Icons.arrow_forward, color: Color(0xFFFFFFFF)),
Icon(Icons.arrow_forward, color: Color(0xFFFFFFFF)),
),
sizedBoxHeight(20.h),
containerWidget(
@@ -456,7 +458,7 @@ class _AddEventState extends State<AddEvent> {
text16400white("Location"),
sizedBoxHeight(14.h),
CustomTextFormField(
leadingIcon: SizedBox(
leadingIcon: Container(
height: 19.h,
width: 15.w,
child: Center(
@@ -474,26 +476,26 @@ class _AddEventState extends State<AddEvent> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
commonGlassUI(
commonGlassContainer(
height: 50.h,
width: 127.w,
borderRadius: BorderRadius.circular( 30.r),
borderwidth: 1,
borderradius: 30.r,
border: 1,
customWidget: Center(
child: text16400white("2"),
)),
commonGlassUI(
commonGlassContainer(
height: 50.h,
width: 215.w,
borderRadius: BorderRadius.circular( 30.r),
borderwidth: 1,
borderradius: 30.r,
border: 1,
customWidget: Center(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
text16400white("Minutes"),
sizedBoxWidth(5.w),
const Icon(
Icon(
Icons.keyboard_arrow_down,
color: Colors.white,
)
@@ -515,10 +517,10 @@ class _AddEventState extends State<AddEvent> {
required String imagePath,
required String title,
}) {
return commonGlassUI(
return commonGlassContainer(
width: double.infinity,
height: 50.h,
borderRadius: BorderRadius.circular(30),
borderradius: 30,
customWidget: Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
child: Center(
@@ -530,7 +532,7 @@ class _AddEventState extends State<AddEvent> {
),
sizedBoxWidth(8.w),
text16400white(title),
const Spacer(),
Spacer(),
Image.asset(
"assets/images/png/cancelicon.png",
height: 20.h,
@@ -540,6 +542,6 @@ class _AddEventState extends State<AddEvent> {
),
),
),
borderwidth: 1);
border: 1);
}
}

View File

@@ -7,6 +7,7 @@ import 'package:regroup/Common/CommonTabBar.dart';
import 'package:regroup/Common/CommonWidget.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
@@ -63,22 +64,21 @@ class _AddUsersState extends State<AddUsers> {
return Scaffold(
// key: _scaffoldKey1,
resizeToAvoidBottomInset: false,
backgroundColor: const Color(0xFF222935),
backgroundColor: Color(0xFF222935),
extendBody: true,
appBar: const CommonAppbar(
appBar: CommonAppbar(
titleTxt: "Add users",
),
body: Stack(children: [
Container(
Container(
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage("assets/images/png/Ellipse 1496.png"),
fit: BoxFit.fill)),
),
SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
), SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
sizedBoxHeight(10.h),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
@@ -102,7 +102,7 @@ class _AddUsersState extends State<AddUsers> {
length: 3,
// initialIndex: selectedIndex.value,
child: Column(children: [
const CommonTabBar(tabs: [
CommonTabBar(tabs: const [
Tab(
text: 'Group',
),
@@ -117,9 +117,9 @@ class _AddUsersState extends State<AddUsers> {
height: 600.h,
child: TabBarView(
children: [
groupTab(),
subgroupTab(),
followersTab(),
GroupTab(),
SubgroupTab(),
FollowersTab(),
],
),
),
@@ -128,7 +128,7 @@ class _AddUsersState extends State<AddUsers> {
]));
}
Widget groupTab() {
Widget GroupTab() {
return Column(
children: [
sizedBoxHeight(30.h),
@@ -137,11 +137,11 @@ class _AddUsersState extends State<AddUsers> {
child: Row(
children: [
text18w700_FCFCFC("Group members"),
const Spacer(),
commonGlassUI(
Spacer(),
commonGlassContainer(
width: 35.w,
height: 35.h,
borderRadius: BorderRadius.circular( 100),
borderradius: 100,
customWidget: Center(
child: Image.asset(
"assets/images/png/Vector (5)22.png",
@@ -149,12 +149,12 @@ class _AddUsersState extends State<AddUsers> {
width: 12.w,
),
),
borderwidth: 0.5),
border: 0.5),
sizedBoxWidth(14.w),
commonGlassUI(
commonGlassContainer(
width: 35.w,
height: 35.h,
borderRadius: BorderRadius.circular(100),
borderradius: 100,
customWidget: Center(
child: Image.asset(
"assets/images/png/bi_filter.png",
@@ -162,7 +162,7 @@ class _AddUsersState extends State<AddUsers> {
width: 18.w,
),
),
borderwidth: 0.5)
border: 0.5)
],
),
),
@@ -236,10 +236,10 @@ class _AddUsersState extends State<AddUsers> {
text12w400_FCFCFC_blur(subtitle),
],
),
const Spacer(),
commonGlassUI(
borderwidth: 1,
borderRadius: BorderRadius.circular( 2),
Spacer(),
commonGlassContainer(
border: 1,
borderradius: 2,
height: 23.h,
width: 23.w,
opacity1: 0.24,
@@ -247,7 +247,7 @@ class _AddUsersState extends State<AddUsers> {
customWidget: Transform.scale(
scale: 1.4,
child: Checkbox(
side: const BorderSide(color: Color(0xFF434A53)),
side: BorderSide(color: Color(0xFF434A53)),
value: isChecked,
activeColor: Colors.transparent,
checkColor: Colors.white,
@@ -270,7 +270,7 @@ class _AddUsersState extends State<AddUsers> {
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.r),
color: const Color(0xFF222935)),
color: Color(0xFF222935)),
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 20.h),
child: Column(
@@ -280,33 +280,33 @@ class _AddUsersState extends State<AddUsers> {
sizedBoxHeight(16.h),
Row(
children: [
commonGlassUI(
commonGlassContainer(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular( 100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(child: text16w400_FCFCFC("M")),
borderwidth: 0.5),
border: 0.5),
sizedBoxWidth(15.w),
commonGlassUI(
commonGlassContainer(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular( 100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(child: text16w400_FCFCFC("Tu")),
borderwidth: 0.5),
border: 0.5),
sizedBoxWidth(15.w),
commonGlassUI(
commonGlassContainer(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular( 100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(child: text16w400_FCFCFC("W")),
borderwidth: 0.5),
const Spacer(),
border: 0.5),
Spacer(),
Row(
children: [
Image.asset(
@@ -325,33 +325,33 @@ class _AddUsersState extends State<AddUsers> {
sizedBoxHeight(20.h),
Row(
children: [
commonGlassUI(
commonGlassContainer(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular(100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(child: text16w400_FCFCFC("Th")),
borderwidth: 0.5),
border: 0.5),
sizedBoxWidth(15.w),
commonGlassUI(
commonGlassContainer(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular( 100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(child: text16w400_FCFCFC("F")),
borderwidth: 0.5),
border: 0.5),
sizedBoxWidth(15.w),
commonGlassUI(
commonGlassContainer(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular( 100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(child: text16w400_FCFCFC("Sa")),
borderwidth: 0.5),
const Spacer(),
border: 0.5),
Spacer(),
Row(
children: [
Image.asset(
@@ -379,7 +379,7 @@ class _AddUsersState extends State<AddUsers> {
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
const Color(0xFFD90B2E).withOpacity(0.18),
Color(0xFFD90B2E).withOpacity(0.18),
const Color(0xFFD90B2E).withOpacity(0.4),
],
stops: const [
@@ -387,7 +387,7 @@ class _AddUsersState extends State<AddUsers> {
1,
],
),
borderGradient: const LinearGradient(
borderGradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
@@ -411,14 +411,14 @@ class _AddUsersState extends State<AddUsers> {
));
}
Widget subgroupTab() {
return const Column(
Widget SubgroupTab() {
return Column(
children: [],
);
}
Widget followersTab() {
return const Column(
Widget FollowersTab() {
return Column(
children: [],
);
}

View File

@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:syncfusion_flutter_calendar/calendar.dart';
class Availability extends StatefulWidget {
@@ -28,13 +29,13 @@ class _AvailabilityState extends State<Availability> {
endTime: DateTime(2024, 6, 26, 10, 30),
subject: 'Development Meeting',
resourceIds: [4],
color: const Color(0XFFFC571D)),
color: Color(0XFFFC571D)),
Appointment(
startTime: DateTime(2024, 6, 26, 18, 0),
endTime: DateTime(2024, 6, 26, 18, 30),
subject: 'GeneralMeeting',
resourceIds: [2],
color: const Color(0xFF8B1FA9)),
color: Color(0xFF8B1FA9)),
Appointment(
startTime: DateTime(2024, 6, 28, 9, 0),
endTime: DateTime(2024, 6, 28, 10, 30),
@@ -49,13 +50,13 @@ class _AvailabilityState extends State<Availability> {
),
Appointment(
startTime: DateTime.now(),
endTime: DateTime.now().add(const Duration(hours: 3)),
endTime: DateTime.now().add(Duration(hours: 3)),
subject: 'Match day',
resourceIds: [3],
),
Appointment(
startTime: DateTime.now(),
endTime: DateTime.now().add(const Duration(hours: 3)),
endTime: DateTime.now().add(Duration(hours: 3)),
subject: 'Muharram/Ashura',
resourceIds: [3],
),
@@ -63,37 +64,37 @@ class _AvailabilityState extends State<Availability> {
_employeeCollection = <CalendarResource>[
CalendarResource(
id: 1,
image: const AssetImage("assets/images/png/cimg1.png"),
image: AssetImage("assets/images/png/cimg1.png"),
displayName: 'Kaylly Vaccaro',
color: Colors.transparent,
),
CalendarResource(
id: 2,
image: const AssetImage("assets/images/png/cimg2.png"),
image: AssetImage("assets/images/png/cimg2.png"),
displayName: 'Ryan Dorwart',
color: Colors.transparent,
),
CalendarResource(
id: 3,
image: const AssetImage("assets/images/png/cimg3.png"),
image: AssetImage("assets/images/png/cimg3.png"),
displayName: 'Ahmad Rhiel',
color: Colors.transparent,
),
CalendarResource(
id: 4,
image: const AssetImage("assets/images/png/cimg3.png"),
image: AssetImage("assets/images/png/cimg3.png"),
displayName: 'Ahmad Rhiel',
color: Colors.transparent,
),
CalendarResource(
id: 5,
image: const AssetImage("assets/images/png/Ellipse 52.png"),
image: AssetImage("assets/images/png/Ellipse 52.png"),
displayName: 'Ahmad Rhiel',
color: Colors.transparent,
),
CalendarResource(
id: 6,
image: const AssetImage("assets/images/png/Ellipse 48.png"),
image: AssetImage("assets/images/png/Ellipse 48.png"),
displayName: 'Ahmad Rhiel',
color: Colors.transparent,
),
@@ -104,10 +105,10 @@ class _AvailabilityState extends State<Availability> {
Widget build(BuildContext context) {
return Scaffold(
// key: _scaffoldKey1,
backgroundColor: const Color(0xFF222935),
backgroundColor: Color(0xFF222935),
extendBody: true,
resizeToAvoidBottomInset: false,
appBar: const CommonAppbar(
appBar: CommonAppbar(
titleTxt: "Availability",
),
body: Stack(children: [
@@ -121,24 +122,23 @@ class _AvailabilityState extends State<Availability> {
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
commonGlassUI(
commonGlassContainer(
width: double.infinity,
height: 670.h,
borderRadius: BorderRadius.circular(1),
// border: 0,
borderradius: 1,
border: 0,
customWidget: SfCalendar(
view: CalendarView.timelineMonth,
appointmentTextStyle:
const TextStyle(color: Colors.white),
headerStyle: const CalendarHeaderStyle(
appointmentTextStyle: TextStyle(color: Colors.white),
headerStyle: CalendarHeaderStyle(
textStyle: TextStyle(
color: Colors.blue,
)),
// blackoutDatesTextStyle: TextStyle(color: Colors.white),
weekNumberStyle: const WeekNumberStyle(
weekNumberStyle: WeekNumberStyle(
textStyle: TextStyle(color: Colors.white)),
viewHeaderStyle: const ViewHeaderStyle(
viewHeaderStyle: ViewHeaderStyle(
// backgroundColor: Colors.amber,
dateTextStyle: TextStyle(color: Colors.white),
dayTextStyle: TextStyle(
@@ -150,18 +150,18 @@ class _AvailabilityState extends State<Availability> {
backgroundColor: Colors.transparent,
// firstDayOfWeek: 3,
cellBorderColor: Colors.white,
todayHighlightColor: const Color(0xFFD90B2E),
todayHighlightColor: Color(0xFFD90B2E),
todayTextStyle: const TextStyle(color: Colors.white),
controller: _calendarController,
showNavigationArrow: true,
allowViewNavigation: true,
showDatePickerButton: true,
monthViewSettings: const MonthViewSettings(
monthViewSettings: MonthViewSettings(
navigationDirection:
MonthNavigationDirection.horizontal,
),
allowDragAndDrop: true,
allowedViews: const [
allowedViews: [
// CalendarView.month,
// CalendarView.day,
// CalendarView.schedule,
@@ -175,7 +175,7 @@ class _AvailabilityState extends State<Availability> {
onTap: calendarTapped,
timeSlotViewSettings: TimeSlotViewSettings(
// minimumAppointmentDuration: Duration(hours: 5),
timeTextStyle: const TextStyle(
timeTextStyle: TextStyle(
color: Colors.white,
),
timelineAppointmentHeight: 60.h,
@@ -186,20 +186,20 @@ class _AvailabilityState extends State<Availability> {
),
monthCellBuilder: (context, details) {
return Container(
decoration: const BoxDecoration(
decoration: BoxDecoration(
color: Colors.transparent,
),
child: Center(
child: Text(
details.date.day.toString(),
style: const TextStyle(
style: TextStyle(
color:
Colors.white), // Set text color to white
),
),
);
},
resourceViewSettings: const ResourceViewSettings(
resourceViewSettings: ResourceViewSettings(
displayNameTextStyle:
TextStyle(color: Colors.white, fontSize: 10),
showAvatar: true,
@@ -244,7 +244,7 @@ class _AvailabilityState extends State<Availability> {
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: const Text('Event Details'),
title: Text('Event Details'),
content: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
@@ -255,7 +255,7 @@ class _AvailabilityState extends State<Availability> {
),
actions: <Widget>[
ElevatedButton(
child: const Text('Close'),
child: Text('Close'),
onPressed: () {
Navigator.of(context).pop();
},

View File

@@ -7,6 +7,8 @@ import 'package:regroup/Common/CommonBottomNavigationBar.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonTabBar.dart';
import 'package:regroup/Common/controller/MainScreen.dart';
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
import 'package:regroup/resources/routes/route_name.dart';
@@ -56,9 +58,9 @@ class _CalenderTabState extends State<CalenderTab> {
List<Appointment>? _appointments;
// final List<String> _nameCollection = <String>[];
// final List<String> _userImages = <String>[];
// DateTime? _startDate;
// DateTime? _endDate;
// bool _isRangeSelection = false;
DateTime? _startDate;
DateTime? _endDate;
bool _isRangeSelection = false;
@override
void initState() {
super.initState();
@@ -70,12 +72,12 @@ class _CalenderTabState extends State<CalenderTab> {
startTime: DateTime(2024, 6, 26, 9, 0),
endTime: DateTime(2024, 6, 26, 10, 30),
subject: 'Development Meeting',
color: const Color(0XFFFC571D)),
color: Color(0XFFFC571D)),
Appointment(
startTime: DateTime(2024, 6, 26, 18, 0),
endTime: DateTime(2024, 6, 26, 18, 30),
subject: 'GeneralMeeting',
color: const Color(0xFF8B1FA9)),
color: Color(0xFF8B1FA9)),
Appointment(
startTime: DateTime(2024, 6, 28, 9, 0),
endTime: DateTime(2024, 6, 28, 10, 30),
@@ -88,12 +90,12 @@ class _CalenderTabState extends State<CalenderTab> {
),
Appointment(
startTime: DateTime.now(),
endTime: DateTime.now().add(const Duration(hours: 3)),
endTime: DateTime.now().add(Duration(hours: 3)),
subject: 'Match day',
),
Appointment(
startTime: DateTime.now(),
endTime: DateTime.now().add(const Duration(hours: 3)),
endTime: DateTime.now().add(Duration(hours: 3)),
subject: 'Muharram/Ashura',
),
];
@@ -105,11 +107,11 @@ class _CalenderTabState extends State<CalenderTab> {
return Scaffold(
resizeToAvoidBottomInset: false,
// key: _scaffoldKey1,
backgroundColor: const Color(0xFF222935),
backgroundColor: Color(0xFF222935),
extendBody: true,
appBar: AppBar(
scrolledUnderElevation: 0.0,
backgroundColor: const Color(0xff222935),
backgroundColor: Color(0xff222935),
elevation: 0,
automaticallyImplyLeading: false,
title: text20700white("Sessions"),
@@ -121,7 +123,7 @@ class _CalenderTabState extends State<CalenderTab> {
child: Container(
height: 35.h,
width: 35.w,
decoration: const BoxDecoration(
decoration: BoxDecoration(
color: Color(0xFFD90B2E),
shape: BoxShape.circle,
boxShadow: [
@@ -133,7 +135,7 @@ class _CalenderTabState extends State<CalenderTab> {
),
],
),
child: const Icon(Icons.add, color: Colors.white, weight: 2),
child: Icon(Icons.add, color: Colors.white, weight: 2),
),
),
sizedBoxWidth(14.w),
@@ -177,7 +179,7 @@ class _CalenderTabState extends State<CalenderTab> {
// initialIndex: selectedIndex.value,
child: Column(
children: [
const CommonTabBar(tabs: [
CommonTabBar(tabs: const [
Tab(
text: 'My sessions',
),
@@ -188,8 +190,8 @@ class _CalenderTabState extends State<CalenderTab> {
Expanded(
child: TabBarView(
children: [
mySessionsTab(),
comSessionTab(),
MySessionsTab(),
ComSessionTab(),
],
),
),
@@ -204,18 +206,17 @@ class _CalenderTabState extends State<CalenderTab> {
);
}
Widget mySessionsTab() {
Widget MySessionsTab() {
return SingleChildScrollView(
child: Column(
children: [
sizedBoxHeight(20.h),
Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: commonGlassUI(
child: commonGlassContainer(
width: double.infinity,
height: 136.h,
borderRadius: BorderRadius.circular(10.r) ,
borderwidth: 1,
borderradius: 10.r,
customWidget: Row(
children: [
Padding(
@@ -238,31 +239,31 @@ class _CalenderTabState extends State<CalenderTab> {
],
),
),
const Spacer(),
Spacer(),
Image.asset("assets/images/png/Rectangle 45.png")
],
),
),
border: 1),
),
sizedBoxHeight(25.h),
Stack(children: [
commonGlassUI(
commonGlassContainer(
width: double.infinity,
height: 500.h,
borderRadius: BorderRadius.circular(1),
// borderw: 0,
borderradius: 1,
border: 0,
customWidget: SfCalendar(
view: CalendarView.month,
appointmentTextStyle: const TextStyle(color: Colors.white),
headerStyle: const CalendarHeaderStyle(
appointmentTextStyle: TextStyle(color: Colors.white),
headerStyle: CalendarHeaderStyle(
textStyle: TextStyle(
color: Color(0xFFD90B2E),
color: Colors.blue,
)),
// blackoutDatesTextStyle: TextStyle(color: Colors.white),
weekNumberStyle: const WeekNumberStyle(
weekNumberStyle: WeekNumberStyle(
textStyle: TextStyle(color: Colors.white)),
viewHeaderStyle: const ViewHeaderStyle(
viewHeaderStyle: ViewHeaderStyle(
// backgroundColor: Colors.amber,
dateTextStyle: TextStyle(color: Colors.white),
dayTextStyle: TextStyle(
@@ -274,17 +275,18 @@ class _CalenderTabState extends State<CalenderTab> {
backgroundColor: Colors.transparent,
// firstDayOfWeek: 3,
cellBorderColor: Colors.white,
todayHighlightColor: const Color(0xFFD90B2E),
todayHighlightColor: Color(0xFFD90B2E),
todayTextStyle: const TextStyle(color: Colors.white),
controller: _sessionCalController,
showNavigationArrow: true,
allowViewNavigation: true,
allowDragAndDrop: true,
showDatePickerButton: true,
monthViewSettings: const MonthViewSettings(
monthViewSettings: MonthViewSettings(
navigationDirection: MonthNavigationDirection.horizontal,
),
allowedViews: const [
allowedViews: [
CalendarView.month,
// CalendarView.day,
CalendarView.schedule,
@@ -295,7 +297,7 @@ class _CalenderTabState extends State<CalenderTab> {
onTap: calendarTapped,
timeSlotViewSettings: TimeSlotViewSettings(
// minimumAppointmentDuration: Duration(hours: 5),
timeTextStyle: const TextStyle(
timeTextStyle: TextStyle(
color: Colors.white,
),
timelineAppointmentHeight: 60.h,
@@ -306,19 +308,19 @@ class _CalenderTabState extends State<CalenderTab> {
),
monthCellBuilder: (context, details) {
return Container(
decoration: const BoxDecoration(
decoration: BoxDecoration(
color: Colors.transparent,
),
child: Center(
child: Text(
details.date.day.toString(),
style: const TextStyle(
style: TextStyle(
color: Colors.white), // Set text color to white
),
),
);
},
resourceViewSettings: const ResourceViewSettings(
resourceViewSettings: ResourceViewSettings(
displayNameTextStyle:
TextStyle(color: Colors.white, fontSize: 10),
showAvatar: true,
@@ -326,7 +328,7 @@ class _CalenderTabState extends State<CalenderTab> {
// scheduleViewSettings: ScheduleViewSettings(
// appointmentTextStyle: TextStyle(color: Colors.red)),
scheduleViewSettings: const ScheduleViewSettings(
scheduleViewSettings: ScheduleViewSettings(
placeholderTextStyle: TextStyle(color: Colors.white),
dayHeaderSettings: DayHeaderSettings(
dateTextStyle: TextStyle(color: Colors.white),
@@ -358,25 +360,20 @@ class _CalenderTabState extends State<CalenderTab> {
),
Positioned(
top: 6.h,
left: 100.w,
left: 190.w,
child: InkWell(
onTap: () {
Get.toNamed(RouteName.availability);
},
child: Container(
height: 25.h,
width: 50.w,
decoration: BoxDecoration(
border: Border.all(
color: const Color(0xFFD90B2E),
color: Colors.blue,
),
borderRadius: BorderRadius.circular(15.r)),
child: Padding(
padding: EdgeInsets.symmetric(
horizontal: 10.w,
),
child:
Center(child: text10400white("view availability")),
),
child: Center(child: text10400white("view")),
)
// Image.asset(
@@ -453,11 +450,10 @@ class _CalenderTabState extends State<CalenderTab> {
onTap: () {
Get.toNamed(RouteName.eventDetails);
},
child: commonGlassUI(
child: commonGlassContainer(
width: double.infinity,
height: 300.h,
borderRadius: BorderRadius.circular( 10.r),
borderwidth: 1.w,
borderradius: 10.r,
customWidget: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -527,45 +523,45 @@ class _CalenderTabState extends State<CalenderTab> {
sizedBoxWidth(16.w),
CircleAvatar(
radius: 12.r,
backgroundImage: const AssetImage(
"assets/images/png/Ellipse 52.png"),
backgroundImage:
AssetImage("assets/images/png/Ellipse 52.png"),
),
sizedBoxWidth(8.w),
text14w400_FCFCFC("Ryan dorwat"),
],
)
]),
),
border: 1),
)
],
),
);
}
Widget comSessionTab() {
Widget ComSessionTab() {
return SingleChildScrollView(
child: Column(
children: [
sizedBoxHeight(25.h),
Stack(children: [
commonGlassUI(
commonGlassContainer(
width: double.infinity,
height: 530.h,
borderRadius: BorderRadius.circular(1),
// border: 0,
borderradius: 1,
border: 0,
customWidget: SfCalendar(
view: CalendarView.month,
appointmentTextStyle: const TextStyle(color: Colors.white),
headerStyle: const CalendarHeaderStyle(
appointmentTextStyle: TextStyle(color: Colors.white),
headerStyle: CalendarHeaderStyle(
textStyle: TextStyle(
color: Color(0xFFD90B2E),
color: Colors.blue,
)),
// blackoutDatesTextStyle: TextStyle(color: Colors.white),
weekNumberStyle: const WeekNumberStyle(
weekNumberStyle: WeekNumberStyle(
textStyle: TextStyle(color: Colors.white)),
viewHeaderStyle: const ViewHeaderStyle(
viewHeaderStyle: ViewHeaderStyle(
// backgroundColor: Colors.amber,
dateTextStyle: TextStyle(color: Colors.white),
dayTextStyle: TextStyle(
@@ -577,17 +573,17 @@ class _CalenderTabState extends State<CalenderTab> {
backgroundColor: Colors.transparent,
// firstDayOfWeek: 3,
cellBorderColor: Colors.white,
todayHighlightColor: const Color(0xFFD90B2E),
todayHighlightColor: Color(0xFFD90B2E),
todayTextStyle: const TextStyle(color: Colors.white),
controller: _comCalController,
showNavigationArrow: true,
allowViewNavigation: true,
allowDragAndDrop: true,
showDatePickerButton: true,
monthViewSettings: const MonthViewSettings(
// showDatePickerButton: true,
monthViewSettings: MonthViewSettings(
navigationDirection: MonthNavigationDirection.horizontal,
),
allowedViews: const [
allowedViews: [
CalendarView.month,
// CalendarView.day,
CalendarView.schedule,
@@ -598,7 +594,7 @@ class _CalenderTabState extends State<CalenderTab> {
onTap: calendarTapped,
timeSlotViewSettings: TimeSlotViewSettings(
// minimumAppointmentDuration: Duration(hours: 5),
timeTextStyle: const TextStyle(
timeTextStyle: TextStyle(
color: Colors.white,
),
timelineAppointmentHeight: 60.h,
@@ -609,19 +605,19 @@ class _CalenderTabState extends State<CalenderTab> {
),
monthCellBuilder: (context, details) {
return Container(
decoration: const BoxDecoration(
decoration: BoxDecoration(
color: Colors.transparent,
),
child: Center(
child: Text(
details.date.day.toString(),
style: const TextStyle(
style: TextStyle(
color: Colors.white), // Set text color to white
),
),
);
},
resourceViewSettings: const ResourceViewSettings(
resourceViewSettings: ResourceViewSettings(
displayNameTextStyle:
TextStyle(color: Colors.white, fontSize: 10),
showAvatar: true,
@@ -650,6 +646,20 @@ class _CalenderTabState extends State<CalenderTab> {
);
}),
),
Positioned(
top: 8.h,
right: 110.w,
child: InkWell(
onTap: () {
Get.toNamed(RouteName.availability);
},
child: Image.asset(
"assets/images/png/calender.png",
color: Colors.blue,
height: 18.h,
width: 18.w,
),
))
]),
// SfCalendar(
@@ -728,11 +738,10 @@ class _CalenderTabState extends State<CalenderTab> {
children: [
text18w700_FCFCFC(title),
sizedBoxHeight(25.h),
commonGlassUI(
commonGlassContainer(
width: double.infinity,
height: 290.h,
borderRadius: BorderRadius.circular( 10.r),
borderwidth: 1,
borderradius: 10.r,
customWidget: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -777,7 +786,7 @@ class _CalenderTabState extends State<CalenderTab> {
sizedBoxWidth(16.w),
CircleAvatar(
radius: 12.r,
backgroundImage: const AssetImage(
backgroundImage: AssetImage(
"assets/images/png/Ellipse 52.png"),
),
sizedBoxWidth(8.w),
@@ -785,12 +794,12 @@ class _CalenderTabState extends State<CalenderTab> {
],
),
]),
const Spacer(),
Spacer(),
Container(
height: 138.h,
width: 143.w,
decoration: BoxDecoration(
color: const Color(0xFFD90B2E),
color: Color(0xFFD90B2E),
borderRadius: BorderRadius.only(
bottomRight: Radius.circular(10.r),
),
@@ -809,7 +818,7 @@ class _CalenderTabState extends State<CalenderTab> {
),
],
),
)
border: 1)
],
),
);
@@ -822,7 +831,7 @@ class _CalenderTabState extends State<CalenderTab> {
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: const Text('Event Details'),
title: Text('Event Details'),
content: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
@@ -833,7 +842,7 @@ class _CalenderTabState extends State<CalenderTab> {
),
actions: <Widget>[
ElevatedButton(
child: const Text('Close'),
child: Text('Close'),
onPressed: () {
Navigator.of(context).pop();
},

View File

@@ -5,6 +5,7 @@ import 'package:regroup/Common/CommonButton.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
import 'package:regroup/resources/routes/route_name.dart';
@@ -25,7 +26,7 @@ class _EventDetailsState extends State<EventDetails> {
Widget build(BuildContext context) {
return Scaffold(
// key: _scaffoldKey1,
backgroundColor: const Color(0xFF222935),
backgroundColor: Color(0xFF222935),
extendBody: true,
resizeToAvoidBottomInset: false,
appBar: CommonAppbar(
@@ -36,44 +37,41 @@ class _EventDetailsState extends State<EventDetails> {
onTap: () {
Get.toNamed(RouteName.addEvent);
},
child: commonGlassUI(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular(100),
opacity1: 0.24,
opacity2: 0.24,
borderwidth: 0.5,
customWidget: Center(
child: Image.asset("assets/images/png/Vector536.png",
height: 17.h, width: 17.w),
),
),
child: commonGlassContainer(
width: 40.w,
height: 40.h,
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(
child: Image.asset("assets/images/png/Vector536.png",
height: 17.h, width: 17.w),
),
border: 0.5),
),
sizedBoxWidth(12.w),
commonGlassUI(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular(100),
opacity1: 0.24,
opacity2: 0.24,
borderwidth: 0.5,
customWidget: Center(
child: Image.asset("assets/images/png/Vector522.png",
height: 17.h, width: 17.w),
),
),
commonGlassContainer(
width: 40.w,
height: 40.h,
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(
child: Image.asset("assets/images/png/Vector522.png",
height: 17.h, width: 17.w),
),
border: 0.5),
],
),
),
body: Stack(children: [
Container(
Container(
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage("assets/images/png/Ellipse 1496.png"),
fit: BoxFit.fill)),
),
SingleChildScrollView(
child: Column(
), SingleChildScrollView(
child: Column(
children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 16),
@@ -100,21 +98,20 @@ class _EventDetailsState extends State<EventDetails> {
sizedBoxHeight(22.h),
Row(
children: [
commonGlassUI(
width: 35.w,
height: 35.h,
borderRadius: BorderRadius.circular(100),
opacity1: 0.24,
opacity2: 0.24,
borderwidth: 0.5,
customWidget: Center(
child: Image.asset(
"assets/images/png/calender.png",
height: 17.h,
width: 17.w,
commonGlassContainer(
width: 35.w,
height: 35.h,
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(
child: Image.asset(
"assets/images/png/calender.png",
height: 17.h,
width: 17.w,
),
),
),
),
border: 0.5),
sizedBoxWidth(10.w),
text16400white("20th April 2024 - 21st April 2024"),
],
@@ -122,10 +119,10 @@ class _EventDetailsState extends State<EventDetails> {
sizedBoxHeight(16.h),
Row(
children: [
commonGlassUI(
commonGlassContainer(
width: 35.w,
height: 35.h,
borderRadius: BorderRadius.circular(100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(
@@ -135,7 +132,7 @@ class _EventDetailsState extends State<EventDetails> {
width: 17.w,
),
),
borderwidth: 0.5),
border: 0.5),
sizedBoxWidth(10.w),
text16400white("3 hours"),
],
@@ -143,10 +140,10 @@ class _EventDetailsState extends State<EventDetails> {
sizedBoxHeight(16.h),
Row(
children: [
commonGlassUI(
commonGlassContainer(
width: 35.w,
height: 35.h,
borderRadius: BorderRadius.circular(100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(
@@ -156,7 +153,7 @@ class _EventDetailsState extends State<EventDetails> {
width: 17.w,
),
),
borderwidth: 0.5),
border: 0.5),
sizedBoxWidth(10.w),
text16400white("Elm street london, United Kingdom"),
],
@@ -175,26 +172,26 @@ class _EventDetailsState extends State<EventDetails> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
commonGlassUI(
commonGlassContainer(
width: 87.w,
height: 40.h,
borderRadius: BorderRadius.circular(30.r),
borderradius: 30.r,
customWidget:
Center(child: text16w400_white("Yes")),
borderwidth: 1),
commonGlassUI(
border: 1),
commonGlassContainer(
width: 87.w,
height: 40.h,
borderRadius: BorderRadius.circular(30.r),
borderradius: 30.r,
customWidget: Center(child: text16w400_white("No")),
borderwidth: 1),
commonGlassUI(
border: 1),
commonGlassContainer(
width: 154.w,
height: 40.h,
borderRadius: BorderRadius.circular(30.r),
borderradius: 30.r,
customWidget: Center(
child: text16w400_white("Not yet decided")),
borderwidth: 1),
border: 1),
],
),
sizedBoxHeight(20.h),
@@ -210,13 +207,13 @@ class _EventDetailsState extends State<EventDetails> {
sizedBoxHeight(16.h),
text18w700white("Are you attending this event ?"),
sizedBoxHeight(20.h),
commonGlassUI(
commonGlassContainer(
width: 221.w,
height: 40.h,
borderRadius: BorderRadius.circular(30.r),
borderradius: 30.r,
customWidget:
Center(child: text16w400_white("Request to join")),
borderwidth: 1),
border: 1),
sizedBoxHeight(20.h),
commonDivider(),
],
@@ -244,10 +241,10 @@ class _EventDetailsState extends State<EventDetails> {
sizedBoxHeight(20.h),
Visibility(
visible: adminView,
child: commonGlassUI(
child: commonGlassContainer(
width: double.infinity,
height: 251.h,
borderRadius: BorderRadius.circular(10.r),
borderradius: 10.r,
customWidget: Padding(
padding: const EdgeInsets.symmetric(vertical: 20),
child: Column(
@@ -269,15 +266,15 @@ class _EventDetailsState extends State<EventDetails> {
],
),
),
borderwidth: 1),
border: 1),
),
sizedBoxHeight(30.h),
Visibility(
visible: memberView,
child: commonGlassUI(
child: commonGlassContainer(
width: double.infinity,
height: 65.h,
borderRadius: BorderRadius.circular(10.r),
borderradius: 10.r,
customWidget: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
@@ -297,7 +294,7 @@ class _EventDetailsState extends State<EventDetails> {
text18w400white("90 Attending")
],
),
borderwidth: 1)),
border: 1)),
text18w700white("Messages"),
sizedBoxHeight(20.h),
Row(
@@ -309,28 +306,28 @@ class _EventDetailsState extends State<EventDetails> {
),
sizedBoxWidth(10.w),
text16w400_white("Send message to invites"),
const Spacer(),
commonGlassUI(
Spacer(),
commonGlassContainer(
width: 98.w,
height: 30.h,
borderRadius: BorderRadius.circular( 30.r),
borderradius: 30.r,
customWidget:
Center(child: text14400white("Select")),
borderwidth: 1)
border: 1)
],
),
sizedBoxHeight(25.h),
commonGlassUI(
commonGlassContainer(
width: double.infinity,
height: 240.h,
borderRadius: BorderRadius.circular( 10.r),
borderradius: 10.r,
customWidget: Padding(
padding: EdgeInsets.symmetric(horizontal: 80.w),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
const CircleAvatar(
CircleAvatar(
radius: 33.5,
backgroundImage:
AssetImage("assets/images/png/cimg1.png"),
@@ -348,7 +345,7 @@ class _EventDetailsState extends State<EventDetails> {
children: [
CircleAvatar(
radius: 12.5.r,
backgroundImage: const AssetImage(
backgroundImage: AssetImage(
"assets/images/png/img322.png"),
),
sizedBoxWidth(8.w),
@@ -357,7 +354,7 @@ class _EventDetailsState extends State<EventDetails> {
)
]),
),
borderwidth: 1),
border: 1),
sizedBoxHeight(50.h),
CommonBtn(text: "Join the event"),
sizedBoxHeight(40.h),
@@ -377,7 +374,7 @@ class _EventDetailsState extends State<EventDetails> {
Image.asset("assets/images/png/Red.png", height: 22.h, width: 16.w),
sizedBoxWidth(10.w),
SizedBox(width: 250.w, child: text16w400_white(text)),
const Spacer(),
Spacer(),
text16400white(count),
],
),

View File

@@ -6,6 +6,7 @@ import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
import 'package:regroup/resources/routes/route_name.dart';
@@ -59,7 +60,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
Widget build(BuildContext context) {
return Scaffold(
// key: _scaffoldKey1,
backgroundColor: const Color(0xFF222935),
backgroundColor: Color(0xFF222935),
extendBody: true,
resizeToAvoidBottomInset: false,
appBar: CommonAppbar(
@@ -71,7 +72,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
child: Container(
height: 35.h,
width: 35.w,
decoration: const BoxDecoration(
decoration: BoxDecoration(
color: Color(0xFFD90B2E),
shape: BoxShape.circle,
boxShadow: [
@@ -83,7 +84,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
),
],
),
child: const Icon(Icons.add, color: Colors.white, weight: 2),
child: Icon(Icons.add, color: Colors.white, weight: 2),
),
),
),
@@ -179,22 +180,22 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
text12w400_FCFCFC_blur(subtitle),
],
),
const Spacer(),
Spacer(),
Container(
height: 25.h,
width: 72.w,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5.r),
border: Border.all(color: const Color(0xFFFF002B), width: 1.w)),
border: Border.all(color: Color(0xFFFF002B), width: 1.w)),
child: Center(child: text10400white("Attending")),
),
sizedBoxWidth(8.w),
commonGlassUI(
commonGlassContainer(
width: 25.w,
height: 25.h,
opacity1: 0.24,
opacity2: 0.24,
borderRadius: BorderRadius.circular(100.r),
borderradius: 100.r,
customWidget: Center(
child: Image.asset(
"assets/images/png/alarm 1 (traced).png",
@@ -202,14 +203,14 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
width: 13.w,
),
),
borderwidth: 0.5),
border: 0.5),
sizedBoxWidth(8.w),
commonGlassUI(
commonGlassContainer(
width: 25.w,
height: 25.h,
opacity1: 0.24,
opacity2: 0.24,
borderRadius: BorderRadius.circular( 100.r),
borderradius: 100.r,
customWidget: Center(
child: Image.asset(
"assets/images/png/fluent_delete-28-regular.png",
@@ -217,7 +218,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
width: 13.w,
),
),
borderwidth: 0.5),
border: 0.5),
sizedBoxWidth(12.w)
],
),
@@ -234,7 +235,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.r),
color: const Color(0xFF222935)),
color: Color(0xFF222935)),
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 20.h),
child: Column(
@@ -244,33 +245,33 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
sizedBoxHeight(16.h),
Row(
children: [
commonGlassUI(
commonGlassContainer(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular(100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(child: text16w400_FCFCFC("M")),
borderwidth: 0.5),
border: 0.5),
sizedBoxWidth(15.w),
commonGlassUI(
commonGlassContainer(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular( 100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(child: text16w400_FCFCFC("Tu")),
borderwidth: 0.5),
border: 0.5),
sizedBoxWidth(15.w),
commonGlassUI(
commonGlassContainer(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular( 100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(child: text16w400_FCFCFC("W")),
borderwidth: 0.5),
const Spacer(),
border: 0.5),
Spacer(),
Row(
children: [
Image.asset(
@@ -289,33 +290,33 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
sizedBoxHeight(20.h),
Row(
children: [
commonGlassUI(
commonGlassContainer(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular( 100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(child: text16w400_FCFCFC("Th")),
borderwidth: 0.5),
border: 0.5),
sizedBoxWidth(15.w),
commonGlassUI(
commonGlassContainer(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular(100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(child: text16w400_FCFCFC("F")),
borderwidth: 0.5),
border: 0.5),
sizedBoxWidth(15.w),
commonGlassUI(
commonGlassContainer(
width: 40.w,
height: 40.h,
borderRadius: BorderRadius.circular( 100),
borderradius: 100,
opacity1: 0.24,
opacity2: 0.24,
customWidget: Center(child: text16w400_FCFCFC("Sa")),
borderwidth: 0.5),
const Spacer(),
border: 0.5),
Spacer(),
Row(
children: [
Image.asset(
@@ -343,7 +344,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
const Color(0xFFD90B2E).withOpacity(0.18),
Color(0xFFD90B2E).withOpacity(0.18),
const Color(0xFFD90B2E).withOpacity(0.4),
],
stops: const [
@@ -351,7 +352,7 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
1,
],
),
borderGradient: const LinearGradient(
borderGradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
@@ -374,6 +375,4 @@ class _ManageMembersCalState extends State<ManageMembersCal> {
),
));
}
}

View File

@@ -5,8 +5,10 @@ import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
import 'package:regroup/resources/routes/route_name.dart';
class ResourcePool extends StatefulWidget {
const ResourcePool({super.key});
@@ -40,9 +42,9 @@ class _ResourcePoolState extends State<ResourcePool> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: const Color(0xFF222935),
backgroundColor: Color(0xFF222935),
extendBody: true,
appBar: const CommonAppbar(
appBar: CommonAppbar(
titleTxt: "Resource pool",
),
resizeToAvoidBottomInset: false,
@@ -89,10 +91,10 @@ class _ResourcePoolState extends State<ResourcePool> {
}
Widget resourceCard() {
return commonGlassUI(
return commonGlassContainer(
width: double.infinity,
height: 216.h,
borderRadius: BorderRadius.circular( 10.r),
borderradius: 10.r,
customWidget: Padding(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 16),
child:
@@ -101,7 +103,7 @@ class _ResourcePoolState extends State<ResourcePool> {
children: [
CircleAvatar(
backgroundImage:
const AssetImage("assets/images/png/Ellipse 52.png"),
AssetImage("assets/images/png/Ellipse 52.png"),
radius: 25.r,
),
sizedBoxWidth(8.w),
@@ -113,7 +115,7 @@ class _ResourcePoolState extends State<ResourcePool> {
text12w400_FCFCFC_blur("Row row row your boat")
],
),
const Spacer(),
Spacer(),
InkWell(
onTap: () {
inviteBottomSheet();
@@ -122,7 +124,7 @@ class _ResourcePoolState extends State<ResourcePool> {
height: 30.h,
width: 95.w,
decoration: BoxDecoration(
color: const Color(0xFFD90B2E),
color: Color(0xFFD90B2E),
borderRadius: BorderRadius.circular(30.r)),
child: Center(child: text14400white("Invite")),
),
@@ -177,7 +179,7 @@ class _ResourcePoolState extends State<ResourcePool> {
),
]),
),
borderwidth: 1);
border: 1);
}
void inviteBottomSheet() {
@@ -190,7 +192,7 @@ class _ResourcePoolState extends State<ResourcePool> {
topLeft: Radius.circular(30.r),
topRight: Radius.circular(30.r),
),
color: const Color(0xFF222935),
color: Color(0xFF222935),
),
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
@@ -257,10 +259,10 @@ class _ResourcePoolState extends State<ResourcePool> {
),
sizedBoxWidth(10.w),
text16w400_FCFCFC(title),
const Spacer(),
commonGlassUI(
borderwidth: 1,
borderRadius: BorderRadius.circular( 2),
Spacer(),
commonGlassContainer(
border: 1,
borderradius: 2,
height: 23.h,
width: 23.w,
opacity1: 0.24,
@@ -268,7 +270,7 @@ class _ResourcePoolState extends State<ResourcePool> {
customWidget: Transform.scale(
scale: 1.4,
child: Checkbox(
side: const BorderSide(color: Color(0xFF434A53)),
side: BorderSide(color: Color(0xFF434A53)),
value: isChecked,
activeColor: Colors.transparent,
checkColor: Colors.white,

View File

@@ -2,10 +2,12 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:glassmorphism/glassmorphism.dart';
import 'package:regroup/Common/CommonButton.dart';
import 'package:regroup/Common/CommonDropDown.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
@@ -33,10 +35,10 @@ class _SetAvailabillityState extends State<SetAvailabillity> {
Widget build(BuildContext context) {
return Scaffold(
// key: _scaffoldKey1,
backgroundColor: const Color(0xFF222935),
backgroundColor: Color(0xFF222935),
extendBody: true,
resizeToAvoidBottomInset: false,
appBar: const CommonAppbar(
appBar: CommonAppbar(
titleTxt: "Set availability",
),
body: Stack(children: [
@@ -55,30 +57,30 @@ class _SetAvailabillityState extends State<SetAvailabillity> {
sizedBoxHeight(10.h),
text16400white("Select event type"),
sizedBoxHeight(15.h),
CommonDropdownBtn(hint: "", items: const ['']),
CommonDropdownBtn(hint: "", items: []),
sizedBoxHeight(18.h),
text16400white("Select sport"),
sizedBoxHeight(15.h),
CommonDropdownBtn(hint: "", items: const ['']),
CommonDropdownBtn(hint: "", items: []),
sizedBoxHeight(18.h),
text16400white("Select role "),
sizedBoxHeight(15.h),
CommonDropdownBtn(hint: "", items: const ['']),
CommonDropdownBtn(hint: "", items: []),
sizedBoxHeight(18.h),
text16400white("Space selection"),
sizedBoxHeight(15.h),
CommonDropdownBtn(hint: "", items: const ['']),
CommonDropdownBtn(hint: "", items: []),
sizedBoxHeight(18.h),
Row(
children: [
text16w400_white("Availability"),
const Spacer(),
Spacer(),
Transform.scale(
scaleY: 1,
child: CupertinoSwitch(
value: swichvalue,
trackColor: Colors.white.withOpacity(0.4),
activeColor: const Color(0xFF3192D8),
activeColor: Color(0xFF3192D8),
onChanged: (bool? value) {
setState(() {
swichvalue = value ?? false;
@@ -138,10 +140,10 @@ class _SetAvailabillityState extends State<SetAvailabillity> {
children: [
text16400white("Start time"),
sizedBoxHeight(14.h),
commonGlassUI(
commonGlassContainer(
width: 174.w,
height: 50.h,
borderRadius: BorderRadius.circular(30.r),
borderradius: 30.r,
customWidget: Center(
child: Row(children: [
sizedBoxWidth(16.w),
@@ -154,19 +156,19 @@ class _SetAvailabillityState extends State<SetAvailabillity> {
text16w400_white("3:00 pm")
]),
),
borderwidth: 1)
border: 1)
],
),
const Spacer(),
Spacer(),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
text16400white("End time"),
sizedBoxHeight(14.h),
commonGlassUI(
commonGlassContainer(
width: 174.w,
height: 50.h,
borderRadius: BorderRadius.circular( 30.r),
borderradius: 30.r,
customWidget: Center(
child: Row(children: [
sizedBoxWidth(16.w),
@@ -179,7 +181,7 @@ class _SetAvailabillityState extends State<SetAvailabillity> {
text16w400_white("5:00 pm")
]),
),
borderwidth: 1)
border: 1)
],
),
],
@@ -206,10 +208,10 @@ class _SetAvailabillityState extends State<SetAvailabillity> {
decoration: BoxDecoration(
shape: BoxShape.circle,
color: selectedContainerIndices.contains(index)
? const Color(0xFFD90B2E).withOpacity(0.4)
: const Color(0xFFFFFFFF).withOpacity(0.2),
? Color(0xFFD90B2E).withOpacity(0.4)
: Color(0xFFFFFFFF).withOpacity(0.2),
border: selectedContainerIndices.contains(index)
? Border.all(color: const Color(0xFFD90B2E), width: 1)
? Border.all(color: Color(0xFFD90B2E), width: 1)
: null),
child: Center(child: text16w400_FCFCFC(text)),
),

View File

@@ -4,6 +4,7 @@ import 'package:get/get.dart';
import 'package:regroup/Common/CommonBottomNavigationBar.dart';
import 'package:regroup/Common/controller/MainScreen.dart';
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
import 'package:regroup/resources/routes/route_name.dart';
@@ -18,7 +19,7 @@ class ChatsMainScreen extends StatefulWidget {
class _ChatsMainScreenState extends State<ChatsMainScreen> {
TextEditingController searchcontroller = TextEditingController();
final GlobalKey<ScaffoldState> _scaffoldKey1 = GlobalKey<ScaffoldState>();
GlobalKey<ScaffoldState> _scaffoldKey1 = GlobalKey<ScaffoldState>();
List chatcontents = [
{
@@ -120,10 +121,10 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
child: Scaffold(
resizeToAvoidBottomInset: false,
key: _scaffoldKey1,
backgroundColor: const Color(0xFF222935),
backgroundColor: Color(0xFF222935),
appBar: AppBar(
scrolledUnderElevation: 0.0,
backgroundColor: const Color(0xff222935),
backgroundColor: Color(0xff222935),
elevation: 0,
automaticallyImplyLeading: false,
titleSpacing: 0,
@@ -173,7 +174,7 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
hintText: "Search chats",
leadingIcon: Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: const Icon(
child: Icon(
Icons.search,
size: 35,
color: Colors.white,
@@ -195,7 +196,7 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
// initialIndex: selectedIndex.value,
child: Column(
children: [
const MyTabBar(),
MyTabBar(),
Expanded(
child: TabBarView(
children: [feedTab(), clubsTab(), teamsTab()],
@@ -222,7 +223,7 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
separatorBuilder: (context, index) {
return Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
);
},
itemCount: chatcontents.length,
@@ -262,7 +263,7 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
separatorBuilder: (context, index) {
return Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
);
},
itemCount: clubcontents.length,
@@ -297,7 +298,7 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
separatorBuilder: (context, index) {
return Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
);
},
itemCount: teamcontents.length,
@@ -325,17 +326,15 @@ class _ChatsMainScreenState extends State<ChatsMainScreen> {
}
class MyTabBar extends StatelessWidget {
const MyTabBar({super.key});
// Set the desired height
@override
Widget build(BuildContext context) {
return TabBar(
dividerColor: const Color(0xFFFFFFFF).withOpacity(0.07),
dividerColor: Color(0xFFFFFFFF).withOpacity(0.07),
labelStyle: TextStyle(
fontSize: 14.sp,
color: const Color(0xFFFCFCFC),
color: Color(0xFFFCFCFC),
fontWeight: FontWeight.w400,
fontFamily: 'Helvetica'),
indicatorSize: TabBarIndicatorSize.tab,
@@ -343,7 +342,7 @@ class MyTabBar extends StatelessWidget {
// labelColor: Colors.white,
indicatorWeight: 2.h,
dividerHeight: 2.h,
unselectedLabelColor: const Color(0xFFFCFCFC),
unselectedLabelColor: Color(0xFFFCFCFC),
overlayColor: MaterialStateProperty.all(const Color(0xFFD90B2E)),
tabs: const [
Tab(
@@ -387,7 +386,7 @@ class ChatList extends StatefulWidget {
class _ChatListState extends State<ChatList> {
void _showContextMenu(BuildContext context, Offset offset) {
showMenu(
color: const Color(0XFf222935),
color: Color(0XFf222935),
context: context,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.r)),
position:
@@ -399,7 +398,7 @@ class _ChatListState extends State<ChatList> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Mute chat", style: TextStyle(color: Colors.white)),
Text("Mute chat", style: TextStyle(color: Colors.white)),
Image.asset(
'assets/images/png/mute.png',
width: 19.w,
@@ -409,7 +408,7 @@ class _ChatListState extends State<ChatList> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
]),
),
@@ -420,7 +419,7 @@ class _ChatListState extends State<ChatList> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Pin chat", style: TextStyle(color: Colors.white)),
Text("Pin chat", style: TextStyle(color: Colors.white)),
Image.asset(
'assets/images/png/pin.png',
width: 19.w,
@@ -430,7 +429,7 @@ class _ChatListState extends State<ChatList> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
],
),
@@ -440,7 +439,7 @@ class _ChatListState extends State<ChatList> {
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Delete chat", style: TextStyle(color: Colors.red)),
Text("Delete chat", style: TextStyle(color: Colors.red)),
// Icon(Icons.delete, color: Colors.red),
Image.asset(
'assets/images/png/deletetred.png',
@@ -504,7 +503,7 @@ class _ChatListState extends State<ChatList> {
? Container(
width: 10.w,
height: 10.h,
decoration: const ShapeDecoration(
decoration: ShapeDecoration(
color: Color(0xFF32D74B),
shape: OvalBorder(),
),
@@ -512,7 +511,7 @@ class _ChatListState extends State<ChatList> {
: Container(
width: 10.w,
height: 10.h,
decoration: const ShapeDecoration(
decoration: ShapeDecoration(
color: Color(0xFFFF453A),
shape: OvalBorder(),
)),
@@ -536,7 +535,7 @@ class _ChatListState extends State<ChatList> {
child: Text(
widget.message,
style: TextStyle(
color: const Color(0xCCFCFCFC),
color: Color(0xCCFCFCFC),
fontSize: 12.sp,
fontFamily: 'Helvetica',
fontWeight: FontWeight.w400,
@@ -547,7 +546,7 @@ class _ChatListState extends State<ChatList> {
),
],
),
const Spacer(),
Spacer(),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
@@ -558,7 +557,7 @@ class _ChatListState extends State<ChatList> {
children: [
widget.ispinned == true
? Image.asset('assets/images/png/pin.png')
: const SizedBox(
: SizedBox(
width: 25,
),
sizedBoxWidth(3.w),
@@ -566,7 +565,7 @@ class _ChatListState extends State<ChatList> {
? Container(
width: 18,
height: 18,
decoration: const ShapeDecoration(
decoration: ShapeDecoration(
color: Color(0xFFD90B2E),
shape: OvalBorder(),
),
@@ -574,14 +573,14 @@ class _ChatListState extends State<ChatList> {
'1',
textAlign: TextAlign.center,
style: TextStyle(
color: const Color(0xFFFCFCFC),
color: Color(0xFFFCFCFC),
fontSize: 12.sp,
fontFamily: 'Helvetica',
fontWeight: FontWeight.w400,
),
),
)
: const SizedBox()
: SizedBox()
],
)
],
@@ -599,7 +598,7 @@ class SecondChatList extends StatefulWidget {
final String message;
final bool isMessageRead;
const SecondChatList({
SecondChatList({
Key? key,
required this.name,
required this.imageurl,
@@ -614,7 +613,7 @@ class SecondChatList extends StatefulWidget {
class _SecondChatListState extends State<SecondChatList> {
void _showContextMenu(BuildContext context, Offset offset) {
showMenu(
color: const Color(0XFf222935),
color: Color(0XFf222935),
context: context,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.r)),
position:
@@ -626,7 +625,7 @@ class _SecondChatListState extends State<SecondChatList> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Mute chat", style: TextStyle(color: Colors.white)),
Text("Mute chat", style: TextStyle(color: Colors.white)),
Image.asset(
'assets/images/png/mute.png',
width: 19.w,
@@ -636,7 +635,7 @@ class _SecondChatListState extends State<SecondChatList> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
]),
),
@@ -647,7 +646,7 @@ class _SecondChatListState extends State<SecondChatList> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Pin chat", style: TextStyle(color: Colors.white)),
Text("Pin chat", style: TextStyle(color: Colors.white)),
Image.asset(
'assets/images/png/pin.png',
width: 19.w,
@@ -657,7 +656,7 @@ class _SecondChatListState extends State<SecondChatList> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
],
),
@@ -667,7 +666,7 @@ class _SecondChatListState extends State<SecondChatList> {
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Delete chat", style: TextStyle(color: Colors.red)),
Text("Delete chat", style: TextStyle(color: Colors.red)),
// Icon(Icons.delete, color: Colors.red),
Image.asset(
'assets/images/png/deletetred.png',
@@ -751,7 +750,7 @@ class _SecondChatListState extends State<SecondChatList> {
Text(
widget.message,
style: TextStyle(
color: const Color(0xCCFCFCFC),
color: Color(0xCCFCFCFC),
fontSize: 12.sp,
fontFamily: 'Helvetica',
fontWeight: FontWeight.w400,

View File

@@ -7,6 +7,7 @@ import 'package:glassmorphism/glassmorphism.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
import 'package:regroup/Utils/Common/ImageUpload.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
@@ -53,7 +54,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
void _showContextMenu(BuildContext context, Offset offset) {
showMenu(
color: const Color(0XFf222935),
color: Color(0XFf222935),
context: context,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.r)),
position:
@@ -66,7 +67,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Mute chat", style: TextStyle(color: Colors.white)),
Text("Mute chat", style: TextStyle(color: Colors.white)),
Image.asset(
'assets/images/png/mute.png',
width: 19.w,
@@ -76,7 +77,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
]),
),
@@ -87,7 +88,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Pin chat", style: TextStyle(color: Colors.white)),
Text("Pin chat", style: TextStyle(color: Colors.white)),
Image.asset(
'assets/images/png/pin.png',
width: 19.w,
@@ -97,7 +98,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
],
),
@@ -106,7 +107,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
value: 1,
child: Column(
children: [
const Row(
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text("Search", style: TextStyle(color: Colors.white)),
@@ -119,7 +120,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
],
),
@@ -131,7 +132,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Profile", style: TextStyle(color: Colors.white)),
Text("Profile", style: TextStyle(color: Colors.white)),
Image.asset(
'assets/images/png/profile.png',
width: 19.w,
@@ -141,7 +142,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
],
),
@@ -153,7 +154,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Block chat", style: TextStyle(color: Colors.white)),
Text("Block chat", style: TextStyle(color: Colors.white)),
Image.asset(
'assets/images/png/blockchat.png',
width: 19.w,
@@ -163,7 +164,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
],
),
@@ -175,7 +176,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Delete chat", style: TextStyle(color: Colors.red)),
Text("Delete chat", style: TextStyle(color: Colors.red)),
// Icon(Icons.delete, color: Colors.red),
Image.asset(
'assets/images/png/deletetred.png',
@@ -245,11 +246,11 @@ class _GroupChatPageState extends State<GroupChatPage> {
Get.focusScope?.unfocus();
},
child: Scaffold(
backgroundColor: const Color.fromARGB(255, 18, 32, 47),
backgroundColor: Color.fromARGB(255, 18, 32, 47),
appBar: AppBar(
elevation: 0,
automaticallyImplyLeading: false,
backgroundColor: const Color(0xFF222935).withOpacity(0.50),
backgroundColor: Color(0xFF222935).withOpacity(0.50),
flexibleSpace: SafeArea(
child: Container(
// height: 90.h,
@@ -264,13 +265,13 @@ class _GroupChatPageState extends State<GroupChatPage> {
child: Row(
children: [
sizedBoxWidth(10.w),
commonGlassUI(
borderwidth: 0.9,
commonGlassContainer(
border: 0.9,
width: 40.w,
height: 40.h,
opacity1: 0.24,
opacity2: 0.24,
borderRadius: BorderRadius.circular( 100),
borderradius: 100,
customWidget: Center(
child: Image.asset(
'assets/images/png/appbararrowbutton.png')
@@ -291,7 +292,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
height: 40.h,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(25.h),
image: const DecorationImage(
image: DecorationImage(
image:
AssetImage("assets/images/png/groupchat.png"),
fit: BoxFit.cover)),
@@ -324,7 +325,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
Text(
"Ryan, Jaxson, Dulce, Nolan ",
style: TextStyle(
color: const Color(0xffFCFCFC).withOpacity(0.80),
color: Color(0xffFCFCFC).withOpacity(0.80),
fontSize: 12.sp,
fontWeight: FontWeight.w400),
),
@@ -368,18 +369,18 @@ class _GroupChatPageState extends State<GroupChatPage> {
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
const Color(0XFF222935).withOpacity(0.60),
const Color(0XFF222935).withOpacity(0.60),
const Color(0XFF222935).withOpacity(0.60),
const Color(0XFF222935).withOpacity(0.60),
Color(0XFF222935).withOpacity(0.60),
Color(0XFF222935).withOpacity(0.60),
Color(0XFF222935).withOpacity(0.60),
Color(0XFF222935).withOpacity(0.60),
],
),
borderGradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
const Color(0XFF222935).withOpacity(0.60),
const Color(0XFF222935).withOpacity(0.60),
Color(0XFF222935).withOpacity(0.60),
Color(0XFF222935).withOpacity(0.60),
],
),
child: Stack(
@@ -414,7 +415,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
),
fit: BoxFit.fill,
),
shape: const OvalBorder(),
shape: OvalBorder(),
),
),
sizedBoxWidth(2.w),
@@ -422,8 +423,8 @@ class _GroupChatPageState extends State<GroupChatPage> {
child: Container(
decoration: ShapeDecoration(
gradient: LinearGradient(
begin: const Alignment(1.00, -0.03),
end: const Alignment(-1, 0.03),
begin: Alignment(1.00, -0.03),
end: Alignment(-1, 0.03),
colors: [
Colors.white.withOpacity(
0.05999999865889549),
@@ -431,7 +432,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
0.07999999821186066)
],
),
shape: const RoundedRectangleBorder(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20),
topRight: Radius.circular(20),
@@ -488,7 +489,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
children: [
Flexible(
child: Container(
decoration: const ShapeDecoration(
decoration: ShapeDecoration(
gradient: LinearGradient(
begin: Alignment(1.00, 0.05),
end: Alignment(-1, -0.05),
@@ -544,7 +545,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
),
fit: BoxFit.fill,
),
shape: const OvalBorder(),
shape: OvalBorder(),
),
),
],
@@ -558,7 +559,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
Align(
alignment: Alignment.bottomCenter,
child: Padding(
padding: const EdgeInsets.only(top: 15, bottom: 15),
padding: EdgeInsets.only(top: 15, bottom: 15),
child: Row(
children: <Widget>[
sizedBoxWidth(16.w),
@@ -577,7 +578,6 @@ class _GroupChatPageState extends State<GroupChatPage> {
const Color(0xFFffffff).withOpacity(0.24),
const Color(0xFFFFFFFF).withOpacity(0.24),
],
// ignore: prefer_const_literals_to_create_immutables
stops: [
0.1,
1,
@@ -611,7 +611,7 @@ class _GroupChatPageState extends State<GroupChatPage> {
border: InputBorder.none,
hintStyle: TextStyle(
fontSize: 14.sp,
color: const Color(0XFFFCFCFC)
color: Color(0XFFFCFCFC)
.withOpacity(0.80),
fontWeight: FontWeight.w400,
fontFamily: 'Helvetica'),
@@ -640,12 +640,12 @@ class _GroupChatPageState extends State<GroupChatPage> {
height: 30.h,
decoration: BoxDecoration(
color:
const Color(0xFFD90B2E),
Color(0xFFD90B2E),
borderRadius:
BorderRadius
.circular(
30.r)),
child: const Center(
child: Center(
child: Icon(
Icons.send_outlined,
color: Colors.white,

View File

@@ -1,8 +1,10 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:glassmorphism/glassmorphism.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
import 'package:regroup/resources/routes/route_name.dart';
@@ -72,9 +74,9 @@ class _NewChatPageState extends State<NewChatPage> {
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
child: Scaffold(
// backgroundColor: Color(0xFF222935),
backgroundColor: const Color.fromARGB(255, 18, 32, 47),
backgroundColor: Color.fromARGB(255, 18, 32, 47),
appBar: const CommonAppbar(titleTxt: 'New chat'),
appBar: CommonAppbar(titleTxt: 'New chat'),
body: Stack(children: [
Container(
decoration: const BoxDecoration(
@@ -94,7 +96,7 @@ class _NewChatPageState extends State<NewChatPage> {
hintText: "Search people",
leadingIcon: Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: const Icon(
child: Icon(
Icons.search,
size: 35,
color: Colors.white,
@@ -125,13 +127,13 @@ class _NewChatPageState extends State<NewChatPage> {
width: 50,
height: 50,
decoration: ShapeDecoration(
image: const DecorationImage(
image: DecorationImage(
image: AssetImage(
'assets/images/png/chatgroup.png'),
),
gradient: LinearGradient(
begin: const Alignment(0.71, -0.70),
end: const Alignment(-0.71, 0.7),
begin: Alignment(0.71, -0.70),
end: Alignment(-0.71, 0.7),
colors: [
Colors.white
.withOpacity(0.30000001192092896),
@@ -139,7 +141,7 @@ class _NewChatPageState extends State<NewChatPage> {
.withOpacity(0.30000001192092896)
],
),
shape: const OvalBorder(
shape: OvalBorder(
side: BorderSide(
width: 0.50, color: Color(0xFF434A53)),
),
@@ -164,7 +166,7 @@ class _NewChatPageState extends State<NewChatPage> {
separatorBuilder: (context, index) {
return Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
);
},
itemCount: chatcontents.length,
@@ -197,7 +199,7 @@ class SecondChatList extends StatefulWidget {
final String imageurl;
final String message;
const SecondChatList({
SecondChatList({
Key? key,
required this.name,
required this.imageurl,
@@ -248,7 +250,7 @@ class _SecondChatListState extends State<SecondChatList> {
Text(
widget.message,
style: TextStyle(
color: const Color(0xCCFCFCFC),
color: Color(0xCCFCFCFC),
fontSize: 12.sp,
fontFamily: 'Helvetica',
fontWeight: FontWeight.w400,

View File

@@ -3,13 +3,13 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:glassmorphism/glassmorphism.dart';
import 'package:regroup/Common/controller/MainScreen.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
import 'package:regroup/Utils/Common/CustomNextButton.dart';
import 'package:regroup/Utils/Common/CustomTextformfield.dart';
import 'package:regroup/Utils/Common/ImageUpload.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
@@ -80,8 +80,8 @@ class _NewGroupPageState extends State<NewGroupPage> {
return GestureDetector(
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
child: Scaffold(
backgroundColor: const Color.fromARGB(255, 18, 32, 47),
appBar: const CommonAppbar(titleTxt: 'New group'),
backgroundColor: Color.fromARGB(255, 18, 32, 47),
appBar: CommonAppbar(titleTxt: 'New group'),
body: Stack(
children: [
Container(
@@ -121,14 +121,14 @@ class _NewGroupPageState extends State<NewGroupPage> {
// image: AssetImage('assets/images/png/camera1.png'),
// ),
gradient: LinearGradient(
begin: const Alignment(0.71, -0.70),
end: const Alignment(-0.71, 0.7),
begin: Alignment(0.71, -0.70),
end: Alignment(-0.71, 0.7),
colors: [
Colors.white.withOpacity(0.30000001192092896),
Colors.white.withOpacity(0.30000001192092896)
],
),
shape: const OvalBorder(
shape: OvalBorder(
side: BorderSide(
width: 0.50, color: Color(0xFF434A53)),
),
@@ -189,7 +189,7 @@ class _NewGroupPageState extends State<NewGroupPage> {
hintText: "Search people",
leadingIcon: Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: const Icon(
child: Icon(
Icons.search,
size: 35,
color: Colors.white,
@@ -207,7 +207,7 @@ class _NewGroupPageState extends State<NewGroupPage> {
separatorBuilder: (context, index) {
return Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
);
},
itemCount: chatcontents.length,
@@ -234,7 +234,7 @@ class _NewGroupPageState extends State<NewGroupPage> {
// Get.toNamed(RouteName.mainscreen);
Get.offUntil(
MaterialPageRoute(
builder: (context) => const MainScreen()),
builder: (context) => MainScreen()),
(Route<dynamic> route) => false);
}),
),
@@ -254,7 +254,7 @@ class GroupsList extends StatefulWidget {
final String imageurl;
final String message;
const GroupsList({
GroupsList({
Key? key,
required this.name,
required this.imageurl,
@@ -308,7 +308,7 @@ class _GroupsListState extends State<GroupsList> {
Text(
widget.message,
style: TextStyle(
color: const Color(0xCCFCFCFC),
color: Color(0xCCFCFCFC),
fontSize: 12.sp,
fontFamily: 'Helvetica',
fontWeight: FontWeight.w400,
@@ -323,8 +323,8 @@ class _GroupsListState extends State<GroupsList> {
Checkbox(
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
side: BorderSide(
color: const Color(0xFF434A53).withOpacity(0.72), width: 1.5.w),
activeColor: const Color(0xFF434A53).withOpacity(0.72),
color: Color(0xFF434A53).withOpacity(0.72), width: 1.5.w),
activeColor: Color(0xFF434A53).withOpacity(0.72),
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(0.0)),
),

View File

@@ -7,7 +7,7 @@ import 'package:glassmorphism/glassmorphism.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonWidget.dart';
import 'package:regroup/Utils/Common/ImageUpload.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:remove_emoji_input_formatter/remove_emoji_input_formatter.dart';
@@ -55,7 +55,7 @@ class _UserChatPageState extends State<UserChatPage> {
void _showContextMenu(BuildContext context, Offset offset) {
showMenu(
color: const Color(0XFf222935),
color: Color(0XFf222935),
context: context,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30.r)),
position:
@@ -68,7 +68,7 @@ class _UserChatPageState extends State<UserChatPage> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Mute chat", style: TextStyle(color: Colors.white)),
Text("Mute chat", style: TextStyle(color: Colors.white)),
Image.asset(
'assets/images/png/mute.png',
width: 19.w,
@@ -78,7 +78,7 @@ class _UserChatPageState extends State<UserChatPage> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
]),
),
@@ -89,7 +89,7 @@ class _UserChatPageState extends State<UserChatPage> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Pin chat", style: TextStyle(color: Colors.white)),
Text("Pin chat", style: TextStyle(color: Colors.white)),
Image.asset(
'assets/images/png/pin.png',
width: 19.w,
@@ -99,7 +99,7 @@ class _UserChatPageState extends State<UserChatPage> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
],
),
@@ -108,7 +108,7 @@ class _UserChatPageState extends State<UserChatPage> {
value: 1,
child: Column(
children: [
const Row(
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text("Search", style: TextStyle(color: Colors.white)),
@@ -121,7 +121,7 @@ class _UserChatPageState extends State<UserChatPage> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
],
),
@@ -133,7 +133,7 @@ class _UserChatPageState extends State<UserChatPage> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Profile", style: TextStyle(color: Colors.white)),
Text("Profile", style: TextStyle(color: Colors.white)),
Image.asset(
'assets/images/png/profile.png',
width: 19.w,
@@ -143,7 +143,7 @@ class _UserChatPageState extends State<UserChatPage> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
],
),
@@ -155,7 +155,7 @@ class _UserChatPageState extends State<UserChatPage> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Block chat", style: TextStyle(color: Colors.white)),
Text("Block chat", style: TextStyle(color: Colors.white)),
Image.asset(
'assets/images/png/blockchat.png',
width: 19.w,
@@ -165,7 +165,7 @@ class _UserChatPageState extends State<UserChatPage> {
),
Divider(
thickness: 0.6.h,
color: const Color(0xffFFFFFF).withOpacity(0.72),
color: Color(0xffFFFFFF).withOpacity(0.72),
)
],
),
@@ -177,7 +177,7 @@ class _UserChatPageState extends State<UserChatPage> {
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text("Delete chat", style: TextStyle(color: Colors.red)),
Text("Delete chat", style: TextStyle(color: Colors.red)),
// Icon(Icons.delete, color: Colors.red),
Image.asset(
'assets/images/png/deletetred.png',
@@ -247,11 +247,11 @@ class _UserChatPageState extends State<UserChatPage> {
Get.focusScope?.unfocus();
},
child: Scaffold(
backgroundColor: const Color.fromARGB(255, 18, 32, 47),
backgroundColor: Color.fromARGB(255, 18, 32, 47),
appBar: AppBar(
elevation: 0,
automaticallyImplyLeading: false,
backgroundColor: const Color(0xFF222935).withOpacity(0.50),
backgroundColor: Color(0xFF222935).withOpacity(0.50),
flexibleSpace: SafeArea(
child: Container(
// height: 90.h,
@@ -266,13 +266,13 @@ class _UserChatPageState extends State<UserChatPage> {
child: Row(
children: [
sizedBoxWidth(10.w),
commonGlassUI(
borderwidth: 0.9,
commonGlassContainer(
border: 0.9,
width: 40.w,
height: 40.h,
opacity1: 0.24,
opacity2: 0.24,
borderRadius: BorderRadius.circular( 100),
borderradius: 100,
customWidget: Center(
child: Image.asset(
'assets/images/png/appbararrowbutton.png')
@@ -293,7 +293,7 @@ class _UserChatPageState extends State<UserChatPage> {
height: 40.h,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(25.h),
image: const DecorationImage(
image: DecorationImage(
image:
AssetImage("assets/images/png/Ellipse 52.png"),
fit: BoxFit.fill)),
@@ -319,7 +319,7 @@ class _UserChatPageState extends State<UserChatPage> {
Text(
"Ryan_01",
style: TextStyle(
color: const Color(0xffFCFCFC).withOpacity(0.80),
color: Color(0xffFCFCFC).withOpacity(0.80),
fontSize: 12.sp,
fontWeight: FontWeight.w400),
),
@@ -330,7 +330,7 @@ class _UserChatPageState extends State<UserChatPage> {
onTapDown: (details) {
_showContextMenu(context, details.globalPosition);
},
child: SizedBox(
child: Container(
width: 30,
height: 20,
child: Image.asset(
@@ -371,8 +371,8 @@ class _UserChatPageState extends State<UserChatPage> {
child: Container(
decoration: ShapeDecoration(
gradient: LinearGradient(
begin: const Alignment(1.00, -0.03),
end: const Alignment(-1, 0.03),
begin: Alignment(1.00, -0.03),
end: Alignment(-1, 0.03),
colors: [
Colors.white
.withOpacity(0.05999999865889549),
@@ -380,7 +380,7 @@ class _UserChatPageState extends State<UserChatPage> {
.withOpacity(0.07999999821186066)
],
),
shape: const RoundedRectangleBorder(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20),
topRight: Radius.circular(20),
@@ -428,7 +428,7 @@ class _UserChatPageState extends State<UserChatPage> {
children: [
Flexible(
child: Container(
decoration: const ShapeDecoration(
decoration: ShapeDecoration(
gradient: LinearGradient(
begin: Alignment(1.00, 0.05),
end: Alignment(-1, -0.05),
@@ -476,7 +476,7 @@ class _UserChatPageState extends State<UserChatPage> {
Align(
alignment: Alignment.bottomCenter,
child: Padding(
padding: const EdgeInsets.only(top: 15, bottom: 15),
padding: EdgeInsets.only(top: 15, bottom: 15),
child: Row(
children: <Widget>[
sizedBoxWidth(16.w),
@@ -495,7 +495,7 @@ class _UserChatPageState extends State<UserChatPage> {
const Color(0xFFffffff).withOpacity(0.24),
const Color(0xFFFFFFFF).withOpacity(0.24),
],
stops: const [
stops: [
0.1,
1,
]),
@@ -524,7 +524,7 @@ class _UserChatPageState extends State<UserChatPage> {
border: InputBorder.none,
hintStyle: TextStyle(
fontSize: 14.sp,
color: const Color(0XFFFCFCFC).withOpacity(0.80),
color: Color(0XFFFCFCFC).withOpacity(0.80),
fontWeight: FontWeight.w400,
fontFamily: 'Helvetica'),
hintText: "Type your message",
@@ -548,10 +548,10 @@ class _UserChatPageState extends State<UserChatPage> {
width: 45.w,
height: 30.h,
decoration: BoxDecoration(
color: const Color(0xFFD90B2E),
color: Color(0xFFD90B2E),
borderRadius:
BorderRadius.circular(30.r)),
child: const Center(
child: Center(
child: Icon(
Icons.send_outlined,
color: Colors.white,

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,487 @@
import 'package:flutter/material.dart';
import 'package:flutter_reaction_button/flutter_reaction_button.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:regroup/Common/CommonGlassmorphism.dart';
import 'package:regroup/Common/CommonTabBar.dart';
import 'package:regroup/Common/CommonWidget.dart';
import 'package:regroup/Feed%20Module/Main_Screens/Community/Community.dart';
import 'package:regroup/Utils/Common/CommonAppbar.dart';
import 'package:regroup/Utils/Common/blureffect.dart';
import 'package:regroup/Utils/Common/sized_box.dart';
import 'package:regroup/Utils/texts.dart';
import 'package:regroup/resources/routes/route_name.dart';
class CycleScreen extends StatefulWidget {
const CycleScreen({super.key});
@override
State<CycleScreen> createState() => _CycleScreenState();
}
class _CycleScreenState extends State<CycleScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Color(0xFF222935),
extendBody: true,
resizeToAvoidBottomInset: false,
appBar: CommonAppbar(
titleTxt: "Cycle",
customActionWidget: Image.asset(
"assets/images/png/sidemenu/f7_pin-fill.png",
height: 26.h,
width: 26.w,
)),
body: Stack(children: [
Container(
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage("assets/images/png/Ellipse 1496.png"),
fit: BoxFit.fill)),
), Column(children: [
sizedBoxHeight(10.h),
DefaultTabController(
length: 2,
// initialIndex: selectedIndex.value,
child: Column(
children: [
CommonTabBar(tabs: const [
Tab(
text: 'Popular',
),
Tab(
text: 'Latest',
),
]),
SizedBox(
height: 670.h,
child: TabBarView(
children: [
CyclepopularTab(),
CyclelatestTab(),
],
),
),
],
))
])
]));
}
}
Widget CyclepopularTab() {
return SingleChildScrollView(
child: Column(children: [
sizedBoxHeight(20.h),
normalcardtile(
profileImg: 'assets/images/png/Ellipse 52.png',
title: 'Ryan Dorwat',
mainImg: 'assets/images/png/img322.png',
containerTitle: [
'Football',
'Teams player',
'Events',
'Marathon',
'Events'
]),
sizedBoxHeight(30.h),
normalcardtile(
profileImg: 'assets/images/png/Ellipse 43.png',
title: 'Edward Hackket',
mainImg: 'assets/images/png/Rectangle 24.png',
containerTitle: [
'Cycle',
'Marathon',
'Events',
'Marathon',
'Events'
]),
]),
);
}
Widget CyclelatestTab() {
return SingleChildScrollView(
child: Column(children: [
sizedBoxHeight(20.h),
normalcardtile(
profileImg: 'assets/images/png/Ellipse 43.png',
title: 'Edward Hackket',
mainImg: 'assets/images/png/Rectangle 24.png',
containerTitle: [
'Cycle',
'Marathon',
'Events',
'Marathon',
'Events'
]),
]),
);
}
Widget normalcardtile({
required String profileImg,
required String title,
required String mainImg,
required List<String> containerTitle,
}) {
var mainImage = 'assets/images/png/uiw_like-o.png'.obs;
void updateImage(String reaction) {
if (reaction == 'like') {
mainImage.value = 'assets/images/png/f7_hand-thumbsup.png';
} else if (reaction == 'heart') {
mainImage.value = 'assets/images/png/heart 2.png';
} else if (reaction == 'party') {
mainImage.value = 'assets/images/png/party-popper 2.png';
}
}
return commonGlassContainer(
width: double.infinity,
height: 570.h,
border: 0,
borderradius: 1,
customWidget: Column(
children: [
sizedBoxHeight(25.h),
Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
CircleAvatar(
foregroundImage: AssetImage(profileImg),
radius: 25.r,
),
sizedBoxWidth(12.w),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
text16w400_FCFCFC(title),
sizedBoxHeight(5.h),
Row(
children: [
Image.asset(
'assets/images/png/community 1 (traced).png',
height: 14.w,
width: 14.w,
),
sizedBoxWidth(7.w),
text12w400_FCFCFC('Active alliance network'),
sizedBoxWidth(7.w),
Icon(
Icons.circle,
color: Color(0xFFFCFCFC),
size: 4.sp,
),
sizedBoxWidth(6.w),
text12w400_FCFCFC('1 Hour ago'),
],
)
],
),
Spacer(),
PopupMenuButton(
surfaceTintColor: Color(0xFF222935),
constraints: BoxConstraints.tightFor(width: 176.w),
offset: Offset(0, 50),
color: Color(0xFF222935),
tooltip: "",
itemBuilder: (BuildContext context) => <PopupMenuEntry>[
PopupMenuItem(
onTap: () {},
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 12.w),
child: Row(
children: [
Text(
'Report Post',
style: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontWeight: FontWeight.w800,
fontFamily: "Nunito Sans",
),
),
Spacer(),
Image.asset(
"assets/images/png/Vector (5).png",
height: 15.h,
width: 15.w,
)
],
),
),
),
PopupMenuDivider(),
PopupMenuItem(
onTap: () {},
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 12.w),
child: Row(
children: [
Text(
'Share post',
style: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontWeight: FontWeight.w800,
fontFamily: "Nunito Sans",
),
),
Spacer(),
Image.asset(
"assets/images/png/share.png",
height: 20.h,
width: 20.w,
)
],
),
),
),
PopupMenuDivider(),
PopupMenuItem(
onTap: () {},
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 12.w),
child: Row(
children: [
Text(
'Pin',
style: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontWeight: FontWeight.w800,
fontFamily: "Nunito Sans",
),
),
Spacer(),
Image.asset(
"assets/images/png/f7_pin-fill (2).png",
height: 25.h,
width: 25.w,
)
],
),
),
),
],
child: Image.asset(
'assets/images/png/Group 1000004071.png',
width: 16.w,
height: 18.h,
),
),
sizedBoxWidth(5.w)
],
),
),
sizedBoxHeight(20.h),
GestureDetector(
onTap: () {
Get.toNamed(RouteName.postdetailsScreen);
},
child: Container(
height: 163.h,
width: double.infinity,
child: Image.asset(
mainImg,
fit: BoxFit.cover,
),
)),
sizedBoxHeight(20.h),
Padding(
padding: EdgeInsets.symmetric(horizontal: 16.w),
child: Column(children: [
SizedBox(
height: 30.h,
child: ListView.builder(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: containerTitle.length,
itemBuilder: (context, index) {
return Padding(
padding: EdgeInsets.only(right: 12.w),
child: GestureDetector(
onTap: () {
Get.toNamed(RouteName.cyclescreen);
},
child: containertile(text: containerTitle[index])),
);
},
),
),
sizedBoxHeight(20.h),
text16w400_FCFCFC(
"Lorem Ipsum has been the industry's standard dummy text ever since the 1500s . . ."),
Row(children: [
InkWell(
onTap: () {
Get.toNamed(RouteName.reactionview);
},
child: stackReaction(number: '20', containerImages: [
'assets/images/png/f7_hand-thumbsup.png',
'assets/images/png/heart 2.png',
'assets/images/png/party-popper 2.png'
]),
),
Spacer(),
commonGlassContainer(
border: 0.43,
width: 30.w,
height: 30.h,
opacity1: 0.05,
opacity2: 0.06,
borderradius: 100,
customWidget: Center(
child: Image.asset(
'assets/images/png/Frame 1000004088.png',
height: 13.h,
width: 13.w,
),
),
),
sizedBoxWidth(12.w),
text14w400_FCFCFC('20'),
sizedBoxWidth(20.w),
commonGlassContainer(
border: 0.43,
width: 30.w,
height: 30.h,
borderradius: 100,
opacity1: 0.05,
opacity2: 0.06,
customWidget: Center(
child: Image.asset(
'assets/images/png/Vector (1).png',
height: 12.h,
width: 12.w,
),
),
),
sizedBoxWidth(12.w),
text14w400_FCFCFC('10'),
]),
sizedBoxHeight(12.h),
commonDivider(),
sizedBoxHeight(12.h),
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Obx(() {
return ReactionButton<String>(
onReactionChanged: (reaction) {
updateImage(reaction?.value ?? 'like');
debugPrint('Selected value: ${reaction?.value}');
},
reactions: <Reaction<String>?>[
Reaction<String>(
value: 'like',
previewIcon: _buildReactionsPreviewIcon(
'assets/images/png/f7_hand-thumbsup.png'),
icon: _buildReactionsIcon(
'assets/images/png/f7_hand-thumbsup.png'),
),
Reaction<String>(
value: 'heart',
previewIcon: _buildReactionsPreviewIcon(
'assets/images/png/heart 2.png'),
icon: _buildReactionsIcon(
'assets/images/png/heart 2.png'),
),
Reaction<String>(
value: 'party',
previewIcon: _buildReactionsPreviewIcon(
'assets/images/png/party-popper 2.png'),
icon: _buildReactionsIcon(
'assets/images/png/party-popper 2.png'),
),
],
selectedReaction: Reaction<String>(
value: 'like',
icon: _buildReactionsIcon(
'assets/images/png/f7_hand-thumbsup.png'),
),
boxColor: Colors.white,
boxElevation: 9,
boxRadius: 30,
itemsSpacing: 8,
itemScale: 0.4,
itemSize: Size(45, 45),
boxPadding: EdgeInsets.all(8),
boxAnimationDuration: Duration(milliseconds: 200),
itemAnimationDuration: Duration(milliseconds: 500),
hoverDuration: Duration(milliseconds: 700),
// toggle: false,
child: _buildReactionsIcon(mainImage.value),
);
})
],
),
GestureDetector(
onTap: () {
Get.toNamed(RouteName.postdetailsScreen);
},
child: Column(
children: [
Image.asset(
'assets/images/png/Frame 1000004088.png',
height: 19.h,
width: 19.w,
),
sizedBoxHeight(8.h),
text11w400_FCFCFC('Comment')
],
),
),
Column(
children: [
Image.asset(
'assets/images/png/Frame 1000004089.png',
height: 19.h,
width: 19.w,
),
sizedBoxHeight(8.h),
text11w400_FCFCFC('Save')
],
)
],
),
sizedBoxHeight(12.h),
commonDivider(),
sizedBoxHeight(12.h),
]),
),
],
));
}
Widget _buildReactionsPreviewIcon(String assetPath) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: Image.asset(
assetPath,
height: 40.h,
width: 40.w,
),
);
}
Widget _buildReactionsIcon(String assetPath) {
return Column(
children: [
Image.asset(
assetPath,
height: 19.h,
width: 19.w,
),
sizedBoxHeight(8.h),
text11w400_FCFCFC('Like')
],
);
}

View File

@@ -1,83 +0,0 @@
class CommunityListModel {
String? status;
int? statusCode;
String? message;
List<Data>? data;
CommunityListModel({this.status, this.statusCode, this.message, this.data});
CommunityListModel.fromJson(Map<String, dynamic> json) {
status = json['status'];
statusCode = json['status_code'];
message = json['message'];
if (json['data'] != null) {
data = <Data>[];
json['data'].forEach((v) {
data!.add(new Data.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['status'] = this.status;
data['status_code'] = this.statusCode;
data['message'] = this.message;
if (this.data != null) {
data['data'] = this.data!.map((v) => v.toJson()).toList();
}
return data;
}
}
class Data {
int? id;
int? iamPrincipalXid;
int? manageCommunityXid;
Community? community;
Data(
{this.id, this.iamPrincipalXid, this.manageCommunityXid, this.community});
Data.fromJson(Map<String, dynamic> json) {
id = json['id'];
iamPrincipalXid = json['iam_principal_xid'];
manageCommunityXid = json['manage_community_xid'];
community = json['community'] != null
? new Community.fromJson(json['community'])
: null;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['iam_principal_xid'] = this.iamPrincipalXid;
data['manage_community_xid'] = this.manageCommunityXid;
if (this.community != null) {
data['community'] = this.community!.toJson();
}
return data;
}
}
class Community {
int? id;
String? communityName;
String? communityProfilePhoto;
Community({this.id, this.communityName, this.communityProfilePhoto});
Community.fromJson(Map<String, dynamic> json) {
id = json['id'];
communityName = json['community_name'];
communityProfilePhoto = json['community_profile_photo'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['community_name'] = this.communityName;
data['community_profile_photo'] = this.communityProfilePhoto;
return data;
}
}

Some files were not shown because too many files have changed in this diff Show More