share eingebaut

This commit is contained in:
silas
2018-10-10 18:27:01 +02:00
parent 93a075c239
commit d53b275bdc
17 changed files with 154 additions and 93 deletions

View File

@@ -0,0 +1 @@
<div class = 'max-width center'></div>

View File

@@ -15,25 +15,31 @@
</div>
<div class='height-60 max-width flex-center'>
<div id = 'level'></div>
<span id='level-number-container' class = 'visible in-main-menu'>
<div id='level'></div>
<span id='level-number-container' class='visible in-main-menu'>
<span id='level-number'>1</span>
</span>
</div>
<div class='height-30 flex-center fill-me'>
<button class='button grow text-center' id='play-button'><span data-translation="play"></span></button>
<div class = 'max-width line-height-1'>
<div class='max-width line-height-1 fill-me vertical'>
<label class="switch">
<div data-view="img/speaker.svg"></div>
<input type="checkbox" class = "setting" id = "play-sound">
<input type="checkbox" class="setting" id="play-sound">
<span class="slider"></span>
</label>
<div class="grow center" id = "share-button"><span data-view="img/share.svg"></span></div>
<label class="switch right">
<div data-view="img/music.svg"></div>
<input type="checkbox" class = "setting" id = "play-music">
<input type="checkbox" class="setting" id="play-music">
<span class="slider"></span>
</label>
</div>
</div>
<div class='height-10 flex-center fill-me'>
<div class='max-width line-height-1'>
<span class='right' id='share-buttons'></span>
</div>
</div>
</div>

View File

@@ -0,0 +1,19 @@
import {Dialog, Helper, ShareManager, ThemeManager, Translator, ViewInflater} from "../../../../../js/lib/pwa-lib";
export class ShareDialog extends Dialog{
constructor() {
let viewPromise = ViewInflater.inflate("html/application/dialog/share.html").then(view => {
view.appendChild(ShareManager.generateDefaultShareElement(window.location.hostname + Helper.basePath("")));
let closeListener = () => {
this.close();
};
view.querySelectorAll("a").forEach((element) => {
element.addEventListener("click", closeListener);
});
return view;
});
super(viewPromise, "share-dialog");
}
}

View File

@@ -3,9 +3,10 @@ import {LevelSite} from "./LevelSite";
import {Matomo, ScaleHelper, SoundManager} from "../../../../../js/lib/pwa-assets";
import {TemplateContainer} from "../wordrotator/Segment/TemplateContainer";
import {MainMenuLevel} from "../wordrotator/Level/MainMenuLevel";
import {FlashMessenger, Helper, InitPromise} from "../../../../../js/lib/pwa-lib";
import {FlashMessenger, Helper, InitPromise, ShareManager} from "../../../../../js/lib/pwa-lib";
import {DataManager, SettingsManager} from "../../../../../js/lib/pwa-core";
import {WordRotatorDb} from "../WordRotatorDb";
import {ShareDialog} from "../dialog/ShareDialog";
export class MenuSite extends WordRotatorBaseSite {
constructor(siteManager) {
@@ -152,6 +153,11 @@ export class MenuSite extends WordRotatorBaseSite {
soundManager.set({muted: !playSoundButton.checked}, SoundManager.CHANNELS.SOUND);
Matomo.push(["trackEvent", "MainMenu", "PlaySound", "Play Sound", (playSoundButton.checked) ? 1 : 0]);
});
this.findBy("#share-button").addEventListener("click", () => {
new ShareDialog().show();
});
// this.findBy("#share-buttons").appendChild(ShareManager.generateDefaultShareElement("https://wordrotator.silas.link"));
}
onPause(args) {

View File

@@ -26,5 +26,6 @@
"track":"Anonymisierte Nutzungsdaten senden:",
">":">",
"choose-theme-dialog-title":"Theme auswählen:",
"install":"Installieren"
"install":"Installieren",
"share-dialog":"Teilen:"
}