Skip to content

Commit

Permalink
Merge branch 'main' into implement-user-journey
Browse files Browse the repository at this point in the history
# Conflicts:
#	app/assets/locales/app_en.arb
#	app/lib/ui/app_route.dart
  • Loading branch information
kaushik committed Jul 22, 2024
2 parents a8ca444 + fe576b4 commit cd2488d
Show file tree
Hide file tree
Showing 34 changed files with 1,615 additions and 127 deletions.
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ updates:
- package-ecosystem: "pub"
directory: "/app/"
schedule:
interval: "weekly"
interval: "monthly"
open-pull-requests-limit: 3

15 changes: 15 additions & 0 deletions app/assets/locales/app_en.arb
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"common_all": "All",
"common_next": "Next",
"common_yes": "Yes",
"common_save": "Save",
"common_cancel": "Cancel",
"common_delete": "Delete",
"common_okay": "Okay",
Expand Down Expand Up @@ -115,6 +116,8 @@
"settings_other_option_contact_support_text": "Contact support",
"settings_other_option_about_us_text": "About us",
"settings_other_option_sign_out_text": "Sign out",
"settings_sign_out_alert_title": "See you soon!",
"settings_sign_out_alert_description": "Are you sure you want to sign out?",

"message_add_member_to_send_message_title": "Add members to send messages",
"message_add_member_to_send_message_subtitle": "At least one member needs to join your space to be able to chat.",
Expand Down Expand Up @@ -226,6 +229,18 @@
"choose_place_prompt_sub_title_text": "You will be notified when members of your space arrive/leave this place",
"choose_place_prompt_got_it_btn_text": "Got it",

"@_EditPlaces": {
},
"edit_place_title_text": "Edit place",
"edit_place_getting_address_text": "Getting Address…",
"edit_place_detail_title_text": "Place details",
"edit_place_get_notified_title_text": "Get notified when...",
"edit_place_arrives_text": "Arrives",
"edit_place_leaves_text": "Leaves",
"edit_place_delete_place_btn_text": "Delete place",
"edit_place_only_admin_edit_text": "Only admin can edit or delete this place.",
"edit_place_delete_dialog_sub_title_text": "Are you sure you want to delete this place? This action cannot be undone.",

"@_Timeline": {
},
"journey_timeline_title": "Timeline",
Expand Down
44 changes: 41 additions & 3 deletions app/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1048,17 +1048,31 @@ PODS:
- GoogleUtilities/Environment (~> 7.12)
- GTMSessionFetcher/Core (< 4.0, >= 2.1)
- Flutter (1.0.0)
- flutter_background_service_ios (0.0.3):
- Flutter
- flutter_timezone (0.0.1):
- Flutter
- fluttertoast (0.0.2):
- Flutter
- Toast
- geocoding_ios (1.0.5):
- Flutter
- geolocator_apple (1.2.0):
- Flutter
- google_maps_flutter_ios (0.0.1):
- Flutter
- GoogleMaps (< 9.0, >= 8.4)
- google_sign_in_ios (0.0.1):
- AppAuth (>= 1.7.4)
- Flutter
- FlutterMacOS
- GoogleSignIn (~> 7.1)
- GTMSessionFetcher (>= 3.4.0)
- GoogleMaps (8.4.0):
- GoogleMaps/Maps (= 8.4.0)
- GoogleMaps/Base (8.4.0)
- GoogleMaps/Maps (8.4.0):
- GoogleMaps/Base
- GoogleSignIn (7.1.0):
- AppAuth (< 2.0, >= 1.7.3)
- GTMAppAuth (< 5.0, >= 4.1.1)
Expand Down Expand Up @@ -1173,7 +1187,7 @@ PODS:
- GTMSessionFetcher/Core
- image_cropper (0.0.4):
- Flutter
- TOCropViewController (~> 2.7.3)
- TOCropViewController (~> 2.7.4)
- image_picker_ios (0.0.1):
- Flutter
- leveldb-library (1.22.5)
Expand All @@ -1187,6 +1201,8 @@ PODS:
- path_provider_foundation (0.0.1):
- Flutter
- FlutterMacOS
- permission_handler_apple (9.3.0):
- Flutter
- PromisesObjC (2.4.0)
- RecaptchaInterop (100.0.0)
- share_plus (0.0.1):
Expand All @@ -1208,13 +1224,18 @@ DEPENDENCIES:
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
- firebase_storage (from `.symlinks/plugins/firebase_storage/ios`)
- Flutter (from `Flutter`)
- flutter_background_service_ios (from `.symlinks/plugins/flutter_background_service_ios/ios`)
- flutter_timezone (from `.symlinks/plugins/flutter_timezone/ios`)
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
- geocoding_ios (from `.symlinks/plugins/geocoding_ios/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_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
- share_plus (from `.symlinks/plugins/share_plus/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
- sqflite (from `.symlinks/plugins/sqflite/darwin`)
Expand All @@ -1237,6 +1258,7 @@ SPEC REPOS:
- FirebaseMessagingInterop
- FirebaseSharedSwift
- FirebaseStorage
- GoogleMaps
- GoogleSignIn
- GoogleUtilities
- "gRPC-C++"
Expand Down Expand Up @@ -1265,10 +1287,18 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/firebase_storage/ios"
Flutter:
:path: Flutter
flutter_background_service_ios:
:path: ".symlinks/plugins/flutter_background_service_ios/ios"
flutter_timezone:
:path: ".symlinks/plugins/flutter_timezone/ios"
fluttertoast:
:path: ".symlinks/plugins/fluttertoast/ios"
geocoding_ios:
:path: ".symlinks/plugins/geocoding_ios/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:
Expand All @@ -1279,6 +1309,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/package_info_plus/ios"
path_provider_foundation:
:path: ".symlinks/plugins/path_provider_foundation/darwin"
permission_handler_apple:
:path: ".symlinks/plugins/permission_handler_apple/ios"
share_plus:
:path: ".symlinks/plugins/share_plus/ios"
shared_preferences_foundation:
Expand Down Expand Up @@ -1310,21 +1342,27 @@ SPEC CHECKSUMS:
FirebaseSharedSwift: a03fe7a59ee646fef71099a887f774fe25d745b8
FirebaseStorage: 44f4e25073f6fa0d4d8c09f5bec299ee9e4eb985
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_background_service_ios: e30e0d3ee69e4cee66272d0c78eacd48c2e94aac
flutter_timezone: ffb07bdad3c6276af8dada0f11978d8a1f8a20bb
fluttertoast: e9a18c7be5413da53898f660530c56f35edfba9c
geocoding_ios: d7460f56e80e118d57678efe5c2cdc888739ff18
geolocator_apple: 6cbaf322953988e009e5ecb481f07efece75c450
google_maps_flutter_ios: c454f18e0e22df6ac0e9f2a4df340858f5a3680c
google_sign_in_ios: 07375bfbf2620bc93a602c0e27160d6afc6ead38
GoogleMaps: 8939898920281c649150e0af74aa291c60f2e77d
GoogleSignIn: d4281ab6cf21542b1cfaff85c191f230b399d2db
GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15
"gRPC-C++": e725ef63c4475d7cdb7e2cf16eb0fde84bd9ee51
gRPC-Core: eee4be35df218649fe66d721a05a7f27a28f069b
GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de
GTMSessionFetcher: 8000756fc1c19d2e5697b90311f7832d2e33f6cd
image_cropper: 2c150b3d63f4feaad31054d20381ddac0a460e63
image_cropper: 37d40f62177c101ff4c164906d259ea2c3aa70cf
image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1
leveldb-library: e8eadf9008a61f9e1dde3978c086d2b6d9b9dc28
nanopb: 438bc412db1928dac798aa6fd75726007be04262
package_info_plus: 58f0028419748fad15bf008b270aaa8e54380b1c
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21
share_plus: 8875f4f2500512ea181eef553c3e27dba5135aad
Expand All @@ -1333,6 +1371,6 @@ SPEC CHECKSUMS:
Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e
TOCropViewController: 80b8985ad794298fb69d3341de183f33d1853654

PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796
PODFILE CHECKSUM: f9deb59d1ccebaf1abee3fd3f511fc9a90ba0f47

COCOAPODS: 1.15.2
3 changes: 3 additions & 0 deletions app/ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -493,6 +493,7 @@
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Your space";
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down Expand Up @@ -672,6 +673,7 @@
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Your space";
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand All @@ -695,6 +697,7 @@
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = "Your space";
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
Expand Down
2 changes: 1 addition & 1 deletion app/ios/Runner/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>com.googleusercontent.apps.159803135906-moi01vqn0m65ld95pg92qv6hol7s78pm</string>
<string>com.googleusercontent.apps.406838982484-to095m87ai3cv8nqi86rbjjusdd7sagh</string>
</array>
</dict>
</array>
Expand Down
30 changes: 23 additions & 7 deletions app/lib/ui/app_route.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'dart:async';

import 'package:data/api/auth/auth_models.dart';
import 'package:data/api/message/message_models.dart';
import 'package:data/api/place/api_place.dart';
import 'package:data/api/space/space_models.dart';
import 'package:flutter/cupertino.dart';
import 'package:go_router/go_router.dart';
Expand All @@ -10,6 +11,7 @@ import 'package:yourspace_flutter/ui/flow/auth/sign_in/phone/verification/phone_
import 'package:yourspace_flutter/ui/flow/journey/timeline/journey_timeline_screen.dart';
import 'package:yourspace_flutter/ui/flow/geofence/add/locate/locate_on_map_screen.dart';
import 'package:yourspace_flutter/ui/flow/geofence/add/placename/choose_place_name_screen.dart';
import 'package:yourspace_flutter/ui/flow/geofence/edit/edit_place_screen.dart';
import 'package:yourspace_flutter/ui/flow/geofence/places/places_list_screen.dart';
import 'package:yourspace_flutter/ui/flow/message/chat/chat_screen.dart';
import 'package:yourspace_flutter/ui/flow/message/thread_list_screen.dart';
Expand Down Expand Up @@ -45,6 +47,7 @@ class AppRoute {
static const pathAddNewPlace = '/add-new-place';
static const pathLocateOnMap = "/locate_on_map";
static const pathChoosePlace = "/choose_place";
static const pathEditPlace = "/edit_place";
static const pathJourneyTimeline = '/journey-timeline';

final String path;
Expand Down Expand Up @@ -204,6 +207,13 @@ class AppRoute {
);
}

static AppRoute editPlaceScreen(ApiPlace place) {
return AppRoute(
pathEditPlace,
builder: (_) => EditPlaceScreen(place: place),
);
}

static AppRoute journeyTimeline(ApiUser user) {
return AppRoute(pathJourneyTimeline,
builder: (_) => JourneyTimelineScreen(selectedUser: user));
Expand All @@ -216,16 +226,18 @@ class AppRoute {
);
}

static AppRoute chat(
{required SpaceInfo spaceInfo,
ThreadInfo? thread,
List<ThreadInfo>? threadInfoList}) {
static AppRoute chat({
required SpaceInfo spaceInfo,
ThreadInfo? thread,
List<ThreadInfo>? threadInfoList,
}) {
return AppRoute(
pathMessage,
builder: (_) => ChatScreen(
spaceInfo: spaceInfo,
threadInfo: thread,
threadInfoList: threadInfoList),
spaceInfo: spaceInfo,
threadInfo: thread,
threadInfoList: threadInfoList,
),
);
}

Expand Down Expand Up @@ -323,6 +335,10 @@ class AppRoute {
path: pathChoosePlace,
builder: (context, state) => state.widget(context),
),
GoRoute(
path: pathEditPlace,
builder: (context, state) => state.widget(context),
),
GoRoute(
path: pathJourneyTimeline,
builder: (context, state) => state.widget(context),
Expand Down
9 changes: 8 additions & 1 deletion app/lib/ui/components/profile_picture.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ class ProfileImage extends StatefulWidget {
final String firstLetter;
final TextStyle? style;
final Color? backgroundColor;
final Color? borderColor;

const ProfileImage({
super.key,
Expand All @@ -18,6 +19,7 @@ class ProfileImage extends StatefulWidget {
required this.firstLetter,
this.style,
this.backgroundColor,
this.borderColor,
});

@override
Expand All @@ -42,7 +44,12 @@ class _ProfileImageState extends State<ProfileImage> {
fit: BoxFit.cover,
)
: Container(
color: widget.backgroundColor ?? context.colorScheme.containerInverseHigh,
decoration: BoxDecoration(
color: widget.backgroundColor ??
context.colorScheme.containerInverseHigh,
border: Border.all(width: 0.5, color: widget.borderColor ?? Colors.transparent),
borderRadius: BorderRadius.circular(widget.size / 2),
),
child: Center(
child: Text(
widget.firstLetter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class _AddNewPlaceViewState extends ConsumerState<AddNewPlaceScreen> {
padding: EdgeInsets.only(
left: 16,
right: 16,
bottom: context.mediaQueryPadding.bottom + 24,
bottom: context.mediaQueryPadding.bottom,
),
child: SingleChildScrollView(
child: Column(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ class ChoosePlaceNameViewNotifier extends StateNotifier<ChoosePlaceViewState> {
try {
state = state.copyWith(addingPlace: true);
final members = await spaceService.getMemberBySpaceId(_spaceId!);
final memberIds = members.map((member) => member.id).toList();
final memberIds = members.map((member) => member.user_id).toList();

await placesService.addPlace(
_spaceId!,
Expand Down
54 changes: 54 additions & 0 deletions app/lib/ui/flow/geofence/edit/components/place_marker.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:style/extenstions/context_extenstions.dart';

import '../../../../../gen/assets.gen.dart';

class PlaceMarker extends StatelessWidget {
final double radius;

const PlaceMarker({super.key, required this.radius});

@override
Widget build(BuildContext context) {
return Stack(
alignment: Alignment.center,
children: [
ClipRect(
child: OverflowBox(
maxHeight: radius,
maxWidth: radius,
child: AnimatedContainer(
duration: const Duration(milliseconds: 300),
width: radius,
height: radius,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(radius),
color: context.colorScheme.primary.withOpacity(0.5),
),
),
),
),
Container(
width: 40,
height: 40,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(30),
color: context.colorScheme.onPrimary,
),
child: Padding(
padding: const EdgeInsets.all(4),
child: SvgPicture.asset(
Assets.images.icLocationFeedIcon,
colorFilter: ColorFilter.mode(
context.colorScheme.primary,
BlendMode.srcATop,
),
),
),
),
],
);
}
}
Loading

0 comments on commit cd2488d

Please sign in to comment.