Skip to content

Commit 6c156d9

Browse files
Add support for connecting to a local server from the GULF client (#329)
1 parent 7f1a8c6 commit 6c156d9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+2107
-503
lines changed

examples/travel_app/lib/main.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ void main() async {
2020
await FirebaseAppCheck.instance.activate(
2121
appleProvider: AppleProvider.debug,
2222
androidProvider: AndroidProvider.debug,
23-
webProvider: ReCaptchaV3Provider('debug'),
23+
providerWeb: ReCaptchaV3Provider('debug'),
2424
);
2525
await loadImagesJson();
2626
final logger = configureGenUiLogging(level: Level.ALL);

examples/travel_app/lib/src/catalog/information_card.dart

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import 'package:dart_schema_builder/dart_schema_builder.dart';
66
import 'package:flutter/material.dart';
77
import 'package:flutter_genui/flutter_genui.dart';
8-
import 'package:flutter_markdown/flutter_markdown.dart';
98

109
import '../utils.dart';
1110

@@ -91,10 +90,7 @@ final informationCard = CatalogItem(
9190
style: Theme.of(context).textTheme.titleMedium,
9291
),
9392
const SizedBox(height: 8.0),
94-
MarkdownBody(
95-
data: cardData.body,
96-
styleSheet: getMarkdownStyleSheet(context),
97-
),
93+
MarkdownWidget(text: cardData.body),
9894
],
9995
),
10096
),

examples/travel_app/lib/src/catalog/itinerary_day.dart

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ library;
88
import 'package:dart_schema_builder/dart_schema_builder.dart';
99
import 'package:flutter/material.dart';
1010
import 'package:flutter_genui/flutter_genui.dart';
11-
import 'package:flutter_markdown/flutter_markdown.dart';
1211

1312
import '../utils.dart';
1413

@@ -137,10 +136,7 @@ class _ItineraryDay extends StatelessWidget {
137136
],
138137
),
139138
const SizedBox(height: 8.0),
140-
MarkdownBody(
141-
data: description,
142-
styleSheet: getMarkdownStyleSheet(context),
143-
),
139+
MarkdownWidget(text: description),
144140
const SizedBox(height: 8.0),
145141
const Divider(),
146142
...children,

examples/travel_app/lib/src/catalog/itinerary_entry.dart

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import 'package:dart_schema_builder/dart_schema_builder.dart';
66
import 'package:flutter/material.dart';
77
import 'package:flutter_genui/flutter_genui.dart';
8-
import 'package:flutter_markdown/flutter_markdown.dart';
98

109
import '../utils.dart';
1110
import '../widgets/dismiss_notification.dart';
@@ -221,10 +220,7 @@ class _ItineraryEntry extends StatelessWidget {
221220
),
222221
],
223222
const SizedBox(height: 8.0),
224-
MarkdownBody(
225-
data: bodyText,
226-
styleSheet: getMarkdownStyleSheet(context),
227-
),
223+
MarkdownWidget(text: bodyText),
228224
],
229225
),
230226
),

examples/travel_app/lib/src/catalog/padded_body_text.dart

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import 'package:dart_schema_builder/dart_schema_builder.dart';
66
import 'package:flutter/material.dart';
77
import 'package:flutter_genui/flutter_genui.dart';
8-
import 'package:flutter_markdown/flutter_markdown.dart';
98

109
import '../utils.dart';
1110

@@ -40,10 +39,7 @@ final paddedBodyText = CatalogItem(
4039
);
4140
return Padding(
4241
padding: const EdgeInsets.symmetric(horizontal: 16.0),
43-
child: MarkdownBody(
44-
data: textData.text,
45-
styleSheet: getMarkdownStyleSheet(context),
46-
),
42+
child: MarkdownWidget(text: textData.text),
4743
);
4844
},
4945
);

examples/travel_app/lib/src/utils.dart

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,33 @@
33
// found in the LICENSE file.
44

55
import 'package:flutter/material.dart';
6-
import 'package:flutter_markdown/flutter_markdown.dart';
6+
import 'package:gpt_markdown/gpt_markdown.dart';
77

8-
MarkdownStyleSheet getMarkdownStyleSheet(BuildContext context) {
9-
final theme = Theme.of(context);
10-
return MarkdownStyleSheet.fromTheme(
11-
theme,
12-
).copyWith(p: theme.textTheme.bodyMedium);
8+
class MarkdownWidget extends StatelessWidget {
9+
const MarkdownWidget({super.key, required this.text});
10+
11+
final String text;
12+
13+
@override
14+
Widget build(BuildContext context) {
15+
final theme = Theme.of(context);
16+
final textTheme = theme.textTheme;
17+
return GptMarkdownTheme(
18+
gptThemeData: GptMarkdownThemeData(
19+
brightness: theme.brightness,
20+
highlightColor: theme.colorScheme.onSurfaceVariant.withAlpha(50),
21+
h1: textTheme.headlineLarge,
22+
h2: textTheme.headlineMedium,
23+
h3: textTheme.headlineSmall,
24+
h4: textTheme.titleLarge,
25+
h5: textTheme.titleMedium,
26+
h6: textTheme.titleSmall,
27+
hrLineThickness: 1,
28+
hrLineColor: theme.colorScheme.outline,
29+
linkColor: Colors.blue,
30+
linkHoverColor: Colors.red,
31+
),
32+
child: GptMarkdown(text),
33+
);
34+
}
1335
}

examples/travel_app/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ dependencies:
2121
path: ../../packages/flutter_genui
2222
flutter_genui_firebase_ai:
2323
path: ../../packages/flutter_genui_firebase_ai
24-
flutter_markdown: ^0.7.1
24+
gpt_markdown: ^1.1.4
2525
intl: ^0.20.2
2626
logging: ^1.3.0
2727

examples/travel_app/test/itinerary_day_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
// found in the LICENSE file.
44

55
import 'package:flutter/material.dart';
6-
import 'package:flutter_markdown/flutter_markdown.dart';
76
import 'package:flutter_test/flutter_test.dart';
7+
import 'package:gpt_markdown/gpt_markdown.dart';
88
import 'package:network_image_mock/network_image_mock.dart';
99
import 'package:travel_app/src/catalog/itinerary_day.dart';
1010

@@ -85,7 +85,7 @@ void main() {
8585
expect(find.text(testSubtitle), findsOneWidget);
8686
expect(
8787
find.descendant(
88-
of: find.byType(MarkdownBody),
88+
of: find.byType(GptMarkdown),
8989
matching: find.byType(RichText),
9090
),
9191
findsOneWidget,

examples/travel_app/test/itinerary_entry_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
// found in the LICENSE file.
44

55
import 'package:flutter/material.dart';
6-
import 'package:flutter_markdown/flutter_markdown.dart';
76

87
import 'package:flutter_test/flutter_test.dart';
8+
import 'package:gpt_markdown/gpt_markdown.dart';
99
import 'package:travel_app/src/catalog/itinerary_entry.dart';
1010

1111
void main() {
@@ -85,7 +85,7 @@ void main() {
8585
expect(find.text(testTitle), findsOneWidget);
8686
expect(
8787
find.descendant(
88-
of: find.byType(MarkdownBody),
88+
of: find.byType(GptMarkdown),
8989
matching: find.byType(RichText),
9090
),
9191
findsOneWidget,

packages/spikes/fcp_client/example/macos/Runner.xcodeproj/project.pbxproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@
385385
CURRENT_PROJECT_VERSION = 1;
386386
GENERATE_INFOPLIST_FILE = YES;
387387
MARKETING_VERSION = 1.0;
388-
PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests;
388+
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.RunnerTests;
389389
PRODUCT_NAME = "$(TARGET_NAME)";
390390
SWIFT_VERSION = 5.0;
391391
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example";
@@ -399,7 +399,7 @@
399399
CURRENT_PROJECT_VERSION = 1;
400400
GENERATE_INFOPLIST_FILE = YES;
401401
MARKETING_VERSION = 1.0;
402-
PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests;
402+
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.RunnerTests;
403403
PRODUCT_NAME = "$(TARGET_NAME)";
404404
SWIFT_VERSION = 5.0;
405405
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example";
@@ -413,7 +413,7 @@
413413
CURRENT_PROJECT_VERSION = 1;
414414
GENERATE_INFOPLIST_FILE = YES;
415415
MARKETING_VERSION = 1.0;
416-
PRODUCT_BUNDLE_IDENTIFIER = com.example.example.RunnerTests;
416+
PRODUCT_BUNDLE_IDENTIFIER = dev.flutter.example.RunnerTests;
417417
PRODUCT_NAME = "$(TARGET_NAME)";
418418
SWIFT_VERSION = 5.0;
419419
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/example";

0 commit comments

Comments
 (0)