Select Git revision
moodpage.dart
-
MagicalSpyto authoredMagicalSpyto authored
moodpage.dart 15.00 KiB
import 'dart:ffi';
import 'dart:io';
import 'package:ambient/firebase.dart';
import 'package:ambient/services/spotify.dart';
import 'main.dart';
import 'package:vector_math/vector_math.dart';
import 'package:image_picker/image_picker.dart';
import 'package:flutter/material.dart';
import 'package:palette_generator/palette_generator.dart';
import 'package:flutter_color_models/flutter_color_models.dart';
class StateMoodPage extends StatefulWidget {
const StateMoodPage({super.key});
@override
State<StateMoodPage> createState() => MoodPage();
}
enum Moods { none, happy, sad ,angry, noble, clean, courageous, fresh, compassionn, simple, dramatic}
extension MoodsExtention on Moods {
Color get color {
switch (this) {
case Moods.none:
return Color.fromARGB(255, 75, 75, 75);
case Moods.happy:
return Color.fromARGB(255, 255, 255, 0);
case Moods.sad:
return Color.fromARGB(255, 0, 0, 255);
case Moods.angry:
return Color.fromARGB(255, 255, 0, 0);
case Moods.noble:
return Color.fromARGB(255, 127, 69, 216);
case Moods.clean:
return Color.fromARGB(255, 255, 255, 255);
case Moods.courageous:
return Color.fromARGB(255, 255, 165, 0);
case Moods.fresh:
return Color.fromARGB(255, 0, 255, 0);
case Moods.compassionn:
return Color.fromARGB(255, 255, 70, 253);
case Moods.simple:
return Color.fromARGB(255, 103, 64, 45);
case Moods.dramatic:
return Color.fromARGB(255, 0, 0, 0);
}
}
}
class MoodPage extends State<StateMoodPage> {
final ImagePicker _picker = ImagePicker();
late PaletteGenerator paletteGenerator;
Moods? currentMood = selectedMoodAsEnum;
String imagePath = "";
//besorgt ein image file aus der galarie
_getFromGallery() async {
try {
XFile? pickedFile = await _picker.pickImage(
source: ImageSource.gallery,
);
if (pickedFile != null) {
musicCangable = true;
imagePath = pickedFile.path;
setState(() {
usesPicture = true;
currentMoodsImage = File(imagePath);
});
}