// 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, )); }); } }