Implemented plan upgrades

This commit is contained in:
2020-01-22 21:01:47 -05:00
parent b4bf0aad4b
commit e8aaa6d416
7 changed files with 458 additions and 0 deletions

View File

@ -194,6 +194,18 @@ h3 {
float: right;
}
#upgrade {
background-color: #F0F0F0;
display: none;
margin: 0 15px 20px;
padding: 5px;
text-align: center;
}
#upgrade p {
margin: 0;
}
#uptime {
display: none;
}

View File

@ -67,6 +67,7 @@ import { settings, elements, apiDelete, apiGet, apiPost, eventTitles, parseParam
elements.transferMonthly = "transfer-monthly";
elements.transferOverage = "transfer-overage";
elements.transferUsed = "transfer-used";
elements.upgrade = "upgrade";
elements.volumeTable = "volume-table";
// Data recieved from API calls
@ -78,6 +79,7 @@ import { settings, elements, apiDelete, apiGet, apiPost, eventTitles, parseParam
data.linode = {};
data.linodeTransfer = {};
data.notifications = [];
data.plan = {};
data.volumes = [];
// Static references to UI elements
@ -111,6 +113,7 @@ import { settings, elements, apiDelete, apiGet, apiPost, eventTitles, parseParam
ui.transferMonthly = {};
ui.transferOverage = {};
ui.transferUsed = {};
ui.upgrade = {};
ui.volumeTable = {};
// Temporary state
@ -524,6 +527,10 @@ import { settings, elements, apiDelete, apiGet, apiPost, eventTitles, parseParam
backups.appendChild(backupLink);
}
// Get plan info
if (data.linode.type)
apiGet("/linode/types/" + data.linode.type, displayPlan, null);
state.linodeRefresh = false;
};
@ -636,6 +643,16 @@ import { settings, elements, apiDelete, apiGet, apiPost, eventTitles, parseParam
}
};
// Callback for linode plan API call
var displayPlan = function(response)
{
data.plan = response;
// Display the upgrade banner if one is available
if (data.plan.successor)
ui.upgrade.style.display = "block";
};
// Show storage totals
var displayStorage = function()
{
@ -789,6 +806,7 @@ import { settings, elements, apiDelete, apiGet, apiPost, eventTitles, parseParam
ui.transferMonthly = document.getElementById(elements.transferMonthly);
ui.transferOverage = document.getElementById(elements.transferOverage);
ui.transferUsed = document.getElementById(elements.transferUsed);
ui.upgrade = document.getElementById(elements.upgrade);
ui.volumeTable = document.getElementById(elements.volumeTable);
// Attach button handlers

View File

@ -28,6 +28,11 @@ along with Linode Manager Classic. If not, see <https://www.gnu.org/licenses/>.
<!--#include virtual="/include/linode_subnav.html"-->
<div id="main-content" class="wrapper">
<div id="top-links"><a href="/linodes">Linodes</a> » <span id="linode-tag"><a id="linode-tag-link" href=""></a> » </span><span id="linode-label" class="top-links-title"></span></div>
<div id="upgrade">
<img src="/img/lv-upgrade.png" alt="upgrade" />
<h2>A free upgrade is available for this Linode!</h2>
<p><a href="/linodes/mutate?lid=0">Click here for more information!</a></p>
</div>
<div id="notifications"></div>
<div id="linode-details">
<table class="lmc-table">