diff options
author | Zarino Zappia <mail@zarino.co.uk> | 2018-07-27 15:20:02 +0100 |
---|---|---|
committer | Zarino Zappia <mail@zarino.co.uk> | 2018-08-07 16:51:40 +0100 |
commit | 4e8e8d3b4912ec6552ae5290dbf47cf1d5968107 (patch) | |
tree | dda7d89f186f6f7347f5b63232656fbefd882c03 /templates | |
parent | 0f4a56c8654262d49a18b04e0517f99561da565f (diff) |
"Report a problem here" button in nav when viewing a location
Fixes #2016.
When you load a page that includes either a problem report, or is
centered on a location, the "Report a problem" button in the nav bar
(that normally takes you to the homepage) becomes a "Report a(nother)
problem here" button, that leads directly to the new report form
for the location in question.
On full map pages (/around and any /report/<id> pages loaded via it)
the reporting form will be rendered client-side, avoiding a full page
reload.
On pages lacking the full map (eg: missing fixmystreet.bbox_strategy),
namely /reports/<area> and any /report/<id> page that hasn’t been
client-side loaded via /around, we fall back to a server-side page load.
Finally, as you’d expect, the text and URL for the button dynamically
update as you move around the map, or switch between the different
client-side states of the reporting flow.
We also hide the button entirely when you’re reporting a problem,
which was something suggested a long time ago.
Diffstat (limited to 'templates')
-rw-r--r-- | templates/web/base/js/translation_strings.html | 6 | ||||
-rw-r--r-- | templates/web/base/main_nav_items.html | 10 |
2 files changed, 15 insertions, 1 deletions
diff --git a/templates/web/base/js/translation_strings.html b/templates/web/base/js/translation_strings.html index a2e3c16c5..f6e1e580b 100644 --- a/templates/web/base/js/translation_strings.html +++ b/templates/web/base/js/translation_strings.html @@ -71,6 +71,12 @@ fixmystreet.password_minimum_length = [% c.cobrand.password_minimum_length %]; login_with_email: '[% loc('Log in with email') | replace("'", "\\'") %]', [% END ~%] + report_a_problem_btn: { + default: '[% loc('Report a problem') | replace("'", "\\'") %]', + here: '[% loc('Report a problem here') | replace("'", "\\'") %]', + another: '[% loc('Report another problem here') | replace("'", "\\'") %]' + }, + offline: { your_reports: '[% loc('Your offline reports') | replace("'", "\\'") %]', update_saved: '[% loc('Your update has been saved offline for submission when back online.') | replace("'", "\\'") %]', diff --git a/templates/web/base/main_nav_items.html b/templates/web/base/main_nav_items.html index 618aa8328..3940052a3 100644 --- a/templates/web/base/main_nav_items.html +++ b/templates/web/base/main_nav_items.html @@ -1,4 +1,12 @@ -[%~ INCLUDE navitem uri=(homepage_template ? '/report' : '/') label=loc('Report a problem') attrs='class="report-a-problem-btn"' ~%] +[%~ IF problem ~%] + [%~ INCLUDE navitem uri='/report/new?longitude=' _ problem.longitude _ '&latitude=' _ problem.latitude label=loc('Report another problem here') attrs='class="report-a-problem-btn"' ~%] +[%~ ELSIF latitude AND longitude ~%] + [%~ INCLUDE navitem uri='/report/new?longitude=' _ longitude _ '&latitude=' _ latitude label=loc('Report a problem here') attrs='class="report-a-problem-btn"' ~%] +[%~ ELSIF homepage_template ~%] + [%~ INCLUDE navitem uri='/report' label=loc('Report a problem') attrs='class="report-a-problem-btn"' ~%] +[%~ ELSE ~%] + [%~ INCLUDE navitem uri='/' label=loc('Report a problem') attrs='class="report-a-problem-btn"' ~%] +[%~ END ~%] [%~ IF c.user_exists ~%] [%~ INCLUDE navitem uri='/my' label=loc('Your account') ~%] |