From a22483e0568e1a5c6254fb5e2aa15816a3ece349 Mon Sep 17 00:00:00 2001 From: uvok Date: Wed, 6 May 2026 20:18:35 +0200 Subject: Decompose widgets --- lib/widgets/qr_code_entry_section.dart | 42 ++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 lib/widgets/qr_code_entry_section.dart (limited to 'lib/widgets/qr_code_entry_section.dart') diff --git a/lib/widgets/qr_code_entry_section.dart b/lib/widgets/qr_code_entry_section.dart new file mode 100644 index 0000000..658a288 --- /dev/null +++ b/lib/widgets/qr_code_entry_section.dart @@ -0,0 +1,42 @@ +// Copyright (C) 2025, uvok cheetah +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +import 'package:flutter/material.dart'; +import 'package:uvok_epaper_badge/view_model/badge_motive_view_model.dart'; + +class QRCodeEntrySection extends StatelessWidget { + final BadgeMotiveViewModel motiveVM; + + const QRCodeEntrySection({super.key, required this.motiveVM}); + + @override + Widget build(BuildContext context) { + return Column( + spacing: 20, + children: [ + TextField( + controller: motiveVM.qrCodeTextController, + decoration: InputDecoration(hintText: "Enter text for QR code"), + ), + ElevatedButton( + onPressed: () async { + await motiveVM.sendText(); + }, + child: Text("Send text"), + ), + ], + ); + } +} -- cgit v1.2.3