diff options
111 files changed, 397 insertions, 1790 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index d5b4e22ca..1d68459a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ - SVG assets for core elements like button icons and map controls #1888 - Remove unneeded 2x PNG fallback images. - Individual cobrands can disable social login #1890 + - Improve performance of various pages, especially front. #1903 - Bugfixes - Shortlist menu item always remains a link #1855 - Fix encoded entities in RSS output. #1859 diff --git a/conf/general.yml-example b/conf/general.yml-example index 72b5fbaa3..d205061ef 100644 --- a/conf/general.yml-example +++ b/conf/general.yml-example @@ -48,11 +48,9 @@ STAGING_SITE: 1 # this to 1 if you want a staging site to route reports as normal. # - skip_checks: Manual testing of multiple cobrands can be made easier by # skipping some checks they have in them, if this variable is set. -# - enable_appcache: Whether the appcache should be active. STAGING_FLAGS: send_reports: 0 skip_checks: 0 - enable_appcache: 0 # What to use as front page/alert example places placeholder # Defaults to High Street, Main Street diff --git a/perllib/FixMyStreet/App.pm b/perllib/FixMyStreet/App.pm index a0477ca40..1eb197e38 100644 --- a/perllib/FixMyStreet/App.pm +++ b/perllib/FixMyStreet/App.pm @@ -212,6 +212,8 @@ sub setup_request { Memcached::set_namespace( FixMyStreet->config('FMS_DB_NAME') . ":" ); FixMyStreet::Map::set_map_class( $cobrand->map_type || $c->get_param('map_override') ); + # All pages need this, either loading it or prefetching it + $c->stash->{map_js} = FixMyStreet::Map::map_javascript(); unless ( FixMyStreet->config('MAPIT_URL') ) { my $port = $c->req->uri->port; diff --git a/perllib/FixMyStreet/App/Controller/Offline.pm b/perllib/FixMyStreet/App/Controller/Offline.pm index dceccc81f..7b17bb569 100644 --- a/perllib/FixMyStreet/App/Controller/Offline.pm +++ b/perllib/FixMyStreet/App/Controller/Offline.pm @@ -11,7 +11,6 @@ FixMyStreet::App::Controller::Offline - Catalyst Controller =head1 DESCRIPTION Offline pages Catalyst Controller. -On staging site, appcache only for people who want it. =head1 METHODS @@ -19,8 +18,7 @@ On staging site, appcache only for people who want it. sub have_appcache : Private { my ($self, $c) = @_; - return $c->user_exists && $c->user->has_body_permission_to('planned_reports') - && !FixMyStreet->staging_flag('enable_appcache', 0); + return $c->user_exists && $c->user->has_body_permission_to('planned_reports'); } sub manifest : Path("/offline/appcache.manifest") { diff --git a/perllib/FixMyStreet/Cobrand/Angus.pm b/perllib/FixMyStreet/Cobrand/Angus.pm index 51a3da56a..056101574 100644 --- a/perllib/FixMyStreet/Cobrand/Angus.pm +++ b/perllib/FixMyStreet/Cobrand/Angus.pm @@ -24,6 +24,8 @@ sub example_places { return ( 'DD8 3AP', "Canmore Street" ); } +sub map_type { 'Angus' } + sub default_show_name { 0 } sub disambiguate_location { diff --git a/perllib/FixMyStreet/Map.pm b/perllib/FixMyStreet/Map.pm index e0e3c3128..0c75ab891 100644 --- a/perllib/FixMyStreet/Map.pm +++ b/perllib/FixMyStreet/Map.pm @@ -67,6 +67,10 @@ sub display_map { return $map_class->display_map(@_); } +sub map_javascript { + $map_class->map_javascript; +} + sub map_features { my ( $c, %p ) = @_; diff --git a/perllib/FixMyStreet/Map/Angus.pm b/perllib/FixMyStreet/Map/Angus.pm new file mode 100644 index 000000000..98f5373c1 --- /dev/null +++ b/perllib/FixMyStreet/Map/Angus.pm @@ -0,0 +1,18 @@ +# FixMyStreet:Map::Angus +# More JavaScript, for street assets + +package FixMyStreet::Map::Angus; +use base 'FixMyStreet::Map::FMS'; + +use strict; + +sub map_javascript { [ + '/vendor/OpenLayers/OpenLayers.angus.js', + '/js/map-OpenLayers.js', + '/js/map-bing-ol.js', + '/js/map-fms.js', + '/cobrands/fixmystreet/assets.js', + '/cobrands/angus/js.js', +] } + +1; diff --git a/perllib/FixMyStreet/Map/Bing.pm b/perllib/FixMyStreet/Map/Bing.pm index e62406349..68c9fea32 100644 --- a/perllib/FixMyStreet/Map/Bing.pm +++ b/perllib/FixMyStreet/Map/Bing.pm @@ -8,7 +8,11 @@ use strict; sub map_type { '' } -sub map_template { 'bing' } +sub map_javascript { [ + '/vendor/OpenLayers/OpenLayers.fixmystreet.js', + '/js/map-OpenLayers.js', + '/js/map-bing-ol.js', +] } sub copyright { '' } diff --git a/perllib/FixMyStreet/Map/Bristol.pm b/perllib/FixMyStreet/Map/Bristol.pm index 0e3079b0b..a75bb5eb9 100644 --- a/perllib/FixMyStreet/Map/Bristol.pm +++ b/perllib/FixMyStreet/Map/Bristol.pm @@ -58,6 +58,13 @@ sub copyright { sub map_template { 'bristol' } +sub map_javascript { [ + '/vendor/OpenLayers/OpenLayers.bristol.js', + '/js/map-OpenLayers.js', + '/js/map-wmts-base.js', + '/js/map-wmts-bristol.js', +] } + # Reproject a WGS84 lat/lon into BNG easting/northing sub reproject_from_latlon($$$) { my ($self, $lat, $lon) = @_; diff --git a/perllib/FixMyStreet/Map/Bromley.pm b/perllib/FixMyStreet/Map/Bromley.pm index 0cd36a2ac..1310c2a5a 100644 --- a/perllib/FixMyStreet/Map/Bromley.pm +++ b/perllib/FixMyStreet/Map/Bromley.pm @@ -9,7 +9,13 @@ use base 'FixMyStreet::Map::FMS'; use strict; -sub map_template { 'bromley' } +sub map_javascript { [ + '/vendor/OpenLayers/OpenLayers.fixmystreet.js', + '/js/map-OpenLayers.js', + '/js/map-bing-ol.js', + '/js/map-fms.js', + '/cobrands/bromley/map.js', +] } sub map_tile_base { '-', "https://%sfix.bromley.gov.uk/tilma/%d/%d/%d.png"; diff --git a/perllib/FixMyStreet/Map/FMS.pm b/perllib/FixMyStreet/Map/FMS.pm index c38f8baca..13c7f9d87 100644 --- a/perllib/FixMyStreet/Map/FMS.pm +++ b/perllib/FixMyStreet/Map/FMS.pm @@ -11,6 +11,13 @@ use strict; sub map_template { 'fms' } +sub map_javascript { [ + '/vendor/OpenLayers/OpenLayers.fixmystreet.js', + '/js/map-OpenLayers.js', + '/js/map-bing-ol.js', + '/js/map-fms.js', +] } + sub map_tile_base { '-', "//%stilma.mysociety.org/sv/%d/%d/%d.png"; } diff --git a/perllib/FixMyStreet/Map/Google.pm b/perllib/FixMyStreet/Map/Google.pm index 8ddf4f4e9..f40eff167 100644 --- a/perllib/FixMyStreet/Map/Google.pm +++ b/perllib/FixMyStreet/Map/Google.pm @@ -13,6 +13,11 @@ use Utils; use constant ZOOM_LEVELS => 6; use constant MIN_ZOOM_LEVEL => 13; +sub map_javascript { [ + "http://maps.googleapis.com/maps/api/js?sensor=false", + '/js/map-google.js', +] } + # display_map C PARAMS # PARAMS include: # latitude, longitude for the centre point of the map diff --git a/perllib/FixMyStreet/Map/GoogleOL.pm b/perllib/FixMyStreet/Map/GoogleOL.pm index 55032d707..44d0e77e7 100644 --- a/perllib/FixMyStreet/Map/GoogleOL.pm +++ b/perllib/FixMyStreet/Map/GoogleOL.pm @@ -13,4 +13,16 @@ sub map_type { '' } sub map_template { 'google-ol' } +sub map_javascript { + my $google_maps_url = "https://maps.googleapis.com/maps/api/js?v=3"; + my $key = FixMyStreet->config('GOOGLE_MAPS_API_KEY'); + $google_maps_url .= "&key=$key" if $key; + [ + $google_maps_url, + '/vendor/OpenLayers/OpenLayers.google.js', + '/js/map-OpenLayers.js', + '/js/map-google-ol.js', + ] +} + 1; diff --git a/perllib/FixMyStreet/Map/OSM.pm b/perllib/FixMyStreet/Map/OSM.pm index 76af99d36..47d6eeee7 100644 --- a/perllib/FixMyStreet/Map/OSM.pm +++ b/perllib/FixMyStreet/Map/OSM.pm @@ -18,6 +18,12 @@ sub map_type { 'OpenLayers.Layer.OSM.Mapnik' } sub map_template { 'osm' } +sub map_javascript { [ + '/vendor/OpenLayers/OpenLayers.fixmystreet.js', + '/js/map-OpenLayers.js', + '/js/map-OpenStreetMap.js', +] } + sub map_tiles { my ( $self, %params ) = @_; my ( $x, $y, $z ) = ( $params{x_tile}, $params{y_tile}, $params{zoom_act} ); diff --git a/perllib/FixMyStreet/Map/OSM/MapQuest.pm b/perllib/FixMyStreet/Map/OSM/MapQuest.pm index ac80e61b5..8b24e1ba2 100644 --- a/perllib/FixMyStreet/Map/OSM/MapQuest.pm +++ b/perllib/FixMyStreet/Map/OSM/MapQuest.pm @@ -11,8 +11,6 @@ use strict; sub map_type { 'OpenLayers.Layer.OSM.MapQuestOpen' } -sub map_template { 'mapquest-attribution' } - sub map_tiles { my ( $self, %params ) = @_; my ( $x, $y, $z ) = ( $params{x_tile}, $params{y_tile}, $params{zoom_act} ); diff --git a/perllib/FixMyStreet/Map/OSM/StreetView.pm b/perllib/FixMyStreet/Map/OSM/StreetView.pm index 12fbdb19d..3281faa35 100644 --- a/perllib/FixMyStreet/Map/OSM/StreetView.pm +++ b/perllib/FixMyStreet/Map/OSM/StreetView.pm @@ -11,7 +11,11 @@ use strict; sub map_type { '' } -sub map_template { 'osm-streetview' } +sub map_javascript { [ + '/vendor/OpenLayers/OpenLayers.fixmystreet.js', + '/js/map-OpenLayers.js', + '/js/map-streetview.js', +] } sub base_tile_url { return 'os.openstreetmap.org/sv'; diff --git a/perllib/FixMyStreet/Map/OSM/TonerLite.pm b/perllib/FixMyStreet/Map/OSM/TonerLite.pm index b0d12c453..b50611f3d 100644 --- a/perllib/FixMyStreet/Map/OSM/TonerLite.pm +++ b/perllib/FixMyStreet/Map/OSM/TonerLite.pm @@ -16,7 +16,12 @@ use strict; sub map_type { 'OpenLayers.Layer.Stamen' } -sub map_template { 'osm-toner-lite' } +sub map_javascript { [ + '/vendor/OpenLayers/OpenLayers.fixmystreet.js', + "https://stamen-maps.a.ssl.fastly.net/js/tile.stamen.js?v1.3.0", + '/js/map-OpenLayers.js', + '/js/map-toner-lite.js', +] } sub copyright { 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://www.openstreetmap.org/copyright">ODbL</a>.' diff --git a/perllib/FixMyStreet/Map/Zurich.pm b/perllib/FixMyStreet/Map/Zurich.pm index b9d6e3297..8b4a3d931 100644 --- a/perllib/FixMyStreet/Map/Zurich.pm +++ b/perllib/FixMyStreet/Map/Zurich.pm @@ -65,6 +65,13 @@ sub copyright { sub map_template { 'zurich' } +sub map_javascript { [ + '/vendor/OpenLayers/OpenLayers.zurich.js', + '/js/OpenLayers.Projection.CH1903Plus.js', + '/js/map-OpenLayers.js', + '/js/map-wmts-base.js', + '/js/map-wmts-zurich.js', +] } # Reproject a WGS84 lat/lon into Swiss easting/northing sub reproject_from_latlon($$$) { diff --git a/t/map/tests.t b/t/map/tests.t new file mode 100644 index 000000000..f34ccfa6d --- /dev/null +++ b/t/map/tests.t @@ -0,0 +1,29 @@ +use FixMyStreet::Map; +use Test::More; + +my $requires = { + 'Angus' => 'angus/js.js', + 'Bing' => 'map-bing-ol.js', + 'Bristol' => 'map-wmts-bristol.js', + 'Bromley' => 'bromley/map.js', + 'FMS' => 'map-fms.js', + 'Google' => 'map-google.js', + 'GoogleOL' => 'map-google-ol.js', + 'OSM' => 'OpenStreetMap.js', + 'CycleMap' => 'OpenStreetMap.js', + 'MapQuest' => 'OpenStreetMap.js', + 'StreetView' => 'map-streetview.js', + 'TonerLite' => 'map-toner-lite.js', + 'Zurich' => 'map-wmts-zurich.js', +}; + +foreach (FixMyStreet::Map->maps) { + next if /WMTSBase/; # Only its subclasses have JS + my $js = $_->map_javascript; + my $test_file = $js->[-1]; + s/.*:://; + isnt $requires->{$_}, undef, "$_ requires present"; + like $test_file, qr/$requires->{$_}/, "$_ JS okay"; +} + +done_testing(); diff --git a/templates/web/angus/maps/fms.html b/templates/web/angus/maps/fms.html deleted file mode 100644 index 61c56f121..000000000 --- a/templates/web/angus/maps/fms.html +++ /dev/null @@ -1,11 +0,0 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.angus.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-bing-ol.js'), - version('/js/map-fms.js'), - version('/cobrands/fixmystreet/assets.js'), - version('/cobrands/angus/js.js'), -]; -map_html = INCLUDE maps/openlayers.html include_key = 1 -%] diff --git a/templates/web/base/admin/report_edit.html b/templates/web/base/admin/report_edit.html index c58b2d605..ff99bb907 100644 --- a/templates/web/base/admin/report_edit.html +++ b/templates/web/base/admin/report_edit.html @@ -1,8 +1,8 @@ [% PROCESS "maps/${map.type}.html" admin = 1; + SET bodyclass = 'mappage with-notes'; INCLUDE 'admin/header.html' - title = tprintf(loc('Editing problem %d'), problem.id ), - bodyclass = 'mappage with-notes'; + title = tprintf(loc('Editing problem %d'), problem.id ); PROCESS 'admin/report_blocks.html' -%] diff --git a/templates/web/base/alert/index.html b/templates/web/base/alert/index.html index 38ed6f6f5..1442e6bdc 100644 --- a/templates/web/base/alert/index.html +++ b/templates/web/base/alert/index.html @@ -1,4 +1,5 @@ -[% INCLUDE 'header.html', title = loc('Local RSS feeds and email alerts'), bodyclass = 'fullwidthpage' %] +[% SET bodyclass = 'alertpage fullwidthpage' %] +[% INCLUDE 'header.html', title = loc('Local RSS feeds and email alerts') %] <h1>[% loc('Local RSS feeds and email alerts') %]</h1> diff --git a/templates/web/base/around/index.html b/templates/web/base/around/index.html index f2be5575c..8f6af6225 100644 --- a/templates/web/base/around/index.html +++ b/templates/web/base/around/index.html @@ -1,5 +1,6 @@ [% pre_container_extra = INCLUDE 'around/postcode_form.html' %] -[% INCLUDE 'header.html', title = loc('Reporting a problem'), bodyclass = 'frontpage fullwidthpage' %] +[% SET bodyclass = 'frontpage fullwidthpage' ~%] +[% INCLUDE 'header.html', title = loc('Reporting a problem') %] [% # NOTE ON PARTIAL REPORTS: diff --git a/templates/web/base/around/lookup_by_ref.html b/templates/web/base/around/lookup_by_ref.html index 5c08a7ceb..747354c1e 100644 --- a/templates/web/base/around/lookup_by_ref.html +++ b/templates/web/base/around/lookup_by_ref.html @@ -1,5 +1,6 @@ [% pre_container_extra = INCLUDE 'around/postcode_form.html', pc = ref %] -[% INCLUDE 'header.html', title = loc('Reporting a problem'), bodyclass = 'frontpage fullwidthpage' %] +[% SET bodyclass = 'frontpage fullwidthpage' ~%] +[% INCLUDE 'header.html', title = loc('Reporting a problem') %] [% IF matching_reports %] <p>[% loc('We found more than one match for that problem reference:') %]</p> diff --git a/templates/web/base/common_header_tags.html b/templates/web/base/common_header_tags.html index 321e45649..f65f1e336 100644 --- a/templates/web/base/common_header_tags.html +++ b/templates/web/base/common_header_tags.html @@ -33,3 +33,21 @@ [% "$title :: " | html IF title %] [% site_name -%] </title> + +[% IF bodyclass.match('frontpage') %] + <link rel="prefetch" href="[% version('/js/validation_rules.js') %]"> + [%~ IF NOT c.user_exists OR NOT (c.user.from_body OR c.user.is_superuser) %] + <link rel="prefetch" href="[% version('/jslib/jquery-1.7.2.min.js') %]"> + [%~ END %] + <link rel="prefetch" href="[% version('/js/jquery.multi-select.js') %]"> + <link rel="prefetch" href="[% version('/vendor/jquery.validate.min.js') %]"> + <link rel="prefetch" href="[% version('/cobrands/fixmystreet/fixmystreet.js') %]"> +[% END %] +[% IF NOT bodyclass.match('mappage') %] + [% FOR script IN map_js %] + <link rel="prefetch" href="[% IF script.match('^/'); version(script); ELSE; script; END %]"> + [% END %] + <link rel="prefetch" href="[% version('/cobrands/fixmystreet/map.js') %]"> + <link rel="prefetch" href="[% version('/vendor/dropzone.min.js') %]"> + <link rel="prefetch" href="[% version('/vendor/fancybox/jquery.fancybox-1.3.4.pack.js') %]"> +[% END %] diff --git a/templates/web/base/common_scripts.html b/templates/web/base/common_scripts.html index 057ecfd67..c6225e8fa 100644 --- a/templates/web/base/common_scripts.html +++ b/templates/web/base/common_scripts.html @@ -7,28 +7,75 @@ scripts = []; scripts.push( start _ "/js/translation_strings." _ lang_code _ ".js?" _ Math.int( date.now / 3600 ), - version('/jslib/jquery-1.7.2.min.js'), - version('/js/validation_rules.js'), - version('/vendor/jquery.validate.min.js'), - version('/vendor/dropzone.min.js'), - version('/js/jquery.multi-select.js'), - version('/cobrands/fixmystreet/fixmystreet.js'), ); -IF c.user_exists AND (c.user.from_body OR c.user.is_superuser); +SET jquery_loaded = 0; +SET geolocation_loaded = 0; +IF bodyclass.match('frontpage'); + SET geolocation_loaded = 1; scripts.push( - version('/cobrands/fixmystreet/staff.js') + version('/js/front.js'), + version('/js/geolocation.js'), + ); +ELSIF bodyclass.match('alertpage'); + SET geolocation_loaded = 1; + scripts.push( + version('/js/geolocation.js'), + ); +ELSE; + SET jquery_loaded = 1; + scripts.push( + version('/js/validation_rules.js'), + version('/jslib/jquery-1.7.2.min.js'), + version('/js/jquery.multi-select.js'), + version('/vendor/jquery.validate.min.js'), + version('/cobrands/fixmystreet/fixmystreet.js'), ); END; -FOR script IN map_js; +FOR script IN extra_js; scripts.push(script); END; -scripts.push( - version('/cobrands/fixmystreet/map.js'), - version('/cobrands/fixmystreet/offline.js'), -); +IF c.user_exists AND (c.user.from_body OR c.user.is_superuser); + IF NOT geolocation_loaded; + scripts.push( + version('/js/geolocation.js'), + ); + END; + IF NOT jquery_loaded; + scripts.push( + version('/jslib/jquery-1.7.2.min.js'), + ); + END; + scripts.push( + version('/cobrands/fixmystreet/staff.js') + ); + IF c.user.has_body_permission_to('planned_reports'); + scripts.push( + version('/cobrands/fixmystreet/offline.js'), + ); + END; +END; + +IF bodyclass.match('mappage'); + FOR script IN map_js; + IF script.match('^/'); + scripts.push(version(script)); + ELSE; + scripts.push(script); + END; + END; + scripts.push( + version('/cobrands/fixmystreet/map.js'), + version('/vendor/dropzone.min.js'), + version('/vendor/fancybox/jquery.fancybox-1.3.4.pack.js'), + ); +ELSE; + scripts.push( + version('/cobrands/fixmystreet/prefetch-polyfill.js'), + ); +END; IF admin; scripts.push( @@ -37,10 +84,6 @@ IF admin; ); END; -FOR script IN extra_js; - scripts.push(script); -END; - TRY; PROCESS 'footer_extra_js.html'; CATCH file; diff --git a/templates/web/base/front/javascript.html b/templates/web/base/front/javascript.html deleted file mode 100644 index 69eb626f7..000000000 --- a/templates/web/base/front/javascript.html +++ /dev/null @@ -1,12 +0,0 @@ -[% -# Assume using OpenStreetMap maps -map_js = [ - version('/vendor/yepnope.js'), - [ version('/cobrands/fixmystreet/front.js'), { - id = 'script_front', - 'data-scripts' = version('/vendor/OpenLayers/OpenLayers.fixmystreet.js') _ ',' _ - version('/js/map-OpenLayers.js') _ ',' _ - version('/js/map-OpenStreetMap.js') - } ], -] -%] diff --git a/templates/web/base/header.html b/templates/web/base/header.html index 37c81f454..faba02519 100644 --- a/templates/web/base/header.html +++ b/templates/web/base/header.html @@ -21,11 +21,6 @@ [% INCLUDE 'header_opengraph.html' %] [% INCLUDE 'header/css.html' %] [% INCLUDE 'common_header_tags.html' %] - - [% IF c.req.uri.host == 'osm.fixmystreet.com' %] - <link rel="canonical" href="https://www.fixmystreet.com[% c.req.uri.path_query %]"> - [% END %] - [% TRY %][% PROCESS 'header_extra.html' %][% CATCH file %][% END %] </head> diff --git a/templates/web/base/index.html b/templates/web/base/index.html index 92c6b1eed..620c1a2be 100644 --- a/templates/web/base/index.html +++ b/templates/web/base/index.html @@ -1,7 +1,6 @@ -[% PROCESS 'front/javascript.html' %] - [% pre_container_extra = PROCESS 'around/postcode_form.html' %] -[% INCLUDE 'header.html', title = '', bodyclass = 'frontpage fullwidthpage' inline_css = 1 %] +[% SET bodyclass = 'frontpage fullwidthpage' %] +[% INCLUDE 'header.html', title = '', inline_css = 1 %] [% IF error %] <p class="form-error">[% error %]</p> diff --git a/templates/web/base/maps/bing.html b/templates/web/base/maps/bing.html deleted file mode 100644 index df45eced5..000000000 --- a/templates/web/base/maps/bing.html +++ /dev/null @@ -1,8 +0,0 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-bing-ol.js'), -]; -map_html = INCLUDE maps/openlayers.html -%] diff --git a/templates/web/base/maps/fms.html b/templates/web/base/maps/fms.html index ff5b4eab6..286ecc8ff 100644 --- a/templates/web/base/maps/fms.html +++ b/templates/web/base/maps/fms.html @@ -1,9 +1,3 @@ [% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-bing-ol.js'), - version('/js/map-fms.js'), -]; map_html = INCLUDE maps/openlayers.html include_key = 1 %] diff --git a/templates/web/base/maps/google-ol.html b/templates/web/base/maps/google-ol.html index d88043403..3cd21fab3 100644 --- a/templates/web/base/maps/google-ol.html +++ b/templates/web/base/maps/google-ol.html @@ -1,17 +1,3 @@ -[% -google_maps_url = "https://maps.googleapis.com/maps/api/js?v=3"; -IF c.config.GOOGLE_MAPS_API_KEY; - google_maps_url = google_maps_url _ "&key=" _ c.config.GOOGLE_MAPS_API_KEY; -END; - -map_js = [ - google_maps_url, - version('/vendor/OpenLayers/OpenLayers.google.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-google-ol.js'), -] -%] - [% map_sub_links = BLOCK %] <a class="hidden-nojs" id="map_layer_toggle" href="">[% loc('Satellite') %]</a> [% END %] diff --git a/templates/web/base/maps/google.html b/templates/web/base/maps/google.html index ec9885a04..e8c07b113 100644 --- a/templates/web/base/maps/google.html +++ b/templates/web/base/maps/google.html @@ -6,12 +6,6 @@ color: #000; } </style> -[% -map_js = [ - "http://maps.googleapis.com/maps/api/js?sensor=false", - version('/js/map-google.js'), -] -%] [% map_html = BLOCK %] <script nonce="[% csp_nonce %]"> diff --git a/templates/web/base/maps/mapquest-attribution.html b/templates/web/base/maps/mapquest-attribution.html deleted file mode 100644 index 43d6106a5..000000000 --- a/templates/web/base/maps/mapquest-attribution.html +++ /dev/null @@ -1,8 +0,0 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-OpenStreetMap.js'), -]; -map_html = INCLUDE maps/openlayers.html -%] diff --git a/templates/web/base/maps/osm-streetview.html b/templates/web/base/maps/osm-streetview.html deleted file mode 100644 index f68f53039..000000000 --- a/templates/web/base/maps/osm-streetview.html +++ /dev/null @@ -1,8 +0,0 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-streetview.js'), -]; -map_html = INCLUDE maps/openlayers.html -%] diff --git a/templates/web/base/maps/osm-toner-lite.html b/templates/web/base/maps/osm-toner-lite.html deleted file mode 100644 index 22b6636c5..000000000 --- a/templates/web/base/maps/osm-toner-lite.html +++ /dev/null @@ -1,9 +0,0 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - "https://stamen-maps.a.ssl.fastly.net/js/tile.stamen.js?v1.3.0", - version('/js/map-OpenLayers.js'), - version('/js/map-toner-lite.js'), -]; -map_html = INCLUDE maps/openlayers.html -%] diff --git a/templates/web/base/maps/osm.html b/templates/web/base/maps/osm.html index 43d6106a5..51c3ad388 100644 --- a/templates/web/base/maps/osm.html +++ b/templates/web/base/maps/osm.html @@ -1,8 +1,3 @@ [% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-OpenStreetMap.js'), -]; map_html = INCLUDE maps/openlayers.html %] diff --git a/templates/web/base/report/_inspect.html b/templates/web/base/report/_inspect.html index e4e3ac9e6..5088332ce 100644 --- a/templates/web/base/report/_inspect.html +++ b/templates/web/base/report/_inspect.html @@ -44,7 +44,7 @@ <a target="_blank" href="https://www.google.com/maps/dir/Current+Location/[% problem.latitude %],[% problem.longitude %]" class="btn btn--block btn--navigate">[% loc('Navigate to this problem') %]</a> </p> <p> - <a href="#" class="btn btn--block btn--geolocate" id="geolocate_link">[% loc('Set to my current location') %]</a> + <a href="#" class="btn btn--block btn--geolocate">[% loc('Set to my current location') %]</a> </p> </div> diff --git a/templates/web/base/report/photo-js.html b/templates/web/base/report/photo-js.html index 8c8c91669..6f3dd55d1 100644 --- a/templates/web/base/report/photo-js.html +++ b/templates/web/base/report/photo-js.html @@ -1,6 +1,3 @@ [% extra_css = BLOCK %] <link rel="stylesheet" href="[% version('/vendor/fancybox/jquery.fancybox-1.3.4.css') %]"> [% END %] -[% extra_js = [ - version('/vendor/fancybox/jquery.fancybox-1.3.4.pack.js') -] %] diff --git a/templates/web/bristol/maps/bristol.html b/templates/web/bristol/maps/bristol.html index f13ea4d32..1dcc82635 100644 --- a/templates/web/bristol/maps/bristol.html +++ b/templates/web/bristol/maps/bristol.html @@ -1,12 +1,3 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.bristol.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-wmts-base.js'), - version('/js/map-wmts-bristol.js'), -] -%] - [% map_html = BLOCK %] [% INCLUDE maps/openlayers.html %] [% INCLUDE maps/wmts_config.html %] diff --git a/templates/web/bromley/maps/bromley.html b/templates/web/bromley/maps/bromley.html deleted file mode 100644 index 71a150f5a..000000000 --- a/templates/web/bromley/maps/bromley.html +++ /dev/null @@ -1,10 +0,0 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.fixmystreet.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-bing-ol.js'), - version('/js/map-fms.js'), - version('/cobrands/bromley/map.js'), -]; -map_html = INCLUDE maps/openlayers.html include_key = 1 -%] diff --git a/templates/web/fixmystreet.com/about/professional.html b/templates/web/fixmystreet.com/about/professional.html deleted file mode 100644 index 0978d19bc..000000000 --- a/templates/web/fixmystreet.com/about/professional.html +++ /dev/null @@ -1,720 +0,0 @@ -[% extra_css = BLOCK %] - <link rel="stylesheet" href="[% version('/cobrands/fixmystreet.com/fmsforcouncils.css') %]"> - <link href="https://fonts.googleapis.com/css?family=Rubik:400,500" rel="stylesheet"> -[% END %] - -[% INCLUDE header.html - title = 'FixMyStreet Professional', bodyclass = 'fms-for-councils fullwidthpage' -%] - -<div class="fixed-container"> - <div class="council-header"> - <h1 class="councils-logo">FixMyStreet Professional</h1> - </div> - <div class="councils-hero"> - <div class="councils-hero__presentation"> - <div class="councils-content-wrapper"> - <h2 class="councils-hero__title">FixMyStreet Professional: street reporting service for councils</h2> - <img class="councils-hero__product" src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png') %]" alt=""> - </div> - </div> - <div class="councils-hero__subtitle"> - <p class="councils-hero__subtitle__primary">Integrate FixMyStreet with any council system for smooth end-to-end report fulfilment</p> - <p class="councils-hero__subtitle__secondary">Residents, staff and contractors love FixMyStreet for its easy-use interfaces. - If you’re the budget-holder, you’ll love its sensible pricing, too.</p> - </div> - <div class="councils-hero__demo-access"> - <h2>Try FixMyStreet Professional right now, on our demo site</h2> - <form action="/contact/submit" method="post" class="councils-hero__demo-access__form js-fms-pro-demo-form"> - <div class="form-group"> - <label for="demo-name">Name</label> - <span class="required">required</span> - <input type="text" name="name" id="demo-name" required> - </div> - <div class="form-group"> - <label for="demo-email">Contact email</label> - <span class="required">required</span> - <input type="email" name="em" id="demo-email" required> - <p class="form-note">Ending in .gov.uk</p> - </div> - <div class="form-group"> - <label for="demo-phone">Contact phone number</label> - <input type="text" name="extra.phone" id="demo-phone"> - </div> - <div class="form-group"> - <label for="demo-job">Job title</label> - <input type="text" name="extra.job_title" id="demo-job"> - </div> - <div class="form-group submit-group"> - <input type="hidden" name="extra.referer" value="[% c.req.headers.referer | html %]"> - <input type="hidden" name="subject" value="Demo site request"> - <input type="hidden" name="message" value="This visitor was sent a link to demo.fixmystreet.com"> - <input type="hidden" name="recipient" value="bettercities"> - <input type="hidden" name="dest" value="from_council"> - <input type="hidden" name="success_url" value="https://demo.fixmystreet.com"> - <input type="submit" value="Let me in" class="btn"> - </div> - </form> - </div> - </div> - <div class="councils-sales councils-sales--benefits"> - <div class="councils-content-wrapper"> - <h2>Benefits</h2> - <div class="councils-sales__grid"> - <div class="councils-features__feature"> - <h3>Increase efficiency</h3> - <p>Route problems to the correct person, team, authority or contractor based on location, category and priority.</p> - </div> - <div class="councils-features__feature"> - <h3>Minimise duplication</h3> - <p>An open and transparent approach to local issue reporting that reduces incidents of repeat and duplicate reports.</p> - </div> - <div class="councils-features__feature"> - <h3>Streamline your process</h3> - <p>The first case-management service designed with councils, for councils. Streamline your process from customer service, through inspection to instruction and resolution.</p> - </div> - <div class="councils-features__feature"> - <h3>Stay flexible</h3> - <p>Open standards compliant for complete customer flexibility: support the landscape of service providers to further increase your reach.</p> - </div> - <div class="councils-features__feature"> - <h3>Work with your existing services</h3> - <p>Support for your existing mapping, asset, customer and case management services ensures that your solution works for your current processes and systems.</p> - </div> - <div class="councils-features__feature"> - <h3>Expand your reach</h3> - <p>Reports made within your boundaries are published to FixMyStreet.com’s one million visitors a year.</p> - </div> - </div> - </div> - </div> - - <div class="councils-pricing"> - <div class="councils-content-wrapper"> - <h2>Plans</h2> - <div class="councils-pricing__grid"> - - <table class="pricing-table"> - <caption class="visuallyhidden">Pricing and feature information for all FixMyStreet Pro tiers</caption> - <thead> - <tr> - <th scope="col" class="blank"> - <span class="visuallyhidden">Features</span> - </th> - <th scope="col"> - <span class="pricing-table__tier-name">Driveway</span> - </th> - <th scope="col"> - <span class="pricing-table__tier-name">Crescent</span> - </th> - <th scope="col"> - <span class="pricing-table__tier-name">Boulevard</span> - </th> - <th scope="col"> - <span class="pricing-table__tier-name">Avenue</span> - </th> - </tr> - </thead> - - <tbody> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Define problem categories and email contacts - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Dashboards - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">None</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - 1 customisable dashboard - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - Customisable dashboards for up to 3 teams - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - Customisable dashboards for up to 3 teams - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - FixMyStreet at your domain, with your branding - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - System integrations (eg: CONFIRM, Salesforce, Mayrise) - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">None</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">None</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - Up to 2 integrations - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - Up to 4 integrations - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Inspector specific views - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">None</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">None</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">None</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Moderate reports - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - De-duplicate reports - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Customer services agents can report on customer’s behalf - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Training - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - Training workshop for up to 12 staff - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - Training workshop for up to 40 staff - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - AddressBase integration - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Roadworks.org planned works integration - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Add asset locations - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Offline functionality - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Custom map tiles - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Custom geocoder - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr> - <th scope="row"> - <span class="pricing-table__feature-name"> - Add adopted roads - </span> - </th> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--no">No</i> - </span> - </td> - <td> - <span class="pricing-table__feature-value"> - <i class="boolean-icon boolean-icon--yes">Yes</i> - </span> - </td> - </tr> - <tr class="pricing-table__prices"> - <td> - <span class="pricing-table__price">Price</span> - </td> - <td> - <span class="pricing-table__price">Free</span> - </td> - <td> - <span class="pricing-table__price">£7500</span> - </td> - <td> - <span class="pricing-table__price">£20000</span> - </td> - <td> - <span class="pricing-table__price">£35000</span> - </td> - </tr> - </tbody> - - </table> - - </div> - </div> - </div> - - <div class="councils-clients"> - <h2>Clients</h2> - <div class="councils-clients__grid"> - <div class="councils-clients__client"> - <a href="https://fixmystreet.bristol.gov.uk/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png') %]" alt="Bristol City Council"> - </a> - </div> - <div class="councils-clients__client"> - <a href="https://fix.angus.gov.uk/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png') %]" alt="Angus Council"> - </a> - </div> - <div class="councils-clients__client"> - <a href="https://fixmystreet.oxfordshire.gov.uk/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png') %]" alt="Oxfordshire County Council"> - </a> - </div> - <div class="councils-clients__client"> - <a href="https://hart.fixmystreet.com/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png') %]" alt="Hart District Council"> - </a> - </div> - <div class="councils-clients__client"> - <a href="https://fix.bromley.gov.uk/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png') %]" alt="Bromley Council"> - </a> - </div> - <div class="councils-clients__client"> - <a href="https://www.zueriwieneu.ch/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png') %]" alt="Stadt Zürich"> - </a> - </div> - <div class="councils-clients__client"> - <a href="https://greenwich.fixmystreet.com/"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png') %]" alt="Royal Borough of Greenwich"> - </a> - </div> - </div> - </div> - - <div class="screenshot-of-themes"> - <div class="councils-content-wrapper"> - <img src="[% version('/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpg') %]" alt=""> - </div> - </div> - - <div class="councils-sales councils-sales--features"> - <div class="councils-content-wrapper"> - <h2>Features</h2> - <div class="councils-sales__grid"> - <div class="councils-features__feature"> - <div class="councils-features__screenshot"></div> - <h3>Map-centric problem reporting</h3> - <p>Handle any type of location-specific report within the nominated - county, borough or city; including geolocation and images. </p> - </div> - <div class="councils-features__feature"> - <div class="councils-features__screenshot"></div> - <h3>Mobile ready</h3> - <p>Companion mobile application for Android and iOS, so your customers - can report issues on the go and FixMyStreet is designed for optimal - display on desktop, tablet and mobile browsers.</p> - </div> - <div class="councils-features__feature"> - <div class="councils-features__screenshot"></div> - <h3>Our experience, your brand</h3> - <p>White-labelled product, branded to complement your existing services. - Extend your reach to over a million visitors on the nation’s most - popular local issues service, FixMyStreet.com.</p> - </div> - <div class="councils-features__feature"> - <div class="councils-features__screenshot"></div> - <h3>End-to-end case management</h3> - <p>A complete case management solution for customer services, - inspection and maintenance teams. Support for industry standard - mapping, asset, works and applications including Salesforce, Mayrise - and Confirm®.</p> - </div> - <div class="councils-features__feature"> - <div class="councils-features__screenshot"></div> - <h3>Inspection service</h3> - <p>Mobile optimised, offline capable planning, markup and instructing - service for your inspection teams.</p> - </div> - <div class="councils-features__feature"> - <div class="councils-features__screenshot"></div> - <h3>Customised reporting</h3> - <p>Supports category-specific report content and data, to help you - collect the details you need. Track service levels, highlight - bottlenecks and monitor contracts with area dashboards.</p> - </div> - </div> - </div> - </div> -<div class="council-order" id="order"> - <div class="councils-content-wrapper"> - <h2>Contact</h2> - <form action="/contact/submit" method="post"> - <div class="council-order__form"> - <div class="form-group"> - <p>Use any address ending in .gov.uk to verify that you are making contact from a council within the UK.</p> - <p>We’ll get right back to you to find out more about your needs.</p> - <p>If you are contacting FixMyStreet for any other reason, please see our <a href="/contact">main contact page</a>.</p> - </div> - <div class="form-group"> - <label for="name">Name</label> - <span class="required">required</span> - <input type="text" name="name" id="name" required> - </div> - <div class="form-group"> - <label for="email">Contact email</label> - <span class="required">required</span> - <input type="email" name="em" id="email" required> - <p class="form-note">Ending in .gov.uk</p> - </div> - <div class="form-group"> - <label for="extra.phone">Contact phone number</label> - <span class="required required--optional">optional</span> - <input type="text" name="extra.phone" id="extra.phone"> - </div> - <div class="form-group"> - <label for="email-newsletter" class="checkbox-label"> <input type="checkbox" name="extra.newsletter" value="Sign me up to the Better Cities newsletter" id="email-newsletter" class="checkbox-input"> Sign up for the Better Cities newsletter for news and insights on smarter technology for councils.</label> - </div> - <div class="form-group submit-group"> - <input type="hidden" name="extra.referer" value="[% c.req.headers.referer | html %]"> - <input type="hidden" name="subject" value="Councils submission"> - <input type="hidden" name="recipient" value="enquiries"> - <input type="hidden" name="dest" value="from_council"> - <input type="submit" value="Send"> - </div> - </div> - </form> - </div> - <div class="council-order__screenshot"> - </div> -</div> - - - - </div> - - -[% INCLUDE footer.html %] diff --git a/templates/web/fixmystreet.com/footer_extra_js.html b/templates/web/fixmystreet.com/footer_extra_js.html index d5ed1543d..cb1b78743 100644 --- a/templates/web/fixmystreet.com/footer_extra_js.html +++ b/templates/web/fixmystreet.com/footer_extra_js.html @@ -1,5 +1,16 @@ -[% scripts.push( - version('/vendor/OpenLayers.Projection.OrdnanceSurvey.js'), - version('/cobrands/fixmystreet.com/vendor/jquery.cookie.min.js'), - version('/cobrands/fixmystreet.com/js.js'), -) %] +[% +IF bodyclass.match('mappage'); + scripts.push( + version('/vendor/OpenLayers.Projection.OrdnanceSurvey.js'), + ); +END; +IF bodyclass.match('frontpage'); + scripts.push( + version('/cobrands/fixmystreet.com/front.js'), + ); +ELSIF NOT bodyclass.match('alertpage'); + scripts.push( + version('/cobrands/fixmystreet.com/js.js'), + ); +END; +%] diff --git a/templates/web/fixmystreet.com/front/javascript.html b/templates/web/fixmystreet.com/front/javascript.html deleted file mode 100644 index 4bf586b70..000000000 --- a/templates/web/fixmystreet.com/front/javascript.html +++ /dev/null @@ -1,12 +0,0 @@ -[% -map_js = [ - version('/vendor/yepnope.js'), - [ version('/cobrands/fixmystreet/front.js'), { - id = "script_front", - 'data-scripts' = version('/vendor/OpenLayers/OpenLayers.fixmystreet.js') _ ',' _ - version('/js/map-OpenLayers.js') _ ',' _ - version('/js/map-bing-ol.js') _ ',' _ - version('/js/map-fms.js') - } ], -] -%] diff --git a/templates/web/fixmystreet.com/header_extra.html b/templates/web/fixmystreet.com/header_extra.html index dc0f86693..74280a6f9 100644 --- a/templates/web/fixmystreet.com/header_extra.html +++ b/templates/web/fixmystreet.com/header_extra.html @@ -1,3 +1,15 @@ +[% IF NOT bodyclass.match('mappage') %] +<link rel="prefetch" href="[% version('/vendor/OpenLayers.Projection.OrdnanceSurvey.js') %]"> +[% END %] + +[% IF bodyclass.match('frontpage') %] +<link rel="prefetch" href="[% version('/cobrands/fixmystreet.com/js.js') %]"> +[% END %] + +[% IF c.req.uri.host == 'osm.fixmystreet.com' %] + <link rel="canonical" href="https://www.fixmystreet.com[% c.req.uri.path_query %]"> +[% END %] + <meta name='theme-color' content='#ffd000'> <link rel="Shortcut Icon" type="image/x-icon" href="/cobrands/fixmystreet.com/favicon.ico"> diff --git a/templates/web/zurich/admin/report_edit-sdm.html b/templates/web/zurich/admin/report_edit-sdm.html index 9f5433d8b..07fc9ad36 100644 --- a/templates/web/zurich/admin/report_edit-sdm.html +++ b/templates/web/zurich/admin/report_edit-sdm.html @@ -1,9 +1,9 @@ [% PROCESS "report/photo-js.html"; PROCESS "maps/zurich.html"; + SET bodyclass = 'mappage'; PROCESS 'admin/header.html' - title = tprintf(loc('Editing problem %d'), problem.id ), - bodyclass = 'mappage'; + title = tprintf(loc('Editing problem %d'), problem.id ); PROCESS 'admin/report_blocks.html' -%] diff --git a/templates/web/zurich/admin/report_edit.html b/templates/web/zurich/admin/report_edit.html index aa5029eb7..7e88fab30 100644 --- a/templates/web/zurich/admin/report_edit.html +++ b/templates/web/zurich/admin/report_edit.html @@ -1,9 +1,9 @@ [% PROCESS "report/photo-js.html"; PROCESS "maps/zurich.html"; + SET bodyclass = 'mappage'; INCLUDE 'admin/header.html' - title = tprintf(loc('Editing problem %d'), problem.id ), - bodyclass = 'mappage'; + title = tprintf(loc('Editing problem %d'), problem.id ); PROCESS 'admin/report_blocks.html' -%] diff --git a/templates/web/zurich/maps/zurich.html b/templates/web/zurich/maps/zurich.html index a9499f657..4000e1e52 100644 --- a/templates/web/zurich/maps/zurich.html +++ b/templates/web/zurich/maps/zurich.html @@ -1,13 +1,3 @@ -[% -map_js = [ - version('/vendor/OpenLayers/OpenLayers.zurich.js'), - version('/js/OpenLayers.Projection.CH1903Plus.js'), - version('/js/map-OpenLayers.js'), - version('/js/map-wmts-base.js'), - version('/js/map-wmts-zurich.js'), -] -%] - [% map_sub_links = BLOCK %] <a class="hidden-nojs" id="map_layer_toggle" href="">Stadtplan</a> [% END %] diff --git a/templates/web/zurich/reports/index.html b/templates/web/zurich/reports/index.html index 8bec64c86..1389c666c 100755 --- a/templates/web/zurich/reports/index.html +++ b/templates/web/zurich/reports/index.html @@ -1,8 +1,8 @@ [% PROCESS "maps/${map.type}.html"; + SET bodyclass = 'mappage'; INCLUDE 'header.html', - title = loc('Summary reports'), - bodyclass = 'mappage'; + title = loc('Summary reports'); %] [% map_html %] </div> diff --git a/web/cobrands/fixmystreet-uk-councils/js.js b/web/cobrands/fixmystreet-uk-councils/js.js index 6066db9c5..7c4f7a9ed 100644 --- a/web/cobrands/fixmystreet-uk-councils/js.js +++ b/web/cobrands/fixmystreet-uk-councils/js.js @@ -1,4 +1,7 @@ (function(){ + if (!jQuery.validator) { + return; + } var validNamePat = /\ba\s*n+on+((y|o)mo?u?s)?(ly)?\b/i; function valid_name(value, element) { return this.optional(element) || value.length > 5 && value.match( /\S/ ) && value.match( /\s/ ) && !value.match( validNamePat ); diff --git a/web/cobrands/fixmystreet.com/fmsforcouncils.scss b/web/cobrands/fixmystreet.com/fmsforcouncils.scss index 0e7c6a281..ce4828416 100644 --- a/web/cobrands/fixmystreet.com/fmsforcouncils.scss +++ b/web/cobrands/fixmystreet.com/fmsforcouncils.scss @@ -60,16 +60,6 @@ $fms-pink: #E65376; overflow: hidden; } - .councils-content-wrapper { - max-width: 66em; - margin: 0 auto; - padding: 0 1.5em; - @media (min-width: 60em) { - padding: 0 3em; - } - - } - .councils-logo { background-image: url('images/fms-for-councils/fms-fc-logo.svg'); background-size: 260px 68px; @@ -86,62 +76,6 @@ $fms-pink: #E65376; padding-bottom: 2em; } - .councils-hero__presentation { - background-color: #FED876; - padding-top: 1em; - padding-bottom: 3em; - margin-bottom: 175px; - } - - .councils-hero__title { - text-align: center; - font-weight: 500; - margin-left: auto; - margin-right: auto; - font-size: 1.35em; - margin-bottom: -150px; - max-width: 23em; - @media (min-width: 44em) { - font-size: 2.5em - } - } - - .councils-hero__product { - position: relative; - bottom: -170px; - max-width: 800px; - margin: 0 auto; - text-align: center; - display: block; - width: 100%; - @media (min-width: 44em) { - bottom: -200px; - } - } - - .councils-hero__subtitle { - max-width: 40em; - margin-left: auto; - margin-right: auto; - font-size: 1.125em; - line-height: 1.5em; - text-align: center; - padding: 0 1em; - @media (min-width: 44em) { - font-size: 1.3125em; - line-height: 1.5em; - } - } - - .councils-hero__subtitle__primary { - font-size: 1.35em; - line-height: 1.35em; - } - - .councils-hero__subtitle__secondary { - color: #777; - } - .councils-hero__demo-access { background-color: $fms-pink; border-radius: 3px; @@ -205,580 +139,6 @@ $fms-pink: #E65376; } } - .councils-sales { - padding: 2em 0 5em; - .councils-content-wrapper { - max-width: 58em; - } - } - - .councils-sales__grid { - .flex & { - @include flex-container(); - @include flex-wrap(wrap); - @include justify-content(space-between); - } - .no-js &, - .no-flex & { - @include clearfix(); - } - - } - - .councils-features__feature { - width: 100%; - .no-js &, - .no-flex & { - float: left; - } - @media (min-width: 44em) { - width: 47%; - .no-js &, - .no-flex & { - margin-right: 3%; - } - } - h3 { - font-weight: normal; - margin-bottom: 0.25em; - } - p { - color: #777; - font-size: 0.875em; - } - } - - .councils-sales--benefits { - background-color: #F7F6F5; - border-bottom: 1px solid #e9e9e9; - padding-top: 5em; - - h2 { - font-size: 2.5em; - text-align: center; - color: $fms-pink; - } - p { - color: #666; - } - } - - .councils-sales--features { - border-top: 1px solid #e9e9e9; - padding-top: 2em; - h2 { - font-size: 2.5em; - text-align: center; - color: $fms-pink; - } -} - - .councils-features__thumb { - height: 63px; - width: 63px; - background-size: cover; - background-color: transparent; - background-repeat: no-repeat; - float: left; - margin-top: 18px; - } - - .councils-features__thumb--authority { - background-image: url('images/fms-for-councils/authority.svg'); - } - - .councils-features__thumb--automated-instruction { - background-image: url('images/fms-for-councils/automated-instruction.svg'); - } - - .councils-features__thumb--brand { - background-image: url('images/fms-for-councils/brand.svg'); - } - - .councils-features__thumb--customise { - background-image: url('images/fms-for-councils/customise.svg'); - } - - .councils-features__thumb--dashboard { - background-image: url('images/fms-for-councils/dashboard.svg'); - } - - .councils-features__thumb--end-to-end { - background-image: url('images/fms-for-councils/end-to-end.svg'); - } - - .councils-features__thumb--inspection { - background-image: url('images/fms-for-councils/inspection.svg'); - } - - .councils-features__thumb--integrated { - background-image: url('images/fms-for-councils/integrated.svg'); - } - - .councils-features__thumb--intelligent-routing { - background-image: url('images/fms-for-councils/intelligent-routing.svg'); - } - - .councils-features__thumb--open-standards { - background-image: url('images/fms-for-councils/open-standards.svg'); - } - - .councils-features__thumb--map-centric { - background-image: url('images/fms-for-councils/map-centric.svg'); - } - - .councils-features__thumb--mobile-app { - background-image: url('images/fms-for-councils/mobile-app.svg'); - } - - .councils-features__thumb--responsive-web { - background-image: url('images/fms-for-councils/responsive-web.svg'); - } - - .councils-features__thumb--syncronised { - background-image: url('images/fms-for-councils/syncronised.svg'); - } - - .order-now-button { - background-color: $fms-pink; - color: #fff; - border: 0; - text-transform: none; - padding: 0.6em 1.5em; - text-align: center; - display: block; - margin: 2em auto 0; - border-radius: 3px; - max-width: 5em; - &:hover, - &:active, - &:focus { - background-color: desaturate(darken($fms-pink, 10%), 10%); - text-decoration: none; - } - } - - .councils-clients { - background-color: #FED876; - padding: 1em 0 2.5em; - h2 { - font-size: 2.5em; - text-align: center; - color: #333; - } - } - - .councils-clients__grid { - .flex & { - @include flex-container(); - @include justify-content(space-around); - @include flex-align(center); - @include flex-wrap(wrap); - } - .no-js &, - .no-flex & { - @include clearfix(); - } - margin: 0 2%; - @media (min-width: 44em) { - flex-wrap: nowrap; - } - } - - .councils-clients__client { - text-align: left; - .no-js &, - .no-flex & { - float: left; - width: 50%; - @media (min-width: 44em) { - width: 20%; - } - } - } - - - .screenshot-of-themes { - background-color: #FED876; - } - - .councils-compatibility { - background-color: $fms-pink; - padding: 0.5em 0 2.5em; - a { - color: #fff; - opacity: 0.8; - } - h2, h3 { - color: #fff; - } - h2 { - margin-top: 1em; - margin-bottom: 0.25em; - } - h3 { - font-size: 0.875em; - } - ul { - list-style: none outside none; - padding: 0; - margin: 0; - li { - list-style: none outside none; - font-size: 0.875em; - } - } - } - - .councils-compatibility__grid { - .flex & { - @include flex-container(); - @include flex-wrap(wrap); - @include justify-content(flex-start); - } - - .no-js &, - .no-flex & { - @include clearfix(); - } - - @media (min-width: 44em) { - flex-wrap: nowrap; - } - } - - .councils-compatibility__item { - width: 100%; - .no-js &, - .no-flex & { - float: left; - } - @media (min-width: 44em) { - width: 25%; - .no-js &, - .no-flex & { - margin-right: 3%; - } - } - } - - .split-list { - @include flex-container(); - @include justify-content(flex-start); - @include flex-align(flex-start); - @include flex-direction(row); - @include flex-wrap(wrap); - - li { - width: 50%; - -webkit-flex-grow: 1; - -ms-flex-grow: 1; - flex-grow: 1; - } - } - - .councils-compatibility__item--wide { - width: 100%; - .no-js &, - .no-flex & { - float: left; - } - @media (min-width: 44em) { - width: 50%; - .no-js &, - .no-flex & { - margin-right: 3%; - } - } - } - - .councils-pricing { - padding: 2em 0; - margin-bottom: 3em; - h2 { - font-size: 2.5em; - text-align: center; - color: #FEC32B; - } - } - - .pricing-table { - th, td { - text-align: left; - font-weight: normal; - vertical-align: middle; - border: 1px solid #e9e9e9; - } - - th { - background-color: #F7F6F5; - - &.blank { - background-color: transparent; - border: none; - } - } - - th[scope="row"] { - @media (min-width: 44em) { - width: 30%; - } - } - - td { - width: 15%; - line-height: 1.5em; - } - - span { - display: inline-block; - padding: 0.666em 1em; - box-sizing: border-box; - } - } - - .pricing-table__tier-name { - font-weight: 500; - font-size: 1.25em; - } - - .pricing-table__feature-name { - text-align: left; - font-size: 0.875em; - } - - .pricing-table__feature-value { - font-size: 0.875em; - line-height: 1.4em; - width: 100%; - } - - .pricing-table__show-more { - td { - border: none; - padding: 2em 1em; - text-align: center; - } - - .button { - display: inline-block; - padding: 0.6em 1.5em; - text-align: center; - - border-radius: 3px; - border: none; - background-color: #F7F6F5; - color: #333; - font-size: 0.875em; - line-height: 1.5em; - font-weight: normal; - - &:hover, - &:active, - &:focus { - text-decoration: none; - background-color: #FED876; - } - } - } - - .pricing-table__prices { - td { - background-color: $fms-pink; - color: #fff; - border-color: darken($fms-pink, 10%); - } - } - - .pricing-table__price { - font-weight: 500; - font-size: 1.25em; - } - - .boolean-icon { - margin: 0 auto; - display: inline-block; - font-style: normal; - width: 24px; - height: 24px; - background-image: url('images/fms-for-councils/boolean-no.svg'); - background-repeat: no-repeat; - background-position: center; - text-indent: 100%; - white-space: nowrap; - overflow: hidden; - } - - .boolean-icon--no { - background-image: url('images/fms-for-councils/boolean-no.svg'); - } - - .boolean-icon--yes { - background-image: url('images/fms-for-councils/boolean-yes.svg'); - } - - // Verticalise the table on narrow screens - @media (max-width: 54em) { - .pricing-table { - &, - tr, - th, - th[scope="row"], - td, - tbody, - span { - display: block; - width: auto; - } - - thead { - display: none; - } - - th, - td { - @include clearfix(); - border: none; - } - - tr { - border: 1px solid #e9e9e9; - } - - .pricing-table__show-more tr { - border: none; - } - - tr + tr { - border-top: none; - } - - td[data-tier-name] { - &:before { - content: attr(data-tier-name); - display: block; - font-size: 0.875em; - line-height: 1.4em; - color: darken(#FEC32B, 15%); - float: left; - padding: 0.666em 1em; - width: 5em; - } - } - - // Collapse padding between "rows" of a feature - td + td .pricing-table__feature-value, - td + td[data-tier-name]:before { - padding-top: 0; - } - - .boolean-icon { - margin: -0.33em 0; - } - } - } - - .council-case-studies { - margin-bottom: 3em; - border-top: 1px solid #e9e9e9; - background-color: #60B6C7; - padding: 2em 0; - h2 { - text-align: center; - color: #fff; - margin-bottom: 1.5em; - } - } - - .council-case-studies__grid { - .flex & { - @include flex-container(); - @include justify-content(space-around); - @include flex-wrap(wrap); - @include flex-align(center); - } - .no-js &, - .no-flex & { - @include clearfix(); - } - @media (min-width: 44em) { - @include flex-wrap(nowrap); - @include justify-content(space-between); - } - margin: 0 3.3334%; - } - - .council-case-studies__grid-item { - width: 100%; - max-width: 380px; - .no-js &, - .no-flex & { - float: left; - margin: 0 auto; - } - @media (min-width: 44em) { - width: 31%; - .no-js &, - .no-flex & { - margin-right: 2%; - max-width: none; - } - } - } - - .council-case-studies__case-study { - background-repeat: no-repeat; - background-size: cover; - background-position: center; - a { - display: block; - color: #fff; - font-size: 1.25em; - display: block; - background-color: rgba(0,0,0,0.3); - padding: 5em 2em; - text-align: center; - margin-bottom: 1em; - @media (min-width: 30em) { - margin-bottom: 4em; - padding: 3em 2em; - } - @media (min-width: 48em) { - padding: 5em 2em; - } - &:hover, - &:active, - &:focus { - text-decoration: none; - background-color: rgba(0,0,0,0.1); - text-shadow: 0 2px 1px rgba(0,0,0,0.8); - } - } - } - - .council-case-studies__case-study--bristol { - background-image: url('images/fms-for-councils/bristol.jpg'); - } - - .council-case-studies__case-study--zurich { - background-image: url('images/fms-for-councils/zurich.jpg'); - } - - .council-case-studies__case-study--barnet { - background-image: url('images/fms-for-councils/barnet.jpg'); - } - - .radio-as-buttons { - label { - margin-right: 0.5em; - margin-top: 0; - font-size: 0.875em; - } - input { - margin-right: 1em; - } - } - .checkbox-label { margin-left: 25px; } @@ -794,60 +154,6 @@ $fms-pink: #E65376; color: #777; } - .council-order { - position: relative; - background-color: #F7F6F5; - border: 1px solid #e9e9e9; - border-left: 0; - border-right: 0; - padding: 4em 0; - h2 { - color: $fms-pink; - font-size: 2.5em; - } - } - - .council-order__form { - max-width: 48em; - padding-bottom: 3em; - position: relative; - z-index: 1; - label { - font-weight: normal; - } - textarea { - height: 10em; - } - textarea, - input[type="text"], - input[type="tel"], - input[type="email"] { - border: 1px solid #ccc; - width: 100%; - padding: 0.5em; - border-radius: 3px; - font-size: 1em; - box-sizing: border-box; - @media (min-width: 44em) { - max-width: 27em; - } - } - input[type="submit"] { - background-image: none; - background-color: $fms-pink; - color: #fff; - border: 0; - text-transform: none; - padding: 0.6em 1.5em; - font-family: 'Rubik', sans-serif; - &:hover, - &:active, - &:focus { - background-color: desaturate(darken($fms-pink, 10%), 10%); - } - } - } - .form-group { position: relative; @media (min-width: 44em) { @@ -874,28 +180,6 @@ $fms-pink: #E65376; } } - .council-order__screenshot { - display: none; - @media (min-width: 44em) { - display: block; - background-image: url('images/fms-for-councils/window-mockup.jpg'); - background-repeat: no-repeat; - background-position: top left; - background-size: cover; - height: 750px; - position: absolute; - z-index: 0; - right: 0; - width: 500px; - bottom: 50px; - } - @media (min-width: 82em) { - width: 748px; - right: 46px; - } - - } - .credits { color: #777; border-top: 1px solid #e9e9e9; diff --git a/web/cobrands/fixmystreet.com/front.js b/web/cobrands/fixmystreet.com/front.js new file mode 100644 index 000000000..f544fb657 --- /dev/null +++ b/web/cobrands/fixmystreet.com/front.js @@ -0,0 +1,38 @@ +(function(){ + if (!document.querySelector) { return; } + if ( -1 !== navigator.userAgent.indexOf('Google Page Speed')) { return; } + if (document.cookie.indexOf('has_seen_country_message') !== -1) { return; } + + /* Front page banner for other countries */ + var request = new XMLHttpRequest(); + request.open('GET', 'https://gaze.mysociety.org/gaze-rest?f=get_country_from_ip', true); + request.onreadystatechange = function() { + if (this.readyState === 4) { + if (this.status >= 200 && this.status < 400) { + var data = this.responseText; + if ( data && data != 'GB\n' ) { + var banner = document.createElement('div'); + banner.className = 'top_banner top_banner--country'; + var close = document.createElement('a'); + close.className = 'top_banner__close'; + close.innerHTML = 'Close'; + close.href = '#'; + close.onclick = function(e) { + document.querySelector('.top_banner--country').style.display = 'none'; + var t = new Date(); t.setFullYear(t.getFullYear() + 1); + document.cookie = 'has_seen_country_message=1; path=/; expires=' + t.toUTCString(); + }; + var p = document.createElement('p'); + p.innerHTML = 'This site is for reporting <strong>problems in the UK</strong>. There are FixMyStreet sites <a href="http://fixmystreet.org/sites/">all over the world</a>, or you could set up your own using the <a href="http://fixmystreet.org/">FixMyStreet Platform</a>.'; + banner.appendChild(close); + banner.appendChild(p); + document.body.insertBefore(banner, document.body.firstChild); + document.querySelector('.top_banner--country').style.display = 'block'; + } + } + } + }; + request.send(); + request = null; + +})(); diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/all-yellow.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/all-yellow.jpg Binary files differdeleted file mode 100644 index e56ab32d2..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/all-yellow.jpg +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png Binary files differdeleted file mode 100644 index 74b5c7345..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/angus-logo.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/authority.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/authority.svg deleted file mode 100644 index 7d32cfb71..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/authority.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>authority</title><g fill="#E65376" fill-rule="evenodd"><path d="M54.214 57.693h-4.29v-4.26h-3.06v4.26h-4.29v-25.74l11.64 2.62v23.12zm-36.892-37.67l21.928-3.41v41.08h-8.382v-8.32h-5.163v8.32h-8.383v-37.67zm39.487 9.6l-13.27-3.25c-.327-.08-.653-.09-.966-.05v-10.6c.713-.58 1.116-1.5.965-2.47-.227-1.45-1.59-2.45-3.038-2.22l-25.25 3.93c-1.453.22-2.445 1.58-2.22 3.03.107.69.466 1.26.966 1.66v39.7c0 .92.743 1.66 1.662 1.66h40.217c.917 0 1.66-.74 1.66-1.66v-24.87c.588-.35 1.045-.92 1.22-1.64.35-1.43-.522-2.87-1.948-3.22z"/><path d="M25.705 26.403h5.163v-5.03h-5.163M25.705 35.503h5.163v-5.03h-5.163M25.705 44.603h5.163v-5.03h-5.163M46.864 39.433h3.06v-2.98h-3.06M46.864 44.823h3.06v-2.98h-3.06M46.864 50.213h3.06v-2.98h-3.06"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/automated-instruction.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/automated-instruction.svg deleted file mode 100644 index 3cc613005..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/automated-instruction.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>automated-instruction</title><g fill="#E65376" fill-rule="evenodd"><path d="M47.666 27.09c-1.9 0-3.44-1.54-3.44-3.44s1.54-3.44 3.44-3.44 3.44 1.54 3.44 3.44-1.54 3.44-3.44 3.44zm10.816-5.19l-2.878-.76c-.152-.48-.348-.94-.58-1.38l1.504-2.58c.477-.88.683-1.79 0-2.47-.683-.69-1.646-.47-2.475 0l-2.62 1.52c-.422-.21-.863-.4-1.323-.54l-.775-2.94c-.29-.96-.785-1.75-1.75-1.75-.968 0-1.493.84-1.752 1.75l-.79 3c-.43.15-.84.32-1.234.53l-2.695-1.57c-.885-.48-1.792-.69-2.474 0-.684.68-.464 1.64 0 2.47l1.594 2.73c-.19.38-.358.77-.49 1.18l-3.058.81c-.963.29-1.75.78-1.75 1.75s.834 1.49 1.75 1.75l3.058.81c.132.4.298.8.49 1.18l-1.593 2.73c-.477.88-.684 1.79 0 2.47.683.69 1.645.47 2.475 0l2.694-1.57c.392.21.804.38 1.232.53l.79 3c.29.96.785 1.75 1.752 1.75.966 0 1.492-.84 1.75-1.75l.776-2.94c.46-.14.9-.33 1.323-.54l2.62 1.52c.886.48 1.792.69 2.475 0 .684-.68.464-1.64 0-2.47l-1.503-2.58c.232-.44.428-.9.58-1.38l2.877-.76c.963-.29 1.752-.78 1.752-1.75s-.836-1.49-1.752-1.75z"/><path d="M27.5 48.78c-2.76 0-4.998-2.24-4.998-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm14.752-6.75l-2.922-.77c-.087-.41-.197-.82-.326-1.21l2.146-2.13c.692-.73 1.127-1.56.642-2.39-.484-.84-1.47-.88-2.392-.64l-2.927.79c-.278-.3-.57-.6-.877-.87l.798-2.93c.23-.98.195-1.91-.643-2.39-.836-.49-1.707-.03-2.39.64l-2.128 2.14c-.395-.12-.798-.23-1.21-.32l-.77-2.92c-.29-.97-.784-1.75-1.75-1.75-.967 0-1.492.83-1.75 1.75l-.77 2.92c-.412.09-.815.2-1.21.32l-2.13-2.14c-.733-.69-1.553-1.13-2.39-.64-.84.48-.876 1.47-.642 2.39l.8 2.93c-.31.27-.602.56-.88.87l-2.927-.79c-.98-.24-1.908-.2-2.39.64-.485.83-.024 1.71.64 2.39l2.144 2.13c-.128.39-.238.8-.325 1.21l-2.92.77c-.964.29-1.752.78-1.752 1.75 0 .96.835 1.49 1.75 1.75l2.922.77c.087.41.197.81.325 1.21l-2.145 2.13c-.69.73-1.124 1.55-.64 2.39.483.84 1.468.87 2.39.64l2.928-.8c.278.31.57.6.878.88l-.798 2.93c-.23.98-.197 1.91.64 2.39.84.48 1.71.02 2.392-.64l2.13-2.15c.394.13.798.24 1.21.33l.77 2.92c.288.96.783 1.75 1.75 1.75.966 0 1.49-.84 1.75-1.75l.77-2.92c.412-.09.816-.2 1.21-.33l2.13 2.15c.73.69 1.553 1.12 2.39.64.838-.48.874-1.47.642-2.39l-.798-2.93c.307-.28.6-.57.877-.88l2.927.8c.98.23 1.908.2 2.392-.64.485-.84.023-1.71-.642-2.39l-2.146-2.13c.13-.4.24-.8.326-1.21l2.922-.77c.963-.29 1.75-.79 1.75-1.75 0-.97-.834-1.49-1.75-1.75z"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet-logo.png Binary files differdeleted file mode 100644 index 1a2fc0f56..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet-logo.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet.jpg Binary files differdeleted file mode 100644 index f25f0418d..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/barnet.jpg +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-no.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-no.svg deleted file mode 100644 index 3e5743da8..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-no.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Artboard</title><path d="M5 10h14v4H5z" fill="#EFECEA" fill-rule="evenodd"/></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-yes.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-yes.svg deleted file mode 100644 index fa532daeb..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/boolean-yes.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Artboard Copy</title><g fill="#FED876" fill-rule="evenodd"><path d="M7 16.763L18.764 5l2.828 2.828L9.83 19.592z"/><path d="M6.828 11l5.02 5.02-2.827 2.83L4 13.828z"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/brand.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/brand.svg deleted file mode 100644 index 92edb9b78..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/brand.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>brand</title><g fill="#E65376" fill-rule="evenodd"><path d="M27.308 28.975c-.42-.42-1.097-.45-1.554-.07l-1.388 1.18c-9.047 7.56-12.396 8.32-12.4 8.32-.427.07-.78.37-.91.78-.133.41-.025.86.28 1.17l2.065 2.07c.358.35.903.43 1.346.2l3.55-1.85-2.267 2.83c-.37.45-.332 1.11.082 1.53l1.722 1.72c.347.34.874.43 1.315.22l2.786-1.35-1.36 2.77c-.218.44-.13.97.217 1.32l.888.88c.393.4 1.01.45 1.467.14l3.127-2.18-1.998 3.43c-.262.45-.187 1.02.182 1.39l.82.82c.42.42 1.09.45 1.545.08l4.002-3.31-2.515 5.17c-.213.44-.125.97.222 1.32l2.21 2.2c.298.3.737.4 1.144.28.403-.12.71-.47.797-.88.004-.02.488-2.18 4.54-7.64l5.1-6.04c.385-.45.358-1.13-.066-1.55l-14.95-14.95M51.68 17.025c.7-.7 1.83-.7 2.528 0 .696.7.696 1.83 0 2.53-.7.69-1.83.69-2.528 0-.7-.7-.7-1.83 0-2.53zm-5.478 13.9l11.9-7.48c2.844-2.84 2.844-7.47 0-10.32-2.844-2.84-7.473-2.84-10.353.04l-7.41 11.81s-1.575 2.13-2.882 1.82l-1.817-1.82c-2.115-2.11-4.145-1.33-4.965-.59l-1.236 1.23c-.45.45-.45 1.18 0 1.63l14.413 14.41c.45.45 1.175.45 1.624 0l1.276-1.27c.704-.78 1.478-2.82-.635-4.93l-1.69-1.69c-.275-1.19 1.456-2.59 1.774-2.84z"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/bringyourown.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/bringyourown.svg deleted file mode 100644 index 01cc7f83e..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/bringyourown.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>bringyourown</title><g fill="#E65376" fill-rule="evenodd"><path d="M58.325 56.036H54.18c-.957 0-1.728.773-1.728 1.727 0 .954.77 1.727 1.728 1.727h4.145c.952 0 1.725-.773 1.725-1.727 0-.954-.773-1.727-1.725-1.727M47.96 56.036H43.82c-.956 0-1.73.773-1.73 1.727 0 .954.774 1.727 1.73 1.727h4.143c.956 0 1.73-.773 1.73-1.727 0-.954-.774-1.727-1.73-1.727M27.236 56.036H23.09c-.952 0-1.725.773-1.725 1.727 0 .954.773 1.727 1.726 1.727h4.146c.955 0 1.727-.773 1.727-1.727 0-.954-.772-1.727-1.727-1.727M16.873 56.036H12.73c-.954 0-1.73.773-1.73 1.727 0 .954.776 1.727 1.73 1.727h4.143c.954 0 1.727-.773 1.727-1.727 0-.954-.773-1.727-1.727-1.727M25.127 41.04v-4.135c2.596 1.472 6.656 2.23 10.687 2.23 4.033 0 8.092-.76 10.688-2.23v4.135c0 1.146-3.984 3.24-10.507 3.28-.127-.038-.642-.04-.76-.01-6.28-.12-10.108-2.147-10.108-3.27zm21.375-23.96c0 1.16-4.055 3.283-10.688 3.283-6.63 0-10.687-2.124-10.687-3.282 0-1.157 4.058-3.282 10.687-3.282 6.633 0 10.688 2.125 10.688 3.283zM25.127 28.92c2.596 1.47 6.656 2.23 10.687 2.23 4.033 0 8.092-.76 10.688-2.232v4.135c0 1.158-4.055 3.283-10.688 3.283-6.63 0-10.687-2.125-10.687-3.283V28.92zm0-7.988c2.596 1.472 6.656 2.23 10.687 2.23 4.033 0 8.092-.76 10.688-2.23v4.134c0 1.158-4.055 3.284-10.688 3.284-6.63 0-10.687-2.126-10.687-3.284v-4.134zM37 55.352v-8.254c6.294-.232 12.302-2.303 12.302-6.058V17.132l-.002-.018.002-.033c0-3.99-6.784-6.08-13.488-6.08-6.7 0-13.484 2.09-13.484 6.08v23.96c0 3.67 5.74 5.73 11.872 6.038v8.274c-.834.485-1.402 1.378-1.402 2.41 0 1.544 1.257 2.8 2.8 2.8 1.545 0 2.802-1.256 2.802-2.8 0-1.032-.568-1.925-1.4-2.41z"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png Binary files differdeleted file mode 100644 index 27c05d66f..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol-logo.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol.jpg Binary files differdeleted file mode 100644 index 9db9ce8e0..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/bristol.jpg +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png Binary files differdeleted file mode 100644 index 4cd1c60a4..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/bromley-logo.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/customise.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/customise.svg deleted file mode 100644 index 354ebb025..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/customise.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>customise</title><g fill="#E65376" fill-rule="evenodd"><path d="M54.846 58.906l-5.28-7.96 3.102-2.06 5.282 7.95-3.104 2.07zm-23.733-35.75l-5.35-8.05 3.104-2.06 5.35 8.05-3.104 2.06zm28.808 33.37l-6.198-9.33-.002-.01-17.527-26.39h-.004-.002l-6.268-9.44c-.246-.38-.81-.47-1.218-.2l-4.614 3.06c-.422.28-.554.81-.297 1.2l6.265 9.43c.002 0 .004 0 .005.01h.002l17.536 26.41s.003 0 .005.01l6.19 9.32c.148.22.403.36.683.36.19 0 .375-.06.535-.17l4.614-3.06c.42-.28.553-.8.297-1.2zM24.984 33.536c.065 0 .13-.02.183-.06.106-.08.152-.21.113-.34l-.993-3.24 2.73-2.05c.106-.08.15-.22.11-.34-.04-.13-.157-.21-.288-.22l-3.43-.07-1.124-3.2c-.044-.12-.16-.21-.293-.21-.13 0-.247.09-.29.21l-1.126 3.2-3.428.07c-.133.01-.25.09-.29.22-.04.12.004.26.11.34l2.73 2.05-.993 3.24c-.038.13.007.26.113.34.107.08.25.08.358 0l2.815-1.93 2.816 1.93c.053.04.112.06.174.06M29.335 39.356l-2.295-.05-.754-2.14c-.028-.08-.107-.14-.194-.14-.088 0-.166.06-.195.14l-.753 2.14-2.296.05c-.087 0-.165.06-.192.14-.027.09.003.18.072.23l1.827 1.37-.664 2.17c-.024.09.007.18.078.23.07.05.168.05.24 0l1.884-1.29 1.884 1.29c.036.03.077.04.117.04.044 0 .086-.01.123-.04.07-.05.1-.14.076-.23l-.665-2.17 1.828-1.37c.07-.05.1-.14.073-.23-.028-.08-.105-.14-.193-.14M16.795 35.306l-1.645-.03-.54-1.54c-.02-.06-.078-.1-.14-.1-.063 0-.12.04-.14.1l-.54 1.54-1.645.03c-.063 0-.12.05-.138.1-.02.06.002.13.052.17l1.31.98-.478 1.56c-.018.06.003.12.055.16.05.04.12.04.17 0l1.353-.92 1.35.92c.027.02.056.03.085.03.03 0 .062-.01.088-.03.05-.04.072-.1.054-.16l-.477-1.56 1.31-.98c.052-.04.073-.11.054-.17-.02-.05-.076-.1-.14-.1"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/dashboard.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/dashboard.svg deleted file mode 100644 index 84d98dd45..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/dashboard.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>dashboard</title><path d="M13.844 23.23h-1.472c-.758 0-1.372-.61-1.372-1.37 0-.75.614-1.37 1.372-1.37h1.473C14.4 19.04 15.803 18 17.447 18c1.643 0 3.047 1.04 3.602 2.49h.913c.555-1.45 1.958-2.49 3.603-2.49 1.643 0 3.047 1.04 3.6 2.49h.917c.555-1.45 1.957-2.49 3.602-2.49 1.644 0 3.047 1.04 3.602 2.49h21.995c.757 0 1.37.62 1.37 1.37 0 .76-.613 1.37-1.37 1.37H37.287c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.048-1.04-3.602-2.49h-.915c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.05-1.04-3.603-2.49h-.914c-.556 1.45-1.96 2.49-3.603 2.49-1.644 0-3.05-1.04-3.603-2.49zM59.282 34.7c.757 0 1.37.61 1.37 1.37 0 .76-.613 1.37-1.37 1.37h-9.816c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.05-1.04-3.603-2.49h-.913c-.555 1.45-1.958 2.49-3.603 2.49-1.643 0-3.048-1.04-3.602-2.49H21.05c-.556 1.45-1.96 2.49-3.603 2.49-1.644 0-3.05-1.04-3.603-2.49h-1.472c-.758 0-1.372-.61-1.372-1.37 0-.76.614-1.37 1.372-1.37h1.473c.553-1.45 1.958-2.49 3.602-2.49 1.643 0 3.047 1.04 3.602 2.49H34.14c.555-1.45 1.96-2.49 3.602-2.49 1.645 0 3.048 1.04 3.602 2.49h.915c.555-1.45 1.96-2.49 3.604-2.49 1.644 0 3.047 1.04 3.6 2.49h9.818zm-1.697 14.21h1.697c.757 0 1.37.61 1.37 1.37 0 .76-.613 1.37-1.37 1.37h-1.697c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.05-1.04-3.603-2.49h-.914c-.554 1.45-1.958 2.49-3.602 2.49-1.645 0-3.05-1.04-3.603-2.49h-.913c-.555 1.45-1.958 2.49-3.603 2.49-1.643 0-3.048-1.04-3.602-2.49h-21.77c-.758 0-1.372-.61-1.372-1.37 0-.76.614-1.37 1.372-1.37h21.77c.555-1.45 1.96-2.49 3.602-2.49 1.645 0 3.048 1.04 3.602 2.49h.915c.555-1.45 1.96-2.49 3.604-2.49 1.644 0 3.047 1.04 3.6 2.49h.916c.554-1.45 1.958-2.49 3.603-2.49 1.644 0 3.047 1.04 3.602 2.49z" fill="#E65376" fill-rule="evenodd"/></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png Binary files differdeleted file mode 100644 index f58fe121a..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/device-mockup.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/download-icon.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/download-icon.png Binary files differdeleted file mode 100644 index 2bd373f70..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/download-icon.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/end-to-end.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/end-to-end.svg deleted file mode 100644 index 85243faeb..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/end-to-end.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>end-to-end</title><g fill="#E65376" fill-rule="evenodd"><path d="M51.637 44.288l-11.567 1.84c-.382.06-.698.33-.818.7-.12.36-.022.77.252 1.04l2.712 2.71c-4.223 1.11-8.826.3-12.516-2.49-1.06-.8-2.565-.59-3.364.47-.8 1.06-.59 2.56.468 3.36 3.5 2.65 7.617 3.96 11.727 3.96 2.54 0 5.075-.52 7.463-1.52l3.244 3.25c.197.19.46.3.728.3.108 0 .215-.02.32-.05.367-.12.637-.44.698-.82l1.833-11.57c.052-.32-.056-.65-.29-.89-.232-.23-.562-.34-.89-.29M50.006 20.738l1.12-4.45c.097-.38-.028-.78-.32-1.03-.29-.26-.7-.33-1.06-.18l-10.87 4.35c-.307.13-.536.39-.616.71-.08.32-.004.66.208.91l7.505 8.99c.198.24.488.37.79.37.075 0 .154-.01.23-.03.377-.08.674-.37.768-.75l.938-3.71c3.074 3.03 4.74 7.33 4.294 11.86-.13 1.32.835 2.5 2.156 2.63.08.01.16.01.237.01 1.22 0 2.267-.93 2.39-2.17.684-6.97-2.384-13.53-7.77-17.51M29.044 31.778c-.264-.29-.665-.4-1.037-.3l-3.692 1.04c1.102-4.22 4.053-7.82 8.27-9.68 1.216-.53 1.77-1.95 1.235-3.16-.534-1.22-1.952-1.77-3.166-1.24-6.48 2.85-10.705 8.81-11.483 15.52l-4.417 1.24c-.374.1-.657.41-.733.79-.076.38.068.77.37 1.01l9.19 7.26c.182.15.407.23.636.23.093 0 .187-.02.28-.04.315-.09.572-.33.686-.64l4.07-10.98c.133-.36.053-.77-.208-1.05"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png Binary files differdeleted file mode 100644 index 0f202c7e7..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/greenwich-logo.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png Binary files differdeleted file mode 100644 index 376623469..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/hart-logo.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/hart.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/hart.png Binary files differdeleted file mode 100644 index 362df3dc8..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/hart.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/highway.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/highway.jpg Binary files differdeleted file mode 100644 index 98f53617b..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/highway.jpg +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/inspection.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/inspection.svg deleted file mode 100644 index 6c9b6c0fa..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/inspection.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>inspection</title><g fill="#E65376" fill-rule="evenodd"><path d="M39.66 54.65l-2.232 2.2-4.06-4.01c-.323-.32-.742-.48-1.16-.48-.42 0-.84.16-1.16.48l-4.06 4.01-4.06-4.01c-.644-.63-1.677-.63-2.32 0l-3.904 3.86-2.4-2.38V15.3H39.66v1.6c1.168.42 2.276.96 3.3 1.63v-4.88c0-.91-.737-1.65-1.65-1.65H12.652c-.91 0-1.652.74-1.652 1.65v41.36c0 .45.178.87.492 1.18l4.05 4c.645.64 1.677.64 2.323 0l3.903-3.86 4.058 4.01c.645.64 1.678.64 2.322 0l4.06-4.01 4.06 4.01c.322.32.74.48 1.16.48.42 0 .838-.16 1.16-.48l3.884-3.83c.313-.31.49-.73.49-1.17v-9.95c-1.026.66-2.134 1.22-3.302 1.63v7.63"/><path d="M39.66 40.65c-1.558.97-3.39 1.53-5.36 1.54-3.436-.01-6.464-1.71-8.317-4.31h9.857c.91 0 1.65-.74 1.65-1.65 0-.91-.74-1.65-1.65-1.65H24.558c-.042 0-.082.01-.125.01-.225-.84-.358-1.72-.36-2.63.002-.93.138-1.82.37-2.68.04.01.075.02.115.02H35.84c.91 0 1.65-.74 1.65-1.65 0-.92-.74-1.66-1.65-1.66h-9.826c1.855-2.57 4.87-4.25 8.287-4.26 1.97.01 3.802.57 5.36 1.53 1.337.83 2.467 1.95 3.3 3.28.988 1.57 1.568 3.43 1.572 5.42-.004 1.99-.584 3.85-1.57 5.42-.835 1.33-1.965 2.45-3.302 3.27zm7.993-8.69c0-4.07-1.825-7.7-4.692-10.15-.985-.84-2.094-1.54-3.3-2.07-1.64-.72-3.452-1.13-5.36-1.13-3.378 0-6.455 1.27-8.806 3.34h-6.832c-.365 0-.66.29-.66.66 0 .36.295.66.66.66h5.522c-1.254 1.46-2.193 3.19-2.727 5.09h-2.795c-.365 0-.66.3-.66.66 0 .31.204.55.48.63.057.02.117.04.18.04h2.5c-.128.74-.208 1.49-.208 2.27 0 1.01.12 1.99.333 2.93h-2.625c-.025 0-.048.01-.074.01-.328.04-.586.31-.586.65 0 .36.295.66.66.66h2.994c.665 1.98 1.774 3.76 3.22 5.2h-6.214c-.365 0-.66.3-.66.66 0 .36.295.66.66.66h7.778c2.207 1.61 4.92 2.58 7.86 2.58 1.908 0 3.72-.41 5.36-1.13 1.206-.53 2.315-1.23 3.3-2.07 2.868-2.45 4.693-6.09 4.693-10.15zM59.687 51.88l-11.68-11.69-.04-.04c-1.236 2.06-2.916 3.82-4.92 5.14l.03.03L54.66 56.91c1.147 1.14 3.025 1.14 4.17-.01l.857-.85c1.148-1.15 1.148-3.03 0-4.17"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/integrated.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/integrated.svg deleted file mode 100644 index 9fdf394a5..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/integrated.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>integrated</title><path d="M54.917 19.475c-1.983 0-3.59-1.598-3.59-3.587 0-1.977 1.607-3.587 3.59-3.587 1.983 0 3.59 1.61 3.59 3.588 0 1.99-1.607 3.587-3.59 3.587zm-18.91 0c-1.983 0-3.59-1.598-3.59-3.587 0-1.977 1.607-3.587 3.59-3.587 1.982 0 3.588 1.61 3.588 3.588 0 1.99-1.606 3.587-3.588 3.587zm-18.91 0c-1.98 0-3.59-1.598-3.59-3.587 0-1.977 1.61-3.587 3.59-3.587 1.984 0 3.588 1.61 3.588 3.588 0 1.99-1.604 3.587-3.59 3.587zm18.91 25.203c4.21 0 7.63 3.433 7.63 7.636 0 4.214-3.42 7.635-7.63 7.635s-7.63-3.422-7.63-7.636c0-4.203 3.42-7.636 7.63-7.636zm-16.86-16.704c0 .9.274 1.468.82 1.682.55.224 1.187.33 1.916.33 1.26 0 2.414-.13 3.457-.39 1.044-.272 2.098-.402 3.158-.402 2.355 0 4.094.343 5.22 1.018 1.13.675 1.857 1.49 2.19 2.462h.2c.33-.97 1.062-1.787 2.186-2.462 1.128-.675 2.87-1.018 5.222-1.018 1.093 0 2.12.13 3.085.402.96.26 1.954.39 2.984.39.86 0 1.624-.106 2.286-.33.664-.214.997-.782.997-1.682 0-.532.115-1.04.346-1.527.232-.473.78-.722 1.64-.722.5 0 .906.12 1.22.355.312.237.555.52.722.876.164.356.28.734.347 1.15.066.4.1.792.1 1.135 0 1.292-.325 2.357-.97 3.21-.647.852-1.486 1.503-2.513 1.953-1.028.46-2.172.722-3.43.793-1.26.07-2.504-.024-3.73-.284-2.52-.533-4.54-.52-6.07.023-1.523.533-2.283 1.54-2.283 3.007 0 .675-.22 1.208-.65 1.598-.427.403-.96.592-1.59.592-.63 0-1.16-.19-1.59-.592-.432-.39-.647-.923-.647-1.598 0-1.468-.763-2.474-2.287-3.007-1.525-.544-3.55-.556-6.067-.023-1.23.26-2.472.355-3.732.284-1.258-.07-2.404-.332-3.43-.793-1.027-.45-1.866-1.1-2.512-1.954-.647-.853-.968-1.918-.968-3.21 0-.342.032-.733.096-1.135.068-.415.184-.793.35-1.15.166-.354.397-.638.698-.875.298-.236.694-.355 1.19-.355.897 0 1.46.25 1.692.722.233.486.347.995.347 1.527z" fill="#E95376" fill-rule="evenodd"/></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/intelligent-routing.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/intelligent-routing.svg deleted file mode 100644 index ce9a3dc5b..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/intelligent-routing.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>intelligent-routing</title><g fill="#E65376" fill-rule="evenodd"><path d="M31.97 61.13h7.047v-6.3H31.97M35.494 24.19c-2.43 0-4.397-1.91-4.397-4.26 0-2.35 1.968-4.25 4.397-4.25 2.43 0 4.397 1.9 4.397 4.25s-1.967 4.26-4.396 4.26zm0 11.89c-2.43 0-4.397-1.9-4.397-4.25s1.968-4.26 4.397-4.26c2.43 0 4.397 1.91 4.397 4.26 0 2.35-1.967 4.25-4.396 4.25zm0 11.9c-2.43 0-4.397-1.91-4.397-4.26 0-2.35 1.968-4.26 4.397-4.26 2.43 0 4.397 1.91 4.397 4.26 0 2.35-1.967 4.26-4.396 4.26zM54.23 25.19c0-.38-.31-.69-.693-.69-.045 0-.084.01-.126.02-.053-.01-.107-.02-.164-.02h-7.15l.237-5.63c4.694-1.22 7.898-3.94 7.898-7.17 0-.39-.31-.7-.693-.7-.045 0-.084.02-.126.03-.053-.02-.107-.03-.164-.03H17.694c-.086 0-.167.02-.244.05-.025.01-.046.02-.07.04-.05.02-.096.05-.138.09l-.06.06c-.038.04-.07.09-.097.14-.01.02-.026.04-.034.06 0 .01-.006.01-.008.02-.027.07-.038.15-.04.23 0 0-.002 0-.002.01 0 3.18 3.094 5.85 7.652 7.1l.24 5.7h-7.198c-.086 0-.167.02-.244.04-.025.01-.046.03-.07.04-.05.02-.096.05-.138.09l-.06.06c-.038.04-.07.09-.097.14-.01.02-.026.04-.034.06 0 .01-.006.02-.008.02-.027.08-.038.15-.04.23l-.002.01c0 3.31 3.35 6.09 8.228 7.26l.192 4.54h-7.032c-.085 0-.167.02-.244.05l-.07.03c-.05.03-.096.06-.14.1-.02.02-.04.03-.057.05-.04.05-.07.1-.098.15-.012.02-.026.04-.035.06-.003.01-.007.01-.01.02-.026.07-.038.15-.04.22v.01c0 3.28 3.275 6.03 8.06 7.22l.14 3.36c0 2.41 1.967 4.38 4.382 4.38H40.71c2.416 0 4.382-1.97 4.38-4.35l.14-3.33c4.92-1.16 8.307-3.94 8.307-7.28 0-.38-.31-.69-.695-.69-.044 0-.083.02-.126.03-.053-.02-.107-.03-.164-.03h-6.985l.19-4.49c5.007-1.14 8.474-3.94 8.474-7.31z"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/iphone.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/iphone.png Binary files differdeleted file mode 100644 index 68557a2a2..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/iphone.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/map-centric.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/map-centric.svg deleted file mode 100644 index c4f39ac40..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/map-centric.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>map-centric</title><g fill="#E65376" fill-rule="evenodd"><path d="M59.06 13.376l-10.12-2.333c-.363-.083-.745-.044-1.086.11L35.997 16.58l-10.91-4.55c-.406-.167-.86-.174-1.268-.015L12.08 16.59c-.652.253-1.08.88-1.08 1.58V50.38c0 .56.275 1.085.738 1.4.46.316 1.05.383 1.57.18l11.106-4.327 10.96 4.573c.21.085.432.13.654.13.24 0 .482-.052.706-.154l.88-.402-1.505-3.04-.113.05-10.91-4.55c-.208-.086-.43-.13-.653-.13-.208 0-.417.04-.615.115L14.39 47.9V19.33l10.024-3.908 10.96 4.572c.438.182.93.174 1.36-.023l12.007-5.493 8.244 1.9V45.11l-1.598-.367-.806 1.63c-.127.286-.266.567-.418.842l-.026.054-.295.596 4.46 1.027c.502.116 1.03-.004 1.435-.326.404-.32.64-.81.64-1.326V15.03c0-.79-.545-1.475-1.315-1.654"/><path d="M23.756 19.79v20.44c0 .376.304.68.678.68.374 0 .68-.304.68-.68V19.79c0-.375-.306-.68-.68-.68-.374 0-.678.305-.678.68M35.35 23.747v10.287c0 .375.304.678.678.678.374 0 .68-.303.68-.678V23.747c0-.375-.306-.68-.68-.68-.374 0-.68.305-.68.68M49.464 30.76V18.34c0-.375-.304-.68-.68-.68-.374 0-.677.305-.677.68V30.76c0 .375.303.68.678.68.375 0 .68-.305.68-.68M44.76 44.436c-1.862 0-3.372-1.51-3.372-3.37s1.51-3.37 3.37-3.37c1.863 0 3.37 1.51 3.37 3.37s-1.507 3.37-3.37 3.37zm0-10.402c-4.43 0-8.023 3.592-8.023 8.02 0 1.462.4 2.83 1.08 4.01h-.006l.767 1.548 6.18 12.49 6.366-12.863.582-1.175h-.008c.356-.615.63-1.283.816-1.984.17-.648.268-1.326.268-2.026 0-4.428-3.593-8.02-8.02-8.02z"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/minus.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/minus.svg deleted file mode 100644 index 5623cc577..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/minus.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="36" height="36" viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg"><title>Group 2 Copy</title><g fill="#333" fill-rule="evenodd"><path d="M32 18c0-7.732-6.268-14-14-14S4 10.268 4 18s6.268 14 14 14 14-6.268 14-14zM0 18C0 8.06 8.06 0 18 0s18 8.06 18 18-8.06 18-18 18S0 27.94 0 18z"/><path d="M10.5 16c-1.105 0-2 .895-2 2s.895 2 2 2h15c1.105 0 2-.895 2-2s-.895-2-2-2h-15z"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/mobile-app.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/mobile-app.svg deleted file mode 100644 index 31b4ade23..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/mobile-app.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>mobile-app</title><path d="M23.665 52.772H48.54V15.958H23.665v36.814zm12.438 8.418c-1.64 0-2.964-1.325-2.964-2.96 0-1.637 1.324-2.964 2.963-2.964 1.64 0 2.963 1.327 2.963 2.963 0 1.635-1.324 2.96-2.963 2.96zM25.243 8c-2.715 0-4.936 2.222-4.936 4.936v46.108c0 2.715 2.22 4.935 4.937 4.935H46.96c2.717 0 4.938-2.22 4.938-4.936V12.936c0-2.714-2.22-4.936-4.937-4.936H25.245zm5.585 36.968l6.928-7.077c.033-.03.056-.073.087-.106.563.14 1.142.236 1.747.236 2.03.006 3.87-.805 5.203-2.12 1.333-1.316 2.16-3.136 2.167-5.148.004-.642-.105-1.256-.262-1.855l-3.87 3.818-4.28-.918-.9-4.252 3.88-3.82c-.606-.168-1.234-.286-1.894-.287-4.057-.01-7.358 3.237-7.37 7.267-.003.855.17 1.663.44 2.426L25.68 40.3s5.148 4.675 5.148 4.668z" fill="#E65376" fill-rule="evenodd"/></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/open-standards.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/open-standards.svg deleted file mode 100644 index 4960b48d4..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/open-standards.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>open-standards</title><path d="M29.087 50.594c.156-.008.34-.035.495-.103l5.21-2.31c.57.305 1.084.7 1.518 1.16l-6.193 2.764H27.5c-1.33 0-2.322-.162-2.953-.482-.506-.256-.746-.586-.766-1.063l5.307.034zm-7.927-4.572c0-.163.05-.35.142-.55.99.415 2.285.616 3.938.616h1.783c.17 0 .337-.037.492-.105l5.112-2.295c.796.244 1.515.714 2.146 1.4L28.8 47.73h-3.746c-1.39 0-2.425-.165-3.073-.49-.56-.298-.82-.685-.82-1.218zm9.616 10.584c-1.065 0-1.856-.172-2.352-.512-.36-.248-.57-.6-.63-1.068h2.654c.17 0 .336-.037.49-.106l4.776-2.132c.564.46 1.015.933 1.373 1.445l.006.008-5.244 2.366h-1.074zm7.67.107l1.698-.76c.303-.134.537-.39.645-.704.108-.316.08-.662-.076-.956-.588-1.11-1.306-2.05-2.142-2.81l.82-.386c.31-.144.54-.418.64-.746.097-.328.05-.682-.132-.973-.656-1.06-1.36-1.91-2.105-2.547.274-.14.486-.38.59-.67.113-.318.087-.666-.07-.964-.677-1.28-1.543-2.283-2.583-2.995.172-.142.303-.33.376-.546.104-.312.077-.65-.075-.94-1.527-2.915-3.872-4.39-6.97-4.39-.626 0-1.317.092-2.046.272-.67.153-1.41.402-2.322.78l-1.34.02c-.476.005-.904.292-1.09.73-.186.437-.096.944.23 1.29l.468.502c.24.256.582.4.93.38l1.294-.06c.138-.005.273-.033.4-.087.93-.38 1.645-.64 2.237-.817.643-.173 1.157-.263 1.525-.263 1.292 0 2.34.493 3.18 1.504l-5.874 2.65-2.113-.024c-1.322 0-2.405-.428-3.315-1.308-.907-.87-1.348-1.91-1.348-3.17 0-.84.268-2.065 2.574-2.976 1.872-.734 4.73-1.104 8.495-1.104h.632c.682-.024 1.208-.536 1.208-1.202 0-.076-.007-.153-.022-.227l-.005-.13c0-2.95-.982-6.08-2.922-9.298-.002-.006-.005-.013-.01-.02l-.46-.79c-.77-1.274-1.16-2.474-1.16-3.564 0-1.013.268-1.87.797-2.548.444-.567 1.088-1.034 1.922-1.397l1.28 5.947c.045.213.15.41.3.57l7.154 7.614c1.314 1.645 2.197 2.78 2.77 3.563 2.42 3.403 3.396 3.852 3.71 3.996.31.142 1.23.573 5.582.595.72 2.112 1.084 4.29 1.084 6.477 0 1.855-.328 3.803-.978 5.795h-4.295c-.373 0-.723.172-.95.466-1.906 2.458-4.2 4.423-7.21 6.178l-.93.04zm15.46-21.27c-.192-.435-.623-.714-1.097-.714h-3.83c-.858 0-1.493-.136-1.85-.4-.272-.197-.872-.804-2.194-2.595l-1.01-1.334c-1.283-1.706-1.98-2.606-2.445-3.146l-6.617-7.043-1.643-7.274c-.07-.314-.265-.588-.54-.758-.274-.17-.604-.22-.918-.144l-.383.094c-4.068.955-6.13 3.408-6.13 7.29 0 1.4.634 3.297 1.964 5.838l.565.98c.915 1.794 1.537 3.66 1.852 5.554h-.283c-3.626 0-6.598.63-8.845 1.88C18.178 34.98 17 36.754 17 38.938c0 1.754.6 3.313 1.832 4.754-.446.8-.67 1.582-.67 2.33 0 1.055.293 1.94.867 2.623.48.594 1.165 1.05 2.032 1.358-.02.253-.03.464-.03.635 0 2.39 1.333 3.837 3.866 4.206-.006.07-.008.133-.008.192 0 1.987 1.022 4.355 5.886 4.355h1.402c.19 0 .375-.042.544-.128l.977-.495c1.55.415 2.95.624 4.16.624.44 0 1.08-.034 1.962-.104.14-.013.277-.05.406-.108 2.863-1.328 5.56-3.41 8.012-6.187h4.732c.496 0 .94-.304 1.12-.765 1.09-2.797 1.64-5.618 1.64-8.387 0-2.853-.614-5.677-1.825-8.396z" fill="#E65376" fill-rule="evenodd"/></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png Binary files differdeleted file mode 100644 index 0b479791a..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/oxfordshire-logo.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/plus.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/plus.svg deleted file mode 100644 index c1dba62f8..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/plus.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="36" height="36" viewBox="0 0 36 36" xmlns="http://www.w3.org/2000/svg"><title>Group 2 Copy</title><g fill="#333" fill-rule="evenodd"><path d="M32 18c0-7.732-6.268-14-14-14S4 10.268 4 18s6.268 14 14 14 14-6.268 14-14zM0 18C0 8.06 8.06 0 18 0s18 8.06 18 18-8.06 18-18 18S0 27.94 0 18z"/><path d="M16 25.5c0 1.105.895 2 2 2s2-.895 2-2v-15c0-1.105-.895-2-2-2s-2 .895-2 2v15z"/><path d="M10.5 16c-1.105 0-2 .895-2 2s.895 2 2 2h15c1.105 0 2-.895 2-2s-.895-2-2-2h-15z"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive-web.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive-web.svg deleted file mode 100644 index ff685af03..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive-web.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>responsive-web</title><g fill="#E65376" fill-rule="evenodd"><path d="M19.96 27.453c-.126-.12-.296-.18-.51-.18-.22 0-.402.06-.537.18-.133.118-.202.25-.202.4v3.115c0 .386.038.745.11 1.077.075.333.203.62.384.862.18.243.423.432.727.567.304.136.682.203 1.134.203.467 0 .85-.085 1.15-.252.3-.168.54-.396.722-.684.172.29.406.517.7.685.297.167.687.252 1.17.252.452 0 .828-.067 1.128-.203.3-.135.54-.324.72-.567.18-.24.308-.53.382-.862.075-.332.11-.69.11-1.077v-3.116c0-.148-.066-.28-.197-.4-.132-.12-.313-.178-.542-.178-.206 0-.373.06-.5.18-.128.117-.19.25-.19.398v3.165c0 .45-.082.784-.245.998-.165.215-.43.32-.79.32-.37 0-.632-.105-.788-.32-.155-.214-.235-.547-.235-.998V27.84c0-.18-.077-.32-.233-.42-.155-.096-.315-.146-.48-.146-.073 0-.153.014-.24.043-.087.03-.167.066-.24.11-.073.047-.136.1-.184.168-.05.064-.075.135-.075.208v3.214c0 .45-.078.784-.234.998-.156.215-.42.32-.787.32-.37 0-.637-.105-.795-.32-.16-.214-.24-.547-.24-.998v-3.165c0-.148-.065-.28-.19-.4M36.332 27.274c-.205 0-.372.06-.5.18-.125.117-.19.25-.19.398v3.165c0 .45-.08.784-.245.998-.164.215-.427.32-.788.32-.37 0-.633-.105-.79-.32-.155-.214-.234-.547-.234-.998V27.84c0-.18-.077-.32-.233-.42-.155-.096-.316-.146-.482-.146-.073 0-.15.014-.238.043-.086.03-.166.066-.24.11-.073.047-.135.1-.184.168-.05.064-.075.135-.075.208v3.214c0 .45-.077.784-.233.998-.156.215-.42.32-.787.32-.37 0-.635-.105-.796-.32-.16-.214-.24-.547-.24-.998v-3.165c0-.148-.064-.28-.19-.4-.13-.12-.298-.178-.512-.178-.222 0-.4.06-.535.18-.136.117-.204.25-.204.398v3.116c0 .386.037.745.11 1.077.074.333.202.62.382.862.182.243.424.432.727.567.304.136.68.203 1.134.203.466 0 .85-.085 1.15-.252.3-.168.54-.396.72-.684.173.29.408.517.702.685.295.167.686.252 1.17.252.45 0 .827-.067 1.127-.203.298-.135.538-.324.72-.567.18-.24.308-.53.382-.862.073-.332.11-.69.11-1.077v-3.116c0-.148-.067-.28-.2-.4-.128-.12-.31-.178-.54-.178M39.812 27.453c-.127-.12-.297-.18-.51-.18-.223 0-.4.06-.537.18-.135.118-.203.25-.203.4v3.115c0 .386.037.745.11 1.077.073.333.2.62.383.862.18.243.42.432.726.567.305.136.682.203 1.135.203.466 0 .85-.085 1.15-.252.3-.168.54-.396.72-.684.173.29.408.517.704.685.293.167.683.252 1.168.252.45 0 .827-.067 1.126-.203.3-.135.54-.324.72-.567.18-.24.31-.53.38-.862.077-.332.114-.69.114-1.077v-3.116c0-.148-.066-.28-.2-.4-.13-.12-.31-.178-.54-.178-.204 0-.372.06-.5.18-.126.117-.19.25-.19.398v3.165c0 .45-.08.784-.246.998-.164.215-.427.32-.788.32-.37 0-.63-.105-.788-.32-.155-.214-.233-.547-.233-.998V27.84c0-.18-.08-.32-.235-.42-.155-.096-.317-.146-.48-.146-.073 0-.153.014-.242.043-.085.03-.164.066-.237.11-.076.047-.137.1-.186.168-.05.064-.074.135-.074.208v3.214c0 .45-.08.784-.236.998-.154.215-.418.32-.786.32-.37 0-.634-.105-.794-.32-.16-.214-.242-.547-.242-.998v-3.165c0-.148-.06-.28-.19-.4M48.482 32.347c-.145.124-.216.264-.216.42v.307c0 .155.07.296.216.42.142.122.34.183.583.183.222 0 .406-.06.55-.184.14-.123.214-.264.214-.42v-.307c0-.155-.074-.295-.215-.42-.144-.122-.328-.183-.55-.183-.244 0-.44.06-.583.184M51.63 24.776v11.4c0 .276.225.5.5.5.278 0 .5-.224.5-.5v-11.4c0-.276-.222-.5-.5-.5-.275 0-.5.224-.5.5M46.248 48.754l2.656-.524c.185-.036.335-.175.385-.358.05-.182-.01-.377-.15-.504l-10.744-9.653c-.158-.143-.39-.168-.576-.065-.187.103-.287.313-.25.523l2.454 14.067c.03.184.163.334.34.39.174.056.374.01.505-.123l2.124-2.128 2.655 4.66c.068.122.183.208.32.24.037.01.075.013.113.013.1 0 .197-.03.28-.085l2.723-1.835c.114-.077.192-.197.214-.333.023-.135-.012-.274-.095-.383l-2.957-3.903M58.76 39.907H45.326l4.007 3.6h9.43c.993 0 1.8-.806 1.8-1.8s-.807-1.8-1.8-1.8"/><path d="M14.6 39.907V20.6h44.16c.995 0 1.8-.806 1.8-1.8s-.805-1.8-1.8-1.8H12.8c-.994 0-1.8.806-1.8 1.8v22.907c0 .994.806 1.8 1.8 1.8h22.655l-.628-3.6H14.6"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive.png Binary files differdeleted file mode 100644 index dc7468397..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/responsive.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpg Binary files differdeleted file mode 100644 index 21744f3cd..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/screenshot-of-themes.jpg +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/stevenage-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/stevenage-logo.png Binary files differdeleted file mode 100644 index 7b4d36a67..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/stevenage-logo.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/street-crossing.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/street-crossing.jpg Binary files differdeleted file mode 100644 index 296db5f3b..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/street-crossing.jpg +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/street-scene.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/street-scene.jpg Binary files differdeleted file mode 100644 index 9c13bbaa8..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/street-scene.jpg +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/street-sunset.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/street-sunset.jpg Binary files differdeleted file mode 100644 index 0f0bb1800..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/street-sunset.jpg +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/syncronised.svg b/web/cobrands/fixmystreet.com/images/fms-for-councils/syncronised.svg deleted file mode 100644 index f95a20865..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/syncronised.svg +++ /dev/null @@ -1 +0,0 @@ -<svg width="72" height="72" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><title>syncronised</title><g fill="#E65376" fill-rule="evenodd"><path d="M58.505 43.558l-9.476-6.89c-.314-.22-.73-.26-1.074-.08-.345.18-.562.53-.562.92v4.48h-30.99c-1.328 0-2.404 1.07-2.404 2.4 0 1.33 1.076 2.4 2.403 2.4h30.99v4.48c0 .39.218.74.563.92.148.07.308.11.468.11.213 0 .426-.06.605-.19l9.475-6.89c.266-.19.423-.5.423-.83 0-.33-.157-.64-.423-.83M14.425 28.748l9.476 6.88c.18.13.392.2.607.2.158 0 .318-.04.466-.11.345-.18.562-.53.562-.92v-4.48h30.99c1.33 0 2.403-1.08 2.403-2.41 0-1.32-1.074-2.4-2.402-2.4h-30.99v-4.48c0-.38-.218-.74-.563-.92-.344-.17-.76-.14-1.072.09l-9.475 6.88c-.267.2-.425.51-.425.83 0 .33.158.64.425.84"/></g></svg>
\ No newline at end of file diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/test-device-mockup.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/test-device-mockup.png Binary files differdeleted file mode 100644 index 55f1b156f..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/test-device-mockup.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/warwickshire-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/warwickshire-logo.png Binary files differdeleted file mode 100644 index 69c189581..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/warwickshire-logo.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/window-mockup.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/window-mockup.jpg Binary files differdeleted file mode 100644 index 86345b7e4..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/window-mockup.jpg +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png b/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png Binary files differdeleted file mode 100644 index efdaf2fe8..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich-logo.png +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich.jpg b/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich.jpg Binary files differdeleted file mode 100644 index 3f064d5d4..000000000 --- a/web/cobrands/fixmystreet.com/images/fms-for-councils/zurich.jpg +++ /dev/null diff --git a/web/cobrands/fixmystreet.com/images/tile-y.jpg b/web/cobrands/fixmystreet.com/images/tile-y.jpg Binary files differindex 3c8383714..80243e0d9 100644 --- a/web/cobrands/fixmystreet.com/images/tile-y.jpg +++ b/web/cobrands/fixmystreet.com/images/tile-y.jpg diff --git a/web/cobrands/fixmystreet.com/js.js b/web/cobrands/fixmystreet.com/js.js index 5aecd820e..9ecb8b8c2 100644 --- a/web/cobrands/fixmystreet.com/js.js +++ b/web/cobrands/fixmystreet.com/js.js @@ -1,4 +1,7 @@ (function(){ + if (!jQuery.validator) { + return; + } var validNamePat = /\ba\s*n+on+((y|o)mo?u?s)?(ly)?\b/i; function valid_name_factory(single) { return function(value, element) { @@ -8,73 +11,3 @@ jQuery.validator.addMethod('validName', valid_name_factory(0), translation_strings.name.required); jQuery.validator.addMethod('validNameU', valid_name_factory(1), translation_strings.name.required); })(); - -$(function(){ - - /* Front page banner for other countries */ - - $('.top_banner__close').live('click', function() { - $('.top_banner--country').hide(); - $.cookie('has_seen_country_message', 1, {expires: 365, path: '/'}); - }); - - if ( $('body.frontpage').length && -1 == navigator.userAgent.indexOf('Google Page Speed')) { - if (!$.cookie('has_seen_country_message')) { - $.ajax({ - url: 'https://gaze.mysociety.org/gaze-rest?f=get_country_from_ip', - success: function(data) { - if ( data && data != 'GB\n' ) { - var banner = '<div class="top_banner top_banner--country"><a href="#" class="top_banner__close">Close</a> <p>This site is for reporting <strong>problems in the UK</strong>. There are FixMyStreet sites <a href="http://www.fixmystreet.org/sites/">all over the world</a>, or you could set up your own using the <a href="http://www.fixmystreet.org/">FixMyStreet Platform</a>.</p></div>'; - $('body').prepend(banner); - $('.top_banner--country').slideDown('slow'); - } - } - }); - } - } - -}); - -$(function(){ - // "Fold out" additional rows in pricing grid - $('.js-extra-features').each(function(){ - var $t3 = $(this); - var $t2 = $('<tbody>'); - var cols = $t3.find('tr').eq(0).children().length; - - $t2.addClass('pricing-table__show-more'); - $t2.html('<tr><td colspan="' + cols + '"><button class="button">Compare more features</button></td></tr>'); - $t2.on('click', '.button', function(){ - $t3.toggle(); - }); - - $t2.insertBefore($t3); - $t3.hide(); - }); - - // Add tier names to cells, to be displayed on narrow screens - $('.pricing-table thead th').each(function(){ - var $table = $(this).parents('.pricing-table'); - var colIndex = $(this).prevAll().length; - - // Ignore first column - if (colIndex > 0) { - var tierName = $(this).text(); - $table.find('tbody tr').each(function(){ - $(this).children().eq(colIndex).attr('data-tier-name', tierName); - }); - } - }); - - // Hide the demo access form behind a button, to save space on initial page load - $('.js-fms-pro-demo-form').each(function(){ - var $form = $(this); - var $revealBtn = $('<button>').addClass('btn').text('Request access').on('click', function(){ - $form.slideDown(250, function(){ - $form.find('input[type="text"], input[type="text"]').eq(0).focus(); - }); - $(this).remove(); - }).insertAfter($form); - $form.hide(); - }); -}); diff --git a/web/cobrands/fixmystreet.com/layout.scss b/web/cobrands/fixmystreet.com/layout.scss index 46ff83274..e42dbacf7 100644 --- a/web/cobrands/fixmystreet.com/layout.scss +++ b/web/cobrands/fixmystreet.com/layout.scss @@ -160,6 +160,9 @@ body.fullwidthpage { background-size: 22px 34px; } } + a#geolocate_link.loading { + background: url("/cobrands/fixmystreet/images/spinner-yellow.gif") 100% 33% no-repeat + } } } diff --git a/web/cobrands/fixmystreet.com/vendor/jquery.cookie.min.js b/web/cobrands/fixmystreet.com/vendor/jquery.cookie.min.js deleted file mode 100644 index 3fa82b82b..000000000 --- a/web/cobrands/fixmystreet.com/vendor/jquery.cookie.min.js +++ /dev/null @@ -1,13 +0,0 @@ - -(function(factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof exports==='object'){factory(require('jquery'));}else{factory(jQuery);}}(function($){var pluses=/\+/g;function encode(s){return config.raw?s:encodeURIComponent(s);} -function decode(s){return config.raw?s:decodeURIComponent(s);} -function stringifyCookieValue(value){return encode(config.json?JSON.stringify(value):String(value));} -function parseCookieValue(s){if(s.indexOf('"')===0){s=s.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,'\\');} -try{s=decodeURIComponent(s.replace(pluses,' '));return config.json?JSON.parse(s):s;}catch(e){}} -function read(s,converter){var value=config.raw?s:parseCookieValue(s);return $.isFunction(converter)?converter(value):value;} -var config=$.cookie=function(key,value,options){if(value!==undefined&&!$.isFunction(value)){options=$.extend({},config.defaults,options);if(typeof options.expires==='number'){var days=options.expires,t=options.expires=new Date();t.setTime(+t+days*864e+5);} -return(document.cookie=[encode(key),'=',stringifyCookieValue(value),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':''].join(''));} -var result=key?undefined:{};var cookies=document.cookie?document.cookie.split('; '):[];for(var i=0,l=cookies.length;i<l;i++){var parts=cookies[i].split('=');var name=decode(parts.shift());var cookie=parts.join('=');if(key&&key===name){result=read(cookie,value);break;} -if(!key&&(cookie=read(cookie))!==undefined){result[name]=cookie;}} -return result;};config.defaults={};$.removeCookie=function(key,options){if($.cookie(key)===undefined){return false;} -$.cookie(key,'',$.extend({},options,{expires:-1}));return!$.cookie(key);};}));
\ No newline at end of file diff --git a/web/cobrands/fixmystreet/admin.js b/web/cobrands/fixmystreet/admin.js index 2af950b28..3ed2d8ec5 100644 --- a/web/cobrands/fixmystreet/admin.js +++ b/web/cobrands/fixmystreet/admin.js @@ -48,8 +48,6 @@ $(function(){ } }); - $("select.js-multiple[multiple]").make_multi(); - // on a body's page, hide/show deleted contact categories var $table_with_deleted_contacts = $('table tr.is-deleted td.contact-category').closest('table'); if ($table_with_deleted_contacts.length == 1) { diff --git a/web/cobrands/fixmystreet/fixmystreet.js b/web/cobrands/fixmystreet/fixmystreet.js index 4d996387e..55c4b2e43 100644 --- a/web/cobrands/fixmystreet/fixmystreet.js +++ b/web/cobrands/fixmystreet/fixmystreet.js @@ -205,40 +205,6 @@ fixmystreet.resize_to = { } }; -fixmystreet.geolocate = { - setup: function(success_callback) { - $('#geolocate_link').click(function(e) { - var $link = $(this); - e.preventDefault(); - // Spinny thing! - if ($('.mobile').length) { - $link.append(' <img src="/cobrands/fixmystreet/images/spinner-black.gif" alt="" align="bottom">'); - } else { - var spincolor = $('<span>').css("color","white").css("color") === $('#front-main').css("background-color") ? 'white' : 'yellow'; - $link.append(' <img src="/cobrands/fixmystreet/images/spinner-' + spincolor + '.gif" alt="" align="bottom">'); - } - navigator.geolocation.getCurrentPosition(function(pos) { - $link.find('img').remove(); - success_callback(pos); - }, function(err) { - $link.find('img').remove(); - if (err.code === 1) { // User said no - $link.html(translation_strings.geolocation_declined); - } else if (err.code === 2) { // No position - $link.html(translation_strings.geolocation_no_position); - } else if (err.code === 3) { // Too long - $link.html(translation_strings.geolocation_no_result); - } else { // Unknown - $link.html(translation_strings.geolocation_unknown); - } - }, { - enableHighAccuracy: true, - timeout: 10000 - }); - }); - } -}; - fixmystreet.update_list_item_buttons = function($list) { if (!$list) { return; @@ -303,8 +269,10 @@ $.extend(fixmystreet.set_up, { form_validation: function() { // FIXME - needs to use translated string - jQuery.validator.addMethod('validCategory', function(value, element) { - return this.optional(element) || value != '-- Pick a category --'; }, translation_strings.category ); + if (jQuery.validator) { + jQuery.validator.addMethod('validCategory', function(value, element) { + return this.optional(element) || value != '-- Pick a category --'; }, translation_strings.category ); + } var submitted = false; @@ -408,20 +376,6 @@ $.extend(fixmystreet.set_up, { }); }, - report_geolocation: function() { - if ('geolocation' in navigator) { - fixmystreet.geolocate.setup(function(pos) { - var latitude = pos.coords.latitude.toFixed(6); - var longitude = pos.coords.longitude.toFixed(6); - var page = $('#geolocate_link').attr('href'); - var coords = 'latitude=' + latitude + ';longitude=' + longitude; - location.href = page + (page.indexOf('?') > -1 ? ';' : '?') + coords; - }); - } else { - $('#geolocate_link').hide(); - } - }, - category_change: function() { // Deal with changes to report category. @@ -602,8 +556,7 @@ $.extend(fixmystreet.set_up, { // to refresh the map when the filter inputs are changed. $(".report-list-filters [type=submit]").hide(); - $('#statuses').make_multi(); - $('#filter_categories').make_multi(); + $('.js-multiple').make_multi(); }, mobile_ui_tweaks: function() { diff --git a/web/cobrands/fixmystreet/front.js b/web/cobrands/fixmystreet/front.js deleted file mode 100644 index a5e3bac98..000000000 --- a/web/cobrands/fixmystreet/front.js +++ /dev/null @@ -1,12 +0,0 @@ -yepnope.addPrefix( 'preload', function ( resource ) { - resource.noexec = true; - return resource; -}); - -(function(){ - var scripts = document.getElementById('script_front').getAttribute('data-scripts').split(','); - for (var i=0; i<scripts.length; i++) { - scripts[i] = 'preload!' + scripts[i]; - } - yepnope({ load: scripts }); -})(); diff --git a/web/cobrands/fixmystreet/prefetch-polyfill.js b/web/cobrands/fixmystreet/prefetch-polyfill.js new file mode 100644 index 000000000..a8b0f3dbf --- /dev/null +++ b/web/cobrands/fixmystreet/prefetch-polyfill.js @@ -0,0 +1,28 @@ +(function(){ + function has_prefetch() { + // IE11 + Edge support prefetch, but do not support relList.supports, sigh + var ua = navigator.userAgent; + if (ua.indexOf('Edge/') > -1 || ua.indexOf('Trident/7') > -1) { + return true; + } + // e.g. Firefox + Chrome will pass this test, and Safari will fail. + var l = document.createElement("link"), + rl = l.relList; + if (rl && rl.supports) { + return rl.supports('prefetch'); + } + } + + // If we don't support the <link rel="prefetch">s in the header, manually + // prefetch them by storing them in images. + if (!has_prefetch()) { + var links = document.getElementsByTagName('link'), + llen = links.length; + for (var x = 0; x < llen; x++) { + var link = links[x]; + if (link.nodeName === "LINK" && link.rel && link.rel === 'prefetch') { + (new Image()).src = link.href; + } + } + } +})(); diff --git a/web/cobrands/fixmystreet/staff.js b/web/cobrands/fixmystreet/staff.js index ffc529250..f1e07ed6b 100644 --- a/web/cobrands/fixmystreet/staff.js +++ b/web/cobrands/fixmystreet/staff.js @@ -314,7 +314,8 @@ $.extend(fixmystreet.set_up, { } if ('geolocation' in navigator) { - fixmystreet.geolocate.setup(function(pos) { + var el = document.querySelector('.btn--geolocate'); + fixmystreet.geolocate(el, function(pos) { var latlon = new OpenLayers.LonLat(pos.coords.longitude, pos.coords.latitude); var bng = latlon.clone().transform( new OpenLayers.Projection("EPSG:4326"), diff --git a/web/cobrands/sass/_base.scss b/web/cobrands/sass/_base.scss index 106694650..a65bd7ca0 100644 --- a/web/cobrands/sass/_base.scss +++ b/web/cobrands/sass/_base.scss @@ -1975,11 +1975,21 @@ label .muted { background:#2a2a2a; } } + a#geolocate_link.loading { + background: #1a1a1a url("/cobrands/fixmystreet/images/spinner-black.gif") 100% 50% no-repeat; + border-right: solid 0.5em #1a1a1a; + padding-right: 1.5em; + } } .no-js #geolocate_link { display: none !important; } +a#geolocate_link.loading, .btn--geolocate.loading { + background: url("/cobrands/fixmystreet/images/spinner-white.gif") 100% 50% no-repeat; + padding-right: 1.5em; +} + #front-howto { #front_stats { display:table; diff --git a/web/cobrands/sass/_layout.scss b/web/cobrands/sass/_layout.scss index 746beb5ce..65934f3b9 100644 --- a/web/cobrands/sass/_layout.scss +++ b/web/cobrands/sass/_layout.scss @@ -909,6 +909,9 @@ textarea.form-error { background:none; } } + a#geolocate_link.loading { + border-right: none; + } } .ie7 #front-main { #postcodeForm { diff --git a/web/js/front.js b/web/js/front.js new file mode 100644 index 000000000..d2c814490 --- /dev/null +++ b/web/js/front.js @@ -0,0 +1,13 @@ +document.getElementById('pc').focus(); + +(function(){ + var around_forms = document.querySelectorAll('form[action*="around"]'); + for (var i=0; i<around_forms.length; i++) { + var form = around_forms[i]; + var el = document.createElement('input'); + el.type = 'hidden'; + el.name = 'js'; + el.value = 1; + form.insertBefore(el, form.firstChild); + } +})(); diff --git a/web/js/geolocation.js b/web/js/geolocation.js new file mode 100644 index 000000000..5ff9fe9dc --- /dev/null +++ b/web/js/geolocation.js @@ -0,0 +1,42 @@ +var fixmystreet = fixmystreet || {}; + +fixmystreet.geolocate = function(element, success_callback) { + element.addEventListener('click', function(e) { + var link = this; + e.preventDefault(); + link.className += ' loading'; + navigator.geolocation.getCurrentPosition(function(pos) { + link.className = link.className.replace(/loading/, ' '); + success_callback(pos); + }, function(err) { + link.className = link.className.replace(/loading/, ' '); + if (err.code === 1) { // User said no + link.innerHTML = translation_strings.geolocation_declined; + } else if (err.code === 2) { // No position + link.innerHTML = translation_strings.geolocation_no_position; + } else if (err.code === 3) { // Too long + link.innerHTML = translation_strings.geolocation_no_result; + } else { // Unknown + link.innerHTML = translation_strings.geolocation_unknown; + } + }, { + enableHighAccuracy: true, + timeout: 10000 + }); + }); +}; + +(function(){ + var link = document.getElementById('geolocate_link'); + if (!link) { return; } + if ('geolocation' in navigator) { + fixmystreet.geolocate(link, function(pos) { + var latitude = pos.coords.latitude.toFixed(6); + var longitude = pos.coords.longitude.toFixed(6); + var coords = 'latitude=' + latitude + ';longitude=' + longitude; + location.href = link.href + (link.href.indexOf('?') > -1 ? ';' : '?') + coords; + }); + } else { + link.style.display = 'none'; + } +})(); diff --git a/web/vendor/yepnope.js b/web/vendor/yepnope.js deleted file mode 100644 index d48d17427..000000000 --- a/web/vendor/yepnope.js +++ /dev/null @@ -1 +0,0 @@ -(function(e,t,n){function r(e){return"[object Function]"==y.call(e)}function o(e){return"string"==typeof e}function a(){}function i(e){return!e||"loaded"==e||"complete"==e||"uninitialized"==e}function c(){var e=v.shift();g=1,e?e.t?m(function(){("c"==e.t?f.injectCss:f.injectJs)(e.s,0,e.a,e.x,e.e,1)},0):(e(),c()):g=0}function l(e,n,r,o,a,l,s){function u(t){if(!p&&i(d.readyState)&&(b.r=p=1,!g&&c(),d.onload=d.onreadystatechange=null,t)){"img"!=e&&m(function(){C.removeChild(d)},50);for(var r in M[n])M[n].hasOwnProperty(r)&&M[n][r].onload()}}var s=s||f.errorTimeout,d=t.createElement(e),p=0,y=0,b={t:r,s:n,e:a,a:l,x:s};1===M[n]&&(y=1,M[n]=[]),"object"==e?d.data=n:(d.src=n,d.type=e),d.width=d.height="0",d.onerror=d.onload=d.onreadystatechange=function(){u.call(this,y)},v.splice(o,0,b),"img"!=e&&(y||2===M[n]?(C.insertBefore(d,E?null:h),m(u,s)):M[n].push(d))}function s(e,t,n,r,a){return g=0,t=t||"j",o(e)?l("c"==t?w:S,e,t,this.i++,n,r,a):(v.splice(this.i++,0,e),1==v.length&&c()),this}function u(){var e=f;return e.loader={load:s,i:0},e}var d,f,p=t.documentElement,m=e.setTimeout,h=t.getElementsByTagName("script")[0],y={}.toString,v=[],g=0,b="MozAppearance"in p.style,E=b&&!!t.createRange().compareNode,C=E?p:h.parentNode,p=e.opera&&"[object Opera]"==y.call(e.opera),p=!!t.attachEvent&&!p,S=b?"object":p?"script":"img",w=p?"script":S,j=Array.isArray||function(e){return"[object Array]"==y.call(e)},F=[],M={},N={timeout:function(e,t){return t.length&&(e.timeout=t[0]),e}};f=function(e){function t(e){var t,n,r,e=e.split("!"),o=F.length,a=e.pop(),i=e.length,a={url:a,origUrl:a,prefixes:e};for(n=0;i>n;n++)r=e[n].split("="),(t=N[r.shift()])&&(a=t(a,r));for(n=0;o>n;n++)a=F[n](a);return a}function i(e,o,a,i,c){var l=t(e),s=l.autoCallback;l.url.split(".").pop().split("?").shift(),l.bypass||(o&&(o=r(o)?o:o[e]||o[i]||o[e.split("/").pop().split("?")[0]]),l.instead?l.instead(e,o,a,i,c):(M[l.url]?l.noexec=!0:M[l.url]=1,a.load(l.url,l.forceCSS||!l.forceJS&&"css"==l.url.split(".").pop().split("?").shift()?"c":n,l.noexec,l.attrs,l.timeout),(r(o)||r(s))&&a.load(function(){u(),o&&o(l.origUrl,c,i),s&&s(l.origUrl,c,i),M[l.url]=2})))}function c(e,t){function n(e,n){if(e){if(o(e))n||(d=function(){var e=[].slice.call(arguments);f.apply(this,e),p()}),i(e,d,t,0,s);else if(Object(e)===e)for(l in c=function(){var t,n=0;for(t in e)e.hasOwnProperty(t)&&n++;return n}(),e)e.hasOwnProperty(l)&&(!n&&!--c&&(r(d)?d=function(){var e=[].slice.call(arguments);f.apply(this,e),p()}:d[l]=function(e){return function(){var t=[].slice.call(arguments);e&&e.apply(this,t),p()}}(f[l])),i(e[l],d,t,l,s))}else!n&&p()}var c,l,s=!!e.test,u=e.load||e.both,d=e.callback||a,f=d,p=e.complete||a;n(s?e.yep:e.nope,!!u),u&&n(u)}var l,s,d=this.yepnope.loader;if(o(e))i(e,0,d,0);else if(j(e))for(l=0;l<e.length;l++)s=e[l],o(s)?i(s,0,d,0):j(s)?f(s):Object(s)===s&&c(s,d);else Object(e)===e&&c(e,d)},f.addPrefix=function(e,t){N[e]=t},f.addFilter=function(e){F.push(e)},f.errorTimeout=1e4,null==t.readyState&&t.addEventListener&&(t.readyState="loading",t.addEventListener("DOMContentLoaded",d=function(){t.removeEventListener("DOMContentLoaded",d,0),t.readyState="complete"},0)),e.yepnope=u(),e.yepnope.executeStack=c,e.yepnope.injectJs=function(e,n,r,o,l,s){var u,d,p=t.createElement("script"),o=o||f.errorTimeout;p.src=e;for(d in r)p.setAttribute(d,r[d]);n=s?c:n||a,p.onreadystatechange=p.onload=function(){!u&&i(p.readyState)&&(u=1,n(),p.onload=p.onreadystatechange=null)},m(function(){u||(u=1,n(1))},o),l?p.onload():h.parentNode.insertBefore(p,h)},e.yepnope.injectCss=function(e,n,r,o,i,l){var s,o=t.createElement("link"),n=l?c:n||a;o.href=e,o.rel="stylesheet",o.type="text/css";for(s in r)o.setAttribute(s,r[s]);i||(h.parentNode.insertBefore(o,h),m(n,0))}})(this,document); |