Skip to content

Instantly share code, notes, and snippets.

@nbnD
nbnD / data_model.dart
Created August 4, 2022 11:11
flutter hive
import 'package:hive/hive.dart';
part 'data_model.g.dart';
@HiveType(typeId: 0)
class DataModel extends HiveObject{
@HiveField(0)
final String? item;
@HiveField(1)
final int? quantity;
showModalBottomSheet(
context: context,
builder: (context) {
return Scaffold( //scaffold provides us the ability to show snackbar in the modal bottom sheet
body: Column(
mainAxisSize: MainAxisSize.min,
children: [
const ListTile(
leading: Icon(Icons.person),
title: Text("Profile"),
@nbnD
nbnD / formatdate.dart
Created July 15, 2022 10:43
Date picker
if(pickedDate != null ){
print(pickedDate); //get the picked date in the format => 2022-07-04 00:00:00.000
String formattedDate = DateFormat('yyyy-MM-dd').format(pickedDate); // format date in required form here we use yyyy-MM-dd that means time is removed
print(formattedDate); //formatted date output using intl package => 2022-07-04
//You can format date as per your need
setState(() {
dateController.text = formattedDate; //set foratted date to TextField value.
});
}else{
@nbnD
nbnD / textfield.dart
Last active July 15, 2022 10:35
Date picker
TextField(
controller: dateController, //editing controller of this TextField
decoration: const InputDecoration(
icon: Icon(Icons.calendar_today), //icon of text field
labelText: "Enter Date" //label text of field
),
readOnly: true, // when true user cannot edit text
onTap: () async {
//when click we have to show the datepicker
}
@nbnD
nbnD / homepage.dart
Created July 5, 2022 07:42
Theme Switcher
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:theme_changer/model_theme.dart';
class HomePage extends StatefulWidget {
const HomePage({Key? key}) : super(key: key);
@override
MyHomePageState createState() => MyHomePageState();
}
@nbnD
nbnD / main.dart
Created July 5, 2022 07:40
Theme Switcher
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:theme_changer/model_theme.dart';
import 'homepage.dart';
void main() {
runApp(MyApp());
}
@nbnD
nbnD / model_theme.dart
Created July 5, 2022 07:09
Theme Switcher
import 'package:flutter/material.dart';
import 'mytheme_preference.dart';
class ModelTheme extends ChangeNotifier {
late bool _isDark;
late MyThemePreferences _preferences;
bool get isDark => _isDark;
ModelTheme() {
_isDark = false;
import 'package:shared_preferences/shared_preferences.dart';
class MyThemePreferences {
static const THEME_KEY = "theme_key";
setTheme(bool value) async {
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
sharedPreferences.setBool(THEME_KEY, value);
}
static Future<List<Map<String, dynamic>>> getItems() async {
final db = await DatabaseHelper.db();
return db.query('items', orderBy: "id");
}
static Future<int> createItem(String? title, String? descrption) async {
final db = await DatabaseHelper.db();
final data = {'title': title, 'description': descrption};
final id = await db.insert('items', data,
conflictAlgorithm: sql.ConflictAlgorithm.replace);
return id;
}