From 5366e2fade2b7f2d89c3273d4b8dd8a848fac629 Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 10 Nov 2023 01:27:47 +0000 Subject: [PATCH] first commit --- .github/workflows/build.sh | 11 + .github/workflows/check.yml | 41 +++ .github/workflows/release.yml | 39 +++ LICENSE | 201 ++++++++++++ Makefile | 19 ++ README.md | 97 ++++++ README_ZH.md | 96 ++++++ .../resources/view/argon-config.js | 186 ++++++++++++ po/es/argon-config.po | 285 ++++++++++++++++++ po/templates/argon-config.pot | 179 +++++++++++ po/zh_Hans/argon-config.po | 192 ++++++++++++ po/zh_Hant/argon-config.po | 273 +++++++++++++++++ root/etc/config/argon | 10 + root/etc/uci-defaults/luci-argon-config | 14 + root/usr/libexec/rpcd/luci.argon | 64 ++++ .../luci/menu.d/luci-app-argon-config.json | 14 + .../rpcd/acl.d/luci-app-argon-config.json | 20 ++ 17 files changed, 1741 insertions(+) create mode 100755 .github/workflows/build.sh create mode 100644 .github/workflows/check.yml create mode 100644 .github/workflows/release.yml create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.md create mode 100644 README_ZH.md create mode 100644 htdocs/luci-static/resources/view/argon-config.js create mode 100644 po/es/argon-config.po create mode 100644 po/templates/argon-config.pot create mode 100644 po/zh_Hans/argon-config.po create mode 100644 po/zh_Hant/argon-config.po create mode 100644 root/etc/config/argon create mode 100644 root/etc/uci-defaults/luci-argon-config create mode 100755 root/usr/libexec/rpcd/luci.argon create mode 100644 root/usr/share/luci/menu.d/luci-app-argon-config.json create mode 100644 root/usr/share/rpcd/acl.d/luci-app-argon-config.json diff --git a/.github/workflows/build.sh b/.github/workflows/build.sh new file mode 100755 index 0000000..e34e318 --- /dev/null +++ b/.github/workflows/build.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +sed -i 's/git\.openwrt\.org\/project\/luci/github\.com\/openwrt\/luci/g' ./feeds.conf.default +./scripts/feeds update luci +./scripts/feeds install luci +mv ./bin/luci-app-argon-config ./package/ +make defconfig +make package/luci-app-argon-config/compile V=s -j$(nproc) BUILD_LOG=1 + +tar -cJf logs.tar.xz logs +mv logs.tar.xz bin diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000..0701644 --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,41 @@ +name: CI + +on: + push: + branches: + - master + tags-ignore: + - 'release-*' + paths: + - 'luci-app-argon-config/**' + pull_request: + branches: + - master + +jobs: + build: + name: Build the IPK + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@master + - name: Prepare + run: | + mkdir -p bin/luci-app-argon-config + cp -rf ./luasrc ./po ./root ./Makefile ./bin/luci-app-argon-config + - name: Docker Build + run: | + docker pull openwrt/sdk + docker run --rm -u root -v "$(pwd)"/bin/:/home/build/openwrt/bin -v ${{ github.workspace }}/.github/workflows:/home/build/workflows openwrt/sdk /bin/sh /home/build/workflows/build.sh + - name: Upload app + uses: actions/upload-artifact@v3 + with: + name: luci-app-argon-config + path: ./bin/packages/x86_64/base/*argon-config* + if-no-files-found: error + - name: Upload Log + if: ${{ always() }} + uses: actions/upload-artifact@v3 + with: + name: buildlog + path: bin/logs.tar.xz diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..fec0fdf --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,39 @@ +name: Release + +on: + push: + tags: + - 'release-*' + +jobs: + build: + name: Build the IPK + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@master + - name: Prepare + run: | + mkdir -p bin/luci-app-argon-config + cp -rf ./luasrc ./po ./root ./Makefile ./bin/luci-app-argon-config + - name: Docker Build + run: | + docker pull openwrt/sdk + docker run --rm -u root -v "$(pwd)"/bin/:/home/build/openwrt/bin -v ${{ github.workspace }}/.github/workflows:/home/build/workflows openwrt/sdk /bin/sh /home/build/workflows/build.sh + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + set -x + assets=() + for asset in ./bin/packages/x86_64/base/*argon-config*.ipk; do + assets+=("-a" "$asset") + done + tag_name=$(basename ${{github.ref}}) + hub release create -p "${assets[@]}" -m "$tag_name" "$tag_name" + - name: Upload Log + if: ${{ always() }} + uses: actions/upload-artifact@v3 + with: + name: buildlog + path: bin/logs.tar.xz diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8f2807c --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-argon-config +PKG_VERSION:=1.0 +PKG_RELEASE:=20230608 + +PKG_MAINTAINER:=jerrykuku + +LUCI_TITLE:=LuCI app for Argon theme configuration +LUCI_PKGARCH:=all +LUCI_DEPENDS:=+luci-theme-argon + +define Package/$(PKG_NAME)/conffiles +/etc/config/argon +endef + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/README.md b/README.md new file mode 100644 index 0000000..b1b4396 --- /dev/null +++ b/README.md @@ -0,0 +1,97 @@ + + +[license]: /LICENSE +[license-badge]: https://img.shields.io/github/license/jerrykuku/luci-app-argon-config?style=flat-square&a=1 +[prs]: https://github.com/jerrykuku/luci-app-argon-config/pulls +[prs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square +[issues]: https://github.com/jerrykuku/luci-app-argon-config/issues/new +[issues-badge]: https://img.shields.io/badge/Issues-welcome-brightgreen.svg?style=flat-square +[release]: https://github.com/jerrykuku/luci-app-argon-config/releases +[release-badge]: https://img.shields.io/github/v/release/jerrykuku/luci-app-argon-config?include_prereleases&style=flat-square +[download]: https://github.com/jerrykuku/luci-app-argon-config/releases +[download-badge]: https://img.shields.io/github/downloads/jerrykuku/luci-app-argon-config/total?style=flat-square +[contact]: https://t.me/jerryk6 +[contact-badge]: https://img.shields.io/badge/Contact-telegram-blue?style=flat-square +[en-us-link]: /README.md +[zh-cn-link]: /README_ZH.md +[en-us-release-log]: /RELEASE.md +[zh-cn-release-log]: /RELEASE_ZH.md +[config-link]: https://github.com/jerrykuku/luci-app-argon-config/releases +[lede]: https://github.com/coolsnowwolf/lede +[official]: https://github.com/openwrt/openwrt +[immortalwrt]: https://github.com/immortalwrt/immortalwrt + +
+ + +# Argon Theme Config Plugin + +You can set the blur and transparency of the login page of argon theme, + +and manage the background pictures and videos. + +[![license][license-badge]][license] +[![prs][prs-badge]][prs] +[![issues][issues-badge]][issues] +[![release][release-badge]][release] +[![download][download-badge]][download] +[![contact][contact-badge]][contact] + +**English** | +[简体中文][zh-cn-link] + + +
+ +## Branch Introduction + +There are currently two main branches that are adapted to different versions of the **OpenWrt** source code. +The table below will provide a detailed introduction: + +| Branch | Version | Description | Matching source | +| ------ | ------- | ---------------------------------- | --------------------------------------------------------- | +| master | v1.x.x | Support the latest version of LuCI | [Official OpenWrt][official] • [ImmortalWrt][immortalwrt] | +| 18.06 | v0.9.x | Support the 18.06 version of LuCI | [Lean's LEDE][lede] | + +## Getting started + +### Build for Lean's LEDE project + +```bash +cd lede/package/lean +rm -rf luci-app-argon-config # if have +git clone -b 18.06 https://github.com/jerrykuku/luci-app-argon-config.git luci-app-argon-config +make menuconfig #choose LUCI->Application->Luci-app-argon-config +make -j1 V=s +``` + +### Build for OpenWrt official SnapShots and ImmortalWrt + +```bash +cd openwrt/package +git clone https://github.com/jerrykuku/luci-app-argon-config.git +make menuconfig #choose LUCI->Application->Luci-app-argon-config +make -j1 V=s +``` + +## Contributors + + + + + +Made with [contrib.rocks](https://contrib.rocks). + +## Related Projects + +- [luci-theme-argon](https://github.com/jerrykuku/luci-theme-argon): Argon theme +- [openwrt-package](https://github.com/jerrykuku/openwrt-package): My OpenWrt package +- [CasaOS](https://github.com/IceWhaleTech/CasaOS): A simple, easy-to-use, elegant open-source Personal Cloud system (My current main project) diff --git a/README_ZH.md b/README_ZH.md new file mode 100644 index 0000000..d6f9fdc --- /dev/null +++ b/README_ZH.md @@ -0,0 +1,96 @@ + + +[license]: /LICENSE +[license-badge]: https://img.shields.io/github/license/jerrykuku/luci-app-argon-config?style=flat-square&a=1 +[prs]: https://github.com/jerrykuku/luci-app-argon-config/pulls +[prs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square +[issues]: https://github.com/jerrykuku/luci-app-argon-config/issues/new +[issues-badge]: https://img.shields.io/badge/Issues-welcome-brightgreen.svg?style=flat-square +[release]: https://github.com/jerrykuku/luci-app-argon-config/releases +[release-badge]: https://img.shields.io/github/v/release/jerrykuku/luci-app-argon-config?include_prereleases&style=flat-square +[download]: https://github.com/jerrykuku/luci-app-argon-config/releases +[download-badge]: https://img.shields.io/github/downloads/jerrykuku/luci-app-argon-config/total?style=flat-square +[contact]: https://t.me/jerryk6 +[contact-badge]: https://img.shields.io/badge/Contact-telegram-blue?style=flat-square +[en-us-link]: /README.md +[zh-cn-link]: /README_ZH.md +[en-us-release-log]: /RELEASE.md +[zh-cn-release-log]: /RELEASE_ZH.md +[config-link]: https://github.com/jerrykuku/luci-app-argon-config/releases +[lede]: https://github.com/coolsnowwolf/lede +[official]: https://github.com/openwrt/openwrt +[immortalwrt]: https://github.com/immortalwrt/immortalwrt + +
+ + +# Argon 主题设置插件 + +您可以设置 Argon 主题登录页面的模糊度和透明度,并管理背景图片和视频。 + +[![license][license-badge]][license] +[![prs][prs-badge]][prs] +[![issues][issues-badge]][issues] +[![release][release-badge]][release] +[![download][download-badge]][download] +[![contact][contact-badge]][contact] + +[Engilish][en-us-link] | +**简体中文** + + +
+ +## Branch Introduction + +目前有两个主要的分支,适应于不同版本的**OpenWrt**源代码。 +下表为详细的介绍: + + +| 分支 | 版本 | 介绍 | 匹配源码 | +| ------ | ------ | --------------------------- | ----------------------------------------------------- | +| master | v1.x.x | 支持最新和比较新版本的 LuCI | [官方 OpenWrt][official] • [ImmortalWrt][immortalwrt] | +| 18.06 | v0.9.x | 支持 18.06 版本的 LuCI | [Lean's LEDE][lede] | + +## G快速开始 + +### 使用 Lean's LEDE 构建 + +```bash +cd lede/package/lean +rm -rf luci-app-argon-config # if have +git clone -b 18.06 https://github.com/jerrykuku/luci-app-argon-config.git luci-app-argon-config +make menuconfig #choose LUCI->Application->Luci-app-argon-config +make -j1 V=s +``` + +### 使用官方 OpenWrt SnapShots 和 ImmortalWrt 构建 + +```bash +cd openwrt/package +git clone https://github.com/jerrykuku/luci-app-argon-config.git +make menuconfig #choose LUCI->Application->Luci-app-argon-config +make -j1 V=s +``` + +## 贡献者 + + + + + +Made with [contrib.rocks](https://contrib.rocks). + +## 相关项目 + +- [luci-theme-argon](https://github.com/jerrykuku/luci-theme-argon): Argon theme +- [openwrt-package](https://github.com/jerrykuku/openwrt-package): My OpenWrt package +- [CasaOS](https://github.com/IceWhaleTech/CasaOS): A simple, easy-to-use, elegant open-source Personal Cloud system (My current main project) diff --git a/htdocs/luci-static/resources/view/argon-config.js b/htdocs/luci-static/resources/view/argon-config.js new file mode 100644 index 0000000..e5c2d20 --- /dev/null +++ b/htdocs/luci-static/resources/view/argon-config.js @@ -0,0 +1,186 @@ +'use strict'; +'require form'; +'require fs'; +'require rpc'; +'require uci'; +'require ui'; +'require view'; + +var callAvailSpace = rpc.declare({ + object: 'luci.argon', + method: 'avail' +}); + +var callRemoveArgon = rpc.declare({ + object: 'luci.argon', + method: 'remove', + params: ['filename'], + expect: { '': {} } +}); + +var callRenameArgon = rpc.declare({ + object: 'luci.argon', + method: 'rename', + params: ['newname'], + expect: { '': {} } +}); + +var bg_path = '/www/luci-static/argon/background/'; + +var trans_set = [0, 0.1, 0.2, 0.3, 0.4, + 0.5, 0.6, 0.7, 0.8, 0.9, 1 ]; + +return view.extend({ + load: function() { + return Promise.all([ + uci.load('argon'), + L.resolveDefault(callAvailSpace(), {}), + L.resolveDefault(fs.list(bg_path), {}) + ]); + }, + + render: function(data) { + var m, s, o; + + m = new form.Map('argon', _('Argon theme configuration'), + _('Here you can set the blur and transparency of the login page of argon theme, and manage the background pictures and videos. Chrome is recommended.')); + + s = m.section(form.TypedSection, 'global', _('Theme configuration')); + s.addremove = false; + s.anonymous = true; + + o = s.option(form.ListValue, 'online_wallpaper', _('Wallpaper source')); + o.value('none', _('Built-in')); + o.value('bing', _('Bing')); + o.value('unsplash', _('Unsplash')); + o.value('wallhaven', _('Wallhaven')); + o.default = 'bing'; + o.rmempty = false; + + o = s.option(form.ListValue, 'mode', _('Theme mode')); + o.value('normal', _('Follow system')); + o.value('light', _('Light mode')); + o.value('dark', _('Dark mode')); + o.default = 'normal'; + o.rmempty = false; + + o = s.option(form.Value, 'primary', _('[Light mode] Primary Color'), _('A HEX color (default: #5e72e4).')) + o.default = '#5e72e4'; + o.rmempty = false; + o.validate = function(section_id, value) { + if (section_id) + return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(value) || + _('Expecting: %s').format(_('valid HEX color value')); + return true; + } + + o = s.option(form.ListValue, 'transparency', _('[Light mode] Transparency'), + _('0 transparent - 1 opaque (suggest: transparent: 0 or translucent preset: 0.5).')); + for (var i of trans_set) + o.value(i); + o.default = '0.5'; + o.rmempty = false; + + o = s.option(form.Value, 'blur', _('[Light mode] Frosted Glass Radius'), + _('Larger value will more blurred (suggest: clear: 1 or blur preset: 10).')); + o.datatype = 'ufloat'; + o.default = '10'; + o.rmempty = false; + + o = s.option(form.Value, 'dark_primary', _('[Dark mode] Primary Color'), + _('A HEX Color (default: #483d8b).')) + o.default = '#483d8b'; + o.rmempty = false; + o.validate = function(section_id, value) { + if (section_id) + return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(value) || + _('Expecting: %s').format(_('valid HEX color value')); + return true; + } + + o = s.option(form.ListValue, 'transparency_dark', _('[Dark mode] Transparency'), + _('0 transparent - 1 opaque (suggest: black translucent preset: 0.5).')); + for (var i of trans_set) + o.value(i); + o.default = '0.5'; + o.rmempty = false; + + o = s.option(form.Value, 'blur_dark', _('[Dark mode] Frosted Glass Radius'), + _('Larger value will more blurred (suggest: clear: 1 or blur preset: 10).')) + o.datatype = 'ufloat'; + o.default = '10'; + o.rmempty = false; + + o = s.option(form.Button, '_save', _('Save settings')); + o.inputstyle = 'apply'; + o.inputtitle = _('Save current settings'); + o.onclick = function() { + ui.changes.apply(true); + return this.map.save(null, true); + } + + s = m.section(form.TypedSection, null, _('Upload background (available space: %1024.2mB)') + .format(data[1].avail * 1024), + _('You can upload files such as gif/jpg/mp4/png/webm/webp files, to change the login page background.')); + s.addremove = false; + s.anonymous = true; + + o = s.option(form.Button, '_upload_bg', _('Upload background'), + _('Files will be uploaded to %s.').format(bg_path)); + o.inputstyle = 'action'; + o.inputtitle = _('Upload...'); + o.onclick = function(ev, section_id) { + var file = '/tmp/argon_background.tmp'; + return ui.uploadFile(file, ev.target).then(function(res) { + return L.resolveDefault(callRenameArgon(res.name), {}).then(function(ret) { + if (ret.result === 0) + return location.reload(); + else { + ui.addNotification(null, E('p', _('Failed to upload file: %s.').format(res.name))); + return L.resolveDefault(fs.remove(file), {}); + } + }); + }) + .catch(function(e) { ui.addNotification(null, E('p', e.message)); }); + }; + o.modalonly = true; + + s = m.section(form.TableSection); + s.render = function() { + var tbl = E('table', { 'class': 'table cbi-section-table' }, + E('tr', { 'class': 'tr table-titles' }, [ + E('th', { 'class': 'th' }, [ _('Filename') ]), + E('th', { 'class': 'th' }, [ _('Modified date') ]), + E('th', { 'class': 'th' }, [ _('Size') ]), + E('th', { 'class': 'th' }, [ _('Action') ]) + ]) + ); + + cbi_update_table(tbl, data[2].map(L.bind(function(file) { + return [ + file.name, + new Date(file.mtime * 1000).toLocaleString(), + String.format('%1024.2mB', file.size), + E('button', { + 'class': 'btn cbi-button cbi-button-remove', + 'click': ui.createHandlerFn(this, function() { + return L.resolveDefault(callRemoveArgon(file.name), {}) + .then(function() { return location.reload(); }); + }) + }, [ _('Delete') ]) + ]; + }, this)), E('em', _('No files found.'))); + + return E('div', { 'class': 'cbi-map', 'id': 'cbi-filelist' }, [ + E('h3', _('Background file list')), + tbl + ]); + }; + + return m.render(); + }, + + handleSaveApply: null, + handleSave: null, + handleReset: null +}); diff --git a/po/es/argon-config.po b/po/es/argon-config.po new file mode 100644 index 0000000..38ef29a --- /dev/null +++ b/po/es/argon-config.po @@ -0,0 +1,285 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2021-03-15 21:25-0300\n" +"PO-Revision-Date: 2022-04-23 15:21-0300\n" +"Last-Translator: Franco Castillo \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.0.1\n" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:102 +msgid "0 transparent - 1 opaque (suggest: black translucent preset: 0.5)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:78 +msgid "" +"0 transparent - 1 opaque (suggest: transparent: 0 or translucent preset: " +"0.5)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:91 +msgid "A HEX Color (default: #483d8b)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "A HEX color (default: #5e72e4)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:155 +msgid "Action" +msgstr "" + +#: applications/luci-app-argon-config/root/usr/share/luci/menu.d/luci-app-argon-config.json:3 +msgid "Argon Config" +msgstr "Configuración de Argon" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:45 +msgid "Argon theme configuration" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:175 +msgid "Background file list" +msgstr "Lista de archivos de fondo" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:54 +msgid "Bing" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:53 +msgid "Built-in" +msgstr "Integrado" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:63 +msgid "Dark mode" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:170 +msgid "Delete" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:139 +msgid "Failed to upload file: %s." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:152 +msgid "Filename" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:129 +msgid "Files will be uploaded to %s." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:61 +msgid "Follow system" +msgstr "" + +#: applications/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json:3 +msgid "Grant UCI access for luci-app-argon-config" +msgstr "Otorgar acceso UCI para luci-app-argon-config" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:46 +msgid "" +"Here you can set the blur and transparency of the login page of argon theme, " +"and manage the background pictures and videos. Chrome is recommended." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:85 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:109 +msgid "Larger value will more blurred (suggest: clear: 1 or blur preset: 10)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:62 +msgid "Light mode" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:153 +msgid "Modified date" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:172 +msgid "No files found." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:116 +msgid "Save current settings" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:114 +msgid "Save settings" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:154 +msgid "Size" +msgstr "Tamaño" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:48 +msgid "Theme configuration" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:60 +msgid "Theme mode" +msgstr "Modo del tema" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:55 +msgid "Unsplash" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:128 +msgid "Upload background" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:122 +msgid "Upload background (available space: %1024.2mB)" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:131 +msgid "Upload..." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:56 +msgid "Wallhaven" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:52 +msgid "Wallpaper source" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:124 +msgid "" +"You can upload files such as gif/jpg/mp4/png/webm/webp files, to change the " +"login page background." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:108 +msgid "[Dark mode] Frosted Glass Radius" +msgstr "[Modo oscuro] Radio de vidrio esmerilado" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:90 +msgid "[Dark mode] Primary Color" +msgstr "[Modo oscuro] Color primario" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:101 +msgid "[Dark mode] Transparency" +msgstr "[Modo oscuro] Transparencia" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:84 +msgid "[Light mode] Frosted Glass Radius" +msgstr "[Modo claro] Radio de vidrio esmerilado" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "[Light mode] Primary Color" +msgstr "[Modo claro] Color primario" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:77 +msgid "[Light mode] Transparency" +msgstr "[Modo claro] Transparencia" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "valid HEX color value" +msgstr "" + +#~ msgid "" +#~ "0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )" +#~ msgstr "" +#~ "0 transparente - 1 opaco; (Sugerencia: negro translúcido preestablecido: " +#~ "0.5)" + +#~ msgid "" +#~ "0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent " +#~ "preset: 0.5 )" +#~ msgstr "" +#~ "0 transparente - 1 opaco; (Sugerencia: transparente: 0 o translúcido " +#~ "preestablecido: 0.5)" + +#~ msgid "A HEX Color ; ( Default: #483d8b )" +#~ msgstr "Un color HEX; (Predeterminado: #483d8b)" + +#~ msgid "A HEX Color ; ( Default: #5e72e4 )" +#~ msgstr "Un color HEX; (Predeterminado: #5e72e4)" + +#~ msgid "Bing Wallpapers" +#~ msgstr "Fondos de Bing" + +#~ msgid "Choose local file:" +#~ msgstr "Elija un archivo local:" + +#~ msgid "Create upload file error." +#~ msgstr "Crear archivo de error de carga." + +#~ msgid "File name" +#~ msgstr "Nombre del archivo" + +#~ msgid "File saved to" +#~ msgstr "Archivo guardado en" + +#~ msgid "Follow System" +#~ msgstr "Seguir el sistema" + +#~ msgid "Force Dark" +#~ msgstr "Forzar oscuro" + +#~ msgid "Force Light" +#~ msgstr "Forzar claro" + +#~ msgid "" +#~ "Here you can set the blur and transparency of the login page of argon " +#~ "theme, and manage the background pictures and videos.[Chrome is " +#~ "recommended]" +#~ msgstr "" +#~ "Aquí puede configurar el desenfoque y la transparencia de la página de " +#~ "inicio de sesión del tema argon y administrar las imágenes de fondo y los " +#~ "videos. [Se recomienda Chrome]" + +#~ msgid "" +#~ "Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )" +#~ msgstr "" +#~ "El valor más grande se verá más borroso; (Sugerencia: claro: 1 o " +#~ "desenfoque predeterminado: 10)" + +#~ msgid "Modify time" +#~ msgstr "Modificar la hora" + +#~ msgid "No specify upload file." +#~ msgstr "No especificar archivo de carga." + +#~ msgid "Remove" +#~ msgstr "Eliminar" + +#~ msgid "Save Changes" +#~ msgstr "Guardar cambios" + +#~ msgid "Upload" +#~ msgstr "Cargar" + +#~ msgid "Upload (Free:" +#~ msgstr "Cargar (Libre:" + +#~ msgid "Upload file to '/www/luci-static/argon/background/'" +#~ msgstr "Subir archivo a '/www/luci-static/argon/background/'" + +#~ msgid "Wallpaper Source" +#~ msgstr "Fuente del fondo de pantalla" + +#~ msgid "You can choose Theme color mode here" +#~ msgstr "Puede elegir el modo de color del tema aquí" + +#~ msgid "" +#~ "You can upload files such as jpg,png,gif,webp,mp4,webm files, To change " +#~ "the login page background." +#~ msgstr "" +#~ "Puede cargar archivos como jpg, png, gif, webp, mp4, webm, para cambiar " +#~ "el fondo de la página de inicio de sesión." + +#~ msgid "Luci Argon theme config" +#~ msgstr "Configuración del tema Luci Argon" diff --git a/po/templates/argon-config.pot b/po/templates/argon-config.pot new file mode 100644 index 0000000..59a5061 --- /dev/null +++ b/po/templates/argon-config.pot @@ -0,0 +1,179 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:102 +msgid "0 transparent - 1 opaque (suggest: black translucent preset: 0.5)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:78 +msgid "" +"0 transparent - 1 opaque (suggest: transparent: 0 or translucent preset: " +"0.5)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:91 +msgid "A HEX Color (default: #483d8b)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "A HEX color (default: #5e72e4)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:155 +msgid "Action" +msgstr "" + +#: applications/luci-app-argon-config/root/usr/share/luci/menu.d/luci-app-argon-config.json:3 +msgid "Argon Config" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:45 +msgid "Argon theme configuration" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:175 +msgid "Background file list" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:54 +msgid "Bing" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:53 +msgid "Built-in" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:63 +msgid "Dark mode" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:170 +msgid "Delete" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:139 +msgid "Failed to upload file: %s." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:152 +msgid "Filename" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:129 +msgid "Files will be uploaded to %s." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:61 +msgid "Follow system" +msgstr "" + +#: applications/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json:3 +msgid "Grant UCI access for luci-app-argon-config" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:46 +msgid "" +"Here you can set the blur and transparency of the login page of argon theme, " +"and manage the background pictures and videos. Chrome is recommended." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:85 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:109 +msgid "Larger value will more blurred (suggest: clear: 1 or blur preset: 10)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:62 +msgid "Light mode" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:153 +msgid "Modified date" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:172 +msgid "No files found." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:116 +msgid "Save current settings" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:114 +msgid "Save settings" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:154 +msgid "Size" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:48 +msgid "Theme configuration" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:60 +msgid "Theme mode" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:55 +msgid "Unsplash" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:128 +msgid "Upload background" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:122 +msgid "Upload background (available space: %1024.2mB)" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:131 +msgid "Upload..." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:56 +msgid "Wallhaven" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:52 +msgid "Wallpaper source" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:124 +msgid "" +"You can upload files such as gif/jpg/mp4/png/webm/webp files, to change the " +"login page background." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:108 +msgid "[Dark mode] Frosted Glass Radius" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:90 +msgid "[Dark mode] Primary Color" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:101 +msgid "[Dark mode] Transparency" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:84 +msgid "[Light mode] Frosted Glass Radius" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "[Light mode] Primary Color" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:77 +msgid "[Light mode] Transparency" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "valid HEX color value" +msgstr "" diff --git a/po/zh_Hans/argon-config.po b/po/zh_Hans/argon-config.po new file mode 100644 index 0000000..342fab5 --- /dev/null +++ b/po/zh_Hans/argon-config.po @@ -0,0 +1,192 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: dingpengyu \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" +"X-Generator: Poedit 2.3.1\n" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:102 +msgid "0 transparent - 1 opaque (suggest: black translucent preset: 0.5)." +msgstr "0 最透明 - 1 不透明(建议:黑色半透明 0.5)" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:78 +msgid "" +"0 transparent - 1 opaque (suggest: transparent: 0 or translucent preset: " +"0.5)." +msgstr "0 最透明 - 1 不透明(建议: 透明 0 或 半透明预设 0.5)。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:91 +msgid "A HEX Color (default: #483d8b)." +msgstr "十六进制颜色值(预设为:#483d8b)。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "A HEX color (default: #5e72e4)." +msgstr "十六进制颜色值(预设为:#5e72e4)。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:155 +msgid "Action" +msgstr "操作" + +#: applications/luci-app-argon-config/root/usr/share/luci/menu.d/luci-app-argon-config.json:3 +msgid "Argon Config" +msgstr "Argon 主题设置" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:45 +msgid "Argon theme configuration" +msgstr "Argon 主题设置" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:175 +msgid "Background file list" +msgstr "背景文件列表" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:54 +msgid "Bing" +msgstr "Bing" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:53 +msgid "Built-in" +msgstr "内建" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:63 +msgid "Dark mode" +msgstr "暗黑模式" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:170 +msgid "Delete" +msgstr "删除" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "Expecting: %s" +msgstr "请输入:%s" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:139 +msgid "Failed to upload file: %s." +msgstr "上传文件失败:%s。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:152 +msgid "Filename" +msgstr "文件名" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:129 +msgid "Files will be uploaded to %s." +msgstr "文件将被上传至%s。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:61 +msgid "Follow system" +msgstr "跟随系统" + +#: applications/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json:3 +msgid "Grant UCI access for luci-app-argon-config" +msgstr "授予 luci-app-argon-config 访问 UCI 配置的权限" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:46 +msgid "" +"Here you can set the blur and transparency of the login page of argon theme, " +"and manage the background pictures and videos. Chrome is recommended." +msgstr "" +"在这里你可以设置argon 主题的登录页面的模糊和透明度,并管理背景图片与视频。推" +"荐使用 Chrome。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:85 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:109 +msgid "Larger value will more blurred (suggest: clear: 1 or blur preset: 10)." +msgstr "值越大越模糊(建议:清透 1 或 模糊预设 10)" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:62 +msgid "Light mode" +msgstr "亮色模式" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:153 +msgid "Modified date" +msgstr "修改时间" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:172 +msgid "No files found." +msgstr "没有找到文件。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:116 +msgid "Save current settings" +msgstr "保存当前设置" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:114 +msgid "Save settings" +msgstr "保存设置" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:154 +msgid "Size" +msgstr "大小" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:48 +msgid "Theme configuration" +msgstr "主题配置" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:60 +msgid "Theme mode" +msgstr "主题模式" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:55 +msgid "Unsplash" +msgstr "Unsplash" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:128 +msgid "Upload background" +msgstr "上传背景" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:122 +msgid "Upload background (available space: %1024.2mB)" +msgstr "上传背景(可用空间:%1024.2mB)" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:131 +msgid "Upload..." +msgstr "上传..." + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:56 +msgid "Wallhaven" +msgstr "Wallhaven" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:52 +msgid "Wallpaper source" +msgstr "壁纸来源" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:124 +msgid "" +"You can upload files such as gif/jpg/mp4/png/webm/webp files, to change the " +"login page background." +msgstr "" +"你可以上传 gif/jpg/mp4/png/webm/webp 等格式的文件,以创建自己喜欢的登录界面。" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:108 +msgid "[Dark mode] Frosted Glass Radius" +msgstr "[暗色模式] 毛玻璃模糊半径" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:90 +msgid "[Dark mode] Primary Color" +msgstr "[暗色模式] 主色调" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:101 +msgid "[Dark mode] Transparency" +msgstr "[暗色模式] 透明度" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:84 +msgid "[Light mode] Frosted Glass Radius" +msgstr "[亮色模式] 毛玻璃模糊半径" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "[Light mode] Primary Color" +msgstr "[亮色模式] 主色调" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:77 +msgid "[Light mode] Transparency" +msgstr "[亮色模式] 透明度" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "valid HEX color value" +msgstr "有效十六进制颜色值" diff --git a/po/zh_Hant/argon-config.po b/po/zh_Hant/argon-config.po new file mode 100644 index 0000000..1f8ce33 --- /dev/null +++ b/po/zh_Hant/argon-config.po @@ -0,0 +1,273 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: Victor Tseng \n" +"Language-Team: \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:102 +msgid "0 transparent - 1 opaque (suggest: black translucent preset: 0.5)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:78 +msgid "" +"0 transparent - 1 opaque (suggest: transparent: 0 or translucent preset: " +"0.5)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:91 +msgid "A HEX Color (default: #483d8b)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "A HEX color (default: #5e72e4)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:155 +msgid "Action" +msgstr "" + +#: applications/luci-app-argon-config/root/usr/share/luci/menu.d/luci-app-argon-config.json:3 +msgid "Argon Config" +msgstr "Argon 設定" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:45 +msgid "Argon theme configuration" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:175 +msgid "Background file list" +msgstr "背景檔案清單" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:54 +msgid "Bing" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:53 +msgid "Built-in" +msgstr "內建" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:63 +msgid "Dark mode" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:170 +msgid "Delete" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "Expecting: %s" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:139 +msgid "Failed to upload file: %s." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:152 +msgid "Filename" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:129 +msgid "Files will be uploaded to %s." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:61 +msgid "Follow system" +msgstr "" + +#: applications/luci-app-argon-config/root/usr/share/rpcd/acl.d/luci-app-argon-config.json:3 +msgid "Grant UCI access for luci-app-argon-config" +msgstr "為 luci-app-argon-config 授予 UCI 權限" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:46 +msgid "" +"Here you can set the blur and transparency of the login page of argon theme, " +"and manage the background pictures and videos. Chrome is recommended." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:85 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:109 +msgid "Larger value will more blurred (suggest: clear: 1 or blur preset: 10)." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:62 +msgid "Light mode" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:153 +msgid "Modified date" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:172 +msgid "No files found." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:116 +msgid "Save current settings" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:114 +msgid "Save settings" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:154 +msgid "Size" +msgstr "容量" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:48 +msgid "Theme configuration" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:60 +msgid "Theme mode" +msgstr "佈景主題模式" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:55 +msgid "Unsplash" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:128 +msgid "Upload background" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:122 +msgid "Upload background (available space: %1024.2mB)" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:131 +msgid "Upload..." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:56 +msgid "Wallhaven" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:52 +msgid "Wallpaper source" +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:124 +msgid "" +"You can upload files such as gif/jpg/mp4/png/webm/webp files, to change the " +"login page background." +msgstr "" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:108 +msgid "[Dark mode] Frosted Glass Radius" +msgstr "《深色模式》模糊效果半徑" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:90 +msgid "[Dark mode] Primary Color" +msgstr "《深色模式》主色彩" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:101 +msgid "[Dark mode] Transparency" +msgstr "《深色模式》透明度" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:84 +msgid "[Light mode] Frosted Glass Radius" +msgstr "《淺色模式》模糊效果半徑" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:67 +msgid "[Light mode] Primary Color" +msgstr "《淺色模式》主色彩" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:77 +msgid "[Light mode] Transparency" +msgstr "《淺色模式》透明度" + +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:73 +#: applications/luci-app-argon-config/htdocs/luci-static/resources/view/argon-config.js:97 +msgid "valid HEX color value" +msgstr "" + +#~ msgid "" +#~ "0 transparent - 1 opaque ; ( Suggest: Black translucent preset: 0.5 )" +#~ msgstr "0 全透明 - 1 不透明(建議:黑色半透明 0.5)" + +#~ msgid "" +#~ "0 transparent - 1 opaque ; ( Suggest: transparent: 0 or translucent " +#~ "preset: 0.5 )" +#~ msgstr "0 全透明 - 1 不透明(建議:全透明 0,或半透明 0.5)" + +#~ msgid "A HEX Color ; ( Default: #483d8b )" +#~ msgstr "十六進制顏色(預設 #483d8b)" + +#~ msgid "A HEX Color ; ( Default: #5e72e4 )" +#~ msgstr "十六進制顏色(預設 #5e72e4)" + +#~ msgid "Bing Wallpapers" +#~ msgstr "必應桌布" + +#~ msgid "Choose local file:" +#~ msgstr "選擇本地檔案:" + +#~ msgid "Create upload file error." +#~ msgstr "建立上傳檔案錯誤。" + +#~ msgid "File name" +#~ msgstr "檔案名稱" + +#~ msgid "File saved to" +#~ msgstr "檔案已儲存至" + +#~ msgid "Follow System" +#~ msgstr "跟隨系統配色" + +#~ msgid "Force Dark" +#~ msgstr "強制深色" + +#~ msgid "Force Light" +#~ msgstr "強制淺色" + +#~ msgid "" +#~ "Here you can set the blur and transparency of the login page of argon " +#~ "theme, and manage the background pictures and videos.[Chrome is " +#~ "recommended]" +#~ msgstr "" +#~ "您可以在此設定登入畫面的模糊度、透明度、以及管理背景圖片與影片(推薦使用 " +#~ "Chrome)。" + +#~ msgid "" +#~ "Larger value will more blurred ; ( Suggest: clear: 1 or blur preset: 10 )" +#~ msgstr "數值越大越模糊(建議:清晰 1,或模糊程度 10)" + +#~ msgid "Modify time" +#~ msgstr "修改時間" + +#~ msgid "No specify upload file." +#~ msgstr "沒有選擇要上傳的檔案。" + +#~ msgid "Remove" +#~ msgstr "移除" + +#~ msgid "Save Changes" +#~ msgstr "保存變更" + +#~ msgid "Upload" +#~ msgstr "上傳" + +#~ msgid "Upload (Free:" +#~ msgstr "上傳(剩餘空間:" + +#~ msgid "Upload file to '/www/luci-static/argon/background/'" +#~ msgstr "上傳檔案至「/www/luci-static/argon/background」" + +#~ msgid "Wallpaper Source" +#~ msgstr "桌布來源" + +#~ msgid "You can choose Theme color mode here" +#~ msgstr "您可以在此選擇佈景主題的顏色模式" + +#~ msgid "" +#~ "You can upload files such as jpg,png,gif,mp4,webm files, To change the " +#~ "login page background." +#~ msgstr "" +#~ "您可以上傳諸如 jpg、png、gif、mp4、webm 等類型的檔案來更換登入畫面的背景。" diff --git a/root/etc/config/argon b/root/etc/config/argon new file mode 100644 index 0000000..cf7b56c --- /dev/null +++ b/root/etc/config/argon @@ -0,0 +1,10 @@ +config global + option primary '#5e72e4' + option dark_primary '#483d8b' + option blur '10' + option blur_dark '10' + option transparency '0.5' + option transparency_dark '0.5' + option mode 'normal' + option online_wallpaper 'bing' + diff --git a/root/etc/uci-defaults/luci-argon-config b/root/etc/uci-defaults/luci-argon-config new file mode 100644 index 0000000..9fc0b56 --- /dev/null +++ b/root/etc/uci-defaults/luci-argon-config @@ -0,0 +1,14 @@ +#!/bin/sh + +bing_background="$(uci -q get "argon.@global[0].bing_background")" +[ -n "$bing_background" ] || exit 0 + +if [ "$bing_background" = "1" ]; then + uci -q set "argon.@global[0].online_wallpaper"="bing" +else + uci -q set "argon.@global[0].online_wallpaper"="none" +fi +uci -q delete "argon.@global[0].bing_background" +uci -q commit "argon" + +exit 0 diff --git a/root/usr/libexec/rpcd/luci.argon b/root/usr/libexec/rpcd/luci.argon new file mode 100755 index 0000000..9a9468b --- /dev/null +++ b/root/usr/libexec/rpcd/luci.argon @@ -0,0 +1,64 @@ +#!/bin/sh + +. /lib/functions.sh +. /usr/share/libubox/jshn.sh + +readonly bg_path="/www/luci-static/argon/background" +readonly tmp_path="/tmp/argon_background.tmp" + +case "$1" in +"list") + json_init + json_add_object "avail" + json_close_object + json_add_object "remove" + json_add_string "filename" "filename" + json_close_object + json_add_object "rename" + json_add_string "newname" "filename" + json_close_object + json_dump + json_cleanup + ;; +"call") + case "$2" in + "avail") + json_init + json_add_int "avail" "$(df | grep -E '/$' | awk '{print $4}')" + json_dump + json_cleanup + ;; + "remove") + read -r input + json_load "$input" + json_get_var filename "filename" + json_cleanup + + if dirname "$filename" | grep -q ".."; then + echo '{ "result": 255 }' + exit 255 + fi + + rm -f "$bg_path/$filename" + echo '{ "result": 0 }' + ;; + "rename") + read -r input + json_load "$input" + json_get_var newname "newname" + json_cleanup + + if dirname "$newname" | grep -q ".."; then + echo '{ "result": 255 }' + exit 255 + fi + + if mv "$tmp_path" "$bg_path/$newname" 2>"/dev/null"; then + echo '{ "result": 0 }' + else + echo '{ "result": 1 }' + fi + ;; + esac + ;; +esac diff --git a/root/usr/share/luci/menu.d/luci-app-argon-config.json b/root/usr/share/luci/menu.d/luci-app-argon-config.json new file mode 100644 index 0000000..7a1e349 --- /dev/null +++ b/root/usr/share/luci/menu.d/luci-app-argon-config.json @@ -0,0 +1,14 @@ +{ + "admin/system/argon-config": { + "title": "Argon Config", + "order": 90, + "action": { + "type": "view", + "path": "argon-config" + }, + "depends": { + "acl": [ "luci-app-argon-config" ], + "uci": { "argon": true } + } + } +} diff --git a/root/usr/share/rpcd/acl.d/luci-app-argon-config.json b/root/usr/share/rpcd/acl.d/luci-app-argon-config.json new file mode 100644 index 0000000..6c36184 --- /dev/null +++ b/root/usr/share/rpcd/acl.d/luci-app-argon-config.json @@ -0,0 +1,20 @@ +{ + "luci-app-argon-config": { + "description": "Grant UCI access for luci-app-argon-config", + "read": { + "file": { + "/www/luci-static/argon/background/*": [ "list" ] + }, + "ubus": { + "luci.argon": [ "avail", "remove", "rename" ] + }, + "uci": [ "argon" ] + }, + "write": { + "file": { + "/tmp/argon_background.tmp": [ "write" ] + }, + "uci": [ "argon" ] + } + } +}