import 'dart:io'; import 'package:flutter_dotenv/flutter_dotenv.dart' as DotEnv; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'config.dart'; import 'socket.dart' as socket; class Controller extends GetxController { var name = ''.obs; setName(String newName) { name.value = newName; } } class Gmus extends StatelessWidget { @override Widget build(BuildContext context) { final Controller controller = Get.put(Controller()); return Scaffold( appBar: AppBar( title: Text('gmus'), ), body: Container( child: Column( children: [ Obx(() => Text("Name: ${controller.name}")), TextField( onChanged: controller.setName, decoration: InputDecoration( border: InputBorder.none, hintText: 'Set name', ), ), TextButton( child: Text('Connect'), onPressed: () { socket.connect(controller.name.value); }, ), ], ), ), ); } } class MyHttpOverrides extends HttpOverrides { @override HttpClient createHttpClient(SecurityContext context) { return super.createHttpClient(context) ..badCertificateCallback = (X509Certificate cert, String host, int port) => true; } } Future main() async { await DotEnv.load(fileName: '.env'); if (config['isDevelopment']) { HttpOverrides.global = new MyHttpOverrides(); } runApp(GetMaterialApp(home: Gmus())); }