Compare commits
3 commits
dcd05b53b4
...
c9d62743f6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c9d62743f6 | ||
|
|
56bcef493a | ||
|
|
f8612b9bc3 |
4 changed files with 53 additions and 6 deletions
|
|
@ -1,8 +1,10 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
import 'package:shimmer/shimmer.dart';
|
||||||
import 'package:temperaturdecke/database.dart';
|
import 'package:temperaturdecke/database.dart';
|
||||||
import 'package:temperaturdecke/screens/add_wool_modal.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';
|
||||||
|
import 'package:temperaturdecke/widgets/custom_card.dart';
|
||||||
|
|
||||||
class WoolScreen extends StatelessWidget {
|
class WoolScreen extends StatelessWidget {
|
||||||
WoolScreen({super.key});
|
WoolScreen({super.key});
|
||||||
|
|
@ -10,19 +12,48 @@ class WoolScreen extends StatelessWidget {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
Widget child;
|
||||||
|
|
||||||
return FutureBuilder(
|
return FutureBuilder(
|
||||||
future: Provider.of<AppDatabase>(context)
|
future: Provider.of<AppDatabase>(context)
|
||||||
.select(Provider.of<AppDatabase>(context).wolle)
|
.select(Provider.of<AppDatabase>(context).wolle)
|
||||||
.get(),
|
.get(),
|
||||||
builder: (BuildContext context, AsyncSnapshot snapshot) {
|
builder: (BuildContext context, AsyncSnapshot snapshot) {
|
||||||
if (snapshot.connectionState == ConnectionState.waiting) {
|
if (snapshot.connectionState == ConnectionState.waiting) {
|
||||||
return const Center(
|
child = Center(
|
||||||
child: CircularProgressIndicator(),
|
child: Shimmer.fromColors(
|
||||||
|
baseColor: Theme.of(context).colorScheme.secondaryContainer,
|
||||||
|
highlightColor: Theme.of(context)
|
||||||
|
.colorScheme
|
||||||
|
.onSecondaryContainer
|
||||||
|
.withOpacity(.3),
|
||||||
|
child: ListView.builder(
|
||||||
|
itemBuilder: (BuildContext context, int index) {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 10),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
CustomCard(
|
||||||
|
SizedBox(
|
||||||
|
height: 70,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
const SizedBox(
|
||||||
|
height: 15,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
itemCount: 6,
|
||||||
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
} 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 Scaffold(
|
child = Scaffold(
|
||||||
floatingActionButton: FloatingActionButton(
|
floatingActionButton: FloatingActionButton.extended(
|
||||||
|
label: Text("Hinzufügen"),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
showModalBottomSheet(
|
showModalBottomSheet(
|
||||||
isScrollControlled: true,
|
isScrollControlled: true,
|
||||||
|
|
@ -33,7 +64,7 @@ class WoolScreen extends StatelessWidget {
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: Icon(Icons.add),
|
icon: Icon(Icons.add),
|
||||||
),
|
),
|
||||||
body: Column(
|
body: Column(
|
||||||
children: [
|
children: [
|
||||||
|
|
@ -64,6 +95,12 @@ class WoolScreen extends StatelessWidget {
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
return AnimatedSwitcher(
|
||||||
|
duration: Duration(milliseconds: 500),
|
||||||
|
switchInCurve: Curves.easeOut,
|
||||||
|
switchOutCurve: Curves.ease,
|
||||||
|
child: child,
|
||||||
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ class ModalWrapper extends StatelessWidget {
|
||||||
child: Wrap(
|
child: Wrap(
|
||||||
children: [
|
children: [
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: 500,
|
width: 750,
|
||||||
height: MediaQuery.of(context).size.height - 100,
|
height: MediaQuery.of(context).size.height - 100,
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 25, vertical: 10),
|
padding: EdgeInsets.symmetric(horizontal: 25, vertical: 10),
|
||||||
|
|
|
||||||
|
|
@ -584,6 +584,14 @@ packages:
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.4"
|
version: "1.0.4"
|
||||||
|
shimmer:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: shimmer
|
||||||
|
sha256: "5f88c883a22e9f9f299e5ba0e4f7e6054857224976a5d9f839d4ebdc94a14ac9"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.0.0"
|
||||||
sky_engine:
|
sky_engine:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: flutter
|
description: flutter
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,8 @@ dependencies:
|
||||||
|
|
||||||
blobs:
|
blobs:
|
||||||
|
|
||||||
|
shimmer:
|
||||||
|
|
||||||
flutter_colorpicker:
|
flutter_colorpicker:
|
||||||
|
|
||||||
hexcolor:
|
hexcolor:
|
||||||
|
|
|
||||||
Reference in a new issue