Make some small changes and fixes

This commit is contained in:
zontreck 2024-05-15 13:30:02 -07:00
parent a93d62e2a1
commit 504ef2211d
7 changed files with 119 additions and 16 deletions

View file

@ -1,9 +1,10 @@
import 'package:dio/dio.dart';
import 'package:libac_flutter/nbt/impl/CompoundTag.dart';
import 'package:libac_flutter/utils/Hashing.dart';
enum APIEndpoint {
SetupCheck(script: "SetupCheck.php", path: "/ac/home/"),
Login(script: "Login.php", path: "/ac/home/");
SetupCheck(script: "SetupCheck.php", path: "/ac/home/supports/"),
Login(script: "Login.php", path: "/ac/home/supports/");
final String script;
final String path;
@ -48,4 +49,14 @@ class Settings {
API_SERVER = "${protocol}://${host}:${port}/";
}
Future<String> hashPSK(String PSK) async {
String hash = Hashing.md5Hash("AriasCreations");
for (int i = 0; i < 512; i++) {
hash = Hashing.sha256Hash("${hash}:${PSK}");
}
hash = Hashing.md5Hash(hash);
return hash;
}
}

View file

@ -14,13 +14,19 @@ class OpenSimPage extends StatefulWidget {
class OpenSimPageState extends State<OpenSimPage> {
Settings settings = Settings();
TextEditingController databaseHostController = TextEditingController();
TextEditingController databaseUsernameController = TextEditingController();
TextEditingController databasePasswordController = TextEditingController();
TextEditingController databaseNameController = TextEditingController();
TextEditingController PSKController = TextEditingController();
@override
Future<void> 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") {
if (replyJson['done'] as bool == true) {
setState(() {
settings.OpenSimSetupCompleted = true;
});
@ -37,16 +43,69 @@ class OpenSimPageState extends State<OpenSimPage> {
body: Padding(
padding: EdgeInsets.all(8),
child: SingleChildScrollView(
child: Column(
children: [
settings.OpenSimSetupCompleted
? ListTile(
title: Text("Login Required"),
child: settings.OpenSimSetupCompleted
? Column(
children: [],
)
: Column(
children: [
ListTile(
title: Text("Initial Setup Required"),
tileColor: Constants.TITLEBAR_COLOR,
)
: Text("You need to set up the database")
],
),
),
ListTile(
title: Text("Database Host"),
subtitle: TextField(
controller: databaseHostController,
decoration:
InputDecoration(hintText: "example.com:3306"),
),
),
ListTile(
title: Text("Database Username"),
subtitle: TextField(
controller: databaseUsernameController,
decoration: InputDecoration(hintText: "Username"),
),
),
ListTile(
title: Text("Database Password"),
subtitle: TextField(
decoration:
InputDecoration(hintText: "****", hintMaxLines: 1),
obscureText: true,
obscuringCharacter: "*",
controller: databasePasswordController,
),
),
ListTile(
title: Text("Database Name"),
subtitle: TextField(
decoration:
InputDecoration(hintText: "acwi", hintMaxLines: 1),
controller: databaseNameController,
),
),
ListTile(
title: Text("PreShared Secret"),
subtitle: TextField(
controller: PSKController,
decoration: InputDecoration(
hintText:
"Pre-Shared Key. Long text that gets hashed"),
),
),
ElevatedButton(
onPressed: () async {
var PSK = await settings.hashPSK(PSKController.text);
setState(() {
PSKController.text = PSK;
});
},
child: Text("Submit"))
],
),
),
),
);