[Feat] New settings passwd UX & Config enc support

This commit is contained in:
Minoricew
2025-06-05 00:35:50 +08:00
parent fbc5cf1f57
commit 7c8d3d4fbc
33 changed files with 2006 additions and 675 deletions

View File

@@ -1,486 +1,27 @@
/* General */
#aura-container-Aura-UI-Assistant-Config {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 1000;
}
.aura-config-page-root {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: url("../../../../app.asar/public/ae247697b4639c92bd008d0ea7d13b53.png");
/* 这里不用 background-size: cover; 的效果反而更舒服一些... */
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
opacity: 1;
transform: scale(1);
transition: all 0.5s;
}
.aura-config-page-root-inactive {
opacity: 0;
transform: scale(1.5);
}
@import url("./css/general.css");
/* Header */
.aura-config-page-header-area {
flex: 1;
display: flex;
flex-direction: row;
justify-content: flex-start;
width: 100%;
padding-left: 8px;
padding-right: 8px;
color: white;
z-index: 12000;
opacity: 1;
transform: translateY(0);
transition: all 0.5s;
}
.aura-config-page-header-area .iconfont {
font-size: 24px;
transition: all 0.25s;
}
.aura-config-page-header-area .iconfont:hover {
opacity: 0.75;
cursor: pointer;
}
.aura-config-page-header-area .iconfont:active {
opacity: 0.375;
}
.aura-config-page-header-area p {
margin-top: -2px;
}
.aura-config-page-header-area.header-collapsed {
transform: translateY(-1rem);
opacity: 0;
}
.aura-config-page-app-bar {
height: 40px;
display: flex;
justify-content: flex-start;
align-items: center;
width: 100%;
}
@import url("./css/header.css");
/* Status */
.aura-config-page-status-container {
flex: 1;
width: 100%;
align-self: center;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
opacity: 1;
transition: all 0.5s;
}
.aura-config-page-status-container-hidden {
position: absolute;
opacity: 0;
}
.aura-config-page-status-main,
.aura-config-page-status-description {
width: 100%;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.aura-config-page-status-description {
margin-top: 0.5rem;
transform: translateY(0);
opacity: 1;
transition: all 0.5s;
}
.aura-config-page-status-description.status-description-hidden {
transform: translateY(-2rem);
opacity: 0;
}
.aura-config-page-status-description p {
font-size: 18px;
margin-left: 15px;
margin-top: -2px;
color: white;
font-family: "Consolas", "Microsoft YaHei", sans-serif;
}
.aura-config-page-status-description i {
color: white;
}
.aura-config-page-central-aura-logo {
margin: 0.5rem 3rem;
width: 17.5%;
}
.aura-config-hr-vertical {
height: 3.75rem;
width: 1px;
background-color: rgba(255, 255, 255, 0.3);
margin-left: 30px;
margin-right: 30px;
border: none;
}
.aura-config-page-status-el {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-family: "Consolas", monospace;
color: white;
/*
.version-type {
content: "I want to use scss plz 😇"
}
*/
}
.aura-config-page-status-side {
height: 30%;
display: flex;
flex-direction: row;
align-items: center;
flex: 1;
transform: translateX(0);
opacity: 1;
transition: transform 0.5s, opacity 0.5s;
}
.aura-config-page-status-side.left-side {
justify-content: flex-end;
}
.aura-config-page-status-side.left-side.status-side-hidden {
transform: translateX(5rem);
opacity: 0;
}
.aura-config-page-status-side.right-side {
justify-content: flex-start;
}
.aura-config-page-status-side.right-side.status-side-hidden {
transform: translateX(-5rem);
opacity: 0;
}
.aura-config-page-status-el .version-type {
font-size: 20px;
font-weight: 500;
}
.aura-config-page-status-el .version-content {
font-size: 16px;
margin-top: 5px;
opacity: 0.625;
}
@import url("./css/status.css");
/* Operation */
.aura-config-page-operation-area {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
flex: 1;
width: 100%;
overflow-y: auto;
}
@import url("./css/operation.css");
.aura-config-page-operation-area::-webkit-scrollbar {
display: none;
}
/* Config Status Notify */
.aura-config-page-operation-area.subpage-expanded {
flex: 15;
}
.aura-config-page-subpage-container {
width: 100%;
height: 0;
background-color: rgba(255, 255, 255, 0.825);
z-index: 6000;
overflow-y: scroll;
opacity: 0;
transition: all 0.5s;
}
.aura-config-page-subpage-container::-webkit-scrollbar {
display: none;
}
.aura-config-page-operation-area.subpage-expanded
.aura-config-page-subpage-container {
height: calc(100% - 40px - 4rem);
opacity: 1;
}
.aura-config-page-operation-container {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
background-color: rgba(255, 255, 255, 0.1);
padding-left: 1rem;
padding-right: 1rem;
}
.aura-config-page-operation-container.hide-other-operations
.aura-config-page-operation-el:not(.preserve-operation) {
max-width: 0;
opacity: 0;
}
.aura-config-page-operation-container.hide-other-operations
.aura-config-page-operation-el.preserve-operation {
flex: 0.25;
}
.aura-config-page-operation-el {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex: 1;
padding-top: 2rem;
padding-bottom: 2rem;
overflow: hidden;
white-space: nowrap;
max-width: 25%;
opacity: 1;
transform: translateY(0);
transition: opacity 0.5s, transform 0.5s,
max-width cubic-bezier(0, 0.42, 0.18, 1) 0.5s;
}
.aura-config-page-operation-el.operation-el-show:hover {
cursor: pointer;
}
.aura-config-page-operation-el.operation-el-show[aura-disabled="true"]:hover {
cursor: not-allowed;
}
.aura-config-page-operation-el.operation-el-hidden {
transform: translateY(2rem);
opacity: 0;
}
.aura-config-page-operation-el.operation-el-show
.aura-config-page-operation-body {
opacity: 1;
transition: opacity 0.25s;
}
.aura-config-page-operation-el.operation-el-show[aura-disabled="true"]
.aura-config-page-operation-body {
transition: opacity 0.5s;
}
.aura-config-page-operation-el.operation-el-show:not(.preserve-operation):hover
.aura-config-page-operation-body {
opacity: 0.625;
}
.aura-config-page-operation-el.operation-el-show[aura-disabled="true"]:hover
.aura-config-page-operation-body {
opacity: 0.25;
}
.aura-config-page-operation-el.operation-el-show:not(.preserve-operation):active
.aura-config-page-operation-body {
opacity: 0.25;
}
.aura-config-page-operation-el.operation-el-show[aura-disabled="true"]::after {
content: "别急嘛, 还在开发呢...";
font-size: 16px;
opacity: 0;
color: white;
position: absolute;
transition: all 0.5s;
}
.aura-config-page-operation-el.operation-el-show[aura-disabled="true"]:hover::after,
.aura-config-page-operation-el.operation-el-show[aura-disabled="true"]:active::after {
opacity: 1;
}
.aura-config-page-operation-body {
display: flex;
align-items: center;
justify-content: center;
}
.aura-config-page-operation-el img {
max-width: 40px;
margin-right: 20px;
}
.aura-config-page-operation-el .config-operation-title {
color: white;
font-size: large;
}
.aura-config-page-operation-el .config-operation-description {
color: white;
opacity: 0.75;
font-size: small;
}
@import url("./css/configStatusNotify.css");
/* Auth Dialog */
.aura-config-page-auth-dialog-area {
position: absolute;
height: calc(100% - 40px);
width: 100%;
top: 40px;
left: 0;
display: flex;
justify-content: center;
align-items: center;
z-index: 10000;
background-color: rgba(255, 255, 255, 0.35);
opacity: 1;
transition: all 0.5s;
}
.aura-config-page-auth-dialog-area.blur-enabled {
height: 100%;
top: 0;
background-color: rgba(255, 255, 255, 0.15);
backdrop-filter: blur(5px);
filter: blur(0.1px);
/* ↑ 似乎会导致性能问题 */
}
.acp-ada-hidden {
opacity: 0;
}
.acp-ada-hidden.blur-enabled {
backdrop-filter: blur(0.1px);
filter: unset;
}
.aura-config-page-auth-dialog {
height: 40%;
width: 100%;
background-color: rgba(255, 255, 255, 0.625);
display: flex;
flex-direction: column;
text-align: center;
align-items: center;
padding-top: 2rem;
padding-bottom: 2rem;
}
.acp-auth-dialog-title {
font-size: x-large;
margin-bottom: 1.5rem;
}
#acp-auth-user-input {
max-width: 50%;
/* background-color: rgba(255, 255, 255, 0.5); */
border-radius: 35px;
margin-bottom: 2rem;
}
#acp-auth-user-input.invalid {
animation: invalidShake 0.6s linear;
}
.acp-auth-confirm-btn {
background-color: transparent;
border-radius: 35px;
border: 1px solid rgba(0, 0, 0, 0.3);
padding: 0.5rem;
}
.acp-auth-confirm-btn .layui-icon {
font-size: 24px;
margin-left: 2px;
}
@import url("./css/authDialog.css");
/* Toast */
.aura-config-page-toast-area {
z-index: 9000;
}
.aura-config-page-toast-area .toast {
--bs-toast-border-width: 0 !important;
--bs-toast-bg: #fff !important;
}
.aura-config-page-toast-area .toast-header {
background-color: rgb(255, 234, 202);
border-top-left-radius: var(--bs-toast-border-radius);
border-top-right-radius: var(--bs-toast-border-radius);
}
.aura-config-page-toast-area .toast.acp-toast-emerg .toast-header {
background-color: rgb(255, 202, 202);
}
.aura-config-page-toast-area .toast-header * {
color: rgba(234, 126, 14, 0.85);
}
.aura-config-page-toast-area .toast.acp-toast-emerg .toast-header * {
color: rgba(234, 65, 14, 0.85);
}
.aura-config-page-toast-area .toast-body p {
margin-bottom: var(--bs-toast-padding-x);
}
.aura-config-page-toast-area .toast-header .layui-icon {
font-weight: bolder;
margin-right: 0.5rem;
font-size: 18px;
}
@import url("./css/toast.css");

View File

@@ -1,4 +1,8 @@
<div class="aura-config-page-root-inactive aura-config-page-root">
<div
class="aura-config-page-root-inactive aura-config-page-root"
style="display: none"
>
<!-- display: none 用于防止 CSS 还未加载完成时, 用户看到错乱的样式 -->
<div class="header-collapsed aura-config-page-header-area">
<div class="aura-config-page-app-bar" style="-webkit-app-region: drag">
<div
@@ -66,6 +70,28 @@
<div class="aura-config-page-operation-area">
<div class="aura-config-page-subpage-container"></div>
<div class="aura-config-page-operation-container">
<div class="acp-config-status-notify hidden fully-hidden">
<div class="acp-config-status-notify-area">
<div class="acp-config-status-notify-main-content">
<i class="layui-icon layui-icon-component acsn-main-icon"></i>
<p class="acsn-main-title">修改的配置暂未保存</p>
<button
type="button"
class="btn btn-outline-primary btn-sm acsn-save-btn"
onclick="window.__HUGO_AURA_UI_FUNCTIONS__.config.handleSaveConfig()"
>
保存配置
</button>
</div>
<div
class="acp-config-status-notify-success acsn-success-hidden acsn-success-fully-hidden"
>
<i class="layui-icon layui-icon-release"></i>
<p>保存成功</p>
</div>
</div>
</div>
<div
class="operation-el-hidden aura-config-page-operation-el"
onclick="window.__HUGO_AURA_UI_FUNCTIONS__.config.toggleSubConfig('disableLimitations', true)"
@@ -122,6 +148,7 @@
<div
class="aura-config-page-auth-dialog-area acp-ada-hidden"
style="display: none"
aura-cancel="true"
>
<div class="aura-config-page-auth-dialog">
<p class="acp-auth-dialog-title">验证您的身份</p>
@@ -134,12 +161,21 @@
id="acp-auth-user-input"
/>
<button
class="acp-auth-confirm-btn"
onclick="global.__HUGO_AURA_UI_FUNCTIONS__.config.verifyAuthPassword()"
>
<i class="layui-icon layui-icon-right"></i>
</button>
<div class="acp-auth-btns-container">
<button
class="acp-auth-cancel-btn"
onclick="global.__HUGO_AURA_UI_FUNCTIONS__.config.handleNavBack()"
>
<i class="layui-icon layui-icon-return"></i>
</button>
<button
class="acp-auth-confirm-btn"
onclick="global.__HUGO_AURA_UI_FUNCTIONS__.config.verifyAuthPassword()"
>
<i class="layui-icon layui-icon-ok"></i>
</button>
</div>
</div>
</div>
@@ -157,10 +193,14 @@
</div>
<div class="toast-body">
<p>请重载当前窗口以应用修改的设置</p>
<p>已修改的配置将自动保存</p>
<button
type="button"
class="btn btn-primary btn-sm"
onclick="window.location.reload()"
onclick="(() => {
global.__HUGO_AURA_CONFIG_MGR__.writeConfig(global.__HUGO_AURA_CONFIG__);
window.location.reload();
})()"
>
重载页面
</button>
@@ -181,10 +221,14 @@
</div>
<div class="toast-body">
<p>请重启 Electron 进程以应用修改的设置</p>
<p>已修改的配置将自动保存</p>
<button
type="button"
class="btn btn-primary btn-sm"
onclick="ipcRenderer.invoke('$aura.base.restartApplication')"
onclick="(() => {
global.__HUGO_AURA_CONFIG_MGR__.writeConfig(global.__HUGO_AURA_CONFIG__);
ipcRenderer.invoke('$aura.base.restartApplication')
})()"
>
重启进程
</button>
@@ -205,6 +249,7 @@
</div>
<div class="toast-body">
<p>请重启 PLS 进程以应用修改的设置</p>
<p>已修改的配置将自动保存</p>
<button
type="button"
class="btn btn-primary btn-sm"

View File

@@ -2,11 +2,23 @@ global.__HUGO_AURA_UI_REACTIVES__.config = {
isInSubPage: false,
currentActiveSubPage: "",
authenticated: false,
isConfigPendingWrite: false,
};
global.__HUGO_AURA_UI_FUNCTIONS__.config = {
handleNavBack: () => {
if (global.__HUGO_AURA_UI_REACTIVES__.config.isInSubPage) {
const acsDialogAreaEl = document.getElementsByClassName(
"aura-config-page-auth-dialog-area"
)[0];
if (!Array.from(acsDialogAreaEl.classList).includes("acp-ada-hidden")) {
global.__HUGO_AURA_UI_FUNCTIONS__.config.hideAndResetAuthDialog();
return;
}
if (global.__HUGO_AURA_UI_REACTIVES__.config.isConfigPendingWrite) {
global.__HUGO_AURA_UI_FUNCTIONS__.config.handleSaveConfig();
}
global.__HUGO_AURA_UI_FUNCTIONS__.config.toggleSubConfig(
global.__HUGO_AURA_UI_REACTIVES__.config.currentActiveSubPage,
false
@@ -156,13 +168,8 @@ global.__HUGO_AURA_UI_FUNCTIONS__.config = {
encPasswd ===
global.__HUGO_AURA_CONFIG__.auraSettings.settingsPasswordWithSalt
) {
const acsDialogAreaEl = document.getElementsByClassName(
"aura-config-page-auth-dialog-area"
)[0];
acsDialogAreaEl.classList.add("acp-ada-hidden");
await window.__HUGO_AURA_GLOBAL__.utils.sleep(500);
acsDialogAreaEl.style = "display: none;";
await window.__HUGO_AURA_GLOBAL__.utils.sleep(250);
await global.__HUGO_AURA_UI_FUNCTIONS__.config.hideAndResetAuthDialog();
await global.__HUGO_AURA_GLOBAL__.utils.sleep(250);
global.__HUGO_AURA_UI_REACTIVES__.config.authenticated = true;
global.__HUGO_AURA_UI_FUNCTIONS__.config.showSecondPhaseAnim();
return true;
@@ -171,6 +178,91 @@ global.__HUGO_AURA_UI_FUNCTIONS__.config = {
return false;
}
},
hideAndResetAuthDialog: async () => {
const acsDialogAreaEl = document.getElementsByClassName(
"aura-config-page-auth-dialog-area"
)[0];
const acpAppBarEl = document.getElementsByClassName(
"aura-config-page-header-area"
)[0];
const acpDialogTitleEl = document.getElementsByClassName(
"acp-auth-dialog-title"
)[0];
const acpDialogConfirmBtnEl = document.getElementsByClassName(
"acp-auth-confirm-btn"
)[0];
const acpDialogCancelBtnEl = document.getElementsByClassName(
"acp-auth-cancel-btn"
)[0];
const inputEl = document.getElementById("acp-auth-user-input");
acsDialogAreaEl.classList.add("acp-ada-hidden");
acpAppBarEl.classList.remove("color-reverse");
await window.__HUGO_AURA_GLOBAL__.utils.sleep(500);
acsDialogAreaEl.style = "display: none;";
acpDialogTitleEl.textContent = "验证您的身份";
inputEl.value = "";
inputEl.classList.remove("invalid");
inputEl.classList.remove("is-invalid");
acpDialogConfirmBtnEl.onclick = (_evt) => {
global.__HUGO_AURA_UI_FUNCTIONS__.config.verifyAuthPassword();
};
acpDialogCancelBtnEl.onclick = (_evt) => {
global.__HUGO_AURA_UI_FUNCTIONS__.config.handleNavBack();
};
},
handleACSNShow: async () => {
const acsnRootEl = document.getElementsByClassName(
"acp-config-status-notify"
)[0];
acsnRootEl.classList.remove("fully-hidden");
await global.__HUGO_AURA_GLOBAL__.utils.sleep(10);
acsnRootEl.classList.remove("hidden");
return true;
},
handleSaveConfig: async () => {
const result = global.__HUGO_AURA_CONFIG_MGR__.writeConfig(
global.__HUGO_AURA_CONFIG__
);
if (result) {
global.__HUGO_AURA_UI_REACTIVES__.config.isConfigPendingWrite = false;
const acsnRootEl = document.getElementsByClassName(
"acp-config-status-notify"
)[0];
const acsnMainContentEl = document.getElementsByClassName(
"acp-config-status-notify-main-content"
)[0];
const acsnSuccessEl = document.getElementsByClassName(
"acp-config-status-notify-success"
)[0];
const acsnAreaEl = document.getElementsByClassName(
"acp-config-status-notify-area"
)[0];
acsnMainContentEl.classList.add("acsn-main-content-hidden");
acsnAreaEl.classList.add("transparent");
await global.__HUGO_AURA_GLOBAL__.utils.sleep(250);
acsnMainContentEl.classList.add("acsn-main-content-fully-hidden");
acsnSuccessEl.classList.remove("acsn-success-fully-hidden");
await global.__HUGO_AURA_GLOBAL__.utils.sleep(50);
acsnSuccessEl.classList.remove("acsn-success-hidden");
await global.__HUGO_AURA_GLOBAL__.utils.sleep(1500);
acsnRootEl.classList.add("hidden");
await global.__HUGO_AURA_GLOBAL__.utils.sleep(500);
acsnRootEl.classList.add("fully-hidden");
await global.__HUGO_AURA_GLOBAL__.utils.sleep(10);
// Reset class
acsnMainContentEl.className = "acp-config-status-notify-main-content";
acsnAreaEl.className = "acp-config-status-notify-area";
acsnSuccessEl.className =
"acp-config-status-notify-success acsn-success-hidden acsn-success-fully-hidden";
return true;
} else {
// TODO: Error handling
}
},
};
(() => {
@@ -237,15 +329,13 @@ global.__HUGO_AURA_UI_FUNCTIONS__.config = {
const acsDialogAreaEl = document.getElementsByClassName(
"aura-config-page-auth-dialog-area"
)[0];
const acpAppBarEl = document.getElementsByClassName(
"aura-config-page-header-area"
)[0];
acsDialogAreaEl.style = "";
if (
global.__HUGO_AURA_CONFIG__.auraSettings.appearance
.enablePasswdDialogBlur
) {
acsDialogAreaEl.classList.add("blur-enabled");
}
await window.__HUGO_AURA_GLOBAL__.utils.sleep(500);
acsDialogAreaEl.classList.remove("acp-ada-hidden");
acpAppBarEl.classList.add("color-reverse");
}
};

View File

@@ -0,0 +1,95 @@
.aura-config-page-auth-dialog-area {
position: absolute;
height: 100%;
width: 100%;
top: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
z-index: 10000;
background-color: rgba(255, 255, 255, 0.5);
opacity: 1;
transition: all 0.5s;
}
.acp-ada-hidden {
opacity: 0;
}
.aura-config-page-auth-dialog {
height: 40%;
width: 100%;
background-color: rgba(255, 255, 255, 0.75);
display: flex;
flex-direction: column;
text-align: center;
align-items: center;
padding-top: 2rem;
padding-bottom: 2rem;
}
.acp-auth-dialog-title {
font-size: x-large;
margin-bottom: 1.5rem;
}
#acp-auth-user-input {
max-width: 50%;
/* background-color: rgba(255, 255, 255, 0.5); */
border-radius: 35px;
margin-bottom: 2rem;
}
#acp-auth-user-input.invalid {
animation: invalidShake 0.6s linear;
}
.acp-auth-btns-container {
display: flex;
justify-content: center;
align-items: center;
}
.acp-auth-btns-container button {
transition: all 0.25s;
}
.acp-auth-btns-container button:hover {
opacity: 0.5;
}
.acp-auth-btns-container button:active {
opacity: 0.25;
}
.acp-auth-confirm-btn,
.acp-auth-cancel-btn {
border-radius: 35px;
padding: 0.5rem;
}
.acp-auth-confirm-btn {
background: linear-gradient(135deg, #218fff 0%, #3fbaff 100%);
border: 0;
}
.acp-auth-confirm-btn .layui-icon {
font-size: 24px;
color: white;
}
.acp-auth-cancel-btn .layui-icon {
font-size: 24px;
}
.acp-auth-cancel-btn {
background-color: transparent;
margin-right: 3rem;
border: 1px solid rgba(0, 0, 0, 0.3);
}
.aura-config-page-auth-dialog-area[aura-cancel="false"] .acp-auth-cancel-btn {
display: none;
}

View File

@@ -0,0 +1,114 @@
.acp-config-status-notify {
position: absolute;
height: calc(40px + 4rem);
width: 100%;
background-color: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(5px);
filter: blur(0.1px);
z-index: 15000;
display: flex;
justify-content: center;
align-items: center;
transition: all 0.5s;
}
.acp-config-status-notify.hidden {
backdrop-filter: blur(0.1px);
filter: unset;
opacity: 0;
}
.acp-config-status-notify.fully-hidden {
display: none;
}
.acp-config-status-notify-area {
height: 100%;
width: 100%;
background-color: rgba(255, 255, 255, 0.5);
color: rgba(0, 0, 0, 0.6);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
transition: background-color 0.25s;
}
.acp-config-status-notify-area.transparent {
background-color: transparent;
}
.acp-config-status-notify-main-content {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
/* margin-bottom: 0.75rem; */
opacity: 1;
transition: opacity 0.25s;
}
.acp-config-status-notify-main-content.acsn-main-content-hidden {
opacity: 0;
pointer-events: none;
}
.acp-config-status-notify-main-content.acsn-main-content-fully-hidden {
display: none;
}
.acp-config-status-notify-area .acsn-main-icon {
font-size: 24px;
}
.acp-config-status-notify-area .acsn-main-title {
font-size: large;
margin-left: 0.5rem;
margin-right: 2.25rem;
}
.acp-config-status-notify-area .acsn-save-btn {
margin-top: 2px; /* 可能是中文导致的 */
opacity: 1;
transition: all 0.25s;
}
.acp-config-status-notify-area .acsn-save-btn:active {
opacity: 0.625;
}
.acp-config-status-notify-success {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
pointer-events: none;
color: white;
opacity: 1;
transition: opacity 0.25s;
}
.acp-config-status-notify-success.acsn-success-hidden {
opacity: 0;
}
.acp-config-status-notify-success.acsn-success-fully-hidden {
display: none;
}
.acp-config-status-notify-success .layui-icon {
font-size: 26px;
}
.acp-config-status-notify-success p {
font-size: large;
margin-top: 0.2rem;
}

View File

@@ -0,0 +1,33 @@
#aura-container-Aura-UI-Assistant-Config {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 1000;
}
.aura-config-page-root {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: url("../../../../../app.asar/public/ae247697b4639c92bd008d0ea7d13b53.png");
/* 这里不用 background-size: cover; 的效果反而更舒服一些... */
display: flex !important;
flex-direction: column;
align-items: center;
justify-content: center;
opacity: 1;
transform: scale(1);
transition: all 0.5s;
}
.aura-config-page-root-inactive {
opacity: 0;
transform: scale(1.5);
}

View File

@@ -0,0 +1,50 @@
.aura-config-page-header-area {
flex: 1;
display: flex;
flex-direction: row;
justify-content: flex-start;
width: 100%;
padding-left: 8px;
padding-right: 8px;
color: white;
z-index: 12000;
opacity: 1;
transform: translateY(0);
transition: all 0.5s;
}
.aura-config-page-header-area.color-reverse {
color: rgba(0, 0, 0, 0.8);
}
.aura-config-page-header-area .iconfont {
font-size: 24px;
}
.aura-config-page-header-area .iconfont:hover {
opacity: 0.75;
cursor: pointer;
}
.aura-config-page-header-area .iconfont:active {
opacity: 0.375;
}
.aura-config-page-header-area p {
margin-top: -1px;
}
.aura-config-page-header-area.header-collapsed {
transform: translateY(-1rem);
opacity: 0;
}
.aura-config-page-app-bar {
height: 40px;
display: flex;
justify-content: flex-start;
align-items: center;
width: 100%;
}

View File

@@ -0,0 +1,155 @@
.aura-config-page-operation-area {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
flex: 1;
width: 100%;
overflow-y: auto;
}
.aura-config-page-operation-area::-webkit-scrollbar {
display: none;
}
.aura-config-page-operation-area.subpage-expanded {
flex: 15;
}
.aura-config-page-subpage-container {
width: 100%;
height: 0;
background-color: rgba(255, 255, 255, 0.825);
z-index: 6000;
overflow-y: scroll;
opacity: 0;
transition: all 0.5s;
}
.aura-config-page-subpage-container::-webkit-scrollbar {
display: none;
}
.aura-config-page-operation-area.subpage-expanded
.aura-config-page-subpage-container {
height: calc(100% - 40px - 4rem);
opacity: 1;
}
.aura-config-page-operation-container {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
background-color: rgba(255, 255, 255, 0.1);
padding-left: 1rem;
padding-right: 1rem;
}
.aura-config-page-operation-container.hide-other-operations
.aura-config-page-operation-el:not(.preserve-operation) {
max-width: 0;
opacity: 0;
}
.aura-config-page-operation-container.hide-other-operations
.aura-config-page-operation-el.preserve-operation {
flex: 0.25;
}
.aura-config-page-operation-el {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex: 1;
padding-top: 2rem;
padding-bottom: 2rem;
overflow: hidden;
white-space: nowrap;
max-width: 25%;
opacity: 1;
transform: translateY(0);
transition: opacity 0.5s, transform 0.5s,
max-width cubic-bezier(0, 0.42, 0.18, 1) 0.5s;
}
.aura-config-page-operation-el.operation-el-show:hover {
cursor: pointer;
}
.aura-config-page-operation-el.operation-el-show[aura-disabled="true"]:hover {
cursor: not-allowed;
}
.aura-config-page-operation-el.operation-el-hidden {
transform: translateY(2rem);
opacity: 0;
}
.aura-config-page-operation-el.operation-el-show
.aura-config-page-operation-body {
opacity: 1;
transition: opacity 0.25s;
}
.aura-config-page-operation-el.operation-el-show[aura-disabled="true"]
.aura-config-page-operation-body {
transition: opacity 0.5s;
}
.aura-config-page-operation-el.operation-el-show:not(.preserve-operation):hover
.aura-config-page-operation-body {
opacity: 0.625;
}
.aura-config-page-operation-el.operation-el-show[aura-disabled="true"]:hover
.aura-config-page-operation-body {
opacity: 0.25;
}
.aura-config-page-operation-el.operation-el-show:not(.preserve-operation):active
.aura-config-page-operation-body {
opacity: 0.25;
}
.aura-config-page-operation-el.operation-el-show[aura-disabled="true"]::after {
content: "别急嘛, 还在开发呢...";
font-size: 16px;
opacity: 0;
color: white;
position: absolute;
transition: all 0.5s;
}
.aura-config-page-operation-el.operation-el-show[aura-disabled="true"]:hover::after,
.aura-config-page-operation-el.operation-el-show[aura-disabled="true"]:active::after {
opacity: 1;
}
.aura-config-page-operation-body {
display: flex;
align-items: center;
justify-content: center;
}
.aura-config-page-operation-el img {
max-width: 40px;
margin-right: 20px;
}
.aura-config-page-operation-el .config-operation-title {
color: white;
font-size: large;
}
.aura-config-page-operation-el .config-operation-description {
color: white;
opacity: 0.75;
font-size: small;
}

View File

@@ -0,0 +1,123 @@
.aura-config-page-status-container {
flex: 1;
width: 100%;
align-self: center;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
opacity: 1;
transition: all 0.5s;
}
.aura-config-page-status-container-hidden {
position: absolute;
opacity: 0;
}
.aura-config-page-status-main,
.aura-config-page-status-description {
width: 100%;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.aura-config-page-status-description {
margin-top: 0.5rem;
transform: translateY(0);
opacity: 1;
transition: all 0.5s;
}
.aura-config-page-status-description.status-description-hidden {
transform: translateY(-2rem);
opacity: 0;
}
.aura-config-page-status-description p {
font-size: 18px;
margin-left: 15px;
margin-top: -2px;
color: white;
font-family: "Consolas", "Microsoft YaHei", sans-serif;
}
.aura-config-page-status-description i {
color: white;
}
.aura-config-page-central-aura-logo {
margin: 0.5rem 3rem;
width: 17.5%;
}
.aura-config-hr-vertical {
height: 3.75rem;
width: 1px;
background-color: rgba(255, 255, 255, 0.3);
margin-left: 30px;
margin-right: 30px;
border: none;
}
.aura-config-page-status-el {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-family: "Consolas", monospace;
color: white;
/*
.version-type {
content: "I want to use scss plz 😇"
}
*/
}
.aura-config-page-status-side {
height: 30%;
display: flex;
flex-direction: row;
align-items: center;
flex: 1;
transform: translateX(0);
opacity: 1;
transition: transform 0.5s, opacity 0.5s;
}
.aura-config-page-status-side.left-side {
justify-content: flex-end;
}
.aura-config-page-status-side.left-side.status-side-hidden {
transform: translateX(5rem);
opacity: 0;
}
.aura-config-page-status-side.right-side {
justify-content: flex-start;
}
.aura-config-page-status-side.right-side.status-side-hidden {
transform: translateX(-5rem);
opacity: 0;
}
.aura-config-page-status-el .version-type {
font-size: 20px;
font-weight: 500;
}
.aura-config-page-status-el .version-content {
font-size: 16px;
margin-top: 5px;
opacity: 0.625;
}

View File

@@ -0,0 +1,37 @@
.aura-config-page-toast-area {
z-index: 20000;
}
.aura-config-page-toast-area .toast {
--bs-toast-border-width: 0 !important;
--bs-toast-bg: #fff !important;
}
.aura-config-page-toast-area .toast-header {
background-color: rgb(255, 234, 202);
border-top-left-radius: var(--bs-toast-border-radius);
border-top-right-radius: var(--bs-toast-border-radius);
}
.aura-config-page-toast-area .toast.acp-toast-emerg .toast-header {
background-color: rgb(255, 202, 202);
}
.aura-config-page-toast-area .toast-header * {
color: rgba(234, 126, 14, 0.85);
}
.aura-config-page-toast-area .toast.acp-toast-emerg .toast-header * {
color: rgba(234, 65, 14, 0.85);
}
.aura-config-page-toast-area .toast-body p {
margin-bottom: var(--bs-toast-padding-x);
}
.aura-config-page-toast-area .toast-header .layui-icon {
font-weight: bolder;
margin-right: 0.5rem;
font-size: 18px;
}