From ae70712e7cefd5385c56c512062994d64d15d6f1 Mon Sep 17 00:00:00 2001 From: Raktbastr Date: Mon, 3 Feb 2025 15:45:15 -0600 Subject: [PATCH] Added inital API call. Downloads and parses event info. --- lib/eventpicker.dart | 8 ++------ lib/login.dart | 23 ++++++++++++++++++++++- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/lib/eventpicker.dart b/lib/eventpicker.dart index 1da6f10..081bb79 100644 --- a/lib/eventpicker.dart +++ b/lib/eventpicker.dart @@ -1,9 +1,8 @@ // login.dart import 'package:flutter/material.dart'; +import 'login.dart'; class EventPicker extends StatelessWidget { - const EventPicker({super.key}); - @override Widget build(BuildContext context) { return Scaffold( @@ -12,9 +11,6 @@ class EventPicker extends StatelessWidget { backgroundColor: const Color.fromARGB(255, 19, 81, 179), iconTheme: const IconThemeData(color: Colors.white), ), - body: Center( - child: Text('Login Page Content'), - ), ); - } + } // Call the function with the apiKey } \ No newline at end of file diff --git a/lib/login.dart b/lib/login.dart index 7a38946..07a738c 100644 --- a/lib/login.dart +++ b/lib/login.dart @@ -2,7 +2,27 @@ import 'package:flutter/material.dart'; import 'eventpicker.dart'; import 'package:http/http.dart' as http; import 'dart:convert'; -import 'eventpicker.dart'; + +void getData(String apiKey, teamNumber) async { + final response = await http.get( + Uri.parse('https://www.thebluealliance.com/api/v3/team/frc$teamNumber/events/2025'), + headers: { + 'X-TBA-Auth-Key': apiKey, + }, + ); + if (response.statusCode == 200) { + String data = response.body; + var decodedData = jsonDecode(data); + List eventNames = []; + + for (var event in decodedData) { + eventNames.add(event['name']); + } + print(eventNames); + } else { + print(response.statusCode); + } +} void main() { runApp(const MyApp()); @@ -79,6 +99,7 @@ class _LoginPageState extends State { onPressed: () async { String teamNumber = _teamNumberController.text; String apiKey = _apiKeyController.text; + getData(apiKey, teamNumber); Navigator.push( context, MaterialPageRoute(builder: (context) => EventPicker()),