tuuli_app/lib/pages/home_panels/settings_panel.dart

73 lines
2.3 KiB
Dart

import 'package:flutter/services.dart';
import 'package:flu_console/flu_console.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:styled_widget/styled_widget.dart';
import 'package:tuuli_app/api_controller.dart';
import 'package:tuuli_app/pages/home_page.dart';
class SettingsPanel extends StatefulWidget {
const SettingsPanel({super.key});
@override
State<StatefulWidget> createState() => _SettingsPanelState();
}
class _SettingsPanelState extends State<SettingsPanel> {
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Text("Ключ доступа пользователя:")
.textStyle(Get.textTheme.bodySmall!),
[
Text(ApiController.to.token)
.textStyle(Get.textTheme.titleSmall!)
.expanded(),
IconButton(
onPressed: () async {
await Clipboard.setData(
ClipboardData(text: ApiController.to.token),
);
Get.snackbar(
"Скопировано",
"Ключ скопирован в буфер обмена",
snackPosition: SnackPosition.BOTTOM,
);
},
icon: const Icon(Icons.copy),
),
].toRow(),
const SizedBox(height: 16),
[
TextFormField(
enabled: false,
decoration: const InputDecoration(
labelText: 'Адрес бэкенда',
hintText: 'Введите адрес бэкенда',
),
initialValue: ApiController.to.endPoint,
).expanded(),
ElevatedButton(
onPressed: () => Get.find<HomePageController>().logout(),
child: const Text("Выйти и изменить"),
)
].toRow(),
const SizedBox(height: 16),
[
ElevatedButton(
onPressed: () => Get.bottomSheet(const LogPrintPanel()),
child: const Text("Показать лог приложения"),
).expanded(),
].toRow(),
],
).paddingAll(8);
}
}