Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
0425ea4
Started cleaning up the wifi card before applying the UI changes
klortiz13 Mar 29, 2025
194733c
Finished organizing wifi card, working on UI changes now...
klortiz13 Mar 29, 2025
f249348
Finished Initial State UI
klortiz13 Mar 29, 2025
9f6bd76
Finished UI of finished state
klortiz13 Mar 29, 2025
e402305
Finished Wifi Card UI
klortiz13 Mar 30, 2025
23c4b5e
Added more weight to Mbps text
klortiz13 Mar 30, 2025
4705da1
First run login screen reduce font size of Forgot Password
c3bryant Apr 3, 2025
0af041a
News card article title h2 too small
c3bryant Apr 3, 2025
d5cbf29
Notifications headline remove underline if not clickable
c3bryant Apr 3, 2025
fe45507
Busyness card extend visual bar to full width of the card
c3bryant Apr 3, 2025
de72b30
Dining inner content left alignment not consistent with Busyness and …
c3bryant Apr 3, 2025
db21a99
Scanner card camera view title is not capitalized
c3bryant Apr 3, 2025
cf079f8
Maps tab Show More button hard to read in light mode
c3bryant Apr 3, 2025
26f51a7
Parking card Manage Lots h2 low contrast / hard to read
c3bryant Apr 3, 2025
1d73ff2
Tab bar profile increase height to match other icons
c3bryant Apr 3, 2025
8d5ef4f
Dark theme card and screen bg color should be #1D1D1D and heading #F5…
c3bryant Apr 3, 2025
d3a1d4a
Parking displays parking data fed from Indect and Park Assist (CS2458…
c3bryant Apr 4, 2025
1012a03
Parking - remove manage parking lots view
c3bryant Apr 4, 2025
766fcfb
Onboarding login alert not showing redesigned look
c3bryant Apr 4, 2025
b54383a
Staff ID card show placeholder image from local assets
c3bryant Apr 4, 2025
d7b25a5
Merge pull request #2152 from UCSD/wifi-card-redesign-klortiz13
morebytes Apr 4, 2025
9529f64
Update home view logo with higher resolution asset
c3bryant Apr 4, 2025
d266bd3
News title change hyphen to blue color
c3bryant Apr 4, 2025
5565715
news resize
Apr 4, 2025
6f53470
Revert dart formatting and unrelated changes to news list
c3bryant Apr 4, 2025
db6a621
Merge pull request #2154 from UCSD/news-text-2
c3bryant Apr 5, 2025
3245780
Light theme card kabob menu should be darker
c3bryant Apr 6, 2025
8badec6
Merge pull request #2155 from UCSD/campus-activation-redesign-beta-2
c3bryant Apr 11, 2025
8f6a93d
Update macos installer app version
c3bryant Apr 16, 2025
b5c9236
Update readme instructions for experimental branch
c3bryant Apr 16, 2025
1066faf
Merge pull request #2157 from UCSD/housekeeping-7.31
c3bryant Apr 16, 2025
a5e2843
Remove native scanner
c3bryant Apr 22, 2025
ac0f03f
Removed more dead scanner code
morebytes May 13, 2025
2b58d2f
Update analysis_options.yaml to expand maximum line length for the da…
morebytes May 16, 2025
168f625
Merge pull request #2164 from UCSD/update_analysis_options_file
morebytes May 16, 2025
4074ca1
Merge pull request #2160 from UCSD/remove-native-scanner
morebytes May 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,16 @@ Whenever you want to update your repo with the latest upstream changes, you'll n
git fetch upstream
```

Now you are ready to checkout your local `campus-activation-redesign` branch and merge in any changes from the upstream repo's `campus-activation-redesign` branch:
Now you are ready to checkout your local `experimental` branch and merge in any changes from the upstream repo's `experimental` branch:
```shell
# Checkout your master branch and merge upstream
git checkout campus-activation-redesign
git merge upstream/campus-activation-redesign
git checkout experimental
git merge upstream/experimental
```

Your local `campus-activation-redesign` branch is now up-to-date with any changes upstream.
Your local `experimental` branch is now up-to-date with any changes upstream.

### Doing Your Work (Campus Activation Redesign)
### Doing Your Work

```shell
# Add 'upstream' repo to list of remotes
Expand All @@ -50,16 +50,16 @@ git fetch upstream
```

#### Create a Feature Branch
When you begin working on a new feature or bugfix, it is important that you create a new branch. Not only is it proper git workflow, but it also keeps your changes organized and separated from the `campus-activation-redesign` branch so that you can easily submit and manage multiple pull requests for every task you complete.
When you begin working on a new feature or bugfix, it is important that you create a new branch. Not only is it proper git workflow, but it also keeps your changes organized and separated from the `experimental` branch so that you can easily submit and manage multiple pull requests for every task you complete.

To create a new branch and start working on it:

```shell
# Checkout the campus-activation-redesign branch
git checkout campus-activation-redesign
# Checkout the experimental branch
git checkout experimental

# Create and checkout a branch named newfeature
git checkout -b campus-activation-redesign
git checkout -b experimental
```

You are now ready to begin developing your new feature. Commit your code often, using present-tense and concise verbiage explaining the work completed.
Expand All @@ -86,24 +86,24 @@ git push -u upstream newfeature
#### Update your feature branch
From the time you created your new feature branch `newfeature`, to submitting a pull request, it is likely that your branch

Branch `upstream/campus-activation-redesign` is updated often. Prior to submitting a pull request, update your `newfeature` branch from `upstream/campus-activation-redesign` so that merging it will be a simple process which won't require any conflict resolution work.
Branch `upstream/experimental` is updated often. Prior to submitting a pull request, update your `newfeature` branch from `upstream/experimental` so that merging it will be a simple process which won't require any conflict resolution work.
```shell
# Fetch upstream campus-activation-redesign and merge with your local campus-activation-redesign branch
# Fetch upstream experimental and merge with your local experimental branch
git fetch upstream
git checkout campus-activation-redesign
git merge upstream/campus-activation-redesign
git checkout experimental
git merge upstream/experimental

# If there were any new commits, merge them to your `newfeature` branch from the `campus-activation-redesign` branch
# If there were any new commits, merge them to your `newfeature` branch from the `experimental` branch
git checkout newfeature
git merge campus-activation-redesign
git merge experimental
git push upstream newfeature
```


#### Submitting
Once you've committed and pushed your feature branch `newfeature` to GitHub, go to the page for your fork on GitHub, select branch 'newfeature' and click the 'New pull request' button.
Once you've committed and pushed your feature branch `newfeature` to GitHub, navigate to to your new feature branch on UCSD's Campus Mobile GitHub and click the 'New pull request' button.

If you need to make future updates to your pull request, push the new commit or commits to your feature branch `newfeature` on GitHub. Your pull request will automatically track the changes on your feature branch.
If you need to make future updates to your pull request, push the new commit or commits to your feature branch `newfeature` on GitHub. Your pull request will automatically track the changes on your feature branch and generate new builds for iOS and Android.

## Platform
The goal of this platform is to provide responsive and intuitive mobile interactions for a personalized campus experience.
Expand Down
2 changes: 2 additions & 0 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
formatter:
page_width: 120
Binary file modified assets/images/UCSanDiegoLogo-nav.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/staff_id_placeholder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 0 additions & 14 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,6 @@ PODS:
- Flutter (1.0.0)
- flutter_local_notifications (0.0.1):
- Flutter
- flutter_scandit_plugin (0.0.1):
- Flutter
- ScanditBarcodeCapture (~> 6.6.3)
- flutter_secure_storage (3.3.1):
- Flutter
- geolocator_apple (1.2.0):
Expand Down Expand Up @@ -177,9 +174,6 @@ PODS:
- PromisesObjC (2.4.0)
- PromisesSwift (2.4.0):
- PromisesObjC (= 2.4.0)
- ScanditBarcodeCapture (6.6.4):
- ScanditCaptureCore (= 6.6.4)
- ScanditCaptureCore (6.6.4)
- shared_preferences_foundation (0.0.1):
- Flutter
- FlutterMacOS
Expand All @@ -201,7 +195,6 @@ DEPENDENCIES:
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
- Flutter (from `Flutter`)
- flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`)
- flutter_scandit_plugin (from `.symlinks/plugins/flutter_scandit_plugin/ios`)
- flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`)
- geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`)
- google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`)
Expand Down Expand Up @@ -234,8 +227,6 @@ SPEC REPOS:
- nanopb
- PromisesObjC
- PromisesSwift
- ScanditBarcodeCapture
- ScanditCaptureCore

EXTERNAL SOURCES:
connectivity_plus:
Expand All @@ -254,8 +245,6 @@ EXTERNAL SOURCES:
:path: Flutter
flutter_local_notifications:
:path: ".symlinks/plugins/flutter_local_notifications/ios"
flutter_scandit_plugin:
:path: ".symlinks/plugins/flutter_scandit_plugin/ios"
flutter_secure_storage:
:path: ".symlinks/plugins/flutter_secure_storage/ios"
geolocator_apple:
Expand Down Expand Up @@ -298,7 +287,6 @@ SPEC CHECKSUMS:
FirebaseSessions: 655ff17f3cc1a635cbdc2d69b953878001f9e25b
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_local_notifications: 4cde75091f6327eb8517fa068a0a5950212d2086
flutter_scandit_plugin: a2a6a2f124c184cff00dbdf40c34ea0033b1e707
flutter_secure_storage: 7953c38a04c3fdbb00571bcd87d8e3b5ceb9daec
geolocator_apple: 9bcea1918ff7f0062d98345d238ae12718acfbc1
Google-Maps-iOS-Utils: 66d6de12be1ce6d3742a54661e7a79cb317a9321
Expand All @@ -313,8 +301,6 @@ SPEC CHECKSUMS:
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
ScanditBarcodeCapture: 8de10f1d79cb4c669b75c61ddaed60c7c7daa7f4
ScanditCaptureCore: 7118e29ef970e70ca1ea6512fa8414e5a3761497
shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
uni_links2: fbc37081577fc19c6e0f7e6cdbd3baa150023635
url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe
Expand Down
6 changes: 0 additions & 6 deletions ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -284,12 +284,9 @@
"${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework",
"${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework",
"${BUILT_PRODUCTS_DIR}/PromisesSwift/Promises.framework",
"${PODS_ROOT}/ScanditBarcodeCapture/ScanditBarcodeCapture.framework",
"${PODS_ROOT}/ScanditCaptureCore/ScanditCaptureCore.framework",
"${BUILT_PRODUCTS_DIR}/connectivity_plus/connectivity_plus.framework",
"${BUILT_PRODUCTS_DIR}/device_info_plus/device_info_plus.framework",
"${BUILT_PRODUCTS_DIR}/flutter_local_notifications/flutter_local_notifications.framework",
"${BUILT_PRODUCTS_DIR}/flutter_scandit_plugin/flutter_scandit_plugin.framework",
"${BUILT_PRODUCTS_DIR}/flutter_secure_storage/flutter_secure_storage.framework",
"${BUILT_PRODUCTS_DIR}/geolocator_apple/geolocator_apple.framework",
"${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework",
Expand All @@ -315,12 +312,9 @@
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Promises.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ScanditBarcodeCapture.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ScanditCaptureCore.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/connectivity_plus.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/device_info_plus.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_local_notifications.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_scandit_plugin.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_secure_storage.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/geolocator_apple.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework",
Expand Down
41 changes: 11 additions & 30 deletions lib/app_constants.dart
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ class RoutePaths {
static const String DiningViewAll = 'dining/dining_list_view';
static const String DiningDetailView = 'dining/dining_detail_view';
static const String DiningNutritionView = 'dining/dining_nutrition_view';
static const String ScannerView = 'scanner/scanner_view';
static const String ScanditScanner = 'scanner/scandit_scanner';
static const String Parking = "parking/parking_view";
static const String SpotTypesView = "parking/spot_types_view";
static const String ParkingStructureView = "parking/parking_structure_view";
Expand Down Expand Up @@ -68,13 +66,9 @@ class RouteTitles {

class ParkingDefaults {
static const defaultLots = [
"Athena",
"Gilman",
"406",
"784",
"P782",
"P386 (Gliderport)",
"P704",
"P705"
"Hopkins",
];
static const defaultSpots = ["S", "B", "A"];
}
Expand All @@ -100,27 +94,6 @@ class ErrorConstants {
static const locationFailed = "Location was not available";
}

enum ScannerError implements Exception {
duplicateRecord(
'Submission failed due to barcode already scanned. Please discard this test tube and get another one.\nCode #1035'),
duplicateRecordBloodScreen(
'Submission failed because this barcode has already been scanned. Please discard this kit.\nCode #1035'),
invalidMedia(
'Barcode is not valid. Please scan another barcode.\nCode #1036'),
barcodeError('An error occurred. Please try again.\nCode #1037'),
invalidToken('An error occurred. Please try again.\nCode #1038'),
loggedOut('An error occurred. Please try again.\nCode #1039'),
unknownError('An error occurred. Please try again.\nCode #1040'),
notAcceptable(
'Do not test within 30 days after receiving a positive test for COVID-19. Place all materials in the recycle and trash receptacles.\nCode #1041'),
scannerReauthFailure(
'Your session has expired. Please login to submit a scan.'),
noRecentScan('No scan submitted');

final String msg;
const ScannerError(this.msg);
}

class LoginConstants {
static const silentLoginFailedTitle = 'Oops! You\'re not logged in.';
static const silentLoginFailedDesc =
Expand All @@ -143,6 +116,15 @@ class ParkingConstants {
'You have reached the maximum number of lots (10) that can be selected. Please deselect some lots before adding more.';
}

class WifiConstants {
// Initial State
static const wifiIssueFailedTitle = 'Could not report issue';
static const wifiIssueFailedDesc = 'Please run speed test to report issue.';
// Finished State
static const wifiIssueSuccessTitle = 'Issue Reported';
static const wifiIssueSuccessDesc = 'Thank you for helping improve UCSD wireless. Your test results have been sent to IT Services.';
}

class Plugins {
static const FrontCamera = 'FRONT CAMERA';
}
Expand Down Expand Up @@ -183,7 +165,6 @@ class DataPersistence {
/// Maps Card IDs to Card titles
class CardTitleConstants {
static const titleMap = {
'NativeScanner': 'SCANNER',
'MyStudentChart': 'MyStudentChart',
'MyUCSDChart': 'MyUCSDChart',
'student_id': 'STUDENT ID',
Expand Down
33 changes: 4 additions & 29 deletions lib/app_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ import 'package:campus_mobile_experimental/core/providers/notices.dart';
import 'package:campus_mobile_experimental/core/providers/notifications.dart';
import 'package:campus_mobile_experimental/core/providers/notifications_freefood.dart';
import 'package:campus_mobile_experimental/core/providers/parking.dart';
import 'package:campus_mobile_experimental/core/providers/scanner.dart';
import 'package:campus_mobile_experimental/core/providers/scanner_message.dart';
import 'package:campus_mobile_experimental/core/providers/shuttle.dart';
import 'package:campus_mobile_experimental/core/providers/speed_test.dart';
import 'package:campus_mobile_experimental/core/providers/student_id.dart';
Expand All @@ -33,7 +31,8 @@ List<SingleChildWidget> providers = [
];

final FirebaseAnalytics analytics = FirebaseAnalytics.instance;
final FirebaseAnalyticsObserver observer = FirebaseAnalyticsObserver(analytics: analytics);
final FirebaseAnalyticsObserver observer =
FirebaseAnalyticsObserver(analytics: analytics);

List<SingleChildWidget> independentServices = [
Provider.value(value: observer),
Expand Down Expand Up @@ -123,7 +122,8 @@ List<SingleChildWidget> dependentServices = [
},
lazy: false,
update: (_, pushNotificationDataProvider, _userDataProvider) {
_userDataProvider!.pushNotificationDataProvider = pushNotificationDataProvider;
_userDataProvider!.pushNotificationDataProvider =
pushNotificationDataProvider;
return _userDataProvider;
}),
ChangeNotifierProxyProvider<UserDataProvider, CardsDataProvider>(
Expand Down Expand Up @@ -196,18 +196,6 @@ List<SingleChildWidget> dependentServices = [
}
return employeeIdDataProvider;
}),
ChangeNotifierProxyProvider<UserDataProvider, ScannerMessageDataProvider>(
create: (_) {
var scannerMessageDataProvider = ScannerMessageDataProvider();
return scannerMessageDataProvider;
}, update: (_, userDataProvider, scannerMessageDataProvider) {
scannerMessageDataProvider!.userDataProvider = userDataProvider;
//Verify that the user is logged in
if (userDataProvider.isLoggedIn && !scannerMessageDataProvider.isLoading) {
scannerMessageDataProvider.fetchData();
}
return scannerMessageDataProvider;
}),
ChangeNotifierProxyProvider<UserDataProvider, AvailabilityDataProvider>(
create: (_) {
var availabilityDataProvider = AvailabilityDataProvider();
Expand Down Expand Up @@ -271,18 +259,5 @@ List<SingleChildWidget> dependentServices = [
return freefoodDataProvider;
},
),
ChangeNotifierProxyProvider<UserDataProvider, ScannerDataProvider>(
create: (_) {
var _scannerDataProvider = ScannerDataProvider();
return _scannerDataProvider;
},
update: (_, _userDataProvider, scannerDataProvider) {
scannerDataProvider!.userDataProvider = _userDataProvider;
scannerDataProvider.initState();
scannerDataProvider.resetDefaultStates();
return scannerDataProvider;
},
lazy: false,
),
];
List<SingleChildWidget> uiConsumableProviders = [];
9 changes: 0 additions & 9 deletions lib/app_router.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,10 @@ import 'package:campus_mobile_experimental/ui/onboarding/onboarding_login.dart';
import 'package:campus_mobile_experimental/ui/parking/manage_parking_view.dart';
import 'package:campus_mobile_experimental/ui/parking/neighborhood_lot_view.dart';
import 'package:campus_mobile_experimental/ui/parking/neighborhoods_view.dart';
import 'package:campus_mobile_experimental/ui/parking/parking_lot_view.dart';
import 'package:campus_mobile_experimental/ui/parking/parking_structure_view.dart';
import 'package:campus_mobile_experimental/ui/parking/spot_types_view.dart';
import 'package:campus_mobile_experimental/ui/profile/cards.dart';
import 'package:campus_mobile_experimental/ui/profile/profile.dart';
import 'package:campus_mobile_experimental/ui/scanner/native_scanner_view.dart';
import 'package:campus_mobile_experimental/ui/shuttle/add_shuttle_stops_view.dart';
import 'package:campus_mobile_experimental/ui/shuttle/manage_shuttle_view.dart';
import 'package:flutter/material.dart';
Expand Down Expand Up @@ -156,11 +154,6 @@ class Router {
Provider.of<CustomAppBar>(_).changeTitle(settings.name);
return ClassList();
});
case RoutePaths.ParkingLotsView:
return MaterialPageRoute(builder: (_) {
Provider.of<CustomAppBar>(_).changeTitle(settings.name, done: true);
return ParkingLotsView();
});
case RoutePaths.ParkingStructureView:
return MaterialPageRoute(builder: (_) {
Provider.of<CustomAppBar>(_).changeTitle(settings.name, done: true);
Expand All @@ -177,8 +170,6 @@ class Router {
Provider.of<CustomAppBar>(_).changeTitle(settings.name, done: true);
return NeighborhoodLotsView(data);
});
case RoutePaths.ScanditScanner:
return MaterialPageRoute(builder: (_) => ScanditScanner());
default:
return MaterialPageRoute(builder: (_) => Home());
}
Expand Down
Loading
Loading