Merge master

This commit is contained in:
Pieter Vander Vennet 2023-01-06 04:21:34 +01:00
commit 5ccf64334f
28 changed files with 391 additions and 109 deletions

View file

@ -8,12 +8,9 @@ import { Utils } from "../Utils"
import LanguagePicker1 from "./LanguagePicker"
import IndexText from "./BigComponents/IndexText"
import FeaturedMessage from "./BigComponents/FeaturedMessage"
import Toggle from "./Input/Toggle"
import { SubtleButton } from "./Base/SubtleButton"
import { VariableUiElement } from "./Base/VariableUIElement"
import Svg from "../Svg"
import { ImportViewerLinks } from "./BigComponents/UserInformation"
import {LoginToggle} from "./Popup/LoginButton";
import { LoginToggle } from "./Popup/LoginButton"
import UserSurveyPanel from "./UserSurveyPanel"
export default class AllThemesGui {
setup() {
@ -29,12 +26,9 @@ export default class AllThemesGui {
new Combine([
intro,
new FeaturedMessage().SetClass("mb-4 block"),
new Combine([new UserSurveyPanel()]).SetClass("flex justify-center"),
new MoreScreen(state, true),
new LoginToggle(
undefined,
Translations.t.index.logIn,
state
),
new LoginToggle(undefined, Translations.t.index.logIn, state),
new ImportViewerLinks(state.osmConnection),
Translations.t.general.aboutMapcomplete
.Subs({ osmcha_link: Utils.OsmChaLinkFor(7) })

View file

@ -13,6 +13,7 @@ import LoggedInUserIndicator from "../LoggedInUserIndicator"
import { ActionButtons } from "./ActionButtons"
import { BBox } from "../../Logic/BBox"
import Loc from "../../Models/Loc"
import UserSurveyPanel from "../UserSurveyPanel"
export default class ThemeIntroductionPanel extends Combine {
constructor(
@ -68,7 +69,8 @@ export default class ThemeIntroductionPanel extends Combine {
const hasPresets = layout.layers.some((l) => l.presets?.length > 0)
super([
layout.description.Clone().SetClass("blcok mb-4"),
layout.description.Clone().SetClass("block mb-4"),
new UserSurveyPanel(),
new Combine([
t.welcomeExplanation.general,
hasPresets

50
UI/UserSurveyPanel.ts Normal file
View file

@ -0,0 +1,50 @@
import Combine from "./Base/Combine"
import { FixedUiElement } from "./Base/FixedUiElement"
import { SubtleButton } from "./Base/SubtleButton"
import Svg from "../Svg"
import { LocalStorageSource } from "../Logic/Web/LocalStorageSource"
import Toggle from "./Input/Toggle"
export default class UserSurveyPanel extends Toggle {
private static readonly userSurveyHasBeenTaken = LocalStorageSource.GetParsed(
"usersurvey-has-been-taken",
false
)
constructor() {
super(
new Combine([
new FixedUiElement("Thanks for taking the survey!").SetClass("thanks px-2"),
new SubtleButton(Svg.star_svg(), "Take the user survey again", {
imgSize: "h-6 w-6",
})
.onClick(() => {
window.open(
"https://framaforms.org/mapcomplete-usage-survey-1672687708",
"_blank"
)
UserSurveyPanel.userSurveyHasBeenTaken.setData(false)
})
.SetClass("h-12"),
]),
new Combine([
new FixedUiElement("Please, fill in the user survey").SetClass("alert"),
"Hey! We'd like to get to know you better - would you mind to help out by filling out this form? Your opinion is important",
new FixedUiElement(
"We are specifically searching responses from underrepresented groups, such as non-technical people, minorities, women, people without an account, people of colour, ..."
).SetClass("font-bold"),
"Results are fully anonymous and are used to improve MapComplete. We don't ask private information. So, don't hesitate and fill it out!",
new SubtleButton(Svg.star_outline_svg(), "Take the survey").onClick(() => {
window.open(
"https://framaforms.org/mapcomplete-usage-survey-1672687708",
"_blank"
)
UserSurveyPanel.userSurveyHasBeenTaken.setData(true)
}),
]).SetClass("block border-2 border-black rounded-xl flex flex-col p-2"),
UserSurveyPanel.userSurveyHasBeenTaken
)
this.SetStyle("max-width: 40rem")
}
}