Files
fforte/lib/#home.dart#
2024-11-20 15:23:49 +01:00

98 lines
3.3 KiB
Plaintext

import 'dart:io';
import 'package:fforte/methods/http_request.dart';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'screens/addCam/add_cam_main.dart~';
// * The homepage where you can choose to add something or view the database entries
class HomePage extends StatelessWidget {
const HomePage({super.key});
void _sendFile() async {
FilePickerResult? result = await FilePicker.platform.pickFiles();
if (result != null) {
File file = File(result.files.single.path!);
String content = await file.readAsString();
HttpRequest().httpRequest(content);
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(AppLocalizations.of(context)!.homePageTitle),
actions: [
PopupMenuButton(
onSelected: (value) {
Navigator.pushNamed(context, value.toString());
},
itemBuilder: (context) => [
PopupMenuItem(
value: '/settings',
child: Text(AppLocalizations.of(context)!.settings),
),
PopupMenuItem(
value: '/introScreen',
child:
Text(AppLocalizations.of(context)!.showloginscreen))
])
],
),
body: Column(
children: [
Image.asset('assets/images/reconix_small.png'),
Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const SizedBox(height: 30,),
ElevatedButton(
style: ElevatedButton.styleFrom(
minimumSize: const Size(250, 40),
padding: const EdgeInsets.fromLTRB(10, 5, 10, 5),
),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const AddCamMain()));
},
child: Text(AppLocalizations.of(context)!.addplace)),
const SizedBox(height: 10,),
ElevatedButton(
style: ElevatedButton.styleFrom(
minimumSize: const Size(250, 40)
),
onPressed: () => Navigator.pushNamed(context, '/viewCams'),
child: Text(AppLocalizations.of(context)!.viewplaces)),
const SizedBox(height: 10,),
ElevatedButton(
style: ElevatedButton.styleFrom(
minimumSize: const Size(250, 40)
),
onPressed: () {
_sendFile();
},
child: Text(AppLocalizations.of(context)!.sendfile)),
const SizedBox(height: 10,),
ElevatedButton(
style: ElevatedButton.styleFrom(
minimumSize: const Size(250, 40)
),
onPressed: () => Navigator.pushNamed(context, '/Excursion'),
child: const Text("Excusion")),
],
)),
],
),
);
}
}