mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-29 16:45:13 +08:00
🏅 Sync 2026-06-22 01:15:34
This commit is contained in:
1 parent
6d4cdd8118
commit
4b85448aee
41 files changed
+3203
-1407
No files matched your search
@@ -2,6 +2,7 @@
|
||||
|
||||
'use strict';
|
||||
'require uci';
|
||||
'require network';
|
||||
'require view';
|
||||
'require view.daede.backend as backend';
|
||||
'require view.daede.styles as styles';
|
||||
@@ -13,7 +14,13 @@ return view.extend({
|
||||
_loadContext: function() {
|
||||
return backend.detectBackend().then(function(ctx) {
|
||||
return uci.load(ctx.backend.uci).catch(function() {}).then(function() {
|
||||
return ctx;
|
||||
/* enumerate L3 devices so the dae LAN/WAN fields offer a dropdown
|
||||
(still free-text, so undetectable WANs can be typed) */
|
||||
return network.getDevices().catch(function() { return []; }).then(function(devs) {
|
||||
ctx.netDevs = (devs || []).map(function(d) { return d.getName(); })
|
||||
.filter(function(n) { return n && n !== 'dae0'; }).sort();
|
||||
return ctx;
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
@@ -327,6 +327,23 @@ function renderDaeForms(ctx) {
|
||||
|
||||
/* Logging — folded into the main form so the single Save button covers it
|
||||
too (no separate native save bar) */
|
||||
/* Network interfaces — override dae auto WAN detect, fails on legacy swconfig (#15).
|
||||
Combobox: dropdown of real devices but still free-text for undetectable WANs */
|
||||
const netDevs = (ctx && ctx.netDevs) || [];
|
||||
s = m.section(form.NamedSection, 'config', 'dae', _('Network interfaces'));
|
||||
s.addremove = false;
|
||||
o = s.option(form.Value, 'lan_interface', _('LAN interface'),
|
||||
_('Interface to proxy the LAN from. Usually br-lan.'));
|
||||
o.default = 'br-lan';
|
||||
o.placeholder = 'br-lan';
|
||||
netDevs.forEach(function(d) { o.value(d); });
|
||||
o = s.option(form.Value, 'wan_interface', _('WAN interface'),
|
||||
_('Uplink. auto = detect by default route; on legacy swconfig or multi-WAN set it, e.g. eth0.2.'));
|
||||
o.default = 'auto';
|
||||
o.placeholder = 'auto';
|
||||
o.value('auto', 'auto');
|
||||
netDevs.forEach(function(d) { o.value(d); });
|
||||
|
||||
s = m.section(form.NamedSection, 'config', 'dae', _('Logging'));
|
||||
s.addremove = false;
|
||||
o = s.option(form.Value, 'log_maxsize', _('Max Log Size (MB)'),
|
||||
|
||||
@@ -33,7 +33,7 @@ function renderDaedSettings() {
|
||||
_('daede Settings'),
|
||||
null,
|
||||
m.render(),
|
||||
_('Log Advanced Settings'),
|
||||
_('Log Settings'),
|
||||
['log_maxsize', 'log_maxbackups']
|
||||
).then(function(card) {
|
||||
/* native Save/Apply footer is suppressed view-wide, so daed carries its
|
||||
|
||||
@@ -72,7 +72,7 @@ const CSS = [
|
||||
'.dd-settings-card .cbi-section-remove .cbi-button{border-color:#d96d6d !important;color:#d96d6d !important}',
|
||||
/* themes (esp. Argon) restyle checkboxes into faint, near-invisible boxes;
|
||||
force native rendering + brand accent so the checkmark is always clear */
|
||||
'.dd-settings-card input[type="checkbox"]{-webkit-appearance:checkbox !important;appearance:checkbox !important;accent-color:#4aa065;width:16px;height:16px;background:none !important;border:0 !important;box-shadow:none !important;background-image:none !important}',
|
||||
'.dd-settings-card input[type="checkbox"]{-webkit-appearance:checkbox !important;appearance:checkbox !important;width:16px;height:16px;background:none !important;border:0 !important;box-shadow:none !important;background-image:none !important}',
|
||||
'.dd-settings-card input[type="checkbox"]:before,.dd-settings-card input[type="checkbox"]:after{content:none !important;display:none !important}',
|
||||
/* line the Subscriptions and Nodes grid tables up column-for-column. fixed
|
||||
layout + explicit per-column percentages make the widths authoritative
|
||||
@@ -210,6 +210,7 @@ const CSS = [
|
||||
'.dd-conv-import,.dd-conv-toolbar,.dd-conv-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}',
|
||||
'.dd-converter input,.dd-converter select,.dd-converter .cbi-button{box-sizing:border-box!important;height:32px!important;min-height:32px!important;margin:0!important;font-size:12px!important;line-height:22px!important}',
|
||||
'.dd-converter input,.dd-converter select{padding:4px 8px!important;border:1px solid rgba(128,128,128,.28)!important;border-radius:6px!important;background-color:transparent;color:inherit;box-shadow:none!important}',
|
||||
'.dd-converter input::placeholder,.dd-conv-yaml::placeholder,.dd-conv-filter::placeholder,.dd-conv-airport-name::placeholder{color:inherit;opacity:.55}',
|
||||
'.dd-converter select{padding-right:28px!important}',
|
||||
'.dd-converter .cbi-button{padding:4px 12px!important}',
|
||||
'.dd-conv-url-row input,.dd-conv-filter,.dd-conv-target,.dd-conv-ua,.dd-conv-yaml{box-sizing:border-box;border:1px solid rgba(128,128,128,.28);border-radius:6px;background:transparent;color:inherit;font-size:12px;padding:7px 9px}',
|
||||
|
||||
@@ -55,9 +55,11 @@ const CSS = [
|
||||
'.dd-geo-row{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:center;font-size:12px;padding:6px 0}',
|
||||
'.dd-geo-row label{opacity:.75;font-weight:600}',
|
||||
'.dd-geo-row input[type=text],.dd-geo-row select{font-size:12px;padding:4px 8px;border:1px solid rgba(128,128,128,.35);border-radius:5px;background:transparent;color:inherit;width:100%}',
|
||||
/* fixed width so the Source and Auto-update selects line up consistently */
|
||||
'.dd-geo-row select{width:180px;flex:0 0 auto}',
|
||||
'.dd-geo-chk{display:flex;align-items:center;gap:6px}',
|
||||
/* selects cap at 200px on wide screens, shrink to the column on mobile (no overflow) */
|
||||
'.dd-geo-row select{width:100%!important;max-width:200px;box-sizing:border-box}',
|
||||
'.dd-geo-auto{display:inline-flex;align-items:center;gap:6px}',
|
||||
/* Argon shifts label>checkbox down (top:.4rem); reset so flex centers it */
|
||||
'.dd-geo-auto input[type="checkbox"]{position:static;top:auto;right:auto;margin:0}',
|
||||
'.dd-geo-actions{margin-top:10px;display:flex;gap:10px;align-items:center}',
|
||||
'.dd-up-log{margin-top:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;padding:10px;border:1px solid rgba(128,128,128,.14);border-radius:8px;max-height:200px;overflow:auto;white-space:pre-wrap;word-break:break-all;display:none;background:inherit;color:#4a8c63}',
|
||||
'.dd-up-log.show{display:block}',
|
||||
@@ -473,8 +475,8 @@ return view.extend({
|
||||
E('div', { 'class': 'dd-geo-row' }, [ E('label', {}, _('Source')), presetSel ]),
|
||||
customRows,
|
||||
E('div', { 'class': 'dd-geo-row' }, [
|
||||
E('label', {}, _('Auto-update')),
|
||||
E('div', { 'class': 'dd-geo-chk' }, [ autoCb, freqSel ])
|
||||
E('label', { 'class': 'dd-geo-auto' }, [ E('span', {}, _('Auto-update')), autoCb ]),
|
||||
freqSel
|
||||
]),
|
||||
E('div', { 'class': 'dd-geo-actions' }, [ saveBtn ])
|
||||
])
|
||||
|
||||
Reference in new issue
Block a user