Skip to content

Commit 173f401

Browse files
committed
-
1 parent c2dd7fb commit 173f401

File tree

11 files changed

+81
-24
lines changed

11 files changed

+81
-24
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.dart_tool/
2+
pubspec.lock
3+
.DS_Store

pkgs/.gitignore

Lines changed: 0 additions & 4 deletions
This file was deleted.

pkgs/example/assets/agent_icon.png

32.4 KB
Loading

pkgs/example/lib/sdk/agent/agent.dart

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'package:example/sdk/agent/fake_output.dart';
22
import 'package:example/sdk/agent/input.dart';
3-
import 'package:example/sdk/catalog/invitation.dart';
3+
import 'package:example/sdk/catalog/messages/invitation.dart';
44
import 'package:example/sdk/model/simple_items.dart';
55
import 'package:flutter/widgets.dart';
66

@@ -13,10 +13,7 @@ class GenUiAgent {
1313
// Simulate network delay
1414
await Future.delayed(const Duration(milliseconds: 1000));
1515
return switch (input) {
16-
InvitationInput _ => (_) => Invitation(
17-
data: fakeInvitationData,
18-
controller: controller,
19-
),
16+
InvitationInput _ => (_) => Invitation(fakeInvitationData, controller),
2017
_ => throw UnimplementedError(
2118
'GenUiAgent does not support input of type ${input.runtimeType}',
2219
),

pkgs/example/lib/sdk/agent/fake_output.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import 'package:example/sdk/catalog/carousel.dart';
2-
import 'package:example/sdk/catalog/invitation.dart';
3-
import 'package:example/sdk/catalog/text_intro.dart';
1+
import 'package:example/sdk/catalog/elements/carousel.dart';
2+
import 'package:example/sdk/catalog/messages/invitation.dart';
3+
import 'package:example/sdk/catalog/elements/text_intro.dart';
44

55
final fakeInvitationData = InvitationData(
66
textIntroData: TextIntroData(
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import 'package:example/sdk/model/simple_items.dart';
2+
import 'package:flutter/material.dart';
3+
4+
class AgentIcon extends StatelessWidget {
5+
final GenUiController controller;
6+
const AgentIcon(this.controller, {super.key});
7+
8+
@override
9+
Widget build(BuildContext context) {
10+
return Image.asset(width: 40, height: 40, controller.agentIcon);
11+
}
12+
}

pkgs/example/lib/sdk/catalog/carousel.dart renamed to pkgs/example/lib/sdk/catalog/elements/carousel.dart

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import 'package:flutter/material.dart';
55
const double _imageSize = 190;
66

77
class Carousel extends StatelessWidget {
8-
const Carousel({super.key, required this.data});
8+
const Carousel(this.data, {super.key});
99

1010
final CarouselData data;
1111

@@ -17,7 +17,7 @@ class Carousel extends StatelessWidget {
1717
itemExtent: _imageSize,
1818
// Set no border.
1919
shape: RoundedRectangleBorder(borderRadius: BorderRadius.zero),
20-
children: data.items.map((item) => CarouselItem(data: item)).toList(),
20+
children: data.items.map((item) => CarouselItem(item)).toList(),
2121
),
2222
);
2323
}
@@ -26,7 +26,7 @@ class Carousel extends StatelessWidget {
2626
class CarouselItem extends StatelessWidget {
2727
final CarouselItemData data;
2828

29-
const CarouselItem({super.key, required this.data});
29+
const CarouselItem(this.data, {super.key});
3030

3131
@override
3232
Widget build(BuildContext context) {
@@ -37,7 +37,11 @@ class CarouselItem extends StatelessWidget {
3737
height: _imageSize,
3838
child: ClipRRect(
3939
borderRadius: BorderRadius.circular(10.0),
40-
child: Image.asset(data.assetUrl, fit: BoxFit.cover),
40+
child: Image.asset(
41+
data.assetUrl,
42+
fit: BoxFit.cover,
43+
alignment: Alignment.topLeft,
44+
),
4145
),
4246
),
4347
Text(
File renamed without changes.

pkgs/example/lib/sdk/catalog/text_intro.dart renamed to pkgs/example/lib/sdk/catalog/elements/text_intro.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import 'package:example/sdk/model/simple_items.dart';
33
import 'package:flutter/material.dart';
44

55
class TextIntro extends StatelessWidget {
6-
const TextIntro({super.key, required this.data});
6+
const TextIntro(this.data, {super.key});
77

88
final TextIntroData data;
99

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import 'package:example/sdk/catalog/elements/carousel.dart';
2+
import 'package:example/sdk/catalog/elements/chat_box.dart';
3+
import 'package:example/sdk/catalog/shared/text_styles.dart';
4+
import 'package:example/sdk/catalog/elements/text_intro.dart';
5+
import 'package:example/sdk/model/simple_items.dart';
6+
import 'package:flutter/material.dart';
7+
8+
class Elicitation extends StatelessWidget {
9+
final ElicitationData data;
10+
final GenUiController controller;
11+
12+
const Elicitation({super.key, required this.data, required this.controller});
13+
14+
@override
15+
Widget build(BuildContext context) {
16+
return Column(
17+
crossAxisAlignment: CrossAxisAlignment.start,
18+
children: [
19+
Image.asset(controller.agentIcon),
20+
SizedBox(height: 8.0),
21+
TextIntro(data.textIntroData),
22+
SizedBox(height: 16.0),
23+
Text(data.exploreTitle, style: GenUiTextStyles.h2(context)),
24+
Carousel(CarouselData(items: data.exploreItems)),
25+
SizedBox(height: 16.0),
26+
ChatBox(),
27+
],
28+
);
29+
}
30+
}
31+
32+
class ElicitationData extends WidgetData {
33+
final TextIntroData textIntroData;
34+
final String exploreTitle;
35+
final List<CarouselItemData> exploreItems;
36+
final String chatHintText;
37+
38+
ElicitationData({
39+
required this.textIntroData,
40+
required this.exploreTitle,
41+
required this.chatHintText,
42+
required this.exploreItems,
43+
});
44+
}

0 commit comments

Comments
 (0)