UI revamp what's new dialog

This commit is contained in:
Duncan Sommerville 2015-09-28 17:19:02 -04:00
parent d3f5b046f3
commit 67c20630a3
7 changed files with 101 additions and 1 deletions

View file

@ -21,6 +21,8 @@ define('ABOUT_AIRTIME_URL' , 'https://www.airtime.pro/support/');
define('AIRTIME_TRANSIFEX_URL' , 'https://www.transifex.com/projects/p/airtime/');
define('WHMCS_PASSWORD_RESET_URL' , 'https://account.sourcefabric.com/pwreset.php');
define('SUPPORT_TICKET_URL' , 'https://sourcefabricberlin.zendesk.com/hc/en-us/requests/new');
define('UI_REVAMP_EMBED_URL' , 'https://www.youtube.com/embed/nqpNnCKGluY');
define('UI_REVAMP_YOUTUBE_URL' , 'https://www.youtube.com/watch?v=nqpNnCKGluY&feature=youtu.be');
define('LICENSE_VERSION' , 'GNU AGPL v.3');
define('LICENSE_URL' , 'http://www.gnu.org/licenses/agpl-3.0-standalone.html');

View file

@ -172,6 +172,11 @@ $pages = array(
'label' => _(sprintf("Help Translate %s", PRODUCT_NAME)),
'uri' => AIRTIME_TRANSIFEX_URL,
'target' => "_blank"
),
array(
'label' => _('Get to know the new Airtime'),
'uri' => UI_REVAMP_YOUTUBE_URL,
'target' => "_blank"
)
)
),

View file

@ -422,8 +422,9 @@ class LocaleController extends Zend_Controller_Action
"Next",
"Previous",
": activate to sort column ascending",
": activate to sort column descending"
": activate to sort column descending",
//End of datatables
"Welcome to the new Airtime Pro!" => _("Welcome to the new Airtime Pro!")
);
$this->view->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);

View file

@ -169,6 +169,54 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
</div>
</div>
</script>
<?php
// Show users the What's New dialog if they haven't seen it yet
// TODO: If you're updating this, be sure to update defaultdata! (Suboptimal, is there a better way?)
if (!Application_Model_Preference::getWhatsNewDialogViewed()) {
?>
<div id="whatsnew">
<div>
<iframe width="560" height="315" src="<?php echo UI_REVAMP_EMBED_URL ?>" frameborder="0" allowfullscreen></iframe>
<h2><?php echo _("Airtime Pro has a new look!"); ?></h2>
<p><?php echo _("A lot of your favourite Airtime features are now even easier to use - and we've even
added a few new ones! Check out the video above or read on to find out more."); ?></p
<ul>
<li><?php echo _("Our new Dashboard view now has a powerful tabbed editing interface, so updating your tracks and playlists
is easier than ever."); ?></li>
<li><?php echo _("We've streamlined the Airtime interface to make navigation easier. With the most important tools
just a click away, you'll be on air and hands-free in no time."); ?></li>
<li><?php echo _("Got a huge music library? No problem! With the new Upload page, you can drag and drop whole folders to our private cloud."); ?></li>
<li><?php echo _("The new Airtime is smoother, sleeker, and faster - on even more devices! We're committed to improving the Airtime
experience, no matter how you're connected."); ?></li>
</ul>
</div>
<button id="whatsnew_close" class="btn btn-new">Got it!</button>
</div>
<script>
$(document).ready(function() {
var whatsnew = $("#whatsnew");
whatsnew.dialog({
title: $.i18n._("Welcome to the new Airtime Pro!"),
width: "auto",
height: "auto",
modal: true,
resizable: false,
close: function() {
$(this).dialog('destroy').remove();
}
});
$("#whatsnew_close").on("click", function() {
whatsnew.dialog("close");
});
});
</script>
<?php
Application_Model_Preference::setWhatsNewDialogViewed(true);
}
?>
</body>
</html>

View file

@ -1478,4 +1478,15 @@ class Application_Model_Preference
{
self::setValue("lang_tz_setup_complete", $value);
}
public static function getWhatsNewDialogViewed()
{
$val = self::getValue("whats_new_dialog_viewed", true);
return empty($val) ? false : $val;
}
public static function setWhatsNewDialogViewed($value)
{
self::setValue("whats_new_dialog_viewed", $value, true);
}
}

View file

@ -19,6 +19,8 @@ INSERT INTO cc_pref("keystr", "valstr") VALUES('stream_bitrate', '24, 32, 48, 64
INSERT INTO cc_pref("keystr", "valstr") VALUES('num_of_streams', '3');
INSERT INTO cc_pref("keystr", "valstr") VALUES('max_bitrate', '320');
INSERT INTO cc_pref("keystr", "valstr") VALUES('plan_level', 'disabled');
-- For now, just needs to be truthy - to be updated later; we should find a better way to implement this...
INSERT INTO cc_pref("keystr", "valstr") VALUES('whats_new_dialog_viewed', 1);
INSERT INTO cc_stream_setting ("keyname", "value", "type") VALUES ('output_sound_device', 'false', 'boolean');
INSERT INTO cc_stream_setting ("keyname", "value", "type") VALUES ('output_sound_device_type', 'ALSA', 'string');

View file

@ -3914,5 +3914,36 @@ li .ui-state-hover {
float: left;
}
/* UI Revamp Video */
#whatsnew {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
max-width: 600px;
max-height: 460px;
padding: 10px 0;
}
#whatsnew > button {
margin-top: 10px;
align-self: flex-end;
flex: 1 0 auto;
}
#whatsnew > div {
text-align: center;
font-size: 16px;
overflow-x: hidden;
}
#whatsnew h2 {
margin-top: 10px;
font-weight: bold;
}
#whatsnew li {
margin-top: 20px;
}