ltx-flutter/ltx_flutter/lib/helpers.dart

65 lines
1.5 KiB
Dart

import 'package:ltx_flutter/appwrite/categories_api.dart';
import 'package:ltx_flutter/appwrite/database_api.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:intl/intl.dart';
import 'package:appwrite/models.dart';
import 'package:timezone/timezone.dart' as tz;
import 'package:timezone/data/latest.dart' as tz;
String formatDate({String format = "", String? dateISO}) {
final DateFormat dateFormatter = DateFormat(format);
final date = dateISO!.isEmpty ? DateTime.now() : DateTime.parse(dateISO);
return dateFormatter.format(date);
}
String hourString(int e) {
try {
tz.getLocation('America/Los_Angeles');
} catch (e) {
tz.initializeTimeZones();
}
int pacificTime = tz.TZDateTime.now(tz.getLocation('America/Los_Angeles'))
.timeZoneOffset
.inHours;
int localTime = DateTime.now().timeZoneOffset.inHours;
e = e + localTime - pacificTime;
var meridien = "AM";
var hour = 12;
if (e > 24) {
hour = e - 24;
} else if (e > 12) {
hour = e - 12;
} else if (e > 0) {
hour = e;
}
if (e > 11 && e < 24) {
meridien = "PM";
}
return "${hour.toString()} $meridien";
}
Color moodColor(mood) {
if (mood == null) {
return Colors.transparent;
}
if (mood >= 8) {
return Colors.green;
}
if (mood > 5) {
return Colors.blue;
}
if (mood == 5) {
return Colors.yellow;
}
if (mood >= 3) {
return Colors.amber;
} else {
return Colors.red;
}
}