Compare commits

...

3 commits

Author SHA1 Message Date
Leandro
22aca9618e inital add wool modal design 2024-05-19 22:50:43 +02:00
Leandro
2445de13af Added floating action button 2024-05-19 21:07:56 +02:00
Leandro
dfcfda19b3 better gitignore 2024-05-19 16:04:47 +02:00
5 changed files with 183 additions and 43 deletions

125
.gitignore vendored
View file

@ -1,5 +1,9 @@
# Do not remove or rename entries in this file, only add new ones
# See https://github.com/flutter/flutter/issues/128635 for more context.
# Miscellaneous # Miscellaneous
*.class *.class
*.lock
*.log *.log
*.pyc *.pyc
*.swp *.swp
@ -8,7 +12,6 @@
.buildlog/ .buildlog/
.history .history
.svn/ .svn/
migrate_working_dir/
# IntelliJ related # IntelliJ related
*.iml *.iml
@ -16,28 +19,120 @@ migrate_working_dir/
*.iws *.iws
.idea/ .idea/
# The .vscode folder contains launch configuration and tasks you configure in # Visual Studio Code related
# VS Code which you may wish to be included in version control, so this line .classpath
# is commented out by default. .project
#.vscode/ .settings/
.vscode/*
# Flutter repo-specific
/bin/cache/
/bin/internal/bootstrap.bat
/bin/internal/bootstrap.sh
/bin/mingit/
/dev/benchmarks/mega_gallery/
/dev/bots/.recipe_deps
/dev/bots/android_tools/
/dev/devicelab/ABresults*.json
/dev/docs/doc/
/dev/docs/api_docs.zip
/dev/docs/flutter.docs.zip
/dev/docs/lib/
/dev/docs/pubspec.yaml
/dev/integration_tests/**/xcuserdata
/dev/integration_tests/**/Pods
/packages/flutter/coverage/
version
analysis_benchmark.json
# packages file containing multi-root paths
.packages.generated
# Flutter/Dart/Pub related # Flutter/Dart/Pub related
**/doc/api/ **/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/ .dart_tool/
.flutter-plugins .flutter-plugins
.flutter-plugins-dependencies .flutter-plugins-dependencies
**/generated_plugin_registrant.dart
.packages
.pub-preload-cache/
.pub-cache/ .pub-cache/
.pub/ .pub/
/build/ build/
flutter_*.png
linked_*.ds
unlinked.ds
unlinked_spec.ds
# Symbolication related # Android related
**/android/**/gradle-wrapper.jar
.gradle/
**/android/captures/
**/android/gradlew
**/android/gradlew.bat
**/android/local.properties
**/android/**/GeneratedPluginRegistrant.java
**/android/key.properties
*.jks
# iOS/XCode related
**/ios/**/*.mode1v3
**/ios/**/*.mode2v3
**/ios/**/*.moved-aside
**/ios/**/*.pbxuser
**/ios/**/*.perspectivev3
**/ios/**/*sync/
**/ios/**/.sconsign.dblite
**/ios/**/.tags*
**/ios/**/.vagrant/
**/ios/**/DerivedData/
**/ios/**/Icon?
**/ios/**/Pods/
**/ios/**/.symlinks/
**/ios/**/profile
**/ios/**/xcuserdata
**/ios/.generated/
**/ios/Flutter/.last_build_id
**/ios/Flutter/App.framework
**/ios/Flutter/Flutter.framework
**/ios/Flutter/Flutter.podspec
**/ios/Flutter/Generated.xcconfig
**/ios/Flutter/ephemeral
**/ios/Flutter/app.flx
**/ios/Flutter/app.zip
**/ios/Flutter/flutter_assets/
**/ios/Flutter/flutter_export_environment.sh
**/ios/ServiceDefinitions.json
**/ios/Runner/GeneratedPluginRegistrant.*
# macOS
**/Flutter/ephemeral/
**/Pods/
**/macos/Flutter/GeneratedPluginRegistrant.swift
**/macos/Flutter/ephemeral
**/xcuserdata/
# Windows
**/windows/flutter/generated_plugin_registrant.cc
**/windows/flutter/generated_plugin_registrant.h
**/windows/flutter/generated_plugins.cmake
# Linux
**/linux/flutter/generated_plugin_registrant.cc
**/linux/flutter/generated_plugin_registrant.h
**/linux/flutter/generated_plugins.cmake
# Coverage
coverage/
# Symbols
app.*.symbols app.*.symbols
# Obfuscation related # Exceptions to above rules.
app.*.map.json !**/ios/**/default.mode1v3
!**/ios/**/default.mode2v3
# Android Studio will place build artifacts here !**/ios/**/default.pbxuser
/android/app/debug !**/ios/**/default.perspectivev3
/android/app/profile !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
/android/app/release !/dev/ci/**/Gemfile.lock
!.vscode/settings.json

View file

@ -0,0 +1,19 @@
import 'package:flutter/material.dart';
import 'package:temperaturdecke/widgets/modal_wrapper.dart';
class AddWoolModal extends StatelessWidget {
const AddWoolModal({super.key});
@override
Widget build(BuildContext context) {
return ModalWrapper(
Column(
children: [
TextField(),
TextField(),
],
),
title: "Wolle hinzufügen",
);
}
}

View file

@ -1,6 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:temperaturdecke/database.dart'; import 'package:temperaturdecke/database.dart';
import 'package:temperaturdecke/screens/add_wool_modal.dart';
import 'package:temperaturdecke/widgets/cards/wool_card.dart'; import 'package:temperaturdecke/widgets/cards/wool_card.dart';
class WoolScreen extends StatelessWidget { class WoolScreen extends StatelessWidget {
@ -20,7 +21,20 @@ class WoolScreen extends StatelessWidget {
); );
} else { } else {
// Hier können Sie den Inhalt basierend auf den geladenen Daten anzeigen // Hier können Sie den Inhalt basierend auf den geladenen Daten anzeigen
return Column( return Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () {
showModalBottomSheet(
showDragHandle: true,
context: context,
builder: (context) {
return AddWoolModal();
},
);
},
child: Icon(Icons.add),
),
body: Column(
children: [ children: [
Expanded( Expanded(
child: ListView.builder( child: ListView.builder(
@ -46,6 +60,7 @@ class WoolScreen extends StatelessWidget {
), ),
), ),
], ],
),
); );
} }
}, },

View file

@ -39,6 +39,7 @@ class Woolcard extends StatelessWidget {
child: IconButton( child: IconButton(
onPressed: () { onPressed: () {
showModalBottomSheet( showModalBottomSheet(
showDragHandle: true,
context: context, context: context,
builder: (context) { builder: (context) {
return WoolModal(id); return WoolModal(id);

View file

@ -1,10 +1,10 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class ModalWrapper extends StatelessWidget { class ModalWrapper extends StatelessWidget {
ModalWrapper(this.child, {super.key}); ModalWrapper(this.child, {this.title, key});
Widget child; Widget child;
String? title;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return ClipRRect( return ClipRRect(
@ -12,8 +12,18 @@ class ModalWrapper extends StatelessWidget {
child: SizedBox( child: SizedBox(
width: 750, width: 750,
child: Padding( child: Padding(
padding: EdgeInsets.all(10), padding: EdgeInsets.symmetric(horizontal: 25, vertical: 10),
child: child, child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
title ?? "",
textAlign: TextAlign.start,
style: Theme.of(context).textTheme.headlineMedium,
),
child
],
),
))); )));
} }
} }