added multimedia support and STT. STT and photos are have bugs but are functional. file upload is conceptualized but will require additional backend work. video is on hold for now.

This commit is contained in:
Joshua
2024-07-10 19:15:03 -06:00
parent e5b69aa2b6
commit cbd040f57b
36 changed files with 742 additions and 137 deletions
@@ -1,4 +1,4 @@
import 'package:app/util/backend.dart';
import 'package:app/components/util/backend.dart';
import 'package:flutter/material.dart';
import 'chat.dart';
@@ -6,10 +6,12 @@ class Conversation with ChangeNotifier {
int conversationID;
String conversationLabel;
String conversationSubLabel;
bool history = true;
// History is disabled by default. This means chats are auto-deleted once the user exits that conversation.
// TODO: Fix history, very, verry strange behavior when disabled.
bool history = true; // History is disabled by default. This means chats are auto-deleted once the user exits that conversation.\
bool conversationContext = true; // The prior prompts and responses are used as additional context for the next prompt and response.
late bool stream = false; // Update the UI with a stream of characters as received from the server, or as one text.
var lastAccessTime = DateTime.timestamp(); // Used to sort conversations based on most recent usage.
List<Chat> chats = [];
Conversation(this.conversationID, this.conversationLabel, this.conversationSubLabel);
@@ -23,11 +25,13 @@ class Conversation with ChangeNotifier {
void toggleStream() => stream = !stream;
void add(Chat message) {
lastAccessTime = DateTime.timestamp();
chats.add(message);
notifyListeners();
}
void loadChats() {
lastAccessTime = DateTime.timestamp();
Backend.loadConversation;
chats = Backend.loadedChats;
}
@@ -41,10 +45,12 @@ class Conversation with ChangeNotifier {
}
List<Chat> getChats() {
lastAccessTime = DateTime.timestamp();
return chats;
}
void setLabels(String cLabel, String cSubLabel) {
lastAccessTime = DateTime.timestamp();
conversationLabel = cLabel;
conversationSubLabel = cSubLabel;
}