From c15adcc08b36966fe6c0101d46f3d78c3b6d1931 Mon Sep 17 00:00:00 2001 From: Trent Palmer Date: Mon, 4 Nov 2019 01:21:25 -0800 Subject: [PATCH] add urls and ability to deep link --- pubspec.lock | 60 ++++++----- web/attractions.dart | 48 ++++++--- web/card_templates.dart | 10 ++ web/central-oregon.html | 11 ++ web/centraloregon.dart | 33 +++--- web/chinese-japanese-gardens.html | 11 ++ web/chinesejapanesegardens.dart | 23 +++-- web/columbia-gorge-camping.html | 11 ++ web/columbia-gorge.html | 11 ++ web/columbiagorge.dart | 27 +++-- web/concisepdx.dart | 138 +++++++++++++++++++++---- web/driveable-vistas.html | 11 ++ web/east-county.html | 11 ++ web/east-willamette-valley-sights.html | 11 ++ web/east-willamette-valley.html | 11 ++ web/eastcounty.dart | 25 +++-- web/eastwillamettevalley.dart | 33 ++++-- web/eastwillamettevalleysights.dart | 23 +++-- web/faqs.dart | 24 ++++- web/faqs.html | 11 ++ web/feedback-and-source.html | 11 ++ web/feedback.dart | 16 +++ web/gorge-vistas.html | 11 ++ web/gorgecamping.dart | 23 +++-- web/gorgevistas.dart | 24 +++-- web/gresham-vistas.html | 11 ++ web/greshamvistas.dart | 24 +++-- web/hikeable-vistas.html | 11 ++ web/hikes.dart | 16 +++ web/middle-se-streets.html | 11 ++ web/middlesoutheaststreets.dart | 23 +++-- web/mounthood.dart | 23 +++-- web/mthood.html | 11 ++ web/must-hikes.html | 11 ++ web/must-see-and-do.html | 11 ++ web/north-streets.html | 11 ++ web/northeast-streets.html | 11 ++ web/northeaststreets.dart | 23 +++-- web/northstreets.dart | 23 +++-- web/northwest-streets-sights.html | 11 ++ web/northwest-streets.html | 11 ++ web/northweststreets.dart | 27 +++-- web/northweststreetssights.dart | 27 +++-- web/oregon-city-sights.html | 11 ++ web/oregon-city-vistas.html | 11 ++ web/oregon-city.html | 11 ++ web/oregon-coast.html | 11 ++ web/oregoncity.dart | 25 +++-- web/oregoncitysights.dart | 23 +++-- web/oregoncityvistas.dart | 23 +++-- web/oregoncoast.dart | 23 +++-- web/remote-vistas.html | 11 ++ web/remotevistas.dart | 24 +++-- web/sellwood-streets.html | 11 ++ web/sellwoodstreets.dart | 23 +++-- web/silverton.dart | 25 +++-- web/silverton.html | 11 ++ web/small-town-streets.html | 11 ++ web/smalltowns.dart | 35 ++++--- web/southwest-streets.html | 11 ++ web/southwest.dart | 23 +++-- web/stjohns-streets.html | 11 ++ web/stjohnsstreets.dart | 23 +++-- web/streetareas.dart | 48 ++++++--- web/trimet.dart | 23 +++-- web/trimet.html | 11 ++ web/vistadrives.dart | 24 +++-- web/vistahikes.dart | 24 +++-- web/vistas-and-overlooks.html | 11 ++ web/vistas-ne-pdx.html | 11 ++ web/vistas-north-pdx.html | 11 ++ web/vistas-se-pdx.html | 11 ++ web/vistas.dart | 62 ++++++----- web/vistasnortheastpdx.dart | 24 +++-- web/vistasnorthpdx.dart | 24 +++-- web/vistassoutheastpdx.dart | 24 +++-- web/vistawalks.dart | 24 +++-- web/walkable-street-areas.html | 11 ++ web/walkable-vistas.html | 11 ++ web/washington-hiking.html | 11 ++ web/washington-park.html | 11 ++ web/washington-state.html | 11 ++ web/washingtonhiking.dart | 23 +++-- web/washingtonpark.dart | 27 +++-- web/washingtonstate.dart | 28 +++-- web/west-willamette-valley-sights.html | 11 ++ web/west-willamette-valley.html | 11 ++ web/westwillamettevalley.dart | 25 +++-- web/westwillamettevalleysights.dart | 23 +++-- 89 files changed, 1460 insertions(+), 356 deletions(-) create mode 100644 web/central-oregon.html create mode 100644 web/chinese-japanese-gardens.html create mode 100644 web/columbia-gorge-camping.html create mode 100644 web/columbia-gorge.html create mode 100644 web/driveable-vistas.html create mode 100644 web/east-county.html create mode 100644 web/east-willamette-valley-sights.html create mode 100644 web/east-willamette-valley.html create mode 100644 web/faqs.html create mode 100644 web/feedback-and-source.html create mode 100644 web/gorge-vistas.html create mode 100644 web/gresham-vistas.html create mode 100644 web/hikeable-vistas.html create mode 100644 web/middle-se-streets.html create mode 100644 web/mthood.html create mode 100644 web/must-hikes.html create mode 100644 web/must-see-and-do.html create mode 100644 web/north-streets.html create mode 100644 web/northeast-streets.html create mode 100644 web/northwest-streets-sights.html create mode 100644 web/northwest-streets.html create mode 100644 web/oregon-city-sights.html create mode 100644 web/oregon-city-vistas.html create mode 100644 web/oregon-city.html create mode 100644 web/oregon-coast.html create mode 100644 web/remote-vistas.html create mode 100644 web/sellwood-streets.html create mode 100644 web/silverton.html create mode 100644 web/small-town-streets.html create mode 100644 web/southwest-streets.html create mode 100644 web/stjohns-streets.html create mode 100644 web/trimet.html create mode 100644 web/vistas-and-overlooks.html create mode 100644 web/vistas-ne-pdx.html create mode 100644 web/vistas-north-pdx.html create mode 100644 web/vistas-se-pdx.html create mode 100644 web/walkable-street-areas.html create mode 100644 web/walkable-vistas.html create mode 100644 web/washington-hiking.html create mode 100644 web/washington-park.html create mode 100644 web/washington-state.html create mode 100644 web/west-willamette-valley-sights.html create mode 100644 web/west-willamette-valley.html diff --git a/pubspec.lock b/pubspec.lock index 4514e6d..7019a2b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,7 +7,7 @@ packages: name: analyzer url: "https://pub.dartlang.org" source: hosted - version: "0.38.2" + version: "0.38.5" archive: dependency: transitive description: @@ -28,21 +28,21 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.3.0" + version: "2.4.0" bazel_worker: dependency: transitive description: name: bazel_worker url: "https://pub.dartlang.org" source: hosted - version: "0.1.21" + version: "0.1.23" build: dependency: transitive description: name: build url: "https://pub.dartlang.org" source: hosted - version: "1.1.6" + version: "1.2.0" build_config: dependency: transitive description: @@ -56,42 +56,42 @@ packages: name: build_daemon url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.1.0" build_modules: dependency: transitive description: name: build_modules url: "https://pub.dartlang.org" source: hosted - version: "2.5.0" + version: "2.6.2" build_resolvers: dependency: transitive description: name: build_resolvers url: "https://pub.dartlang.org" source: hosted - version: "1.0.7" + version: "1.2.1" build_runner: dependency: "direct dev" description: name: build_runner url: "https://pub.dartlang.org" source: hosted - version: "1.6.9" + version: "1.7.1" build_runner_core: dependency: transitive description: name: build_runner_core url: "https://pub.dartlang.org" source: hosted - version: "3.1.1" + version: "4.1.0" build_web_compilers: dependency: "direct dev" description: name: build_web_compilers url: "https://pub.dartlang.org" source: hosted - version: "2.3.0" + version: "2.7.0" built_collection: dependency: transitive description: @@ -161,7 +161,7 @@ packages: name: dart_style url: "https://pub.dartlang.org" source: hosted - version: "1.2.10" + version: "1.3.2" fixnum: dependency: transitive description: @@ -174,7 +174,7 @@ packages: description: path: "packages/flutter_web" ref: HEAD - resolved-ref: "3973ac51f326c0a013232f39e9962bd02712d7dd" + resolved-ref: c04fb502b842859de07e36954a9390465a5426c0 url: "https://github.com/flutter/flutter_web" source: git version: "0.0.0" @@ -183,7 +183,7 @@ packages: description: path: "packages/flutter_web_ui" ref: HEAD - resolved-ref: "3973ac51f326c0a013232f39e9962bd02712d7dd" + resolved-ref: c04fb502b842859de07e36954a9390465a5426c0 url: "https://github.com/flutter/flutter_web" source: git version: "0.0.0" @@ -193,14 +193,14 @@ packages: name: front_end url: "https://pub.dartlang.org" source: hosted - version: "0.1.24" + version: "0.1.27" glob: dependency: transitive description: name: glob url: "https://pub.dartlang.org" source: hosted - version: "1.1.7" + version: "1.2.0" graphs: dependency: transitive description: @@ -214,7 +214,7 @@ packages: name: html url: "https://pub.dartlang.org" source: hosted - version: "0.14.0+2" + version: "0.14.0+3" http: dependency: transitive description: @@ -270,7 +270,7 @@ packages: name: kernel url: "https://pub.dartlang.org" source: hosted - version: "0.3.24" + version: "0.3.27" logging: dependency: transitive description: @@ -284,7 +284,7 @@ packages: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.5" + version: "0.12.6" meta: dependency: transitive description: @@ -299,6 +299,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.9.6+3" + node_interop: + dependency: transitive + description: + name: node_interop + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.3" + node_io: + dependency: transitive + description: + name: node_io + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1+2" package_config: dependency: transitive description: @@ -340,7 +354,7 @@ packages: name: protobuf url: "https://pub.dartlang.org" source: hosted - version: "0.13.15" + version: "1.0.0" pub_semver: dependency: transitive description: @@ -368,7 +382,7 @@ packages: name: scratch_space url: "https://pub.dartlang.org" source: hosted - version: "0.0.4" + version: "0.0.4+1" shelf: dependency: transitive description: @@ -466,13 +480,13 @@ packages: name: web_socket_channel url: "https://pub.dartlang.org" source: hosted - version: "1.0.15" + version: "1.1.0" yaml: dependency: transitive description: name: yaml url: "https://pub.dartlang.org" source: hosted - version: "2.1.16" + version: "2.2.0" sdks: - dart: ">=2.4.0 <3.0.0" + dart: ">=2.5.0 <3.0.0" diff --git a/web/attractions.dart b/web/attractions.dart index 279db51..663e532 100644 --- a/web/attractions.dart +++ b/web/attractions.dart @@ -1,4 +1,5 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; import 'washingtonpark.dart'; @@ -9,6 +10,7 @@ import 'washingtonstate.dart'; import 'centraloregon.dart'; import 'eastwillamettevalleysights.dart'; import 'westwillamettevalleysights.dart'; +import 'concisepdx.dart'; class Attractions extends StatefulWidget { @override @@ -16,10 +18,24 @@ class Attractions extends StatefulWidget { } class _AttractionsState extends State { + void initState() { + html.window.history.pushState("","must-see-and-do","/must-see-and-do.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => ConcisePDX())); + }, + ); + } + ), title: Text( 'attractions', ), @@ -33,50 +49,50 @@ class _AttractionsState extends State { child: Column( children: [ InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => WestWillametteValleySights())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => WestWillametteValleySights())); }, child: cardOne('Sight-See in the West Willamette Valley.'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => EastWillametteValleySights())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => EastWillametteValleySights())); }, child: cardOne('Sight-See in the East Willamette Valley.'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => MountHood())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => MountHood())); }, child: cardOne('Camp, Hike, or Sight-See on Mt Hood.'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => OregonCoast())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => OregonCoast())); }, child: cardOne('Camp, Hike, or Sight-See on the Oregon Coast.'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => ColumbiaGorge())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => ColumbiaGorge())); }, child: cardOne('Camp, Hike, Cruise, or Sight-See in the Columbia River Gorge.'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => WashingtonPark())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => WashingtonPark())); }, child: cardOne('Visit the Zoo, Rose Garden, Hoyt Arboretum, Pittock Mansion, and Japanese Garden at WashingtonPark.'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => WashingtonState())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => WashingtonState())); }, child: cardOne('Sight-See in Washington State.'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => CentralOregon())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => CentralOregon())); }, child: cardOne('Sight-See in Central and Eastern Oregon.'), ), diff --git a/web/card_templates.dart b/web/card_templates.dart index 6b5be26..34f8bf5 100644 --- a/web/card_templates.dart +++ b/web/card_templates.dart @@ -1,6 +1,16 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'dart:html' as html; +import 'concisepdx.dart'; + +IconButton Home(BuildContext context) { + return IconButton( + icon: Icon(Icons.home), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => ConcisePDX())); + }, + ); +} Card infoCard(String leftText,String infoUrl,String infoUrlName) { return Card( diff --git a/web/central-oregon.html b/web/central-oregon.html new file mode 100644 index 0000000..4aae6f4 --- /dev/null +++ b/web/central-oregon.html @@ -0,0 +1,11 @@ + + + + + central-oregon + + + + + + diff --git a/web/centraloregon.dart b/web/centraloregon.dart index 481a2ea..c693fbc 100644 --- a/web/centraloregon.dart +++ b/web/centraloregon.dart @@ -1,6 +1,9 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'prebuildcards.dart'; +import 'card_templates.dart'; +import 'attractions.dart'; class CentralOregon extends StatefulWidget { @override @@ -8,21 +11,29 @@ class CentralOregon extends StatefulWidget { } class _CentralOregonState extends State { - + void initState() { + html.window.history.pushState("","central-oregon","/central-oregon.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Attractions())); + }, + ); + } + ), title: Text('central-eastern-oregon'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, @@ -43,14 +54,6 @@ class _CentralOregonState extends State { wallowaLake(), hellsCanyon(), johnDayFossilBeds(), - /* - InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => WashingtonHiking())); - }, - child: cardOne('Hiking in Washington State.'), - ), - */ ], ), ), diff --git a/web/chinese-japanese-gardens.html b/web/chinese-japanese-gardens.html new file mode 100644 index 0000000..6a4b616 --- /dev/null +++ b/web/chinese-japanese-gardens.html @@ -0,0 +1,11 @@ + + + + + chinese-japanese-gardens + + + + + + diff --git a/web/chinesejapanesegardens.dart b/web/chinesejapanesegardens.dart index 6d4e2a9..4ed9516 100644 --- a/web/chinesejapanesegardens.dart +++ b/web/chinesejapanesegardens.dart @@ -2,6 +2,8 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'card_templates.dart'; import 'prebuildcards.dart'; +import 'dart:html' as html; +import 'faqs.dart'; class ChineseJapaneseGardens extends StatefulWidget { @override @@ -9,6 +11,10 @@ class ChineseJapaneseGardens extends StatefulWidget { } class _ChineseJapaneseGardensState extends State { + void initState() { + html.window.history.pushState("","chinese-japanese-gardens","/chinese-japanese-gardens.html"); + super.initState(); + } @override Widget build(BuildContext context) { @@ -18,16 +24,21 @@ class _ChineseJapaneseGardensState extends State { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Faqs())); + }, + ); + } + ), title: Text('chinese-japanese-gardens'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/columbia-gorge-camping.html b/web/columbia-gorge-camping.html new file mode 100644 index 0000000..4773b56 --- /dev/null +++ b/web/columbia-gorge-camping.html @@ -0,0 +1,11 @@ + + + + + columbia-gorge-camping + + + + + + diff --git a/web/columbia-gorge.html b/web/columbia-gorge.html new file mode 100644 index 0000000..c1f51b9 --- /dev/null +++ b/web/columbia-gorge.html @@ -0,0 +1,11 @@ + + + + + columbia-gorge + + + + + + diff --git a/web/columbiagorge.dart b/web/columbiagorge.dart index 7585d79..73ee36d 100644 --- a/web/columbiagorge.dart +++ b/web/columbiagorge.dart @@ -1,8 +1,10 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'gorgecamping.dart'; import 'prebuildcards.dart'; import 'card_templates.dart'; +import 'attractions.dart'; class ColumbiaGorge extends StatefulWidget { @override @@ -10,20 +12,29 @@ class ColumbiaGorge extends StatefulWidget { } class _ColumbiaGorgeState extends State { + void initState() { + html.window.history.pushState("","columbia-gorge","/columbia-gorge.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Attractions())); + }, + ); + } + ), title: Text('ColumbiaGorge'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, @@ -46,8 +57,8 @@ class _ColumbiaGorgeState extends State { infoCard('Wind Surf in the Columbia River Gorge.','https://www.travelportland.com/article/windsurfing-columbia-river-gorge/','b'), infoCard('Stern-Wheeler Cruises in the Columbia River Gorge.','https://en.wikipedia.org/wiki/Tourist_sternwheelers_of_Oregon','c'), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => GorgeCamping())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => GorgeCamping())); }, child: cardOne('Camping in the Columbia River Gorge.'), ), diff --git a/web/concisepdx.dart b/web/concisepdx.dart index 6a7f2ee..93ea181 100644 --- a/web/concisepdx.dart +++ b/web/concisepdx.dart @@ -1,4 +1,5 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'streetareas.dart'; import 'vistas.dart'; @@ -7,18 +8,114 @@ import 'hikes.dart'; import 'attractions.dart'; import 'feedback.dart'; import 'card_templates.dart'; +import 'middlesoutheaststreets.dart'; +import 'sellwoodstreets.dart'; +import 'northeaststreets.dart'; +import 'northstreets.dart'; +import 'stjohnsstreets.dart'; +import 'northweststreets.dart'; +import 'northweststreetssights.dart'; +import 'southwest.dart'; +import 'smalltowns.dart'; +import 'washingtonpark.dart'; +import 'eastwillamettevalley.dart'; +import 'westwillamettevalley.dart'; +import 'eastcounty.dart'; +import 'silverton.dart'; +import 'oregoncity.dart'; +import 'oregoncitysights.dart'; +import 'westwillamettevalleysights.dart'; +import 'eastwillamettevalleysights.dart'; +import 'mounthood.dart'; +import 'oregoncoast.dart'; +import 'columbiagorge.dart'; +import 'washingtonstate.dart'; +import 'centraloregon.dart'; +import 'gorgecamping.dart'; +import 'washingtonhiking.dart'; +import 'vistadrives.dart'; +import 'vistawalks.dart'; +import 'vistahikes.dart'; +import 'gorgevistas.dart'; +import 'remotevistas.dart'; +import 'vistasnorthpdx.dart'; +import 'vistasnortheastpdx.dart'; +import 'vistassoutheastpdx.dart'; +import 'greshamvistas.dart'; +import 'oregoncityvistas.dart'; +import 'trimet.dart'; +import 'chinesejapanesegardens.dart'; -void main() => runApp(MainApp()); +void main() { + var routePath = "/"; + + var route = html.window.document.getElementById("route"); + if (route != null) { + routePath += route.innerHtml; + } + + runApp(MainApp(routePath)); +} class MainApp extends StatelessWidget { + + final String route; + MainApp(this.route); + + Widget page() { + switch (route) { + case "/": return ConcisePDX(); + case "/walkable-street-areas.html": return StreetAreas(); + case "/must-see-and-do.html": return Attractions(); + case "/must-hikes.html": return Hikes(); + case "/vistas-and-overlooks.html": return Vistas(); + case "/faqs.html": return Faqs(); + case "/feedback-and-source.html": return FeedBack(); + case "/middle-se-streets.html": return MiddleSouthEastStreets(); + case "/sellwood-streets.html": return SellwoodStreets(); + case "/northeast-streets.html": return NorthEastStreets(); + case "/north-streets.html": return NorthStreets(); + case "/stjohns-streets.html": return StJohnsStreets(); + case "/northwest-streets.html": return NorthWestStreets(); + case "/northwest-streets-sights.html": return NorthWestStreetsSights(); + case "/southwest-streets.html": return SouthWestStreets(); + case "/small-town-streets.html": return SmallTowns(); + case "/washington-park.html": return WashingtonPark(); + case "/east-willamette-valley.html": return EastWillametteValley(); + case "/west-willamette-valley.html": return WestWillametteValley(); + case "/east-county.html": return EastCounty(); + case "/silverton.html": return Silverton(); + case "/oregon-city.html": return OregonCity(); + case "/oregon-city-sights.html": return OregonCitySights(); + case "/west-willamette-valley-sights.html": return WestWillametteValleySights(); + case "/east-willamette-valley-sights.html": return EastWillametteValleySights(); + case "/mthood.html": return MountHood(); + case "/oregon-coast.html": return OregonCoast(); + case "/columbia-gorge.html": return ColumbiaGorge(); + case "/washington-state.html": return WashingtonState(); + case "/central-oregon.html": return CentralOregon(); + case "/columbia-gorge-camping.html": return GorgeCamping(); + case "/washington-hiking.html": return WashingtonHiking(); + case "/driveable-vistas.html": return VistaDrives(); + case "/walkable-vistas.html": return VistaWalks(); + case "/hikeable-vistas.html": return VistaHikes(); + case "/gorge-vistas.html": return GorgeVistas(); + case "/remote-vistas.html": return RemoteVistas(); + case "/vistas-north-pdx.html": return VistasNorthPDX(); + case "/vistas-ne-pdx.html": return VistasNorthEastPDX(); + case "/vistas-se-pdx.html": return VistasSouthEastPDX(); + case "/gresham-vistas.html": return GreshamVistas(); + case "/oregon-city-vistas.html": return OregonCityVistas(); + case "/trimet.html": return TriMet(); + case "/chinese-japanese-gardens.html": return ChineseJapaneseGardens(); + default: return ConcisePDX(); + } + } + @override Widget build(BuildContext context) { return MaterialApp( - title: 'concise-pdx', - theme: ThemeData( - primaryColor: navy, - ), - home: ConcisePDX(), + home: page(), ); } } @@ -29,6 +126,10 @@ class ConcisePDX extends StatefulWidget { } class _ConcisePDXState extends State { + void initState() { + html.window.history.pushState("","concise-pdx","/#/"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( @@ -44,39 +145,38 @@ class _ConcisePDXState extends State { child: Column( children: [ InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => StreetAreas())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => StreetAreas())); }, child: cardOne('Walkable Streets With Restaurants and Bars'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => Attractions())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Attractions())); }, child: cardOne('Must See and Do'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => Hikes())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Hikes())); }, child: cardOne('Must Hikes'), ), - // cardOne('Anecdotal Recommendations'), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => Vistas())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Vistas())); }, child: cardOne('Vistas and Overlooks'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => Faqs())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Faqs())); }, child: cardOne('FAQ\'s'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => FeedBack())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => FeedBack())); }, child: cardOne('Feedback and Source'), ), diff --git a/web/driveable-vistas.html b/web/driveable-vistas.html new file mode 100644 index 0000000..ae82b21 --- /dev/null +++ b/web/driveable-vistas.html @@ -0,0 +1,11 @@ + + + + + driveable-vistas + + + + + + diff --git a/web/east-county.html b/web/east-county.html new file mode 100644 index 0000000..5aca04d --- /dev/null +++ b/web/east-county.html @@ -0,0 +1,11 @@ + + + + + east-county + + + + + + diff --git a/web/east-willamette-valley-sights.html b/web/east-willamette-valley-sights.html new file mode 100644 index 0000000..7f3b0c0 --- /dev/null +++ b/web/east-willamette-valley-sights.html @@ -0,0 +1,11 @@ + + + + + east-willamette-valley-sights + + + + + + diff --git a/web/east-willamette-valley.html b/web/east-willamette-valley.html new file mode 100644 index 0000000..19e70a5 --- /dev/null +++ b/web/east-willamette-valley.html @@ -0,0 +1,11 @@ + + + + + east-willamette-valley + + + + + + diff --git a/web/eastcounty.dart b/web/eastcounty.dart index a8e8e12..7b7546a 100644 --- a/web/eastcounty.dart +++ b/web/eastcounty.dart @@ -1,6 +1,8 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; +import 'smalltowns.dart'; class EastCounty extends StatefulWidget { @override @@ -8,20 +10,29 @@ class EastCounty extends StatefulWidget { } class _EastCountyState extends State { + void initState() { + html.window.history.pushState("","east-county","/east-county.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: Text('walkable small-towns\nwith bars-restaurants'), + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => SmallTowns())); + }, + ); + } + ), + title: Text('east county'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/eastwillamettevalley.dart b/web/eastwillamettevalley.dart index 9b7dafa..a3d9ce3 100644 --- a/web/eastwillamettevalley.dart +++ b/web/eastwillamettevalley.dart @@ -1,8 +1,10 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; import 'silverton.dart'; import 'oregoncity.dart'; +import 'smalltowns.dart'; class EastWillametteValley extends StatefulWidget { @override @@ -10,20 +12,29 @@ class EastWillametteValley extends StatefulWidget { } class _EastWillametteValleyState extends State { + void initState() { + html.window.history.pushState("","east-willamette-valley","/east-willamette-valley.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: Text('walkable small-towns\nwith bars-restaurants'), + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => SmallTowns())); + }, + ); + } + ), + title: Text('east willamette valley'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, @@ -34,14 +45,14 @@ class _EastWillametteValleyState extends State { children: [ cardTwo('Downtown Mt Angel is famous for German Food','https://www.google.com/maps/@45.0696714,-122.7991836,17z','downtown-mtangel'), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => Silverton())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Silverton())); }, child: cardOne('Silverton (and sights)'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => OregonCity())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => OregonCity())); }, child: cardOne('Oregon City (and sights)'), ), diff --git a/web/eastwillamettevalleysights.dart b/web/eastwillamettevalleysights.dart index c315345..832f552 100644 --- a/web/eastwillamettevalleysights.dart +++ b/web/eastwillamettevalleysights.dart @@ -1,7 +1,9 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'prebuildcards.dart'; import 'card_templates.dart'; +import 'attractions.dart'; class EastWillametteValleySights extends StatefulWidget { @override @@ -9,20 +11,29 @@ class EastWillametteValleySights extends StatefulWidget { } class _EastWillametteValleySightsState extends State { + void initState() { + html.window.history.pushState("","east-willamette-valley-sights","/east-willamette-valley-sights.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Attractions())); + }, + ); + } + ), title: Text('east willamette valley sights'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/faqs.dart b/web/faqs.dart index e7e6f7c..f198505 100644 --- a/web/faqs.dart +++ b/web/faqs.dart @@ -3,6 +3,8 @@ import 'defaults.dart'; import 'trimet.dart'; import 'chinesejapanesegardens.dart'; import 'card_templates.dart'; +import 'concisepdx.dart'; +import 'dart:html' as html; class Faqs extends StatefulWidget { @override @@ -10,10 +12,24 @@ class Faqs extends StatefulWidget { } class _FaqsState extends State { + void initState() { + html.window.history.pushState("","faqs","/faqs.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => ConcisePDX())); + }, + ); + } + ), title: Text( 'faqs', ), @@ -27,14 +43,14 @@ class _FaqsState extends State { child: Column( children: [ InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => TriMet())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => TriMet())); }, child: cardOne('How do the buses, lightrail, and streetcars work?'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => ChineseJapaneseGardens())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => ChineseJapaneseGardens())); }, child: cardOne('What is the difference between Chinese Gardens and Japanese Gardens?'), ), diff --git a/web/faqs.html b/web/faqs.html new file mode 100644 index 0000000..b05c5ed --- /dev/null +++ b/web/faqs.html @@ -0,0 +1,11 @@ + + + + + faqs + + + + + + diff --git a/web/feedback-and-source.html b/web/feedback-and-source.html new file mode 100644 index 0000000..6ad2782 --- /dev/null +++ b/web/feedback-and-source.html @@ -0,0 +1,11 @@ + + + + + feedback-and-source + + + + + + diff --git a/web/feedback.dart b/web/feedback.dart index 5e26e5d..7d9b354 100644 --- a/web/feedback.dart +++ b/web/feedback.dart @@ -1,6 +1,8 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'card_templates.dart'; +import 'concisepdx.dart'; +import 'dart:html' as html; class FeedBack extends StatefulWidget { @override @@ -8,11 +10,25 @@ class FeedBack extends StatefulWidget { } class _FeedBackState extends State { + void initState() { + html.window.history.pushState("","feedback-and-source","/feedback-and-source.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => ConcisePDX())); + }, + ); + } + ), title: Text('feedback'), centerTitle: true, backgroundColor: navy, diff --git a/web/gorge-vistas.html b/web/gorge-vistas.html new file mode 100644 index 0000000..737497c --- /dev/null +++ b/web/gorge-vistas.html @@ -0,0 +1,11 @@ + + + + + gorge-vistas + + + + + + diff --git a/web/gorgecamping.dart b/web/gorgecamping.dart index 313ffe2..e423e51 100644 --- a/web/gorgecamping.dart +++ b/web/gorgecamping.dart @@ -1,6 +1,8 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; +import 'columbiagorge.dart'; class GorgeCamping extends StatefulWidget { @override @@ -8,20 +10,29 @@ class GorgeCamping extends StatefulWidget { } class _GorgeCampingState extends State { + void initState() { + html.window.history.pushState("","columbia-gorge-camping","/columbia-gorge-camping.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => ColumbiaGorge())); + }, + ); + } + ), title: Text('gorge-camping'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/gorgevistas.dart b/web/gorgevistas.dart index d44f613..54f56fa 100644 --- a/web/gorgevistas.dart +++ b/web/gorgevistas.dart @@ -1,6 +1,9 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'prebuildcards.dart'; +import 'card_templates.dart'; +import 'dart:html' as html; +import 'vistas.dart'; class GorgeVistas extends StatefulWidget { @override @@ -8,20 +11,29 @@ class GorgeVistas extends StatefulWidget { } class _GorgeVistasState extends State { + void initState() { + html.window.history.pushState("","gorge-vistas","/gorge-vistas.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Vistas())); + }, + ); + } + ), title: Text('gorge-vistas'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/gresham-vistas.html b/web/gresham-vistas.html new file mode 100644 index 0000000..75a4560 --- /dev/null +++ b/web/gresham-vistas.html @@ -0,0 +1,11 @@ + + + + + gresham-vistas + + + + + + diff --git a/web/greshamvistas.dart b/web/greshamvistas.dart index 81ac5f2..d48efd7 100644 --- a/web/greshamvistas.dart +++ b/web/greshamvistas.dart @@ -1,6 +1,9 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'prebuildcards.dart'; +import 'card_templates.dart'; +import 'dart:html' as html; +import 'vistas.dart'; class GreshamVistas extends StatefulWidget { @override @@ -8,20 +11,29 @@ class GreshamVistas extends StatefulWidget { } class _GreshamVistasState extends State { + void initState() { + html.window.history.pushState("","gresham-vistas","/gresham-vistas.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Vistas())); + }, + ); + } + ), title: Text('gresham-vistas'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/hikeable-vistas.html b/web/hikeable-vistas.html new file mode 100644 index 0000000..b265644 --- /dev/null +++ b/web/hikeable-vistas.html @@ -0,0 +1,11 @@ + + + + + hikeable-vistas + + + + + + diff --git a/web/hikes.dart b/web/hikes.dart index 4556e74..313a97a 100644 --- a/web/hikes.dart +++ b/web/hikes.dart @@ -2,6 +2,8 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'prebuildcards.dart'; import 'card_templates.dart'; +import 'concisepdx.dart'; +import 'dart:html' as html; class Hikes extends StatefulWidget { @override @@ -9,6 +11,10 @@ class Hikes extends StatefulWidget { } class _HikesState extends State { + void initState() { + html.window.history.pushState("","must-hikes","/must-hikes.html"); + super.initState(); + } @override Widget build(BuildContext context) { @@ -20,6 +26,16 @@ class _HikesState extends State { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => ConcisePDX())); + }, + ); + } + ), title: Text( 'hikes', ), diff --git a/web/middle-se-streets.html b/web/middle-se-streets.html new file mode 100644 index 0000000..a68afd5 --- /dev/null +++ b/web/middle-se-streets.html @@ -0,0 +1,11 @@ + + + + + middle-se-streets + + + + + + diff --git a/web/middlesoutheaststreets.dart b/web/middlesoutheaststreets.dart index 852942a..4162890 100644 --- a/web/middlesoutheaststreets.dart +++ b/web/middlesoutheaststreets.dart @@ -1,7 +1,9 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; import 'prebuildcards.dart'; +import 'streetareas.dart'; class MiddleSouthEastStreets extends StatefulWidget { @override @@ -9,20 +11,29 @@ class MiddleSouthEastStreets extends StatefulWidget { } class _MiddleSouthEastStreetsState extends State { + void initState() { + html.window.history.pushState("","middle-southeast-streets","/middle-se-streets.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => StreetAreas())); + }, + ); + } + ), title: Text('walkable middle se streets\nwith bars-restaurants'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/mounthood.dart b/web/mounthood.dart index d73135b..64e0db9 100644 --- a/web/mounthood.dart +++ b/web/mounthood.dart @@ -1,7 +1,9 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'prebuildcards.dart'; import 'card_templates.dart'; +import 'attractions.dart'; class MountHood extends StatefulWidget { @override @@ -9,20 +11,29 @@ class MountHood extends StatefulWidget { } class _MountHoodState extends State { + void initState() { + html.window.history.pushState("","mthood","/mthood.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Attractions())); + }, + ); + } + ), title: Text('MountHood'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/mthood.html b/web/mthood.html new file mode 100644 index 0000000..0e3ea33 --- /dev/null +++ b/web/mthood.html @@ -0,0 +1,11 @@ + + + + + mthood + + + + + + diff --git a/web/must-hikes.html b/web/must-hikes.html new file mode 100644 index 0000000..abd3f10 --- /dev/null +++ b/web/must-hikes.html @@ -0,0 +1,11 @@ + + + + + must-hikes + + + + + + diff --git a/web/must-see-and-do.html b/web/must-see-and-do.html new file mode 100644 index 0000000..1758d62 --- /dev/null +++ b/web/must-see-and-do.html @@ -0,0 +1,11 @@ + + + + + must-see-and-do.html + + + + + + diff --git a/web/north-streets.html b/web/north-streets.html new file mode 100644 index 0000000..0d332ae --- /dev/null +++ b/web/north-streets.html @@ -0,0 +1,11 @@ + + + + + north-streets + + + + + + diff --git a/web/northeast-streets.html b/web/northeast-streets.html new file mode 100644 index 0000000..f788bae --- /dev/null +++ b/web/northeast-streets.html @@ -0,0 +1,11 @@ + + + + + northeast-streets + + + + + + diff --git a/web/northeaststreets.dart b/web/northeaststreets.dart index 4ce3678..eb8114b 100644 --- a/web/northeaststreets.dart +++ b/web/northeaststreets.dart @@ -1,7 +1,9 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'prebuildcards.dart'; import 'card_templates.dart'; +import 'streetareas.dart'; class NorthEastStreets extends StatefulWidget { @override @@ -9,20 +11,29 @@ class NorthEastStreets extends StatefulWidget { } class _NorthEastStreetsState extends State { + void initState() { + html.window.history.pushState("","northeast-streets","/northeast-streets.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => StreetAreas())); + }, + ); + } + ), title: Text('walkable northeast streets\nwith bars-restaurants'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/northstreets.dart b/web/northstreets.dart index 8d78ef1..c0c28c8 100644 --- a/web/northstreets.dart +++ b/web/northstreets.dart @@ -1,7 +1,9 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'prebuildcards.dart'; import 'card_templates.dart'; +import 'streetareas.dart'; class NorthStreets extends StatefulWidget { @override @@ -9,20 +11,29 @@ class NorthStreets extends StatefulWidget { } class _NorthStreetsState extends State { + void initState() { + html.window.history.pushState("","north-streets","/north-streets.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => StreetAreas())); + }, + ); + } + ), title: Text('walkable north streets\nwith bars-restaurants'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/northwest-streets-sights.html b/web/northwest-streets-sights.html new file mode 100644 index 0000000..1c1b15b --- /dev/null +++ b/web/northwest-streets-sights.html @@ -0,0 +1,11 @@ + + + + + northwest-streets-sights + + + + + + diff --git a/web/northwest-streets.html b/web/northwest-streets.html new file mode 100644 index 0000000..3202bd1 --- /dev/null +++ b/web/northwest-streets.html @@ -0,0 +1,11 @@ + + + + + northwest-streets + + + + + + diff --git a/web/northweststreets.dart b/web/northweststreets.dart index ccc31c0..793486a 100644 --- a/web/northweststreets.dart +++ b/web/northweststreets.dart @@ -1,7 +1,9 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; import 'northweststreetssights.dart'; +import 'streetareas.dart'; class NorthWestStreets extends StatefulWidget { @override @@ -9,20 +11,29 @@ class NorthWestStreets extends StatefulWidget { } class _NorthWestStreetsState extends State { + void initState() { + html.window.history.pushState("","northwest-streets","/northwest-streets.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => StreetAreas())); + }, + ); + } + ), title: Text('walkable northwest streets\nwith bars-restaurants'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, @@ -34,8 +45,8 @@ class _NorthWestStreetsState extends State { cardTwo('NW 23rd from Burnside to Thurman','https://www.google.com/maps/@45.5295226,-122.6984339,16z','23rd'), cardTwo('NW 21st from Burnside to Raleigh','https://www.google.com/maps/@45.5291143,-122.6945136,16z','21st'), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => NorthWestStreetsSights())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => NorthWestStreetsSights())); }, child: cardOne('As long as you\'re in NorthWest Portland.'), ), diff --git a/web/northweststreetssights.dart b/web/northweststreetssights.dart index ad603c7..71464a0 100644 --- a/web/northweststreetssights.dart +++ b/web/northweststreetssights.dart @@ -1,8 +1,10 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; import 'prebuildcards.dart'; import 'washingtonpark.dart'; +import 'northweststreets.dart'; class NorthWestStreetsSights extends StatefulWidget { @override @@ -10,20 +12,29 @@ class NorthWestStreetsSights extends StatefulWidget { } class _NorthWestStreetsSightsState extends State { + void initState() { + html.window.history.pushState("","northwest-streets-sights","/northwest-streets-sights.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => NorthWestStreets())); + }, + ); + } + ), title: Text('northwest-pdx-sights'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, @@ -41,8 +52,8 @@ class _NorthWestStreetsSightsState extends State { 'providence-park-map' ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => WashingtonPark())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => WashingtonPark())); }, child: cardOne('Visit the Zoo, Rose Garden, Hoyt Arboretum, Pittock Mansion, and Japanese Garden at WashingtonPark.'), ), diff --git a/web/oregon-city-sights.html b/web/oregon-city-sights.html new file mode 100644 index 0000000..88a25bf --- /dev/null +++ b/web/oregon-city-sights.html @@ -0,0 +1,11 @@ + + + + + oregon-city-sights + + + + + + diff --git a/web/oregon-city-vistas.html b/web/oregon-city-vistas.html new file mode 100644 index 0000000..91157c9 --- /dev/null +++ b/web/oregon-city-vistas.html @@ -0,0 +1,11 @@ + + + + + oregon-city-vistas + + + + + + diff --git a/web/oregon-city.html b/web/oregon-city.html new file mode 100644 index 0000000..6e2c487 --- /dev/null +++ b/web/oregon-city.html @@ -0,0 +1,11 @@ + + + + + oregon-city + + + + + + diff --git a/web/oregon-coast.html b/web/oregon-coast.html new file mode 100644 index 0000000..c60e15a --- /dev/null +++ b/web/oregon-coast.html @@ -0,0 +1,11 @@ + + + + + oregon-coast + + + + + + diff --git a/web/oregoncity.dart b/web/oregoncity.dart index 7b536c9..108f4d4 100644 --- a/web/oregoncity.dart +++ b/web/oregoncity.dart @@ -1,7 +1,9 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; import 'oregoncitysights.dart'; +import 'eastwillamettevalley.dart'; class OregonCity extends StatefulWidget { @override @@ -9,20 +11,29 @@ class OregonCity extends StatefulWidget { } class _OregonCityState extends State { + void initState() { + html.window.history.pushState("","oregon-city","/oregon-city.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: Text('walkable small-towns\nwith bars-restaurants'), + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => EastWillametteValley())); + }, + ); + } + ), + title: Text('walkable streets in Oregon City'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/oregoncitysights.dart b/web/oregoncitysights.dart index 7334a99..e849e1e 100644 --- a/web/oregoncitysights.dart +++ b/web/oregoncitysights.dart @@ -1,7 +1,9 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; import 'prebuildcards.dart'; +import 'oregoncity.dart'; class OregonCitySights extends StatefulWidget { @override @@ -9,20 +11,29 @@ class OregonCitySights extends StatefulWidget { } class _OregonCitySightsState extends State { + void initState() { + html.window.history.pushState("","oregon-city-sights","/oregon-city-sights.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => OregonCity())); + }, + ); + } + ), title: Text('oregon-city-sights'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/oregoncityvistas.dart b/web/oregoncityvistas.dart index f9783d5..1dd244d 100644 --- a/web/oregoncityvistas.dart +++ b/web/oregoncityvistas.dart @@ -2,6 +2,8 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'prebuildcards.dart'; import 'card_templates.dart'; +import 'dart:html' as html; +import 'vistas.dart'; class OregonCityVistas extends StatefulWidget { @override @@ -9,20 +11,29 @@ class OregonCityVistas extends StatefulWidget { } class _OregonCityVistasState extends State { + void initState() { + html.window.history.pushState("","oregon-city-vistas","/oregon-city-vistas.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Vistas())); + }, + ); + } + ), title: Text('oregon-city-vistas'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/oregoncoast.dart b/web/oregoncoast.dart index caec24a..1e46959 100644 --- a/web/oregoncoast.dart +++ b/web/oregoncoast.dart @@ -1,7 +1,9 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; import 'prebuildcards.dart'; +import 'attractions.dart'; class OregonCoast extends StatefulWidget { @override @@ -11,20 +13,29 @@ class OregonCoast extends StatefulWidget { class _OregonCoastState extends State { String _coastString = 'These is not a single State Park Campground on the Oregon Coast that is not Amazing!'; + void initState() { + html.window.history.pushState("","oregon-coast","/oregon-coast.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Attractions())); + }, + ); + } + ), title: Text('OregonCoast'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/remote-vistas.html b/web/remote-vistas.html new file mode 100644 index 0000000..9c06d00 --- /dev/null +++ b/web/remote-vistas.html @@ -0,0 +1,11 @@ + + + + + remote-vistas + + + + + + diff --git a/web/remotevistas.dart b/web/remotevistas.dart index 8706a46..737802d 100644 --- a/web/remotevistas.dart +++ b/web/remotevistas.dart @@ -1,6 +1,9 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'prebuildcards.dart'; +import 'card_templates.dart'; +import 'dart:html' as html; +import 'vistas.dart'; class RemoteVistas extends StatefulWidget { @override @@ -8,20 +11,29 @@ class RemoteVistas extends StatefulWidget { } class _RemoteVistasState extends State { + void initState() { + html.window.history.pushState("","remote-vistas","/remote-vistas.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Vistas())); + }, + ); + } + ), title: Text('remote-vistas'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/sellwood-streets.html b/web/sellwood-streets.html new file mode 100644 index 0000000..1bbafcd --- /dev/null +++ b/web/sellwood-streets.html @@ -0,0 +1,11 @@ + + + + + sellwood-streets + + + + + + diff --git a/web/sellwoodstreets.dart b/web/sellwoodstreets.dart index 28d6ec6..cafb14c 100644 --- a/web/sellwoodstreets.dart +++ b/web/sellwoodstreets.dart @@ -1,6 +1,8 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; +import 'streetareas.dart'; class SellwoodStreets extends StatefulWidget { @override @@ -8,20 +10,29 @@ class SellwoodStreets extends StatefulWidget { } class _SellwoodStreetsState extends State { + void initState() { + html.window.history.pushState("","sellwood-streets","/sellwood-streets.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => StreetAreas())); + }, + ); + } + ), title: Text('walkable sellwood streets\nwith bars-restaurants'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/silverton.dart b/web/silverton.dart index 034ca4a..6cf6e88 100644 --- a/web/silverton.dart +++ b/web/silverton.dart @@ -1,7 +1,9 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; import 'prebuildcards.dart'; +import 'eastwillamettevalley.dart'; class Silverton extends StatefulWidget { @override @@ -9,20 +11,29 @@ class Silverton extends StatefulWidget { } class _SilvertonState extends State { + void initState() { + html.window.history.pushState("","silverton","/silverton.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: Text('walkable small-towns\nwith bars-restaurants'), + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => EastWillametteValley())); + }, + ); + } + ), + title: Text('walkable streets in Silverton'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/silverton.html b/web/silverton.html new file mode 100644 index 0000000..d12eb99 --- /dev/null +++ b/web/silverton.html @@ -0,0 +1,11 @@ + + + + + silverton + + + + + + diff --git a/web/small-town-streets.html b/web/small-town-streets.html new file mode 100644 index 0000000..c179706 --- /dev/null +++ b/web/small-town-streets.html @@ -0,0 +1,11 @@ + + + + + small-town-streets + + + + + + diff --git a/web/smalltowns.dart b/web/smalltowns.dart index 9de9f7d..7e28202 100644 --- a/web/smalltowns.dart +++ b/web/smalltowns.dart @@ -1,9 +1,11 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; import 'eastwillamettevalley.dart'; import 'westwillamettevalley.dart'; import 'eastcounty.dart'; +import 'streetareas.dart'; class SmallTowns extends StatefulWidget { @override @@ -11,20 +13,29 @@ class SmallTowns extends StatefulWidget { } class _SmallTownsState extends State { + void initState() { + html.window.history.pushState("","small-town-streets","/small-town-streets.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => StreetAreas())); + }, + ); + } + ), title: Text('walkable small-towns\nwith bars-restaurants'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, @@ -34,20 +45,20 @@ class _SmallTownsState extends State { child: Column( children: [ InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => EastWillametteValley())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => EastWillametteValley())); }, child: cardOne('East Willamette Valley'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => WestWillametteValley())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => WestWillametteValley())); }, child: cardOne('West Willamette Valley'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => EastCounty())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => EastCounty())); }, child: cardOne('East County'), ), diff --git a/web/southwest-streets.html b/web/southwest-streets.html new file mode 100644 index 0000000..0adab57 --- /dev/null +++ b/web/southwest-streets.html @@ -0,0 +1,11 @@ + + + + + southwest-streets + + + + + + diff --git a/web/southwest.dart b/web/southwest.dart index 47702cd..e6cdc32 100644 --- a/web/southwest.dart +++ b/web/southwest.dart @@ -1,6 +1,8 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; +import 'streetareas.dart'; class SouthWestStreets extends StatefulWidget { @override @@ -8,20 +10,29 @@ class SouthWestStreets extends StatefulWidget { } class _SouthWestStreetsState extends State { + void initState() { + html.window.history.pushState("","southwest-streets","/southwest-streets.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => StreetAreas())); + }, + ); + } + ), title: Text('walkable sw streets\nwith bars-restaurants'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/stjohns-streets.html b/web/stjohns-streets.html new file mode 100644 index 0000000..30df229 --- /dev/null +++ b/web/stjohns-streets.html @@ -0,0 +1,11 @@ + + + + + stjohns-streets + + + + + + diff --git a/web/stjohnsstreets.dart b/web/stjohnsstreets.dart index 86e4e8e..8123f8b 100644 --- a/web/stjohnsstreets.dart +++ b/web/stjohnsstreets.dart @@ -1,6 +1,8 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; +import 'streetareas.dart'; class StJohnsStreets extends StatefulWidget { @override @@ -8,20 +10,29 @@ class StJohnsStreets extends StatefulWidget { } class _StJohnsStreetsState extends State { + void initState() { + html.window.history.pushState("","stjohns-streets","/stjohns-streets.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => StreetAreas())); + }, + ); + } + ), title: Text('walkable stjohns streets\nwith bars-restaurants'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/streetareas.dart b/web/streetareas.dart index 392f302..8c0f5bf 100644 --- a/web/streetareas.dart +++ b/web/streetareas.dart @@ -1,4 +1,5 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'middlesoutheaststreets.dart'; import 'northeaststreets.dart'; @@ -9,6 +10,7 @@ import 'sellwoodstreets.dart'; import 'smalltowns.dart'; import 'southwest.dart'; import 'card_templates.dart'; +import 'concisepdx.dart'; class StreetAreas extends StatefulWidget { @override @@ -16,10 +18,24 @@ class StreetAreas extends StatefulWidget { } class _StreetAreasState extends State { + void initState() { + html.window.history.pushState("","walkable-street-areas","/walkable-street-areas.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => ConcisePDX())); + }, + ); + } + ), title: Text( 'walkable-street-areas\nwith bars-restaurants', ), @@ -33,50 +49,50 @@ class _StreetAreasState extends State { child: Column( children: [ InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => MiddleSouthEastStreets())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => MiddleSouthEastStreets())); }, child: cardOne('Middle SouthEast'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => SellwoodStreets())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => SellwoodStreets())); }, child: cardOne('Sellwood'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => NorthEastStreets())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => NorthEastStreets())); }, child: cardOne('NorthEast'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => NorthStreets())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => NorthStreets())); }, child: cardOne('North'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => StJohnsStreets())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => StJohnsStreets())); }, child: cardOne('St John\'s'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => NorthWestStreets())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => NorthWestStreets())); }, child: cardOne('NorthWest'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => SouthWestStreets())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => SouthWestStreets())); }, child: cardOne('SouthWest'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => SmallTowns())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => SmallTowns())); }, child: cardOne('Small Towns in the Area'), ), diff --git a/web/trimet.dart b/web/trimet.dart index 438da4b..62ccaaf 100644 --- a/web/trimet.dart +++ b/web/trimet.dart @@ -1,6 +1,8 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'card_templates.dart'; +import 'dart:html' as html; +import 'faqs.dart'; class TriMet extends StatefulWidget { @override @@ -8,6 +10,10 @@ class TriMet extends StatefulWidget { } class _TriMetState extends State { + void initState() { + html.window.history.pushState("","trimet","/trimet.html"); + super.initState(); + } @override Widget build(BuildContext context) { @@ -20,16 +26,21 @@ class _TriMetState extends State { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Faqs())); + }, + ); + } + ), title: Text('trimet'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/trimet.html b/web/trimet.html new file mode 100644 index 0000000..fc8342b --- /dev/null +++ b/web/trimet.html @@ -0,0 +1,11 @@ + + + + + trimet + + + + + + diff --git a/web/vistadrives.dart b/web/vistadrives.dart index 78991a5..662d9ea 100644 --- a/web/vistadrives.dart +++ b/web/vistadrives.dart @@ -1,6 +1,9 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'prebuildcards.dart'; +import 'card_templates.dart'; +import 'dart:html' as html; +import 'vistas.dart'; class VistaDrives extends StatefulWidget { @override @@ -8,20 +11,29 @@ class VistaDrives extends StatefulWidget { } class _VistaDrivesState extends State { + void initState() { + html.window.history.pushState("","driveable-vistas","/driveable-vistas.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Vistas())); + }, + ); + } + ), title: Text('driveable vistas'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/vistahikes.dart b/web/vistahikes.dart index c97ad67..ca8eaf6 100644 --- a/web/vistahikes.dart +++ b/web/vistahikes.dart @@ -1,6 +1,9 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'prebuildcards.dart'; +import 'card_templates.dart'; +import 'dart:html' as html; +import 'vistas.dart'; class VistaHikes extends StatefulWidget { @override @@ -8,20 +11,29 @@ class VistaHikes extends StatefulWidget { } class _VistaHikesState extends State { + void initState() { + html.window.history.pushState("","hikeable-vistas","/hikeable-vistas.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Vistas())); + }, + ); + } + ), title: Text('hikeable vistas'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/vistas-and-overlooks.html b/web/vistas-and-overlooks.html new file mode 100644 index 0000000..8b5984a --- /dev/null +++ b/web/vistas-and-overlooks.html @@ -0,0 +1,11 @@ + + + + + vistas-and-overlooks + + + + + + diff --git a/web/vistas-ne-pdx.html b/web/vistas-ne-pdx.html new file mode 100644 index 0000000..0b7ea43 --- /dev/null +++ b/web/vistas-ne-pdx.html @@ -0,0 +1,11 @@ + + + + + vistas-ne-pdx + + + + + + diff --git a/web/vistas-north-pdx.html b/web/vistas-north-pdx.html new file mode 100644 index 0000000..f611eda --- /dev/null +++ b/web/vistas-north-pdx.html @@ -0,0 +1,11 @@ + + + + + vistas-north-pdx + + + + + + diff --git a/web/vistas-se-pdx.html b/web/vistas-se-pdx.html new file mode 100644 index 0000000..e6457ff --- /dev/null +++ b/web/vistas-se-pdx.html @@ -0,0 +1,11 @@ + + + + + vistas-se-pdx + + + + + + diff --git a/web/vistas.dart b/web/vistas.dart index b52eb51..ec982d1 100644 --- a/web/vistas.dart +++ b/web/vistas.dart @@ -4,13 +4,15 @@ import 'card_templates.dart'; import 'vistadrives.dart'; import 'vistawalks.dart'; import 'vistahikes.dart'; +import 'gorgevistas.dart'; +import 'remotevistas.dart'; import 'vistasnorthpdx.dart'; import 'vistasnortheastpdx.dart'; import 'vistassoutheastpdx.dart'; import 'greshamvistas.dart'; import 'oregoncityvistas.dart'; -import 'remotevistas.dart'; -import 'gorgevistas.dart'; +import 'concisepdx.dart'; +import 'dart:html' as html; class Vistas extends StatefulWidget { @override @@ -18,12 +20,26 @@ class Vistas extends StatefulWidget { } class _VistasState extends State { + void initState() { + html.window.history.pushState("","vistas-and-overlooks","/vistas-and-overlooks.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => ConcisePDX())); + }, + ); + } + ), title: Text( - 'walkable-street-areas\nwith bars-restaurants', + 'vistas-and-overlooks', ), centerTitle: true, backgroundColor: navy, @@ -35,62 +51,62 @@ class _VistasState extends State { child: Column( children: [ InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => VistaDrives())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => VistaDrives())); }, child: cardOne('Drive to the Top'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => VistaWalks())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => VistaWalks())); }, child: cardOne('Walk to the Top'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => VistaHikes())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => VistaHikes())); }, child: cardOne('A Real Hike to the Top'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => GorgeVistas())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => GorgeVistas())); }, child: cardOne('Gorge'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => RemoteVistas())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => RemoteVistas())); }, child: cardOne('Remote'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => VistasNorthPDX())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => VistasNorthPDX())); }, child: cardOne('North Portland'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => VistasNorthEastPDX())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => VistasNorthEastPDX())); }, child: cardOne('NE Portland'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => VistasSouthEastPDX())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => VistasSouthEastPDX())); }, child: cardOne('SE Portland'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => GreshamVistas())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => GreshamVistas())); }, child: cardOne('Gresham'), ), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => OregonCityVistas())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => OregonCityVistas())); }, child: cardOne('Oregon City'), ), diff --git a/web/vistasnortheastpdx.dart b/web/vistasnortheastpdx.dart index f6476b8..14775b9 100644 --- a/web/vistasnortheastpdx.dart +++ b/web/vistasnortheastpdx.dart @@ -1,6 +1,9 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'prebuildcards.dart'; +import 'card_templates.dart'; +import 'dart:html' as html; +import 'vistas.dart'; class VistasNorthEastPDX extends StatefulWidget { @override @@ -8,20 +11,29 @@ class VistasNorthEastPDX extends StatefulWidget { } class _VistasNorthEastPDXState extends State { + void initState() { + html.window.history.pushState("","vistas-ne-pdx","/vistas-ne-pdx.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Vistas())); + }, + ); + } + ), title: Text('ne-pdx-vistas'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/vistasnorthpdx.dart b/web/vistasnorthpdx.dart index a6e53c3..524d531 100644 --- a/web/vistasnorthpdx.dart +++ b/web/vistasnorthpdx.dart @@ -1,6 +1,9 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'prebuildcards.dart'; +import 'card_templates.dart'; +import 'dart:html' as html; +import 'vistas.dart'; class VistasNorthPDX extends StatefulWidget { @override @@ -8,20 +11,29 @@ class VistasNorthPDX extends StatefulWidget { } class _VistasNorthPDXState extends State { + void initState() { + html.window.history.pushState("","vistas-north-pdx","/vistas-north-pdx.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Vistas())); + }, + ); + } + ), title: Text('north-pdx-vistas'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/vistassoutheastpdx.dart b/web/vistassoutheastpdx.dart index cf8cd7a..16d3bb4 100644 --- a/web/vistassoutheastpdx.dart +++ b/web/vistassoutheastpdx.dart @@ -1,6 +1,9 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'prebuildcards.dart'; +import 'card_templates.dart'; +import 'dart:html' as html; +import 'vistas.dart'; class VistasSouthEastPDX extends StatefulWidget { @override @@ -8,20 +11,29 @@ class VistasSouthEastPDX extends StatefulWidget { } class _VistasSouthEastPDXState extends State { + void initState() { + html.window.history.pushState("","vistas-se-pdx","/vistas-se-pdx.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Vistas())); + }, + ); + } + ), title: Text('se-pdx-vistas'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/vistawalks.dart b/web/vistawalks.dart index 79dd5db..f35906b 100644 --- a/web/vistawalks.dart +++ b/web/vistawalks.dart @@ -1,6 +1,9 @@ import 'package:flutter_web/material.dart'; import 'defaults.dart'; import 'prebuildcards.dart'; +import 'card_templates.dart'; +import 'dart:html' as html; +import 'vistas.dart'; class VistaWalks extends StatefulWidget { @override @@ -8,20 +11,29 @@ class VistaWalks extends StatefulWidget { } class _VistaWalksState extends State { + void initState() { + html.window.history.pushState("","walkable-vistas","/walkable-vistas.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Vistas())); + }, + ); + } + ), title: Text('walkable vistas'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/walkable-street-areas.html b/web/walkable-street-areas.html new file mode 100644 index 0000000..c46abcd --- /dev/null +++ b/web/walkable-street-areas.html @@ -0,0 +1,11 @@ + + + + + walkable-street-areas + + + + + + diff --git a/web/walkable-vistas.html b/web/walkable-vistas.html new file mode 100644 index 0000000..692b08a --- /dev/null +++ b/web/walkable-vistas.html @@ -0,0 +1,11 @@ + + + + + walkable-vistas + + + + + + diff --git a/web/washington-hiking.html b/web/washington-hiking.html new file mode 100644 index 0000000..07b41cc --- /dev/null +++ b/web/washington-hiking.html @@ -0,0 +1,11 @@ + + + + + washington-hiking + + + + + + diff --git a/web/washington-park.html b/web/washington-park.html new file mode 100644 index 0000000..9deaf24 --- /dev/null +++ b/web/washington-park.html @@ -0,0 +1,11 @@ + + + + + washington-park + + + + + + diff --git a/web/washington-state.html b/web/washington-state.html new file mode 100644 index 0000000..e8d4460 --- /dev/null +++ b/web/washington-state.html @@ -0,0 +1,11 @@ + + + + + washington-state + + + + + + diff --git a/web/washingtonhiking.dart b/web/washingtonhiking.dart index 8b07fd1..b27acef 100644 --- a/web/washingtonhiking.dart +++ b/web/washingtonhiking.dart @@ -1,6 +1,8 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; +import 'washingtonstate.dart'; class WashingtonHiking extends StatefulWidget { @override @@ -8,20 +10,29 @@ class WashingtonHiking extends StatefulWidget { } class _WashingtonHikingState extends State { + void initState() { + html.window.history.pushState("","washington-hiking","/washington-hiking.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => WashingtonState())); + }, + ); + } + ), title: Text('washington-hiking'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/washingtonpark.dart b/web/washingtonpark.dart index 2331478..cfee648 100644 --- a/web/washingtonpark.dart +++ b/web/washingtonpark.dart @@ -1,6 +1,10 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'prebuildcards.dart'; +import 'card_templates.dart'; +import 'northweststreetssights.dart'; +import 'attractions.dart'; class WashingtonPark extends StatefulWidget { @override @@ -8,6 +12,10 @@ class WashingtonPark extends StatefulWidget { } class _WashingtonParkState extends State { + void initState() { + html.window.history.pushState("","washington-park","/washington-park.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( @@ -16,12 +24,7 @@ class _WashingtonParkState extends State { centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, @@ -35,6 +38,18 @@ class _WashingtonParkState extends State { roseGarden(), hoytArboretum(), pittockMansion(), + InkWell( + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => NorthWestStreetsSights())); + }, + child: cardOne('(Back to as long as you are in NW Portland)'), + ), + InkWell( + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Attractions())); + }, + child: cardOne('(Back to must see and do'), + ), ], ), ), diff --git a/web/washingtonstate.dart b/web/washingtonstate.dart index b31b841..c6c8561 100644 --- a/web/washingtonstate.dart +++ b/web/washingtonstate.dart @@ -1,8 +1,10 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; import 'prebuildcards.dart'; import 'washingtonhiking.dart'; +import 'attractions.dart'; class WashingtonState extends StatefulWidget { @override @@ -10,21 +12,29 @@ class WashingtonState extends StatefulWidget { } class _WashingtonStateState extends State { - + void initState() { + html.window.history.pushState("","washington-state","/washington-state.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Attractions())); + }, + ); + } + ), title: Text('WashingtonState'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, @@ -39,8 +49,8 @@ class _WashingtonStateState extends State { hanfordReachNationalMonument(), channeledScablands(), InkWell( - onTap: () async { - await Navigator.push(context, MaterialPageRoute(builder: (context) => WashingtonHiking())); + onTap: (){ + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => WashingtonHiking())); }, child: cardOne('Hiking in Washington State.'), ), diff --git a/web/west-willamette-valley-sights.html b/web/west-willamette-valley-sights.html new file mode 100644 index 0000000..20cdbd7 --- /dev/null +++ b/web/west-willamette-valley-sights.html @@ -0,0 +1,11 @@ + + + + + west-willamette-valley-sights + + + + + + diff --git a/web/west-willamette-valley.html b/web/west-willamette-valley.html new file mode 100644 index 0000000..65ff912 --- /dev/null +++ b/web/west-willamette-valley.html @@ -0,0 +1,11 @@ + + + + + west-willamette-valley + + + + + + diff --git a/web/westwillamettevalley.dart b/web/westwillamettevalley.dart index fd0aa51..30d6f7b 100644 --- a/web/westwillamettevalley.dart +++ b/web/westwillamettevalley.dart @@ -1,6 +1,8 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'card_templates.dart'; +import 'smalltowns.dart'; class WestWillametteValley extends StatefulWidget { @override @@ -8,20 +10,29 @@ class WestWillametteValley extends StatefulWidget { } class _WestWillametteValleyState extends State { + void initState() { + html.window.history.pushState("","west-willamette-valley","/west-willamette-valley.html"); + super.initState(); + } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: Text('walkable small-towns\nwith bars-restaurants'), + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => SmallTowns())); + }, + ); + } + ), + title: Text('west willamette valley'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue, diff --git a/web/westwillamettevalleysights.dart b/web/westwillamettevalleysights.dart index abc792d..bad4ac8 100644 --- a/web/westwillamettevalleysights.dart +++ b/web/westwillamettevalleysights.dart @@ -1,7 +1,9 @@ import 'package:flutter_web/material.dart'; +import 'dart:html' as html; import 'defaults.dart'; import 'prebuildcards.dart'; import 'card_templates.dart'; +import 'attractions.dart'; class WestWillametteValleySights extends StatefulWidget { @override @@ -9,6 +11,10 @@ class WestWillametteValleySights extends StatefulWidget { } class _WestWillametteValleySightsState extends State { + void initState() { + html.window.history.pushState("","west-willamette-valley-sights","/west-willamette-valley-sights.html"); + super.initState(); + } @override Widget build(BuildContext context) { String _wineTastingString = 'Newberg-Dundee is Oregon\'s biggest wine tasting region.'; @@ -16,16 +22,21 @@ class _WestWillametteValleySightsState extends State _wineTastingString += ' of drunk jerks in Newberg at 1 or 2 am.'; return Scaffold( appBar: AppBar( + leading: Builder( + builder: (BuildContext context) { + return IconButton( + icon: Icon(Icons.arrow_back), + onPressed: () { + Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => Attractions())); + }, + ); + } + ), title: Text('west willamette valley sights'), centerTitle: true, backgroundColor: navy, actions: [ - IconButton( - icon: Icon(Icons.home), - onPressed: () { - Navigator.of(context).popUntil((route) => route.isFirst); - }, - ), + Home(context), ], ), backgroundColor: peacockBlue,