diff --git a/frontend/android/app/build.gradle b/frontend/android/app/build.gradle index e1707f4..7f145d2 100644 --- a/frontend/android/app/build.gradle +++ b/frontend/android/app/build.gradle @@ -42,7 +42,7 @@ if (secretPropertiesFile.exists()) { android { - namespace "com.example.fast_network_navigation" + namespace "com.anydev.anyway" compileSdk flutter.compileSdkVersion ndkVersion flutter.ndkVersion @@ -61,7 +61,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.example.fast_network_navigation" + applicationId "com.example.anyway" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. // Minimum Android version for Google Maps SDK diff --git a/frontend/android/app/src/main/AndroidManifest.xml b/frontend/android/app/src/main/AndroidManifest.xml index d00332c..35d3386 100644 --- a/frontend/android/app/src/main/AndroidManifest.xml +++ b/frontend/android/app/src/main/AndroidManifest.xml @@ -3,7 +3,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - fast_network_navigation + anyway CFBundlePackageType APPL CFBundleShortVersionString diff --git a/frontend/lib/constants.dart b/frontend/lib/constants.dart new file mode 100644 index 0000000..dbd009a --- /dev/null +++ b/frontend/lib/constants.dart @@ -0,0 +1,4 @@ +const String APP_NAME = 'AnyWay'; + +const String API_URL_BASE = 'https://anyway.kluster.moll.re'; + diff --git a/frontend/lib/layout.dart b/frontend/lib/layout.dart index d1b80a8..abc8b24 100644 --- a/frontend/lib/layout.dart +++ b/frontend/lib/layout.dart @@ -1,12 +1,15 @@ -import 'package:fast_network_navigation/modules/trips_overview.dart'; -import 'package:fast_network_navigation/pages/new_trip.dart'; -import 'package:fast_network_navigation/pages/tutorial.dart'; -import 'package:fast_network_navigation/structs/trip.dart'; -import 'package:fast_network_navigation/utils/load_trips.dart'; import 'package:flutter/material.dart'; -import 'package:fast_network_navigation/pages/overview.dart'; -import 'package:fast_network_navigation/pages/profile.dart'; +import 'package:anyway/constants.dart'; + +import 'package:anyway/structs/trip.dart'; +import 'package:anyway/modules/trips_overview.dart'; +import 'package:anyway/utils/load_trips.dart'; + +import 'package:anyway/pages/new_trip.dart'; +import 'package:anyway/pages/tutorial.dart'; +import 'package:anyway/pages/overview.dart'; +import 'package:anyway/pages/profile.dart'; // BasePage is the scaffold that holds all other pages // A side drawer is used to switch between pages @@ -43,7 +46,7 @@ class _BasePageState extends State { final ThemeData theme = Theme.of(context); return Scaffold( - appBar: AppBar(title: Text("City Nav")), + appBar: AppBar(title: Text(APP_NAME)), body: Center(child: currentView), drawer: Drawer( child: Column( @@ -54,7 +57,7 @@ class _BasePageState extends State { ), child: Center( child: Text( - 'City Nav', + APP_NAME, style: TextStyle( color: Colors.white, fontSize: 24, diff --git a/frontend/lib/main.dart b/frontend/lib/main.dart index 27bbb3f..7fbb6f8 100644 --- a/frontend/lib/main.dart +++ b/frontend/lib/main.dart @@ -1,17 +1,17 @@ import 'package:flutter/material.dart'; -import 'package:fast_network_navigation/layout.dart'; +import 'package:anyway/constants.dart'; +import 'package:anyway/layout.dart'; void main() => runApp(const App()); class App extends StatelessWidget { const App({super.key}); - static const appTitle = 'City Nav'; @override Widget build(BuildContext context) { return MaterialApp( - title: appTitle, + title: APP_NAME, home: BasePage(mainScreen: "map"), theme: ThemeData(useMaterial3: true, colorSchemeSeed: Colors.green), ); diff --git a/frontend/lib/modules/greeter.dart b/frontend/lib/modules/greeter.dart index 8ed404f..f07f9f7 100644 --- a/frontend/lib/modules/greeter.dart +++ b/frontend/lib/modules/greeter.dart @@ -1,4 +1,4 @@ -import 'package:fast_network_navigation/structs/trip.dart'; +import 'package:anyway/structs/trip.dart'; import 'package:flutter/material.dart'; diff --git a/frontend/lib/modules/landmark_card.dart b/frontend/lib/modules/landmark_card.dart index 070ff54..ca663b6 100644 --- a/frontend/lib/modules/landmark_card.dart +++ b/frontend/lib/modules/landmark_card.dart @@ -1,4 +1,4 @@ -import 'package:fast_network_navigation/structs/landmark.dart'; +import 'package:anyway/structs/landmark.dart'; import 'package:flutter/material.dart'; diff --git a/frontend/lib/modules/landmarks_overview.dart b/frontend/lib/modules/landmarks_overview.dart index a29cd2a..720fe49 100644 --- a/frontend/lib/modules/landmarks_overview.dart +++ b/frontend/lib/modules/landmarks_overview.dart @@ -1,9 +1,9 @@ import 'dart:collection'; -import 'package:fast_network_navigation/modules/landmark_card.dart'; -import 'package:fast_network_navigation/structs/landmark.dart'; +import 'package:anyway/modules/landmark_card.dart'; +import 'package:anyway/structs/landmark.dart'; -import 'package:fast_network_navigation/structs/trip.dart'; +import 'package:anyway/structs/trip.dart'; import 'package:flutter/material.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -71,8 +71,34 @@ class _LandmarksOverviewState extends State { Widget landmarksWithSteps(LinkedList landmarks) { List children = []; + int lkey = 0; for (Landmark landmark in landmarks) { - children.add(LandmarkCard(landmark)); + children.add( + Dismissible( + key: ValueKey(lkey), + child: LandmarkCard(landmark), + // onDismissed: (direction) { + // // Remove the item from the data source. + // setState(() { + // landmarks.remove(landmark); + // }); + // // Then show a snackbar. + // ScaffoldMessenger.of(context) + // .showSnackBar(SnackBar(content: Text("${landmark.name} dismissed"))); + // }, + background: Container(color: Colors.red), + secondaryBackground: Container( + color: Colors.red, + child: Icon( + Icons.delete, + color: Colors.white, + ), + padding: EdgeInsets.all(15), + alignment: Alignment.centerRight, + ), + ) + ); + lkey++; if (landmark.next != null) { Widget step = stepBetweenLandmarks(landmark, landmark.next!); children.add(step); diff --git a/frontend/lib/modules/map.dart b/frontend/lib/modules/map.dart index dded931..339792c 100644 --- a/frontend/lib/modules/map.dart +++ b/frontend/lib/modules/map.dart @@ -1,7 +1,7 @@ import 'dart:collection'; -import 'package:fast_network_navigation/structs/landmark.dart'; -import 'package:fast_network_navigation/structs/trip.dart'; +import 'package:anyway/structs/landmark.dart'; +import 'package:anyway/structs/trip.dart'; import 'package:flutter/material.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; diff --git a/frontend/lib/modules/trips_overview.dart b/frontend/lib/modules/trips_overview.dart index bb803bb..8501013 100644 --- a/frontend/lib/modules/trips_overview.dart +++ b/frontend/lib/modules/trips_overview.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:fast_network_navigation/layout.dart'; -import 'package:fast_network_navigation/structs/trip.dart'; +import 'package:anyway/layout.dart'; +import 'package:anyway/structs/trip.dart'; class TripsOverview extends StatefulWidget { diff --git a/frontend/lib/pages/overview.dart b/frontend/lib/pages/overview.dart index 5354641..ce3646b 100644 --- a/frontend/lib/pages/overview.dart +++ b/frontend/lib/pages/overview.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; import 'package:sliding_up_panel/sliding_up_panel.dart'; -import 'package:fast_network_navigation/structs/trip.dart'; +import 'package:anyway/structs/trip.dart'; -import 'package:fast_network_navigation/modules/landmarks_overview.dart'; -import 'package:fast_network_navigation/modules/map.dart'; -import 'package:fast_network_navigation/modules/greeter.dart'; +import 'package:anyway/modules/landmarks_overview.dart'; +import 'package:anyway/modules/map.dart'; +import 'package:anyway/modules/greeter.dart'; diff --git a/frontend/lib/pages/profile.dart b/frontend/lib/pages/profile.dart index faa450c..4101895 100644 --- a/frontend/lib/pages/profile.dart +++ b/frontend/lib/pages/profile.dart @@ -1,4 +1,4 @@ -import 'package:fast_network_navigation/structs/preferences.dart'; +import 'package:anyway/structs/preferences.dart'; import 'package:flutter/material.dart'; diff --git a/frontend/lib/structs/linked_landmarks.dart b/frontend/lib/structs/linked_landmarks.dart index b27b3a6..c995ed0 100644 --- a/frontend/lib/structs/linked_landmarks.dart +++ b/frontend/lib/structs/linked_landmarks.dart @@ -1,4 +1,4 @@ -// import "package:fast_network_navigation/structs/landmark.dart"; +// import "package:anyway/structs/landmark.dart"; // class Linked { // Landmark? head; diff --git a/frontend/lib/structs/route.dart b/frontend/lib/structs/route.dart index e88dab6..20b1625 100644 --- a/frontend/lib/structs/route.dart +++ b/frontend/lib/structs/route.dart @@ -1,4 +1,4 @@ -import "package:fast_network_navigation/structs/landmark.dart"; +import "package:anyway/structs/landmark.dart"; class Route { diff --git a/frontend/lib/structs/trip.dart b/frontend/lib/structs/trip.dart index 7ac40e5..c43188c 100644 --- a/frontend/lib/structs/trip.dart +++ b/frontend/lib/structs/trip.dart @@ -4,7 +4,7 @@ import 'dart:collection'; import 'dart:convert'; -import 'package:fast_network_navigation/structs/landmark.dart'; +import 'package:anyway/structs/landmark.dart'; import 'package:shared_preferences/shared_preferences.dart'; class Trip { diff --git a/frontend/lib/utils/fetch_landmarks.dart b/frontend/lib/utils/fetch_landmarks.dart index d9fa2b6..c014f5d 100644 --- a/frontend/lib/utils/fetch_landmarks.dart +++ b/frontend/lib/utils/fetch_landmarks.dart @@ -1,6 +1,8 @@ -// import "package:fast_network_navigation/structs/landmark.dart"; -// import 'package:http/http.dart' as http; +import "package:anyway/structs/landmark.dart"; +import "package:anyway/structs/linked_landmarks.dart"; +import 'package:dio/dio.dart'; +final dio = Dio(); // Future> fetchLandmarks() async { // // final response = await http diff --git a/frontend/lib/utils/load_trips.dart b/frontend/lib/utils/load_trips.dart index 3c90c4a..22b9ced 100644 --- a/frontend/lib/utils/load_trips.dart +++ b/frontend/lib/utils/load_trips.dart @@ -1,7 +1,7 @@ import 'dart:collection'; -import 'package:fast_network_navigation/structs/trip.dart'; -import 'package:fast_network_navigation/structs/landmark.dart'; +import 'package:anyway/structs/trip.dart'; +import 'package:anyway/structs/landmark.dart'; import 'package:shared_preferences/shared_preferences.dart'; Future> loadTrips() async { diff --git a/frontend/linux/CMakeLists.txt b/frontend/linux/CMakeLists.txt index 793a2dd..6b124f2 100644 --- a/frontend/linux/CMakeLists.txt +++ b/frontend/linux/CMakeLists.txt @@ -4,10 +4,10 @@ project(runner LANGUAGES CXX) # The name of the executable created for the application. Change this to change # the on-disk name of your application. -set(BINARY_NAME "fast_network_navigation") +set(BINARY_NAME "anyway") # The unique GTK application identifier for this application. See: # https://wiki.gnome.org/HowDoI/ChooseApplicationID -set(APPLICATION_ID "com.example.fast_network_navigation") +set(APPLICATION_ID "com.example.anyway") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. diff --git a/frontend/linux/my_application.cc b/frontend/linux/my_application.cc index 72b715b..ea0d186 100644 --- a/frontend/linux/my_application.cc +++ b/frontend/linux/my_application.cc @@ -40,11 +40,11 @@ static void my_application_activate(GApplication* application) { if (use_header_bar) { GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); gtk_widget_show(GTK_WIDGET(header_bar)); - gtk_header_bar_set_title(header_bar, "fast_network_navigation"); + gtk_header_bar_set_title(header_bar, "anyway"); gtk_header_bar_set_show_close_button(header_bar, TRUE); gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); } else { - gtk_window_set_title(window, "fast_network_navigation"); + gtk_window_set_title(window, "anyway"); } gtk_window_set_default_size(window, 1280, 720); diff --git a/frontend/macos/Runner.xcodeproj/project.pbxproj b/frontend/macos/Runner.xcodeproj/project.pbxproj index c03f793..f1ed11d 100644 --- a/frontend/macos/Runner.xcodeproj/project.pbxproj +++ b/frontend/macos/Runner.xcodeproj/project.pbxproj @@ -64,7 +64,7 @@ 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* fast_network_navigation.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "fast_network_navigation.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10ED2044A3C60003C045 /* anyway.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "anyway.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; @@ -131,7 +131,7 @@ 33CC10EE2044A3C60003C045 /* Products */ = { isa = PBXGroup; children = ( - 33CC10ED2044A3C60003C045 /* fast_network_navigation.app */, + 33CC10ED2044A3C60003C045 /* anyway.app */, 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, ); name = Products; @@ -217,7 +217,7 @@ ); name = Runner; productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* fast_network_navigation.app */; + productReference = 33CC10ED2044A3C60003C045 /* anyway.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -388,7 +388,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.example.fastNetworkNavigation.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/fast_network_navigation.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/fast_network_navigation"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/anyway.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/anyway"; }; name = Debug; }; @@ -402,7 +402,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.example.fastNetworkNavigation.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/fast_network_navigation.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/fast_network_navigation"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/anyway.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/anyway"; }; name = Release; }; @@ -416,7 +416,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.example.fastNetworkNavigation.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/fast_network_navigation.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/fast_network_navigation"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/anyway.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/anyway"; }; name = Profile; }; diff --git a/frontend/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/frontend/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 87b09b1..4e8f449 100644 --- a/frontend/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/frontend/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -15,7 +15,7 @@ @@ -31,7 +31,7 @@ @@ -65,7 +65,7 @@ @@ -82,7 +82,7 @@ diff --git a/frontend/macos/Runner/Configs/AppInfo.xcconfig b/frontend/macos/Runner/Configs/AppInfo.xcconfig index 080b732..e9fcd90 100644 --- a/frontend/macos/Runner/Configs/AppInfo.xcconfig +++ b/frontend/macos/Runner/Configs/AppInfo.xcconfig @@ -5,7 +5,7 @@ // 'flutter create' template. // The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = fast_network_navigation +PRODUCT_NAME = anyway // The application's bundle identifier PRODUCT_BUNDLE_IDENTIFIER = com.example.fastNetworkNavigation diff --git a/frontend/pubspec.lock b/frontend/pubspec.lock index e959889..eeca771 100644 --- a/frontend/pubspec.lock +++ b/frontend/pubspec.lock @@ -57,6 +57,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.8" + dio: + dependency: "direct main" + description: + name: dio + sha256: e17f6b3097b8c51b72c74c9f071a605c47bcc8893839bd66732457a5ebe73714 + url: "https://pub.dev" + source: hosted + version: "5.5.0+1" + dio_web_adapter: + dependency: transitive + description: + name: dio_web_adapter + sha256: "36c5b2d79eb17cdae41e974b7a8284fec631651d2a6f39a8a2ff22327e90aeac" + url: "https://pub.dev" + source: hosted + version: "1.0.1" fake_async: dependency: transitive description: diff --git a/frontend/pubspec.yaml b/frontend/pubspec.yaml index e278579..1d31915 100644 --- a/frontend/pubspec.yaml +++ b/frontend/pubspec.yaml @@ -1,5 +1,5 @@ -name: "fast_network_navigation" -description: "An interactive city navigator." +name: "anyway" +description: "A customizable, agile city navigator for your trips." # The following line prevents the package from being accidentally published to # pub.dev using `flutter pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev @@ -39,6 +39,7 @@ dependencies: google_maps_flutter: ^2.6.1 http: ^1.2.1 shared_preferences: ^2.2.3 + dio: ^5.5.0+1 dev_dependencies: flutter_test: diff --git a/frontend/test/widget_test.dart b/frontend/test/widget_test.dart index f17a55a..cb3797b 100644 --- a/frontend/test/widget_test.dart +++ b/frontend/test/widget_test.dart @@ -8,8 +8,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -// import 'package:fast_network_navigation/main.dart'; -import 'package:fast_network_navigation/layout.dart'; +// import 'package:anyway/main.dart'; +import 'package:anyway/layout.dart'; void main() { testWidgets('Counter increments smoke test', (WidgetTester tester) async { diff --git a/frontend/web/index.html b/frontend/web/index.html index 8d38cac..93efbf8 100644 --- a/frontend/web/index.html +++ b/frontend/web/index.html @@ -24,13 +24,13 @@ - + - fast_network_navigation + anyway