manager-app/lib/Screens/Main/main_screen.dart
2025-08-14 16:29:40 +02:00

67 lines
2.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:manager_api_new/api.dart';
import 'package:manager_app/Components/common_loader.dart';
import 'package:manager_app/Models/managerContext.dart';
import 'package:manager_app/Models/menu.dart';
import 'package:manager_app/Models/menuSection.dart';
import 'package:manager_app/Screens/Main/components/body.dart';
import 'package:manager_app/app_context.dart';
import 'package:manager_app/constants.dart';
import 'package:provider/provider.dart';
import 'package:responsive_framework/responsive_framework.dart';
class MainScreen extends StatefulWidget {
MainScreen({Key? key}) : super(key: key);
@override
_MainScreenState createState() => _MainScreenState();
}
class _MainScreenState extends State<MainScreen> {
@override
Widget build(BuildContext context) {
final GlobalKey<_MainScreenState> key = GlobalKey();
final appContext = Provider.of<AppContext>(context);
Size size = MediaQuery.of(context).size;
ManagerAppContext managerAppContext = appContext.getContext() as ManagerAppContext;
//var isFortSt = managerAppContext.instanceId == "633ee379d9405f32f166f047";
return FutureBuilder(
future: getInstanceInfo(appContext),
builder: (context, AsyncSnapshot<InstanceDTO?> snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
if (snapshot.data != null) {
var instanceDTO = snapshot.data;
return Scaffold(
key: key,
body: Body(instance: instanceDTO!),
);
} else {
return Text("No data");
}
} else if (snapshot.connectionState == ConnectionState.none) {
return Text("No data");
} else {
return Center(
child: Container(
height: size.height * 0.1,
child: CommonLoader()
)
);
}
}
);
}
Future<InstanceDTO?> getInstanceInfo(AppContext appContext) async {
ManagerAppContext managerAppContext = appContext.getContext() as ManagerAppContext;
InstanceDTO? instance = await managerAppContext.clientAPI!.instanceApi!.instanceGetDetail(managerAppContext.instanceId!);
managerAppContext.instanceDTO = instance;
return instance;
}
}