Skip to content

Commit 5cd4253

Browse files
committed
feat(new tool): Duration Calculator
Fix CorentinTh#1037 and CorentinTh#1161
1 parent 80e46c9 commit 5cd4253

File tree

8 files changed

+545
-40
lines changed

8 files changed

+545
-40
lines changed

components.d.ts

Lines changed: 2 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ declare module '@vue/runtime-core' {
6969
DeviceInformation: typeof import('./src/tools/device-information/device-information.vue')['default']
7070
DiffViewer: typeof import('./src/tools/json-diff/diff-viewer/diff-viewer.vue')['default']
7171
DockerRunToDockerComposeConverter: typeof import('./src/tools/docker-run-to-docker-compose-converter/docker-run-to-docker-compose-converter.vue')['default']
72+
DurationCalculator: typeof import('./src/tools/duration-calculator/duration-calculator.vue')['default']
7273
DynamicValues: typeof import('./src/tools/benchmark-builder/dynamic-values.vue')['default']
7374
Editor: typeof import('./src/tools/html-wysiwyg-editor/editor/editor.vue')['default']
7475
EmojiCard: typeof import('./src/tools/emoji-picker/emoji-card.vue')['default']
@@ -88,29 +89,17 @@ declare module '@vue/runtime-core' {
8889
HttpStatusCodes: typeof import('./src/tools/http-status-codes/http-status-codes.vue')['default']
8990
IbanValidatorAndParser: typeof import('./src/tools/iban-validator-and-parser/iban-validator-and-parser.vue')['default']
9091
'IconMdi:brushVariant': typeof import('~icons/mdi/brush-variant')['default']
91-
'IconMdi:contentCopy': typeof import('~icons/mdi/content-copy')['default']
9292
'IconMdi:kettleSteamOutline': typeof import('~icons/mdi/kettle-steam-outline')['default']
93-
IconMdiArrowDown: typeof import('~icons/mdi/arrow-down')['default']
94-
IconMdiArrowRight: typeof import('~icons/mdi/arrow-right')['default']
95-
IconMdiArrowRightBottom: typeof import('~icons/mdi/arrow-right-bottom')['default']
96-
IconMdiCamera: typeof import('~icons/mdi/camera')['default']
9793
IconMdiChevronDown: typeof import('~icons/mdi/chevron-down')['default']
9894
IconMdiChevronRight: typeof import('~icons/mdi/chevron-right')['default']
9995
IconMdiClose: typeof import('~icons/mdi/close')['default']
10096
IconMdiContentCopy: typeof import('~icons/mdi/content-copy')['default']
101-
IconMdiDeleteOutline: typeof import('~icons/mdi/delete-outline')['default']
102-
IconMdiDownload: typeof import('~icons/mdi/download')['default']
10397
IconMdiEye: typeof import('~icons/mdi/eye')['default']
10498
IconMdiEyeOff: typeof import('~icons/mdi/eye-off')['default']
10599
IconMdiHeart: typeof import('~icons/mdi/heart')['default']
106-
IconMdiPause: typeof import('~icons/mdi/pause')['default']
107-
IconMdiPlay: typeof import('~icons/mdi/play')['default']
108-
IconMdiRecord: typeof import('~icons/mdi/record')['default']
109-
IconMdiRefresh: typeof import('~icons/mdi/refresh')['default']
110100
IconMdiSearch: typeof import('~icons/mdi/search')['default']
111101
IconMdiTranslate: typeof import('~icons/mdi/translate')['default']
112102
IconMdiTriangleDown: typeof import('~icons/mdi/triangle-down')['default']
113-
IconMdiVideo: typeof import('~icons/mdi/video')['default']
114103
InputCopyable: typeof import('./src/components/InputCopyable.vue')['default']
115104
IntegerBaseConverter: typeof import('./src/tools/integer-base-converter/integer-base-converter.vue')['default']
116105
Ipv4AddressConverter: typeof import('./src/tools/ipv4-address-converter/ipv4-address-converter.vue')['default']
@@ -137,42 +126,24 @@ declare module '@vue/runtime-core' {
137126
MenuLayout: typeof import('./src/components/MenuLayout.vue')['default']
138127
MetaTagGenerator: typeof import('./src/tools/meta-tag-generator/meta-tag-generator.vue')['default']
139128
MimeTypes: typeof import('./src/tools/mime-types/mime-types.vue')['default']
140-
NAlert: typeof import('naive-ui')['NAlert']
141129
NavbarButtons: typeof import('./src/components/NavbarButtons.vue')['default']
142-
NCheckbox: typeof import('naive-ui')['NCheckbox']
143130
NCode: typeof import('naive-ui')['NCode']
144131
NCollapseTransition: typeof import('naive-ui')['NCollapseTransition']
145-
NColorPicker: typeof import('naive-ui')['NColorPicker']
146132
NConfigProvider: typeof import('naive-ui')['NConfigProvider']
147-
NDatePicker: typeof import('naive-ui')['NDatePicker']
148133
NDivider: typeof import('naive-ui')['NDivider']
149-
NDynamicInput: typeof import('naive-ui')['NDynamicInput']
150134
NEllipsis: typeof import('naive-ui')['NEllipsis']
151-
NForm: typeof import('naive-ui')['NForm']
152-
NFormItem: typeof import('naive-ui')['NFormItem']
153135
NGi: typeof import('naive-ui')['NGi']
154136
NGrid: typeof import('naive-ui')['NGrid']
155137
NH1: typeof import('naive-ui')['NH1']
156-
NH2: typeof import('naive-ui')['NH2']
157138
NH3: typeof import('naive-ui')['NH3']
158139
NIcon: typeof import('naive-ui')['NIcon']
159-
NImage: typeof import('naive-ui')['NImage']
160-
NInputGroup: typeof import('naive-ui')['NInputGroup']
161-
NInputGroupLabel: typeof import('naive-ui')['NInputGroupLabel']
162-
NInputNumber: typeof import('naive-ui')['NInputNumber']
163140
NLayout: typeof import('naive-ui')['NLayout']
164141
NLayoutSider: typeof import('naive-ui')['NLayoutSider']
165142
NMenu: typeof import('naive-ui')['NMenu']
166-
NProgress: typeof import('naive-ui')['NProgress']
143+
NP: typeof import('naive-ui')['NP']
167144
NScrollbar: typeof import('naive-ui')['NScrollbar']
168-
NSlider: typeof import('naive-ui')['NSlider']
169-
NStatistic: typeof import('naive-ui')['NStatistic']
170-
NSwitch: typeof import('naive-ui')['NSwitch']
171-
NTable: typeof import('naive-ui')['NTable']
172145
NTag: typeof import('naive-ui')['NTag']
173146
NumeronymGenerator: typeof import('./src/tools/numeronym-generator/numeronym-generator.vue')['default']
174-
NUpload: typeof import('naive-ui')['NUpload']
175-
NUploadDragger: typeof import('naive-ui')['NUploadDragger']
176147
OtpCodeGeneratorAndValidator: typeof import('./src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue')['default']
177148
PasswordStrengthAnalyser: typeof import('./src/tools/password-strength-analyser/password-strength-analyser.vue')['default']
178149
PdfSignatureChecker: typeof import('./src/tools/pdf-signature-checker/pdf-signature-checker.vue')['default']

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"crypto-js": "^4.1.1",
5757
"date-fns": "^2.29.3",
5858
"dompurify": "^3.0.6",
59+
"duration-fns": "^3.0.2",
5960
"emojilib": "^3.0.10",
6061
"figue": "^1.2.0",
6162
"fuse.js": "^6.6.2",
@@ -74,9 +75,11 @@
7475
"netmask": "^2.0.2",
7576
"node-forge": "^1.3.1",
7677
"oui-data": "^1.0.10",
78+
"parse-duration": "^1.1.0",
7779
"pdf-signature-reader": "^1.4.2",
7880
"pinia": "^2.0.34",
7981
"plausible-tracker": "^0.3.8",
82+
"pretty-ms": "^9.1.0",
8083
"qrcode": "^1.5.1",
8184
"sql-formatter": "^13.0.0",
8285
"ua-parser-js": "^1.0.35",

pnpm-lock.yaml

Lines changed: 38 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)