card_drawer.dart 9.45 KiB
import 'dart:convert';
import 'package:easy_localization/easy_localization.dart';
import 'package:feedback_gitlab/feedback_gitlab.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'package:package_info_plus/package_info_plus.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
import '../../data/models/cesium_card.dart';
import '../../data/models/node_manager.dart';
import '../../env.dart';
import '../../main.dart';
import '../../shared_prefs_helper.dart';
import '../screens/sandbox.dart';
import '../ui_helpers.dart';
import 'first_screen/card_stack.dart';
typedef IssueCreatedCallback = void Function(
String? issueUrl, Map<String, dynamic> issueData, bool isSuccess);
class CardDrawer extends StatelessWidget {
const CardDrawer({super.key});
@override
Widget build(BuildContext context) {
final List<CesiumCard> cards = SharedPreferencesHelper().cesiumCards;
return FutureBuilder<PackageInfo>(
future: PackageInfo.fromPlatform(),
builder: (BuildContext context, AsyncSnapshot<PackageInfo> snapshot) {
if (snapshot.hasData) {
return Drawer(
child: ListView(
// Important: Remove any padding from the ListView.
padding: EdgeInsets.zero,
children: <Widget>[
DrawerHeader(
/* decoration: BoxDecoration(
color: Theme.of(context).primaryColor,
), */
child: Column(
children: <Widget>[
GestureDetector(
onTap: () => tryCatch(),
onLongPress: () => tryCatch(),
child: Image.asset(
'assets/img/logo.png',
fit: BoxFit.scaleDown,
height: 80.0,
)),
// const SizedBox(height: 20.0),
/* Text(tr('app_name'),
style: const TextStyle(
fontSize: 24.0,
color: Colors.white,
)), */
],
),
),
if (inDevelopment)
ListTile(
leading: const Text('Last gva node'),
title: Text(NodeManager().getCurrentGvaNode() != null
? NodeManager().getCurrentGvaNode()!.url
: 'None')),
SizedBox(
height: (cards.length * 70) + 50,
child: const Center(
child: CardStack(),
),