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