tablet-app-new/lib/Models/AssistantResponse.dart
2026-03-13 15:09:23 +01:00

57 lines
1.6 KiB
Dart

class AiCard {
final String title;
final String subtitle;
final String? icon;
const AiCard({required this.title, required this.subtitle, this.icon});
factory AiCard.fromJson(Map<String, dynamic> json) => AiCard(
title: json['title'] as String? ?? '',
subtitle: json['subtitle'] as String? ?? '',
icon: json['icon'] as String?,
);
}
class AssistantNavigationAction {
final String sectionId;
final String sectionTitle;
final String sectionType;
const AssistantNavigationAction({
required this.sectionId,
required this.sectionTitle,
required this.sectionType,
});
factory AssistantNavigationAction.fromJson(Map<String, dynamic> json) =>
AssistantNavigationAction(
sectionId: json['sectionId'] as String? ?? '',
sectionTitle: json['sectionTitle'] as String? ?? '',
sectionType: json['sectionType'] as String? ?? '',
);
}
class AssistantResponse {
final String reply;
final List<AiCard>? cards;
final AssistantNavigationAction? navigation;
const AssistantResponse({
required this.reply,
this.cards,
this.navigation,
});
factory AssistantResponse.fromJson(Map<String, dynamic> json) =>
AssistantResponse(
reply: json['reply'] as String? ?? '',
cards: (json['cards'] as List<dynamic>?)
?.map((e) => AiCard.fromJson(e as Map<String, dynamic>))
.toList(),
navigation: json['navigation'] != null
? AssistantNavigationAction.fromJson(
json['navigation'] as Map<String, dynamic>)
: null,
);
}