Skip to content

Commit 4f99ef8

Browse files
committed
WebView Desktop Compatibility
- Add compatibility for desktop builds.
1 parent 62dfcb9 commit 4f99ef8

File tree

5 files changed

+21
-15
lines changed

5 files changed

+21
-15
lines changed

lib/main.dart

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
import 'package:flutter/foundation.dart';
12
import 'package:flutter/material.dart';
23
import 'package:flutter_website/components/colors.dart';
34
import 'package:flutter_website/ui/block_wrapper.dart';
45
import 'package:flutter_website/ui/carousel/carousel.dart';
56
import 'package:responsive_framework/responsive_framework.dart';
7+
import 'package:universal_io/io.dart';
68

79
import 'ui/blocks.dart';
810

@@ -69,10 +71,11 @@ List<Widget> blocks = [
6971
const BlockWrapper(LearnFromDevelopers()),
7072
const BlockWrapper(WhoUsesFlutter()),
7173
// Disabled codelab block for performance.
72-
const ResponsiveVisibility(
73-
hiddenConditions: [Condition.smallerThan(name: DESKTOP)],
74-
child: BlockWrapper(FlutterCodelab()),
75-
),
74+
if (kIsWeb || Platform.isAndroid || Platform.isIOS)
75+
const ResponsiveVisibility(
76+
hiddenConditions: [Condition.smallerThan(name: DESKTOP)],
77+
child: BlockWrapper(FlutterCodelab()),
78+
),
7679
const BlockWrapper(FlutterNewsRow()),
7780
const BlockWrapper(InstallFlutter()),
7881
const Footer(),

lib/ui/blocks.dart

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import 'package:flutter/cupertino.dart';
2+
import 'package:flutter/foundation.dart';
23
import 'package:flutter/gestures.dart';
34
import 'package:flutter/material.dart';
45
import 'package:flutter_website/components/components.dart';
56
import 'package:flutter_website/utils/utils.dart';
67
import 'package:responsive_framework/responsive_framework.dart';
8+
import 'package:universal_io/io.dart';
79
import 'package:video_player/video_player.dart';
810
import 'package:webview_flutter/webview_flutter.dart';
911

@@ -1028,16 +1030,16 @@ class _LearnFromDevelopersState extends State<LearnFromDevelopers> {
10281030
padding: const EdgeInsets.symmetric(horizontal: 25),
10291031
child: AspectRatio(
10301032
aspectRatio: videoAspectRatio,
1031-
child: WebViewWidget(
1032-
key: webViewKey,
1033-
controller: WebViewController()
1034-
..loadRequest(Uri.parse(videoUrl)),
1035-
)
1033+
child: (kIsWeb || Platform.isAndroid || Platform.isIOS)
1034+
? WebViewWidget(
1035+
key: webViewKey,
1036+
controller: WebViewController()
1037+
..loadRequest(Uri.parse(videoUrl)),
1038+
)
1039+
: Image.asset(
1040+
"assets/images/video_thumbnail_learn_from_developers.png",
1041+
fit: BoxFit.contain)
10361042
// TODO: Legacy WebView on Web workarounds.
1037-
// (kIsWeb)
1038-
// ? Image.asset(
1039-
// "assets/images/video_thumbnail_learn_from_developers.png",
1040-
// fit: BoxFit.contain)
10411043
// HtmlElementView(
10421044
// key: webViewKey,
10431045
// viewType: webViewKey.toString(),

pubspec.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ packages:
373373
source: hosted
374374
version: "2.2.4"
375375
universal_io:
376-
dependency: transitive
376+
dependency: "direct main"
377377
description:
378378
name: universal_io
379379
sha256: "1722b2dcc462b4b2f3ee7d188dad008b6eb4c40bbd03a3de451d82c78bba9aad"

pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ dependencies:
1717
webview_flutter_web: ^0.2.2+4
1818
universal_html: ^2.2.4
1919
google_fonts: ^6.1.0
20+
universal_io: ^2.2.2
2021
responsive_framework:
2122
path: responsive_framework/
2223

windows/runner/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
2727
FlutterWindow window(project);
2828
Win32Window::Point origin(10, 10);
2929
Win32Window::Size size(1280, 720);
30-
if (!window.Create(L"flutter_website", origin, size)) {
30+
if (!window.Create(L"Flutter.dev", origin, size)) {
3131
return EXIT_FAILURE;
3232
}
3333
window.SetQuitOnClose(true);

0 commit comments

Comments
 (0)