update 2024-07-15 04:18:08
@ -3592,6 +3592,95 @@
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.cbi-filebrowser {
|
||||
min-width: 210px;
|
||||
max-width: 100%;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 3px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
opacity: 0;
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cbi-filebrowser.open {
|
||||
opacity: 1;
|
||||
height: auto;
|
||||
overflow: visible;
|
||||
transition: opacity .25s ease-in;
|
||||
}
|
||||
|
||||
.cbi-filebrowser > * {
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
padding: 0 0 .25em 0;
|
||||
margin: .25em .25em 0px .25em;
|
||||
margin-left: 0!important;
|
||||
white-space: nowrap;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.cbi-filebrowser .cbi-button-positive {
|
||||
margin-right: .25em;
|
||||
}
|
||||
|
||||
.cbi-filebrowser > div {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.cbi-filebrowser > ul > li {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.cbi-filebrowser > ul > li:hover {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
|
||||
.cbi-filebrowser > ul > li > div:first-child {
|
||||
flex: 10;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.cbi-filebrowser > ul > li > div:last-child {
|
||||
flex: 3;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.cbi-filebrowser > ul > li > div:last-child > button {
|
||||
padding: .125em .25em;
|
||||
margin: 1px 0 1px .25em;
|
||||
}
|
||||
|
||||
.cbi-filebrowser .upload {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
margin: 0 -.125em .25em -.125em;
|
||||
padding: 0 0 .125em 0px;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.cbi-filebrowser .upload > * {
|
||||
margin: .125em;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.cbi-filebrowser .upload > .btn {
|
||||
flex-basis: 60px;
|
||||
}
|
||||
|
||||
.cbi-filebrowser .upload > div {
|
||||
flex: 10;
|
||||
min-width: 150px;
|
||||
}
|
||||
|
||||
.cbi-filebrowser .upload > div > input {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 600px) {
|
||||
::-webkit-scrollbar {
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@ -1,10 +1,53 @@
|
||||
|
||||
config alpha 'config'
|
||||
option nav_01 '/cgi-bin/luci/admin/status/overview'
|
||||
option nav_02 '/cgi-bin/luci/admin/services/ttyd'
|
||||
option nav_03 '/cgi-bin/luci/admin/services/openclash'
|
||||
option nav_04 '/cgi-bin/luci/admin/nas/tinyfm'
|
||||
option nav_05 '/cgi-bin/luci/admin/modem/main'
|
||||
option nav_06 '/cgi-bin/luci/admin/network/network'
|
||||
option blur '20'
|
||||
config theme 'theme'
|
||||
option color '#2222359a'
|
||||
option blur '00'
|
||||
option navbar '1'
|
||||
|
||||
config navbar
|
||||
option name 'Overview'
|
||||
option enable 'Enable'
|
||||
option line '1'
|
||||
option newtab 'No'
|
||||
option icon '/www/luci-static/alpha/gaya/icon/navbar/overview.png'
|
||||
option address '/cgi-bin/luci/admin/status/overview'
|
||||
|
||||
config navbar
|
||||
option name 'Terminal'
|
||||
option enable 'Enable'
|
||||
option line '2'
|
||||
option newtab 'No'
|
||||
option icon '/www/luci-static/alpha/gaya/icon/navbar/terminal.png'
|
||||
option address '/cgi-bin/luci/admin/services/ttyd'
|
||||
|
||||
config navbar
|
||||
option name 'Open Clash'
|
||||
option enable 'Enable'
|
||||
option line '3'
|
||||
option newtab 'No'
|
||||
option icon '/www/luci-static/alpha/gaya/icon/navbar/openclash.png'
|
||||
option address '/cgi-bin/luci/admin/services/openclash'
|
||||
|
||||
config navbar
|
||||
option name 'Neko'
|
||||
option enable 'Enable'
|
||||
option line '4'
|
||||
option newtab 'No'
|
||||
option icon '/www/luci-static/alpha/gaya/icon/navbar/neko.png'
|
||||
option address '/cgi-bin/luci/admin/services/neko'
|
||||
|
||||
config navbar
|
||||
option name 'Modem'
|
||||
option enable 'Enable'
|
||||
option line '5'
|
||||
option newtab 'No'
|
||||
option icon '/www/luci-static/alpha/gaya/icon/navbar/modem.png'
|
||||
option address '/cgi-bin/luci/admin/modem/main'
|
||||
|
||||
config navbar
|
||||
option name 'Network'
|
||||
option enable 'Enable'
|
||||
option line '6'
|
||||
option newtab 'No'
|
||||
option icon '/www/luci-static/alpha/gaya/icon/navbar/network.png'
|
||||
option address '/cgi-bin/luci/admin/network/network'
|
||||
|
@ -20,39 +20,45 @@
|
||||
<%
|
||||
local ver = require "luci.version"
|
||||
local uci = require "luci.model.uci".cursor()
|
||||
local config = uci:get_all("alpha", "config")
|
||||
local icon = {
|
||||
['/cgi-bin/luci/admin/status/overview'] = '/gaya/icon/navbar/status.png',
|
||||
['/cgi-bin/luci/admin/services/ttyd'] = '/gaya/icon/navbar/terminal.png',
|
||||
['/cgi-bin/luci/admin/services/openclash'] = '/gaya/icon/navbar/oc.png',
|
||||
['/cgi-bin/luci/admin/nas/tinyfm'] = '/gaya/icon/navbar/nas.png',
|
||||
['/cgi-bin/luci/admin/modem/main'] = '/gaya/icon/navbar/modem.png',
|
||||
['/cgi-bin/luci/admin/network/network'] = '/gaya/icon/navbar/interface.png',
|
||||
['/cgi-bin/luci/admin/services/neko'] = '/gaya/icon/navbar/neko.png'
|
||||
}
|
||||
local config = uci:get_all("alpha", "theme")
|
||||
|
||||
local function getLink(nav)
|
||||
local link = config[nav]
|
||||
return (link and link ~= "none") and link or nil
|
||||
end
|
||||
-- Table to store navbar icons
|
||||
local icon = {}
|
||||
|
||||
-- Iterate through all navbar entries
|
||||
uci:foreach("alpha", "navbar", function(section)
|
||||
local address = section.address
|
||||
local icon_url = section.icon
|
||||
|
||||
if address and icon_url then
|
||||
-- Remove '/www/luci-static/alpha/' from icon_url
|
||||
icon_url = string.gsub(icon_url, "^/www/luci%-static/alpha/", "")
|
||||
icon[address] = icon_url
|
||||
end
|
||||
end)
|
||||
|
||||
-- Check navbar enable status
|
||||
local navbar_enabled = config.navbar == "1"
|
||||
|
||||
-- Calculate number of enabled navbar links
|
||||
local num_links = 0
|
||||
for i = 1, 6 do
|
||||
local nav_key = 'nav_0' .. i
|
||||
local link = getLink(nav_key)
|
||||
if link then
|
||||
uci:foreach("alpha", "navbar", function(section)
|
||||
if section.enable == "Enable" then
|
||||
num_links = num_links + 1
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
-- Calculate link width for responsive design
|
||||
local link_width = string.format("calc(100%% / %d)", num_links)
|
||||
local blur_value = tonumber(config.blur)
|
||||
|
||||
-- Retrieve theme properties
|
||||
local background_color = config.color or '#2222359a'
|
||||
local blur_value = tonumber(config.blur) or 20
|
||||
local link_blur = string.format("blur(%dpx)", blur_value)
|
||||
local background_color = config.color
|
||||
%>
|
||||
|
||||
<style>
|
||||
.main>.main-left, .cbi-section, .cbi-section-error, #iptables, .Firewall form, #cbi-network>.cbi-section-node, #cbi-wireless>.cbi-section-node, #cbi-wireless>#wifi_assoclist_table, [data-tab-title], [data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear), [data-page="admin-system-opkg"] #maincontent>.container, .tabs, .cbi-tabmenu, .cbi-tooltip {
|
||||
.main > .main-left, .cbi-section, .cbi-section-error, #iptables, .Firewall form, #cbi-network > .cbi-section-node, #cbi-wireless > .cbi-section-node, #cbi-wireless > #wifi_assoclist_table, [data-tab-title], [data-page^="admin-system-admin"]:not(.node-main-login) .cbi-map:not(#cbi-dropbear), [data-page="admin-system-opkg"] #maincontent > .container, .tabs, .cbi-tabmenu, .cbi-tooltip {
|
||||
background-color: <%=background_color%>;
|
||||
backdrop-filter: <%=link_blur%>;
|
||||
-webkit-backdrop-filter: <%=link_blur%>;
|
||||
@ -63,6 +69,12 @@ local background_color = config.color
|
||||
width: <%=link_width%>;
|
||||
}
|
||||
}
|
||||
|
||||
<% if not navbar_enabled then %>
|
||||
.navbar {
|
||||
display: none;
|
||||
}
|
||||
<% end %>
|
||||
</style>
|
||||
|
||||
</div>
|
||||
@ -71,17 +83,25 @@ local background_color = config.color
|
||||
</footer>
|
||||
</div>
|
||||
<div class="navbar active">
|
||||
<% if navbar_enabled then %>
|
||||
<div class="dropdown">
|
||||
<% for i = 1, 6 do
|
||||
local nav_key = 'nav_0' .. i
|
||||
local link = getLink(nav_key)
|
||||
if link then %>
|
||||
<a href="<%=link%>">
|
||||
<img src="<%=media%><%=icon[link]%>" />
|
||||
</a>
|
||||
<% end
|
||||
end %>
|
||||
<%
|
||||
uci:foreach("alpha", "navbar", function(section)
|
||||
local address = section.address
|
||||
local icon_url = icon[address] or 'default/icon.png'
|
||||
local target_blank = section.newtab == "Yes" and 'target="_blank"' or ''
|
||||
|
||||
if section.enable == "Enable" then
|
||||
%>
|
||||
<a href="<%=address%>" <%=target_blank%>>
|
||||
<img src="<%=media%>/<%=icon_url%>" />
|
||||
</a>
|
||||
<%
|
||||
end
|
||||
end)
|
||||
%>
|
||||
</div>
|
||||
<% end %>
|
||||
<label class="toggler">
|
||||
<img src="<%=media%>/gaya/icon/arrow.svg">
|
||||
</label>
|
||||
@ -93,8 +113,7 @@ local background_color = config.color
|
||||
window.addEventListener("scroll", () => {
|
||||
if (lastScrollY < window.scrollY) {
|
||||
nav.classList.add("navbar--hidden");
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
nav.classList.remove("navbar--hidden");
|
||||
}
|
||||
lastScrollY = window.scrollY;
|
||||
|
@ -20,7 +20,7 @@
|
||||
<title>Alpha - Login</title>
|
||||
</head>
|
||||
|
||||
<body class="lang_en node-main-login" data-page="" style="background-image:url('/luci-static/alpha/background/dashboard.png')">
|
||||
<body class="lang_en node-main-login" data-page="" style="background-image:url('/luci-static/alpha/background/login.png')">
|
||||
<header>
|
||||
<div class="fill">
|
||||
<div class="container">
|
||||
@ -83,4 +83,4 @@
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
@ -5,12 +5,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=v2rayA
|
||||
PKG_VERSION:=2.2.5.6
|
||||
PKG_VERSION:=2.2.5.7
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/v2rayA/v2rayA/tar.gz/v$(PKG_VERSION)?
|
||||
PKG_HASH:=1089101d6ec657b8a39afcd89a0704925cff3de998b5196686ec239ca3090859
|
||||
PKG_HASH:=fae10dafa54508bf19961b111d608dda9bb7a79e724c88e60a464c58369f4826
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/service
|
||||
|
||||
PKG_LICENSE:=AGPL-3.0-only
|
||||
@ -60,7 +60,7 @@ define Download/v2raya-web
|
||||
URL:=https://github.com/v2rayA/v2rayA/releases/download/v$(PKG_VERSION)/
|
||||
URL_FILE:=web.tar.gz
|
||||
FILE:=$(WEB_FILE)
|
||||
HASH:=341548c4ec48a503ee9f89306b170378c7981fa20fb4bddb901a003923c8536d
|
||||
HASH:=a5b6151549a318b1bd5a4cc01482ad0abc1a7bd99fa01037a2a6b84501a77c3e
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
|