Ask contributors to take the user survey again, see #1180
This commit is contained in:
parent
3726419115
commit
94d46862c1
4 changed files with 63 additions and 5 deletions
|
@ -13,6 +13,7 @@ import { SubtleButton } from "./Base/SubtleButton"
|
||||||
import { VariableUiElement } from "./Base/VariableUIElement"
|
import { VariableUiElement } from "./Base/VariableUIElement"
|
||||||
import Svg from "../Svg"
|
import Svg from "../Svg"
|
||||||
import { ImportViewerLinks } from "./BigComponents/UserInformation"
|
import { ImportViewerLinks } from "./BigComponents/UserInformation"
|
||||||
|
import UserSurveyPanel from "./UserSurveyPanel"
|
||||||
|
|
||||||
export default class AllThemesGui {
|
export default class AllThemesGui {
|
||||||
setup() {
|
setup() {
|
||||||
|
@ -28,6 +29,7 @@ export default class AllThemesGui {
|
||||||
new Combine([
|
new Combine([
|
||||||
intro,
|
intro,
|
||||||
new FeaturedMessage().SetClass("mb-4 block"),
|
new FeaturedMessage().SetClass("mb-4 block"),
|
||||||
|
new Combine([new UserSurveyPanel()]).SetClass("flex justify-center"),
|
||||||
new MoreScreen(state, true),
|
new MoreScreen(state, true),
|
||||||
new Toggle(
|
new Toggle(
|
||||||
undefined,
|
undefined,
|
||||||
|
|
|
@ -9,6 +9,7 @@ import Svg from "../../Svg"
|
||||||
import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig"
|
import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig"
|
||||||
import { OsmConnection } from "../../Logic/Osm/OsmConnection"
|
import { OsmConnection } from "../../Logic/Osm/OsmConnection"
|
||||||
import FullWelcomePaneWithTabs from "./FullWelcomePaneWithTabs"
|
import FullWelcomePaneWithTabs from "./FullWelcomePaneWithTabs"
|
||||||
|
import UserSurveyPanel from "../UserSurveyPanel"
|
||||||
|
|
||||||
export default class ThemeIntroductionPanel extends Combine {
|
export default class ThemeIntroductionPanel extends Combine {
|
||||||
constructor(
|
constructor(
|
||||||
|
@ -51,7 +52,8 @@ export default class ThemeIntroductionPanel extends Combine {
|
||||||
|
|
||||||
const hasPresets = layout.layers.some((l) => l.presets?.length > 0)
|
const hasPresets = layout.layers.some((l) => l.presets?.length > 0)
|
||||||
super([
|
super([
|
||||||
layout.description.Clone().SetClass("blcok mb-4"),
|
layout.description.Clone().SetClass("block mb-4"),
|
||||||
|
new UserSurveyPanel(),
|
||||||
new Combine([
|
new Combine([
|
||||||
t.welcomeExplanation.general,
|
t.welcomeExplanation.general,
|
||||||
hasPresets
|
hasPresets
|
||||||
|
|
50
UI/UserSurveyPanel.ts
Normal file
50
UI/UserSurveyPanel.ts
Normal 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")
|
||||||
|
}
|
||||||
|
}
|
|
@ -624,6 +624,10 @@ video {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.\!relative {
|
||||||
|
position: relative !important;
|
||||||
|
}
|
||||||
|
|
||||||
.sticky {
|
.sticky {
|
||||||
position: -webkit-sticky;
|
position: -webkit-sticky;
|
||||||
position: sticky;
|
position: sticky;
|
||||||
|
@ -811,10 +815,6 @@ video {
|
||||||
margin-top: 1rem;
|
margin-top: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ml-3 {
|
|
||||||
margin-left: 0.75rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mr-2 {
|
.mr-2 {
|
||||||
margin-right: 0.5rem;
|
margin-right: 0.5rem;
|
||||||
}
|
}
|
||||||
|
@ -839,6 +839,10 @@ video {
|
||||||
margin-left: 0.5rem;
|
margin-left: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ml-3 {
|
||||||
|
margin-left: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
.ml-12 {
|
.ml-12 {
|
||||||
margin-left: 3rem;
|
margin-left: 3rem;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue