1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2024-11-23 17:42:46 +01:00
TweetDuck/resources/Content/introduction/introduction.js

70 lines
2.6 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { $TD } from "../api/bridge.js";
import { $ } from "../api/jquery.js";
import { onAppReady } from "../api/ready.js";
import { TD } from "../api/td.js";
const introductionHTML = `
<div id="td-introduction-modal" class="ovl scroll-v scroll-styled-v">
<div class="mdl is-inverted-dark">
<header class="mdl-header">
<h3 class="mdl-header-title">Welcome to TweetDuck</h3>
<a href="#" class="mdl-dismiss link-normal-dark"><i class="icon icon-close"></i></a>
</header>
<div class="mdl-inner">
<div class="mdl-content">
<p>Thank you for downloading TweetDuck!</p>
<p><a id="td-introduction-follow" href="#">Follow @TryMyAwesomeApp</a> for latest news and updates about the app.</p>
<div class="main-menu"></div>
<p><strong>Right-click anywhere</strong> or click <strong>Settings&nbsp;&nbsp;TweetDuck</strong> in the left panel to open the main menu. You can also right-click links, tweets, images and videos, and desktop notifications to access their respective context menus.</p>
<p>Click <strong>Show Guide</strong> to see awesome features TweetDuck offers, or view the guide later by going to <strong>About TweetDuck</strong> and clicking the help button on top.</p>
</div>
<footer class="txt-right">
<button class="Button--primary" data-guide><span class="label">Show Guide</span></button>
<button class="Button--secondary"><span class="label">Close</span></button>
</footer>
</div>
</div>
</div>`;
/**
* Shows an introduction dialog.
*/
export default function() {
const dialog = $(introductionHTML).appendTo(".js-app");
let tdUser = null;
const loadTweetDuckUser = (onSuccess, onError) => {
if (tdUser !== null) {
onSuccess(tdUser);
}
else {
TD.controller.clients.getPreferredClient().getUsersByIds([ "957608948189880320" ], users => onSuccess(users[0]), onError);
}
};
onAppReady(function loadIntroductionTweetDuckUser() {
loadTweetDuckUser(user => tdUser = user);
});
dialog.find("#td-introduction-follow").click(function() {
loadTweetDuckUser(user => {
$(document).trigger("uiShowFollowFromOptions", { userToFollow: user });
$(".js-modals-container").find("header a[rel='user']").each(function() {
this.outerHTML = "TweetDuck";
});
}, () => alert("An error occurred when retrieving the account information."));
});
dialog.find("button, a.mdl-dismiss").click(function() {
const showGuide = $(this)[0].hasAttribute("data-guide");
dialog.fadeOut(200, function() {
$TD.onIntroductionClosed(showGuide);
document.getElementById("tweetduck-styles-introduction-introduction").remove();
dialog.remove();
});
});
};