From 7566a6d046ea96fee64ecfe0dc535c1502f774e6 Mon Sep 17 00:00:00 2001 From: pietervdvn Date: Sat, 16 Oct 2021 18:30:24 +0200 Subject: [PATCH] Fix mapillary links --- UI/AllThemesGui.ts | 6 ++++-- UI/BigComponents/Attribution.ts | 7 ++----- UI/BigComponents/FullWelcomePaneWithTabs.ts | 8 ++------ Utils.ts | 11 +++++++++++ 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/UI/AllThemesGui.ts b/UI/AllThemesGui.ts index 0419b1489..ceb1fa33b 100644 --- a/UI/AllThemesGui.ts +++ b/UI/AllThemesGui.ts @@ -1,17 +1,19 @@ import {FixedUiElement} from "./Base/FixedUiElement"; -import State from "../State"; import Combine from "./Base/Combine"; import MoreScreen from "./BigComponents/MoreScreen"; import Translations from "./i18n/Translations"; import Constants from "../Models/Constants"; import UserRelatedState from "../Logic/State/UserRelatedState"; +import {Utils} from "../Utils"; export default class AllThemesGui { constructor() { new FixedUiElement("").AttachTo("centermessage") const state = new UserRelatedState(undefined); new Combine([new MoreScreen(state, true), - Translations.t.general.aboutMapcomplete.SetClass("link-underline"), + Translations.t.general.aboutMapcomplete + .Subs({"osmcha_link": Utils.OsmChaLinkFor(7)}) + .SetClass("link-underline"), new FixedUiElement("v" + Constants.vNumber) ]).SetClass("block m-5 lg:w-3/4 lg:ml-40") .SetStyle("pointer-events: all;") diff --git a/UI/BigComponents/Attribution.ts b/UI/BigComponents/Attribution.ts index 471556798..1bcdcbc9e 100644 --- a/UI/BigComponents/Attribution.ts +++ b/UI/BigComponents/Attribution.ts @@ -8,6 +8,7 @@ import Loc from "../../Models/Loc"; import {VariableUiElement} from "../Base/VariableUIElement"; import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig"; import {BBox} from "../../Logic/BBox"; +import {Utils} from "../../Utils"; /** * The bottom right attribution panel in the leaflet map @@ -23,11 +24,7 @@ export default class Attribution extends Combine { const reportBug = new Link(Svg.bug_ui().SetClass("small-image"), "https://github.com/pietervdvn/MapComplete/issues", true); const layoutId = layoutToUse?.id; - const now = new Date() - // Note: getMonth is zero-index, we want 1-index but with one substracted, so it checks out! - const startDate = now.getFullYear() + "-" + now.getMonth() + "-" + now.getDate() - const osmChaLink = `https://osmcha.org/?filters=%7B%22comment%22%3A%5B%7B%22label%22%3A%22%23${layoutId}%22%2C%22value%22%3A%22%23${layoutId}%22%7D%5D%2C%22date__gte%22%3A%5B%7B%22label%22%3A%22${startDate}%22%2C%22value%22%3A%222020-07-05%22%7D%5D%2C%22editor%22%3A%5B%7B%22label%22%3A%22MapComplete%22%2C%22value%22%3A%22MapComplete%22%7D%5D%7D` - const stats = new Link(Svg.statistics_ui().SetClass("small-image"), osmChaLink, true) + const stats = new Link(Svg.statistics_ui().SetClass("small-image"), Utils.OsmChaLinkFor(31, layoutId), true) const idLink = location.map(location => `https://www.openstreetmap.org/edit?editor=id#map=${location?.zoom ?? 0}/${location?.lat ?? 0}/${location?.lon ?? 0}`) diff --git a/UI/BigComponents/FullWelcomePaneWithTabs.ts b/UI/BigComponents/FullWelcomePaneWithTabs.ts index b4b3c3f69..3f6a8bf4d 100644 --- a/UI/BigComponents/FullWelcomePaneWithTabs.ts +++ b/UI/BigComponents/FullWelcomePaneWithTabs.ts @@ -79,15 +79,11 @@ export default class FullWelcomePaneWithTabs extends ScrollableFullScreen { const tabs = FullWelcomePaneWithTabs.ConstructBaseTabs(state, isShown) const tabsWithAboutMc = [...FullWelcomePaneWithTabs.ConstructBaseTabs(state, isShown)] - const now = new Date() - const lastWeek = new Date(now.getDate() - 7 * 24 * 60 * 60 * 1000) - const date = lastWeek.getFullYear() + "-" + Utils.TwoDigits(lastWeek.getMonth() + 1) + "-" + Utils.TwoDigits(lastWeek.getDate()) - const osmcha_link = `https://osmcha.org/?filters=%7B%22date__gte%22%3A%5B%7B%22label%22%3A%22${date}%22%2C%22value%22%3A%222021-01-01%22%7D%5D%2C%22editor%22%3A%5B%7B%22label%22%3A%22mapcomplete%22%2C%22value%22%3A%22mapcomplete%22%7D%5D%7D` - + tabsWithAboutMc.push({ header: Svg.help, content: new Combine([Translations.t.general.aboutMapcomplete.Clone() - .Subs({"osmcha_link": osmcha_link}), "
Version " + Constants.vNumber]) + .Subs({"osmcha_link": Utils.OsmChaLinkFor(7)}), "
Version " + Constants.vNumber]) .SetClass("link-underline") } ); diff --git a/Utils.ts b/Utils.ts index 51aaf072b..c3e8349f4 100644 --- a/Utils.ts +++ b/Utils.ts @@ -481,5 +481,16 @@ export class Utils { }, false); } + + public static OsmChaLinkFor(daysInThePast, theme = undefined) : string { + const now = new Date() + const lastWeek = new Date(now.getTime() - daysInThePast * 24 * 60 * 60 * 1000) + const date = lastWeek.getFullYear() + "-" + Utils.TwoDigits(lastWeek.getMonth() + 1) + "-" + Utils.TwoDigits(lastWeek.getDate()) + let osmcha_link = `{"date__gte":[{"label":"${date}","value":"${date}"}],"editor":[{"label":"mapcomplete","value":"mapcomplete"}]}` + if(theme !== undefined){ + osmcha_link = osmcha_link + "," + `{"comment":[{"label":"#${theme}","value":"#${theme}"}]` + } + return "https://osmcha.org/?filters="+ encodeURIComponent(osmcha_link) + } }