Persist per-event Google calendar assignments
This commit is contained in:
+18
-5
@@ -780,7 +780,9 @@ class _HomeShellState extends State<HomeShell> {
|
||||
|
||||
setState(() => workspaceSyncing = true);
|
||||
try {
|
||||
final baseUri = Uri.parse(normalizeJarvisUrl(widget.jarvisSettings.apiUrl));
|
||||
final baseUri = Uri.parse(
|
||||
normalizeJarvisUrl(widget.jarvisSettings.apiUrl),
|
||||
);
|
||||
final response = await http
|
||||
.get(
|
||||
baseUri.resolve('/api/workspace/state'),
|
||||
@@ -847,7 +849,9 @@ class _HomeShellState extends State<HomeShell> {
|
||||
|
||||
setState(() => workspaceSyncing = true);
|
||||
try {
|
||||
final baseUri = Uri.parse(normalizeJarvisUrl(widget.jarvisSettings.apiUrl));
|
||||
final baseUri = Uri.parse(
|
||||
normalizeJarvisUrl(widget.jarvisSettings.apiUrl),
|
||||
);
|
||||
final stateJson = jsonEncode({
|
||||
'version': 1,
|
||||
'updatedAt': DateTime.now().toIso8601String(),
|
||||
@@ -879,9 +883,9 @@ class _HomeShellState extends State<HomeShell> {
|
||||
|
||||
void _showWorkspaceMessage(String message) {
|
||||
if (!mounted) return;
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(content: Text(message)),
|
||||
);
|
||||
ScaffoldMessenger.of(
|
||||
context,
|
||||
).showSnackBar(SnackBar(content: Text(message)));
|
||||
}
|
||||
|
||||
Future<JarvisSettings> _registerJarvisDevice(
|
||||
@@ -1133,6 +1137,15 @@ class _HomeShellState extends State<HomeShell> {
|
||||
}
|
||||
|
||||
void _assignSyncedEventToPerson(CalendarEvent event, Person person) {
|
||||
if (widget.googleConnections.isNotEmpty) {
|
||||
final currentConnection = widget.googleConnections.first;
|
||||
final nextEventPersonIds = {...currentConnection.eventPersonIds};
|
||||
nextEventPersonIds[importedEventKey(event)] = person.id;
|
||||
widget.onGoogleConnectionsChanged([
|
||||
currentConnection.copyWith(eventPersonIds: nextEventPersonIds),
|
||||
]);
|
||||
}
|
||||
|
||||
final nextSyncedEvents = widget.syncedEvents
|
||||
.map(
|
||||
(item) => sameImportedEvent(item, event)
|
||||
|
||||
Reference in New Issue
Block a user