luci-app-openlist: "Open Web Interface" button uses site_url if available

* fallback to protocol/hostname/port

Signed-off-by: sbwml <admin@cooluc.com>
This commit is contained in:
sbwml 2025-06-23 21:32:05 +08:00
parent 632788cf4b
commit dcdb24e7a2
2 changed files with 12 additions and 5 deletions

View File

@ -6,7 +6,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-openlist
PKG_VERSION:=1.0.0
PKG_VERSION:=1.0.1
PKG_RELEASE:=1
LUCI_TITLE:=LuCI support for openlist

View File

@ -23,12 +23,18 @@ function getServiceStatus() {
});
}
function renderStatus(isRunning, protocol, webport) {
function renderStatus(isRunning, protocol, webport, site_url) {
var spanTemp = '<em><span style="color:%s"><strong>%s %s</strong></span></em>';
var renderHTML;
if (isRunning) {
var button = String.format('<input class="cbi-button-reload" type="button" style="margin-left: 50px" value="%s" onclick="window.open(\'%s//%s:%s/\')">',
_('Open Web Interface'), protocol, window.location.hostname, webport);
var buttonUrl = '';
if (site_url && site_url.trim() !== '') {
buttonUrl = site_url;
} else {
buttonUrl = String.format('%s//%s:%s/', protocol, window.location.hostname, webport);
}
var button = String.format('<input class="cbi-button-reload" type="button" style="margin-left: 50px" value="%s" onclick="window.open(\'%s\')">',
_('Open Web Interface'), buttonUrl);
renderHTML = spanTemp.format('green', 'OpenList', _('RUNNING')) + button;
} else {
renderHTML = spanTemp.format('red', 'OpenList', _('NOT RUNNING'));
@ -71,6 +77,7 @@ return view.extend({
} else if (ssl === '1') {
protocol = 'https:';
}
var site_url = uci.get(data[0], '@openlist[0]', 'site_url') || '';
m = new form.Map('openlist', _('OpenList'),
_('A file list program that supports multiple storage.'));
@ -83,7 +90,7 @@ return view.extend({
poll.add(function () {
return L.resolveDefault(getServiceStatus()).then(function (res) {
var view = document.getElementById('service_status');
view.innerHTML = renderStatus(res, protocol, webport);
view.innerHTML = renderStatus(res, protocol, webport, site_url);
});
});