mirror of https://github.com/flutter/samples.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.5 KiB
48 lines
1.5 KiB
// Copyright 2021, the Flutter project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
import 'dart:io' show Platform;
|
|
|
|
import 'package:flutter/foundation.dart' show kIsWeb;
|
|
import 'package:flutter/material.dart';
|
|
import 'package:url_strategy/url_strategy.dart';
|
|
import 'package:window_size/window_size.dart';
|
|
|
|
import 'src/app.dart';
|
|
|
|
void main() {
|
|
// Use package:url_strategy until this pull request is released:
|
|
// https://github.com/flutter/flutter/pull/77103
|
|
|
|
// Use to setHashUrlStrategy() to use "/#/" in the address bar (default). Use
|
|
// setPathUrlStrategy() to use the path. You may need to configure your web
|
|
// server to redirect all paths to index.html.
|
|
//
|
|
// On mobile platforms, both functions are no-ops.
|
|
setHashUrlStrategy();
|
|
// setPathUrlStrategy();
|
|
|
|
setupWindow();
|
|
runApp(const Bookstore());
|
|
}
|
|
|
|
const double windowWidth = 480;
|
|
const double windowHeight = 854;
|
|
|
|
void setupWindow() {
|
|
if (!kIsWeb && (Platform.isWindows || Platform.isLinux || Platform.isMacOS)) {
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
setWindowTitle('Navigation and routing');
|
|
setWindowMinSize(const Size(windowWidth, windowHeight));
|
|
setWindowMaxSize(const Size(windowWidth, windowHeight));
|
|
getCurrentScreen().then((screen) {
|
|
setWindowFrame(Rect.fromCenter(
|
|
center: screen!.frame.center,
|
|
width: windowWidth,
|
|
height: windowHeight,
|
|
));
|
|
});
|
|
}
|
|
}
|