remove whats new modal & add changelog modal
This commit is contained in:
parent
0cdb1e638d
commit
3ebd801b3d
@ -312,66 +312,6 @@ $(document).ready(function() {
|
|||||||
localStorage.setItem('darkmode', 'true');
|
localStorage.setItem('darkmode', 'true');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// show whats new modal
|
|
||||||
if (mailcow_cc_role === "admin" || mailcow_cc_role === "domainadmin"){
|
|
||||||
if (mailcow_info.updatedAt > last_login){
|
|
||||||
var parsedSeenTimestamp = parseInt(localStorage.getItem("seenChangelog"));
|
|
||||||
if (!isNaN(parsedSeenTimestamp) && mailcow_info.updatedAt < parsedSeenTimestamp) {
|
|
||||||
console.log("changelog seen");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: 'https://api.github.com/repos/' + mailcow_info.project_owner + '/' + mailcow_info.project_repo + '/releases/tags/' + mailcow_info.version_tag,
|
|
||||||
dataType: 'json',
|
|
||||||
success: function (data) {
|
|
||||||
var md = window.markdownit();
|
|
||||||
var result = md.render(data.body);
|
|
||||||
result = parseGithubMarkdownLinks(result);
|
|
||||||
|
|
||||||
$('#showWhatsNewModal').find(".modal-body").html(`
|
|
||||||
<h3>` + data.name + `</h3>
|
|
||||||
<span class="mt-4">` + result + `</span>
|
|
||||||
`);
|
|
||||||
|
|
||||||
localStorage.setItem("seenChangelog", Math.floor(Date.now() / 1000).toString());
|
|
||||||
|
|
||||||
new bootstrap.Modal(document.getElementById("showWhatsNewModal"), {
|
|
||||||
backdrop: 'static',
|
|
||||||
keyboard: false
|
|
||||||
}).show();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function parseGithubMarkdownLinks(inputText) {
|
|
||||||
var replacedText, replacePattern1;
|
|
||||||
|
|
||||||
replacePattern1 = /(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;
|
|
||||||
replacedText = inputText.replace(replacePattern1, (matched, index, original, input_string) => {
|
|
||||||
if (matched.includes('github.com')){
|
|
||||||
// return short link if it's github link
|
|
||||||
last_uri_path = matched.split('/');
|
|
||||||
last_uri_path = last_uri_path[last_uri_path.length - 1];
|
|
||||||
|
|
||||||
// adjust Full Changelog link to match last git version and new git version, if link is a compare link
|
|
||||||
if (matched.includes('/compare/') && mailcow_info.last_version_tag !== ''){
|
|
||||||
matched = matched.replace(last_uri_path, mailcow_info.last_version_tag + '...' + mailcow_info.version_tag);
|
|
||||||
last_uri_path = mailcow_info.last_version_tag + '...' + mailcow_info.version_tag;
|
|
||||||
}
|
|
||||||
|
|
||||||
return '<a href="' + matched + '" target="_blank">' + last_uri_path + '</a><br>';
|
|
||||||
};
|
|
||||||
|
|
||||||
// if it's not a github link, return complete link
|
|
||||||
return '<a href="' + matched + '" target="_blank">' + matched + '</a>';
|
|
||||||
});
|
|
||||||
|
|
||||||
return replacedText;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -47,6 +47,12 @@ $(document).ready(function() {
|
|||||||
if (mailcow_info.branch === "master"){
|
if (mailcow_info.branch === "master"){
|
||||||
check_update(mailcow_info.version_tag, mailcow_info.project_url);
|
check_update(mailcow_info.version_tag, mailcow_info.project_url);
|
||||||
}
|
}
|
||||||
|
$("#maiclow_version").click(function(){
|
||||||
|
if (mailcow_cc_role !== "admin" && mailcow_cc_role !== "domainadmin")
|
||||||
|
return;
|
||||||
|
|
||||||
|
showVersionModal("Version " + mailcow_info.version_tag, mailcow_info.version_tag);
|
||||||
|
})
|
||||||
// get public ips
|
// get public ips
|
||||||
get_public_ips();
|
get_public_ips();
|
||||||
update_container_stats();
|
update_container_stats();
|
||||||
@ -1227,11 +1233,11 @@ function get_public_ips(){
|
|||||||
}).then(function(data) {
|
}).then(function(data) {
|
||||||
console.log(data);
|
console.log(data);
|
||||||
|
|
||||||
if (data){
|
|
||||||
// display host ips
|
// display host ips
|
||||||
|
if (data.ipv4)
|
||||||
$("#host_ipv4").text(data.ipv4);
|
$("#host_ipv4").text(data.ipv4);
|
||||||
|
if (data.ipv6)
|
||||||
$("#host_ipv6").text(data.ipv6);
|
$("#host_ipv6").text(data.ipv6);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// format hosts uptime seconds to readable string
|
// format hosts uptime seconds to readable string
|
||||||
@ -1452,10 +1458,13 @@ function check_update(current_version, github_repo_url){
|
|||||||
} else {
|
} else {
|
||||||
// update available
|
// update available
|
||||||
$("#mailcow_update").removeClass("text-danger text-success").addClass("text-warning");
|
$("#mailcow_update").removeClass("text-danger text-success").addClass("text-warning");
|
||||||
$("#mailcow_update").html(
|
$("#mailcow_update").html(lang_debug.update_available + ` <a href="#" id="mailcow_update_changelog">`+latest_data.tag_name+`</a>`);
|
||||||
`<b>` + lang_debug.update_available + `
|
$("#mailcow_update_changelog").click(function(){
|
||||||
<a target="_blank" href="https://github.com/`+github_account+`/`+github_repo_name+`/releases/tag/`+latest_data.tag_name+`">`+latest_data.tag_name+`</a></b>`
|
if (mailcow_cc_role !== "admin" && mailcow_cc_role !== "domainadmin")
|
||||||
);
|
return;
|
||||||
|
|
||||||
|
showVersionModal("New Release " + latest_data.tag_name, latest_data.tag_name);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
// err
|
// err
|
||||||
@ -1470,3 +1479,55 @@ function check_update(current_version, github_repo_url){
|
|||||||
$("#mailcow_update").html("<b>"+ lang_debug.update_failed +"</b>");
|
$("#mailcow_update").html("<b>"+ lang_debug.update_failed +"</b>");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
// show version changelog modal
|
||||||
|
function showVersionModal(title, version){
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: 'https://api.github.com/repos/' + mailcow_info.project_owner + '/' + mailcow_info.project_repo + '/releases/tags/' + version,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (data) {
|
||||||
|
var md = window.markdownit();
|
||||||
|
var result = md.render(data.body);
|
||||||
|
result = parseGithubMarkdownLinks(result);
|
||||||
|
|
||||||
|
$('#showVersionModal').find(".modal-title").html(title);
|
||||||
|
$('#showVersionModal').find(".modal-body").html(`
|
||||||
|
<h3>` + data.name + `</h3>
|
||||||
|
<span class="mt-4">` + result + `</span>
|
||||||
|
<span><b>Github Link:</b>
|
||||||
|
<a target="_blank" href="https://github.com/` + mailcow_info.project_owner + `/` + mailcow_info.project_repo + `/releases/tag/` + version + `">` + version + `</a>
|
||||||
|
</span>
|
||||||
|
`);
|
||||||
|
|
||||||
|
new bootstrap.Modal(document.getElementById("showVersionModal"), {
|
||||||
|
backdrop: 'static',
|
||||||
|
keyboard: false
|
||||||
|
}).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function parseGithubMarkdownLinks(inputText) {
|
||||||
|
var replacedText, replacePattern1;
|
||||||
|
|
||||||
|
replacePattern1 = /(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;
|
||||||
|
replacedText = inputText.replace(replacePattern1, (matched, index, original, input_string) => {
|
||||||
|
if (matched.includes('github.com')){
|
||||||
|
// return short link if it's github link
|
||||||
|
last_uri_path = matched.split('/');
|
||||||
|
last_uri_path = last_uri_path[last_uri_path.length - 1];
|
||||||
|
|
||||||
|
// adjust Full Changelog link to match last git version and new git version, if link is a compare link
|
||||||
|
if (matched.includes('/compare/') && mailcow_info.last_version_tag !== ''){
|
||||||
|
matched = matched.replace(last_uri_path, mailcow_info.last_version_tag + '...' + mailcow_info.version_tag);
|
||||||
|
last_uri_path = mailcow_info.last_version_tag + '...' + mailcow_info.version_tag;
|
||||||
|
}
|
||||||
|
|
||||||
|
return '<a href="' + matched + '" target="_blank">' + last_uri_path + '</a><br>';
|
||||||
|
};
|
||||||
|
|
||||||
|
// if it's not a github link, return complete link
|
||||||
|
return '<a href="' + matched + '" target="_blank">' + matched + '</a>';
|
||||||
|
});
|
||||||
|
|
||||||
|
return replacedText;
|
||||||
|
}
|
@ -58,19 +58,13 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Version</td>
|
<td>Version</td>
|
||||||
<td class="text-break"><div>
|
<td class="text-break">
|
||||||
<p><b>{{ mailcow_info.version_tag }}</b></p>
|
<div class="fw-bolder">
|
||||||
|
<p ><a href="#" id="maiclow_version">{{ mailcow_info.version_tag }}</a></p>
|
||||||
<p id="mailcow_update"></p>
|
<p id="mailcow_update"></p>
|
||||||
</div></td>
|
</div>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% if mailcow_info.mailcow_branch|lower == "master" %}
|
|
||||||
<tr>
|
|
||||||
<td>Changelog</td>
|
|
||||||
<td class="text-break"><a href="{{ mailcow_info.project_url }}/releases/tag/{{ mailcow_info.version_tag }}" target="_blank">
|
|
||||||
{{ mailcow_info.project_url }}/releases/tag/{{ mailcow_info.version_tag }}
|
|
||||||
</a></td>
|
|
||||||
</tr>
|
|
||||||
{% endif %}
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ lang.debug.current_time }}</td>
|
<td>{{ lang.debug.current_time }}</td>
|
||||||
<td id="host_date" class="text-break">-</td>
|
<td id="host_date" class="text-break">-</td>
|
||||||
|
@ -347,12 +347,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- whats new modal -->
|
<!-- version modal -->
|
||||||
<div class="modal fade" id="showWhatsNewModal" tabindex="-1" role="dialog" aria-hidden="true">
|
<div class="modal fade" id="showVersionModal" tabindex="-1" role="dialog" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-lg">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title">What's new?</h5>
|
<h5 class="modal-title"></h5>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body d-flex flex-column mt-2 p-4">
|
<div class="modal-body d-flex flex-column mt-2 p-4">
|
||||||
@ -362,4 +362,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><!-- whats new modal -->
|
</div><!-- version modal -->
|
||||||
|
Loading…
Reference in New Issue
Block a user