Skip to content

Commit d61c7f5

Browse files
authored
Support RTL #322
2 parents 947f7de + 94de7bc commit d61c7f5

File tree

21 files changed

+481
-261
lines changed

21 files changed

+481
-261
lines changed

.vscode/settings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"Popconfirm",
2929
"PROPFIND",
3030
"Qihu",
31+
"rtlcss",
3132
"sheepzh",
3233
"vueuse",
3334
"webcomponents",

package.json

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,16 @@
2424
},
2525
"license": "MIT",
2626
"devDependencies": {
27-
"@babel/plugin-transform-modules-commonjs": "^7.24.8",
28-
"@babel/preset-env": "^7.25.4",
29-
"@crowdin/crowdin-api-client": "^1.36.0",
30-
"@types/chrome": "0.0.272",
27+
"@babel/plugin-transform-modules-commonjs": "^7.25.7",
28+
"@babel/preset-env": "^7.25.8",
29+
"@crowdin/crowdin-api-client": "^1.37.1",
30+
"@types/chrome": "0.0.277",
3131
"@types/copy-webpack-plugin": "^10.1.0",
3232
"@types/decompress": "^4.2.7",
3333
"@types/echarts": "^4.9.22",
3434
"@types/generate-json-webpack-plugin": "^0.3.7",
3535
"@types/jest": "^29.5.13",
36-
"@types/node": "^22.7.4",
36+
"@types/node": "^22.7.5",
3737
"@types/psl": "^1.1.3",
3838
"@types/punycode": "^2.1.4",
3939
"@types/webpack": "^5.28.5",
@@ -43,22 +43,25 @@
4343
"copy-webpack-plugin": "^12.0.2",
4444
"css-loader": "^7.1.2",
4545
"decompress": "^4.2.1",
46-
"eslint": "^9.11.1",
46+
"eslint": "^9.12.0",
4747
"filemanager-webpack-plugin": "^8.0.0",
4848
"generate-json-webpack-plugin": "^2.0.0",
4949
"html-webpack-plugin": "^5.6.0",
5050
"jest": "^29.7.0",
5151
"jest-environment-jsdom": "^29.7.0",
5252
"mini-css-extract-plugin": "^2.9.1",
53-
"sass": "^1.79.4",
53+
"postcss": "^8.4.47",
54+
"postcss-loader": "^8.1.1",
55+
"postcss-rtlcss": "^5.5.0",
56+
"sass": "^1.79.5",
5457
"sass-loader": "^16.0.2",
5558
"style-loader": "^4.0.0",
5659
"ts-jest": "^29.2.5",
5760
"ts-loader": "^9.5.1",
5861
"ts-node": "^10.9.2",
5962
"tsconfig-paths": "^4.2.0",
6063
"tslib": "^2.7.0",
61-
"typescript": "5.6.2",
64+
"typescript": "5.6.3",
6265
"url-loader": "^4.1.1",
6366
"webpack": "^5.95.0",
6467
"webpack-bundle-analyzer": "^4.10.2",
@@ -69,11 +72,11 @@
6972
"@vueuse/core": "^11.1.0",
7073
"countup.js": "^2.8.0",
7174
"echarts": "^5.5.1",
72-
"element-plus": "2.8.4",
75+
"element-plus": "2.8.5",
7376
"js-base64": "^3.7.7",
7477
"punycode": "^2.3.1",
7578
"stream-browserify": "^3.0.0",
76-
"vue": "^3.5.10",
79+
"vue": "^3.5.12",
7780
"vue-router": "^4.4.5"
7881
},
7982
"engines": {

public/app.html

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
<!DOCTYPE html>
2-
<html>
3-
<head>
4-
<meta charset="UTF-8" />
5-
</head>
2+
<html dir="ltr">
63

7-
<body>
8-
<div id="app"></div>
9-
</body>
10-
</html>
4+
<head>
5+
<meta charset="UTF-8" />
6+
</head>
7+
8+
<body>
9+
<div id="app"></div>
10+
</body>
11+
12+
</html>

public/popup.html

Lines changed: 123 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -6,156 +6,162 @@
66
-->
77

88
<!DOCTYPE html>
9-
<html>
9+
<html dir="ltr">
1010

1111
<head>
12-
<meta charset="UTF-8" />
12+
<meta charset="UTF-8" />
1313
</head>
1414

1515
<body>
16-
<div id="app">
17-
<div id="chart-container"></div>
18-
<div class="option-container">
19-
<span id="total-info" class="option-left"></span>
20-
<!-- select -->
21-
<div id="type-select-container" class="el-select el-select--mini option-right">
22-
<div class="select-trigger">
23-
<div class="el-input el-input--mini el-input--suffix">
24-
<div class="el-input__wrapper">
25-
<input id="type-select-input" class="el-input__inner" type="text" readonly="" autocomplete="off" />
16+
<div id="app">
17+
<div id="chart-container"></div>
18+
<div class="option-container">
19+
<span id="total-info" class="option-left"></span>
20+
<!-- select -->
21+
<div id="type-select-container" class="el-select el-select--mini option-right">
22+
<div class="select-trigger">
23+
<div class="el-input el-input--mini el-input--suffix">
24+
<div class="el-input__wrapper">
25+
<input id="type-select-input" class="el-input__inner" type="text" readonly=""
26+
autocomplete="off" />
27+
</div>
28+
</div>
29+
</div>
2630
</div>
27-
</div>
28-
</div>
29-
</div>
30-
<div id="time-select-container" class="el-select el-select--mini option-right">
31-
<div class="select-trigger">
32-
<div class="el-input el-input--mini el-input--suffix">
33-
<div class="el-input__wrapper">
34-
<input id="time-select-input" class="el-input__inner" type="text" readonly="" autocomplete="off" />
31+
<div id="time-select-container" class="el-select el-select--mini option-right">
32+
<div class="select-trigger">
33+
<div class="el-input el-input--mini el-input--suffix">
34+
<div class="el-input__wrapper">
35+
<input id="time-select-input" class="el-input__inner" type="text" readonly=""
36+
autocomplete="off" />
37+
</div>
38+
</div>
39+
</div>
40+
</div>
41+
<!-- merge host -->
42+
<div id="merge-host-switch" class="el-switch option-right" role="switch" style="margin-left: 10px">
43+
<input class="el-switch__input" type="checkbox" name="" true-value="true" false-value="false" />
44+
<span class="el-switch__core" style="width: 40px">
45+
<div class="el-switch__action"></div>
46+
</span>
3547
</div>
36-
</div>
48+
<!-- All functions -->
49+
<a class="el-link el-link--default is-underline option-right">
50+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" data-v-394d1fd8="" width="15px"
51+
height="15px" class="el-svg-icon">
52+
<path fill="currentColor"
53+
d="M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352zm0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448zm0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160z">
54+
</path>
55+
</svg>
56+
<span id="all-function-link" class="el-link--inner">
57+
<!--更多内容-->
58+
</span>
59+
</a>
60+
<!-- Feedback -->
61+
<a id="feedback-container" class="el-link el-link--default is-underline option-right" style="display: none">
62+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" data-v-394d1fd8="" width="15px"
63+
height="15px" class="el-svg-icon">
64+
<path fill="currentColor"
65+
d="M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640V512z">
66+
</path>
67+
<path fill="currentColor"
68+
d="m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z">
69+
</path>
70+
</svg>
71+
</a>
72+
<!-- Upgrade -->
73+
<a id="upgrade-container" class="el-link el-link--success is-underline option-right" style="display: none">
74+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" data-v-394d1fd8="" width="15px"
75+
height="15px" class="el-svg-icon">
76+
<path fill="currentColor"
77+
d="M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64zm384-253.696 236.288-236.352 45.248 45.248L508.8 704 192 387.2l45.248-45.248L480 584.704V128h64v450.304z">
78+
</path>
79+
</svg>
80+
<span id="upgrade-link" class="el-link--inner">
81+
<!-- 版本升级 -->
82+
</span>
83+
</a>
84+
<!-- Rate -->
85+
<a id="rate-container" class="el-link el-link--primary is-underline option-right"
86+
style="display: none;align-items: center;">
87+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" data-v-394d1fd8="" width="15px"
88+
height="15px" class="el-svg-icon" style="color: var(--el-color-danger);">
89+
<path fill="currentColor"
90+
d="M1000 248Q976.992 192 933.984 148.992 849.984 64 732.992 64q-64 0-121.504 28T512 171.008q-42.016-51.008-99.488-79.008T291.008 64Q174.016 64 90.016 150.016 47.008 193.024 24 249.024-0.992 308.032 0 371.04q0.992 68.992 28.992 130.496t79.008 104.512q4.992 4 8.992 8 14.016 12 112.992 102.016 208 191.008 256.992 235.008 11.008 8.992 24.992 8.992t24.992-8.992q32.992-30.016 180.992-164.992 158.016-144 196-179.008 52-43.008 80.992-104.992t28.992-132q0-64-24-122.016z">
91+
</path>
92+
</svg>
93+
<span id="rate-link" class="el-link--inner">
94+
</span>
95+
</a>
3796
</div>
38-
</div>
39-
<!-- merge host -->
40-
<div id="merge-host-switch" class="el-switch option-right" role="switch" style="margin-left: 10px">
41-
<input class="el-switch__input" type="checkbox" name="" true-value="true" false-value="false" />
42-
<span class="el-switch__core" style="width: 40px">
43-
<div class="el-switch__action"></div>
44-
</span>
45-
</div>
46-
<!-- All functions -->
47-
<a class="el-link el-link--default is-underline option-right">
48-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" data-v-394d1fd8="" width="15px" height="15px"
49-
class="el-svg-icon">
50-
<path fill="currentColor"
51-
d="M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352zm0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448zm0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160z">
52-
</path>
53-
</svg>
54-
<span id="all-function-link" class="el-link--inner">
55-
<!--更多内容-->
56-
</span>
57-
</a>
58-
<!-- Feedback -->
59-
<a id="feedback-container" class="el-link el-link--default is-underline option-right" style="display: none">
60-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" data-v-394d1fd8="" width="15px" height="15px"
61-
class="el-svg-icon">
62-
<path fill="currentColor"
63-
d="M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640V512z">
64-
</path>
65-
<path fill="currentColor"
66-
d="m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z">
67-
</path>
68-
</svg>
69-
</a>
70-
<!-- Upgrade -->
71-
<a id="upgrade-container" class="el-link el-link--success is-underline option-right" style="display: none">
72-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" data-v-394d1fd8="" width="15px" height="15px" class="el-svg-icon">
73-
<path fill="currentColor"
74-
d="M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64zm384-253.696 236.288-236.352 45.248 45.248L508.8 704 192 387.2l45.248-45.248L480 584.704V128h64v450.304z">
75-
</path>
76-
</svg>
77-
<span id="upgrade-link" class="el-link--inner">
78-
<!-- 版本升级 -->
79-
</span>
80-
</a>
81-
<!-- Rate -->
82-
<a id="rate-container" class="el-link el-link--primary is-underline option-right" style="display: none;align-items: center;">
83-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" data-v-394d1fd8="" width="15px" height="15px" class="el-svg-icon" style="color: var(--el-color-danger);">
84-
<path fill="currentColor"
85-
d="M1000 248Q976.992 192 933.984 148.992 849.984 64 732.992 64q-64 0-121.504 28T512 171.008q-42.016-51.008-99.488-79.008T291.008 64Q174.016 64 90.016 150.016 47.008 193.024 24 249.024-0.992 308.032 0 371.04q0.992 68.992 28.992 130.496t79.008 104.512q4.992 4 8.992 8 14.016 12 112.992 102.016 208 191.008 256.992 235.008 11.008 8.992 24.992 8.992t24.992-8.992q32.992-30.016 180.992-164.992 158.016-144 196-179.008 52-43.008 80.992-104.992t28.992-132q0-64-24-122.016z">
86-
</path>
87-
</svg>
88-
<span id="rate-link" class="el-link--inner">
89-
</span>
90-
</a>
9197
</div>
92-
</div>
93-
<!-- Select options -->
94-
<div id="type-select-popup" class="el-select__popper el-popper is-light is-pure popup__hidden">
95-
<div class="el-select-dropdown">
96-
<div class="el-scrollbar">
97-
<div class="
98+
<!-- Select options -->
99+
<div id="type-select-popup" class="el-select__popper el-popper is-light is-pure popup__hidden">
100+
<div class="el-select-dropdown">
101+
<div class="el-scrollbar">
102+
<div class="
98103
el-select-dropdown__wrap
99104
el-scrollbar__wrap el-scrollbar__wrap--hidden-default
100105
">
101-
<ul id="type-select-options" class="el-scrollbar__view el-select-dropdown__list"></ul>
102-
</div>
103-
<div class="el-scrollbar__bar is-horizontal" style="display: none">
104-
<div class="el-scrollbar__thumb" style="transform: translateX(0%)"></div>
105-
</div>
106-
<div class="el-scrollbar__bar is-vertical" style="display: none">
107-
<div class="el-scrollbar__thumb" style="transform: translateY(0%)"></div>
106+
<ul id="type-select-options" class="el-scrollbar__view el-select-dropdown__list"></ul>
107+
</div>
108+
<div class="el-scrollbar__bar is-horizontal" style="display: none">
109+
<div class="el-scrollbar__thumb" style="transform: translateX(0%)"></div>
110+
</div>
111+
<div class="el-scrollbar__bar is-vertical" style="display: none">
112+
<div class="el-scrollbar__thumb" style="transform: translateY(0%)"></div>
113+
</div>
114+
</div>
108115
</div>
109-
</div>
110116
</div>
111-
</div>
112-
<!-- Time range -->
113-
<div id="time-select-popup" class="el-select__popper el-popper is-light is-pure popup__hidden">
114-
<div class="el-select-dropdown">
115-
<div class="el-scrollbar">
116-
<div class="
117+
<!-- Time range -->
118+
<div id="time-select-popup" class="el-select__popper el-popper is-light is-pure popup__hidden">
119+
<div class="el-select-dropdown">
120+
<div class="el-scrollbar">
121+
<div class="
117122
el-select-dropdown__wrap
118123
el-scrollbar__wrap el-scrollbar__wrap--hidden-default
119124
">
120-
<ul id="time-select-options" class="el-scrollbar__view el-select-dropdown__list"></ul>
121-
</div>
122-
<div class="el-scrollbar__bar is-horizontal" style="display: none">
123-
<div class="el-scrollbar__thumb" style="transform: translateX(0%)"></div>
124-
</div>
125-
<div class="el-scrollbar__bar is-vertical" style="display: none">
126-
<div class="el-scrollbar__thumb" style="transform: translateY(0%)"></div>
125+
<ul id="time-select-options" class="el-scrollbar__view el-select-dropdown__list"></ul>
126+
</div>
127+
<div class="el-scrollbar__bar is-horizontal" style="display: none">
128+
<div class="el-scrollbar__thumb" style="transform: translateX(0%)"></div>
129+
</div>
130+
<div class="el-scrollbar__bar is-vertical" style="display: none">
131+
<div class="el-scrollbar__thumb" style="transform: translateY(0%)"></div>
132+
</div>
133+
</div>
127134
</div>
128-
</div>
129135
</div>
130-
</div>
131-
<!-- Switch popup -->
132-
<div id="merge-host-popup-container" class="el-popper is-dark" style="
136+
<!-- Switch popup -->
137+
<div id="merge-host-popup-container" class="el-popper is-dark" style="
133138
z-index: 2012;
134139
position: absolute;
135140
inset: auto auto 0px 0px;
136141
margin: 0px;
137142
transform: translate(419px, -52px);
138143
display: none;
139144
">
140-
<a id="merge-host-popup-info">
141-
<!-- 合并子域名 -->
142-
</a>
143-
<div class="el-popper__arrow" style="position: absolute; left: 0px; transform: translate(35px, 0px)"></div>
144-
</div>
145-
<!-- Upgrade popup -->
146-
<div id="upgrade-popup-container" class="el-popper is-dark" style="
145+
<a id="merge-host-popup-info">
146+
<!-- 合并子域名 -->
147+
</a>
148+
<div class="el-popper__arrow" style="position: absolute; left: 0px; transform: translate(35px, 0px)"></div>
149+
</div>
150+
<!-- Upgrade popup -->
151+
<div id="upgrade-popup-container" class="el-popper is-dark" style="
147152
z-index: 2004;
148153
position: absolute;
149154
inset: auto auto 0px 0px;
150155
margin: 0px;
151156
display: none;
152157
">
153-
<a id="latest-info">
154-
<!-- 最新版本:v0.2.6 -->
155-
</a>
156-
<div class="el-popper__arrow" style="z-index: 2006; position: absolute; left: 0px; transform: translate(51px, 0px)">
158+
<a id="latest-info">
159+
<!-- 最新版本:v0.2.6 -->
160+
</a>
161+
<div class="el-popper__arrow"
162+
style="z-index: 2006; position: absolute; left: 0px; transform: translate(51px, 0px)">
163+
</div>
157164
</div>
158-
</div>
159165
</body>
160166

161167
</html>

public/side.html

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
<!DOCTYPE html>
2-
<html>
3-
<head>
4-
<meta charset="UTF-8" />
5-
</head>
2+
<html dir="ltr">
63

7-
<body>
8-
<div id="app"></div>
9-
</body>
10-
</html>
4+
<head>
5+
<meta charset="UTF-8" />
6+
</head>
7+
8+
<body>
9+
<div id="app"></div>
10+
</body>
11+
12+
</html>

0 commit comments

Comments
 (0)