diff --git a/lib/Settings.dart b/lib/Settings.dart index 3b87051..dcfcc6c 100644 --- a/lib/Settings.dart +++ b/lib/Settings.dart @@ -1,6 +1,20 @@ import 'package:dio/dio.dart'; import 'package:libac_flutter/nbt/impl/CompoundTag.dart'; +enum APIEndpoint { + SetupCheck(script: "SetupCheck.php", path: "/ac/home/"), + Login(script: "Login.php", path: "/ac/home/"); + + final String script; + final String path; + const APIEndpoint({required this.script, required this.path}); + + String getURL() { + Settings settings = Settings(); + return "${settings.API_SERVER}${path}${script}"; + } +} + class Settings { static Settings? _inst = null; Settings._() {} @@ -25,6 +39,7 @@ class Settings { } String API_SERVER = ""; + bool OpenSimSetupCompleted = false; void setServices(Map js) { var protocol = js['api']['protocol'] as String; diff --git a/lib/pages/OpenSim.dart b/lib/pages/OpenSim.dart index 1ce4474..9a70694 100644 --- a/lib/pages/OpenSim.dart +++ b/lib/pages/OpenSim.dart @@ -1,5 +1,8 @@ +import 'dart:convert'; + import 'package:flutter/material.dart'; import 'package:zontreck/Constants.dart'; +import 'package:zontreck/Settings.dart'; class OpenSimPage extends StatefulWidget { OpenSimPage({super.key}); @@ -9,6 +12,21 @@ class OpenSimPage extends StatefulWidget { } class OpenSimPageState extends State { + Settings settings = Settings(); + + @override + Future didChangeDependencies() async { + // Send check for setup completion + var reply = await settings.dio.get(APIEndpoint.SetupCheck.getURL()); + + var replyJson = json.decode(reply.data); + if (replyJson['done'] as String == "true") { + setState(() { + settings.OpenSimSetupCompleted = true; + }); + } + } + @override Widget build(BuildContext context) { return Scaffold( @@ -20,7 +38,14 @@ class OpenSimPageState extends State { padding: EdgeInsets.all(8), child: SingleChildScrollView( child: Column( - children: [], + children: [ + settings.OpenSimSetupCompleted + ? ListTile( + title: Text("Login Required"), + tileColor: Constants.TITLEBAR_COLOR, + ) + : Text("You need to set up the database") + ], ), ), ),