diff options
| author | Ho3ein <ho3ein.sanaei@gmail.com> | 2023-05-08 19:10:02 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-08 19:10:02 +0300 |
| commit | 30a5f66f26164e1bcbdf9a0780a40bc56230e73c (patch) | |
| tree | 749ce90b0895352639d2c45fa176a362b3105b32 /web/assets | |
| parent | 7bb3e517b2e279a52fb5627e011ea03fd91f648e (diff) | |
| parent | bb6e6861ca683894139c5307bd2d41f2e264fe00 (diff) | |
Merge pull request #381 from hamid-gh98/main
[FIX] bug logout path + [UPDATE] login UI and more ...
Diffstat (limited to 'web/assets')
| -rw-r--r-- | web/assets/ant-design-vue@1.7.2/antd.min.css | 2 | ||||
| -rw-r--r-- | web/assets/css/custom.css | 29 | ||||
| -rw-r--r-- | web/assets/js/axios-init.js | 4 | ||||
| -rw-r--r-- | web/assets/js/langs.js | 84 | ||||
| -rw-r--r-- | web/assets/js/util/common.js | 41 | ||||
| -rw-r--r-- | web/assets/js/util/date-util.js | 5 | ||||
| -rw-r--r-- | web/assets/js/util/utils.js | 15 |
7 files changed, 95 insertions, 85 deletions
diff --git a/web/assets/ant-design-vue@1.7.2/antd.min.css b/web/assets/ant-design-vue@1.7.2/antd.min.css index 5f731c06..4de7fad0 100644 --- a/web/assets/ant-design-vue@1.7.2/antd.min.css +++ b/web/assets/ant-design-vue@1.7.2/antd.min.css @@ -992,7 +992,7 @@ to{transform:scale(0) translate(50%,-50%);opacity:0} .ant-menu-item>.ant-badge>a{color:rgba(0,0,0,.65)} .ant-menu-item>.ant-badge>a:hover{color:#1890ff} .ant-menu-item-divider{height:1px;overflow:hidden;line-height:0;background-color:#e8e8e8} -.ant-menu-item-active,.ant-menu-item:hover,.ant-menu-submenu-active,.ant-menu-submenu-title:hover,.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open{color:#fff;background-image: linear-gradient(90deg,#99999980 0,#8888889e 100%);border-radius: 0.5rem} +.ant-menu-item-active,.ant-menu-item:hover,.ant-menu-submenu-active,.ant-menu-submenu-title:hover,.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open{color:#2d2d2d;background-image: linear-gradient(90deg,#99999980 0,#8888889e 100%);border-radius: 0.5rem} .ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu{margin-top:-1px} .ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item:hover,.ant-menu-horizontal>.ant-menu-submenu .ant-menu-submenu-title:hover{background-color:transparent} .ant-menu-item-selected,.ant-menu-item-selected>a,.ant-menu-item-selected>a:hover{color:#1890ff} diff --git a/web/assets/css/custom.css b/web/assets/css/custom.css index 718e87f8..7cdfe711 100644 --- a/web/assets/css/custom.css +++ b/web/assets/css/custom.css @@ -1,5 +1,23 @@ -#app { +html, +body { height: 100vh; + width: 100vw; + margin: 0; + padding: 0; + overflow: hidden; +} + +#app { + height: 100%; + min-height: 100vh; + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: 0; + padding: 0; + overflow: auto; } .ant-space { @@ -180,12 +198,12 @@ .ant-card-dark:hover { border-color: #e8e8e8; - box-shadow: 0 1px 10px -1px rgb(154 175 238); + box-shadow: 0 1px 10px -1px rgb(76, 88, 126); } -.ant-card-bordered:hover { - /*box-shadow: 0 3px 12px -0.8px #0000005c;*/ -} +/* .ant-card-bordered:hover { + box-shadow: 0 3px 12px -0.8px #0000005c; +} */ .ant-card-dark .ant-table-thead th { color: hsla(0,0%,100%,.65); @@ -203,6 +221,7 @@ .ant-card-dark .ant-input-group-addon { color: hsla(0,0%,100%,.65); background-color: #262f3d; + border: 1px solid rgb(0 150 112 / 0%); } .ant-card-dark .ant-list-item-meta-title, diff --git a/web/assets/js/axios-init.js b/web/assets/js/axios-init.js index bd55c3cf..b864b714 100644 --- a/web/assets/js/axios-init.js +++ b/web/assets/js/axios-init.js @@ -2,7 +2,7 @@ axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; axios.interceptors.request.use( - config => { + (config) => { if (config.data instanceof FormData) { config.headers['Content-Type'] = 'multipart/form-data'; } else { @@ -12,5 +12,5 @@ axios.interceptors.request.use( } return config; }, - error => Promise.reject(error) + (error) => Promise.reject(error), ); diff --git a/web/assets/js/langs.js b/web/assets/js/langs.js index e83b05f3..9e1f0911 100644 --- a/web/assets/js/langs.js +++ b/web/assets/js/langs.js @@ -1,41 +1,41 @@ const supportLangs = [ { - name : "English", - value : "en-US", - icon : "🇺🇸" + name: 'English', + value: 'en-US', + icon: '🇺🇸', }, { - name : "Farsi", - value : "fa_IR", - icon : "🇮🇷" + name: 'Farsi', + value: 'fa_IR', + icon: '🇮🇷', }, { - name : "汉è¯", - value : "zh-Hans", - icon : "🇨🇳" + name: '汉è¯', + value: 'zh-Hans', + icon: '🇨🇳', }, { - name : "Russian", - value : "ru_RU", - icon : "🇷🇺" + name: 'Russian', + value: 'ru_RU', + icon: '🇷🇺', }, -] +]; -function getLang(){ - let lang = getCookie('lang') +function getLang() { + let lang = getCookie('lang'); - if (! lang){ - if (window.navigator){ + if (!lang) { + if (window.navigator) { lang = window.navigator.language || window.navigator.userLanguage; - if (isSupportLang(lang)){ - setCookie('lang' , lang , 150) - }else{ - setCookie('lang' , 'en-US' , 150) + if (isSupportLang(lang)) { + setCookie('lang', lang, 150); + } else { + setCookie('lang', 'en-US', 150); window.location.reload(); } - }else{ - setCookie('lang' , 'en-US' , 150) + } else { + setCookie('lang', 'en-US', 150); window.location.reload(); } } @@ -43,47 +43,21 @@ function getLang(){ return lang; } -function setLang(lang){ - - if (!isSupportLang(lang)){ +function setLang(lang) { + if (!isSupportLang(lang)) { lang = 'en-US'; } - setCookie('lang' , lang , 150) + setCookie('lang', lang, 150); window.location.reload(); } -function isSupportLang(lang){ - for (l of supportLangs){ - if (l.value === lang){ +function isSupportLang(lang) { + for (l of supportLangs) { + if (l.value === lang) { return true; } } return false; } - - - -function getCookie(cname) { - let name = cname + "="; - let decodedCookie = decodeURIComponent(document.cookie); - let ca = decodedCookie.split(';'); - for(let i = 0; i <ca.length; i++) { - let c = ca[i]; - while (c.charAt(0) == ' ') { - c = c.substring(1); - } - if (c.indexOf(name) == 0) { - return c.substring(name.length, c.length); - } - } - return ""; -} - -function setCookie(cname, cvalue, exdays) { - const d = new Date(); - d.setTime(d.getTime() + (exdays*24*60*60*1000)); - let expires = "expires="+ d.toUTCString(); - document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; -}
\ No newline at end of file diff --git a/web/assets/js/util/common.js b/web/assets/js/util/common.js index b3ebc0bd..808b1ba9 100644 --- a/web/assets/js/util/common.js +++ b/web/assets/js/util/common.js @@ -56,14 +56,37 @@ function toFixed(num, n) { return Math.round(num * n) / n; } -function debounce (fn, delay) { - var timeoutID = null +function debounce(fn, delay) { + var timeoutID = null; return function () { - clearTimeout(timeoutID) - var args = arguments - var that = this - timeoutID = setTimeout(function () { - fn.apply(that, args) - }, delay) + clearTimeout(timeoutID); + var args = arguments; + var that = this; + timeoutID = setTimeout(function () { + fn.apply(that, args); + }, delay); + }; +} + +function getCookie(cname) { + let name = cname + '='; + let decodedCookie = decodeURIComponent(document.cookie); + let ca = decodedCookie.split(';'); + for (let i = 0; i < ca.length; i++) { + let c = ca[i]; + while (c.charAt(0) == ' ') { + c = c.substring(1); + } + if (c.indexOf(name) == 0) { + return c.substring(name.length, c.length); + } } - }
\ No newline at end of file + return ''; +} + +function setCookie(cname, cvalue, exdays) { + const d = new Date(); + d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000); + let expires = 'expires=' + d.toUTCString(); + document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/'; +} diff --git a/web/assets/js/util/date-util.js b/web/assets/js/util/date-util.js index 24e08879..651101d8 100644 --- a/web/assets/js/util/date-util.js +++ b/web/assets/js/util/date-util.js @@ -128,14 +128,13 @@ Date.prototype.formatDateTime = function (split = ' ') { }; class DateUtil { - // å—符串转 Date 对象 static parseDate(str) { return new Date(str.replace(/-/g, '/')); } static formatMillis(millis) { - return moment(millis).format('YYYY-M-D H:m:s') + return moment(millis).format('YYYY-M-D H:m:s'); } static firstDayOfMonth() { @@ -144,4 +143,4 @@ class DateUtil { date.setMinTime(); return date; } -}
\ No newline at end of file +} diff --git a/web/assets/js/util/utils.js b/web/assets/js/util/utils.js index 9c441537..28891cd4 100644 --- a/web/assets/js/util/utils.js +++ b/web/assets/js/util/utils.js @@ -68,13 +68,11 @@ class HttpUtil { } class PromiseUtil { - static async sleep(timeout) { await new Promise(resolve => { setTimeout(resolve, timeout) }); } - } const seq = [ @@ -95,7 +93,6 @@ const shortIdSeq = [ ]; class RandomUtil { - static randomIntRange(min, max) { return parseInt(Math.random() * (max - min) + min, 10); } @@ -153,8 +150,8 @@ class RandomUtil { static randomText() { var chars = 'abcdefghijklmnopqrstuvwxyz1234567890'; var string = ''; - var len = 6 + Math.floor(Math.random() * 5) - for(var ii=0; ii<len; ii++){ + var len = 6 + Math.floor(Math.random() * 5); + for (var ii = 0; ii < len; ii++) { string += chars[Math.floor(Math.random() * chars.length)]; } return string; @@ -162,11 +159,11 @@ class RandomUtil { static randowShortId() { let str = ''; - str += this.randomShortIdSeq(8) + str += this.randomShortIdSeq(8); return str; } - - static randomShadowsocksPassword(){ + + static randomShadowsocksPassword() { let array = new Uint8Array(32); window.crypto.getRandomValues(array); return btoa(String.fromCharCode.apply(null, array)); @@ -174,7 +171,6 @@ class RandomUtil { } class ObjectUtil { - static getPropIgnoreCase(obj, prop) { for (const name in obj) { if (!obj.hasOwnProperty(name)) { @@ -322,5 +318,4 @@ class ObjectUtil { } return true; } - } |
