Skip to content

Commit 2356285

Browse files
committed
merge from main
2 parents 111b494 + 06b87d2 commit 2356285

File tree

95 files changed

+7668
-6826
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+7668
-6826
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",

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ All notable changes to Time Tracker will be documented in this file.
44

55
It is worth mentioning that the release time of each change refers to the time when the installation package is submitted to the webstore. It is about one week for Edge to moderate packages, while only 1-2 days for Chrome and Firefox.
66

7+
## [2.5.0] - 2024-10-19
8+
9+
- Supported RTL and Arabic
10+
- Fixed some bugs
11+
- Optimized the performance of popup page
12+
713
## [2.4.7] - 2024-09-28
814

915
- Fixed some style bugs

package.json

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "timer",
3-
"version": "2.4.7",
3+
"version": "2.5.0",
44
"description": "Time tracker",
55
"homepage": "https://www.wfhg.cc",
66
"scripts": {
@@ -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.38.0",
30+
"@types/chrome": "0.0.278",
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.6",
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",
49-
"html-webpack-plugin": "^5.6.0",
49+
"html-webpack-plugin": "^5.6.2",
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.80.2",
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",
60-
"tslib": "^2.7.0",
61-
"typescript": "5.6.2",
63+
"tslib": "^2.8.0",
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.6",
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: 0 additions & 10 deletions
This file was deleted.

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: 0 additions & 10 deletions
This file was deleted.

0 commit comments

Comments
 (0)