mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-05-05 13:57:10 -04:00
Merge branch 'CorentinTh:main' into main
This commit is contained in:
commit
b93eb0296f
10 changed files with 54 additions and 167 deletions
|
@ -100,7 +100,7 @@ pnpm lint
|
||||||
To create a new tool, there is a script that generate the boilerplate of the new tool, simply run:
|
To create a new tool, there is a script that generate the boilerplate of the new tool, simply run:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
pnpm run script:create-new-tool my-tool-name
|
pnpm run script:create:tool my-tool-name
|
||||||
```
|
```
|
||||||
|
|
||||||
It will create a directory in `src/tools` with the correct files, and a the import in `src/tools/index.ts`. You will just need to add the imported tool in the proper category and develop the tool.
|
It will create a directory in `src/tools` with the correct files, and a the import in `src/tools/index.ts`. You will just need to add the imported tool in the proper category and develop the tool.
|
||||||
|
|
|
@ -7,6 +7,7 @@ home:
|
||||||
toggleMenu: 'Toggle menu'
|
toggleMenu: 'Toggle menu'
|
||||||
home: Home
|
home: Home
|
||||||
uiLib: 'UI Lib'
|
uiLib: 'UI Lib'
|
||||||
|
support: 'Support IT Tools development'
|
||||||
buyMeACoffee: 'Buy me a coffee'
|
buyMeACoffee: 'Buy me a coffee'
|
||||||
follow:
|
follow:
|
||||||
title: 'You like it-tools?'
|
title: 'You like it-tools?'
|
||||||
|
@ -48,6 +49,9 @@ about:
|
||||||
sorry: 'Sorry, this page does not seem to exist'
|
sorry: 'Sorry, this page does not seem to exist'
|
||||||
maybe: 'Maybe the cache is doing tricky things, try force-refreshing?'
|
maybe: 'Maybe the cache is doing tricky things, try force-refreshing?'
|
||||||
backHome: 'Back home'
|
backHome: 'Back home'
|
||||||
|
favoriteButton:
|
||||||
|
remove: 'Remove from favorites'
|
||||||
|
add: 'Add to favorites'
|
||||||
toolCard:
|
toolCard:
|
||||||
new: New
|
new: New
|
||||||
search:
|
search:
|
||||||
|
|
|
@ -1,16 +1,17 @@
|
||||||
home:
|
home:
|
||||||
categories:
|
categories:
|
||||||
newestTools: '最新工具'
|
newestTools: '最新工具'
|
||||||
favoriteTools: '收藏的工具'
|
favoriteTools: '我的收藏'
|
||||||
allTools: '全部工具'
|
allTools: '全部工具'
|
||||||
subtitle: '助力开发人员和 IT 工作者'
|
subtitle: '助力开发人员和 IT 工作者'
|
||||||
toggleMenu: '切换菜单'
|
toggleMenu: '切换菜单'
|
||||||
home: '主页'
|
home: '主页'
|
||||||
uiLib: 'UI 库'
|
uiLib: 'UI 库'
|
||||||
|
support: '支持 IT 工具开发'
|
||||||
buyMeACoffee: '赞助'
|
buyMeACoffee: '赞助'
|
||||||
follow:
|
follow:
|
||||||
title: '关注我们'
|
title: '关注我们'
|
||||||
p1: '给我们Star'
|
p1: '给我们 Star'
|
||||||
githubRepository: 'GitHub 仓库'
|
githubRepository: 'GitHub 仓库'
|
||||||
p2: '关注我们的'
|
p2: '关注我们的'
|
||||||
twitterAccount: 'Twitter'
|
twitterAccount: 'Twitter'
|
||||||
|
@ -20,39 +21,44 @@ home:
|
||||||
githubRepository: 'GitHub 仓库'
|
githubRepository: 'GitHub 仓库'
|
||||||
twitter: 'Twitter 账号'
|
twitter: 'Twitter 账号'
|
||||||
twitterAccount: 'Twitter 账号'
|
twitterAccount: 'Twitter 账号'
|
||||||
about: '关于'
|
about: '关于 IT-Tools'
|
||||||
aboutLabel: '关于 IT-Tools'
|
aboutLabel: '关于'
|
||||||
darkMode: '深色模式'
|
darkMode: '深色模式'
|
||||||
lightMode: '浅色模式'
|
lightMode: '浅色模式'
|
||||||
mode: '颜色模式'
|
mode: '颜色模式'
|
||||||
about:
|
about:
|
||||||
h1: '关于 IT-Tools'
|
content: >
|
||||||
h1p1: 'IT-Tools 由'
|
# 关于 IT-Tools
|
||||||
h1p2: "开发,致力于助力开发人员和 IT 行业工作者。如果对您有帮助,请将其分享给您的朋友,并且添加到收藏夹中!"
|
|
||||||
h1p3: 'IT Tools 永久免费且开源 (MIT 许可证) , 但需要资金用于托管和续订域名. 欢迎'
|
IT-Tools 由 [Corentin Thomasset](https://github.com/CorentinTh) 用 ❤ 开发,汇集了对开发人员和 IT 从业者有用的工具。如果对您有帮助,请将其分享给您的朋友,并且添加到收藏夹中!
|
||||||
h1p4: '赞助我们'
|
|
||||||
h2: '技术'
|
IT-Tools 永久免费且开源(MIT 许可证),但需要资金用于托管和续订域名。如果您想支持我的工作,并鼓励我添加更多工具,请考虑通过 [赞助我](https://www.buymeacoffee.com/cthmsst) 进行支持。
|
||||||
h2p1: 'IT Tools 采用 Vue.js (Vue 3) 和 Naive UI 组件库制作,由 Vercel 托管和持续部署。 某些工具使用了第三方开源库,您可以在存储库的'
|
|
||||||
h2p2: '文件中找到完整列表'
|
## 技术
|
||||||
h3: '有Bug? 缺少功能?'
|
|
||||||
h3p1: '如果您需要的工具目前此处不存在,并且您认为可能有必要,欢迎您在 GitHub 存储库的'
|
IT-Tools 采用 Vue.js(Vue 3)和 Naive UI 组件库开发,并由 Vercel 托管和持续部署。某些工具使用了第三方开源库,您可以在仓库的 [package.json](https://github.com/CorentinTh/it-tools/blob/main/package.json) 文件中找到完整的列表。
|
||||||
h3p2: 'issues'
|
|
||||||
h3p3: '提交新增功能的请求。'
|
## 发现了 Bug?缺少工具?
|
||||||
h3p4: "如果您发现Bug或某些内容未按预期工作,请在 GitHub 存储库的"
|
|
||||||
h3p5: 'issues'
|
如果目前这里没有您需要的工具,并且您认为它可能有用,欢迎在 GitHub 仓库的 [issues](https://github.com/CorentinTh/it-tools/issues/new/choose) 中提交新增功能的请求。
|
||||||
h3p6: '部分提交错误报告。'
|
|
||||||
|
如果您发现了 Bug,或者某些功能未能按预期工作,请在 GitHub 仓库的 [issues](https://github.com/CorentinTh/it-tools/issues/new/choose) 中提交错误报告。
|
||||||
|
|
||||||
404:
|
404:
|
||||||
notFound: '404 页面不存在'
|
notFound: '404 页面不存在'
|
||||||
sorry: '抱歉,您访问的页面不存在。'
|
sorry: '抱歉,该页面似乎不存在'
|
||||||
maybe: '也许您可以尝试以下链接:'
|
maybe: '也许缓存出现了一些问题,试试强制刷新页面?'
|
||||||
backHome: '返回主页'
|
backHome: '返回主页'
|
||||||
|
favoriteButton:
|
||||||
|
remove: '取消收藏'
|
||||||
|
add: '加入收藏'
|
||||||
toolCard:
|
toolCard:
|
||||||
new: '新'
|
new: '新'
|
||||||
search:
|
search:
|
||||||
label: '搜索'
|
label: '搜索'
|
||||||
tools:
|
tools:
|
||||||
categories:
|
categories:
|
||||||
favorite-tools: '收藏的工具'
|
favorite-tools: '我的收藏'
|
||||||
crypto: '加密'
|
crypto: '加密'
|
||||||
converter: '转换器'
|
converter: '转换器'
|
||||||
web: Web
|
web: Web
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
"naive-ui": "^2.35.0",
|
"naive-ui": "^2.35.0",
|
||||||
"netmask": "^2.0.2",
|
"netmask": "^2.0.2",
|
||||||
"node-forge": "^1.3.1",
|
"node-forge": "^1.3.1",
|
||||||
"oui": "^12.0.52",
|
"oui-data": "^1.0.10",
|
||||||
"pdf-signature-reader": "^1.4.2",
|
"pdf-signature-reader": "^1.4.2",
|
||||||
"pinia": "^2.0.34",
|
"pinia": "^2.0.34",
|
||||||
"plausible-tracker": "^0.3.8",
|
"plausible-tracker": "^0.3.8",
|
||||||
|
|
144
pnpm-lock.yaml
generated
144
pnpm-lock.yaml
generated
|
@ -119,9 +119,9 @@ dependencies:
|
||||||
node-forge:
|
node-forge:
|
||||||
specifier: ^1.3.1
|
specifier: ^1.3.1
|
||||||
version: 1.3.1
|
version: 1.3.1
|
||||||
oui:
|
oui-data:
|
||||||
specifier: ^12.0.52
|
specifier: ^1.0.10
|
||||||
version: 12.0.52
|
version: 1.0.10
|
||||||
pdf-signature-reader:
|
pdf-signature-reader:
|
||||||
specifier: ^1.4.2
|
specifier: ^1.4.2
|
||||||
version: 1.4.2
|
version: 1.4.2
|
||||||
|
@ -2890,11 +2890,6 @@ packages:
|
||||||
vue: 3.3.4
|
vue: 3.3.4
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tootallnate/once@1.1.2:
|
|
||||||
resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
|
|
||||||
engines: {node: '>= 6'}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@tootallnate/once@2.0.0:
|
/@tootallnate/once@2.0.0:
|
||||||
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
|
resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
|
@ -4077,17 +4072,7 @@ packages:
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
dev: true
|
||||||
/agentkeepalive@4.3.0:
|
|
||||||
resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==}
|
|
||||||
engines: {node: '>= 8.0.0'}
|
|
||||||
dependencies:
|
|
||||||
debug: 4.3.4
|
|
||||||
depd: 2.0.0
|
|
||||||
humanize-ms: 1.2.1
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/ajv@6.12.6:
|
/ajv@6.12.6:
|
||||||
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
|
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
|
||||||
|
@ -4466,10 +4451,6 @@ packages:
|
||||||
tslib: 2.5.0
|
tslib: 2.5.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/char-spinner@1.0.1:
|
|
||||||
resolution: {integrity: sha512-acv43vqJ0+N0rD+Uw3pDHSxP30FHrywu2NO6/wBaHChJIizpDeBUd6NjqhNhy9LGaEAhZAXn46QzmlAvIWd16g==}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/character-entities-legacy@1.1.4:
|
/character-entities-legacy@1.1.4:
|
||||||
resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
|
resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -4659,13 +4640,6 @@ packages:
|
||||||
resolution: {integrity: sha512-IOI66HEG+8bXfWPy+sTzuN7161vmDZOHg1wgIPFf3WfD73FeLajnn6C+fnxOIa9RL1WRBDMXQQWW/FOaOYaQ3w==}
|
resolution: {integrity: sha512-IOI66HEG+8bXfWPy+sTzuN7161vmDZOHg1wgIPFf3WfD73FeLajnn6C+fnxOIa9RL1WRBDMXQQWW/FOaOYaQ3w==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/country-data@0.0.31:
|
|
||||||
resolution: {integrity: sha512-YqlY/i6ikZwoBFfdjK+hJTGaBdTgDpXLI15MCj2UsXZ2cPBb+Kx86AXmDH7PRGt0LUleck0cCgNdWeIhfbcxkQ==}
|
|
||||||
dependencies:
|
|
||||||
currency-symbol-map: 2.2.0
|
|
||||||
underscore: 1.13.6
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/crelt@1.0.6:
|
/crelt@1.0.6:
|
||||||
resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
|
resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
|
||||||
dev: false
|
dev: false
|
||||||
|
@ -4761,10 +4735,6 @@ packages:
|
||||||
/csstype@3.1.2:
|
/csstype@3.1.2:
|
||||||
resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
|
resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
|
||||||
|
|
||||||
/currency-symbol-map@2.2.0:
|
|
||||||
resolution: {integrity: sha512-fPZJ3jqM68+AAgqQ7UaGbgHL/39rp6l7GyqS2k1HJPu/kpS8D07x/+Uup6a9tCUKIlOFcRrDCf1qxSt8jnI5BA==}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/dash-get@1.0.2:
|
/dash-get@1.0.2:
|
||||||
resolution: {integrity: sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ==}
|
resolution: {integrity: sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ==}
|
||||||
dev: false
|
dev: false
|
||||||
|
@ -4906,11 +4876,6 @@ packages:
|
||||||
engines: {node: '>=0.4.0'}
|
engines: {node: '>=0.4.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/depd@2.0.0:
|
|
||||||
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
|
|
||||||
engines: {node: '>= 0.8'}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/destr@2.0.1:
|
/destr@2.0.1:
|
||||||
resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==}
|
resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -5654,19 +5619,6 @@ packages:
|
||||||
web-streams-polyfill: 3.2.1
|
web-streams-polyfill: 3.2.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/fetch-enhanced@5.0.2:
|
|
||||||
resolution: {integrity: sha512-g4l1Rm1H72bAwlRNw9gJpvpSRlrIsY17iqcoZnpTV1USaDP9Ye3OJh/2hvk+HLJvWJ3r7SnvJx5YkxSI4cPw8A==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
dependencies:
|
|
||||||
agentkeepalive: 4.3.0
|
|
||||||
http-proxy-agent: 4.0.1
|
|
||||||
https-proxy-agent: 5.0.1
|
|
||||||
proxy-from-env: 1.1.0
|
|
||||||
quick-lru: 5.1.1
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/figue@1.2.0:
|
/figue@1.2.0:
|
||||||
resolution: {integrity: sha512-CXKr12kiNWjKtUK3X+YHeXKepn80s9Rg6pgZXoLQYEybgwaGJ9uGW4DrBrVK30ZWZf1mcvTbXF56AcovG7gLVw==}
|
resolution: {integrity: sha512-CXKr12kiNWjKtUK3X+YHeXKepn80s9Rg6pgZXoLQYEybgwaGJ9uGW4DrBrVK30ZWZf1mcvTbXF56AcovG7gLVw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -6099,17 +6051,6 @@ packages:
|
||||||
entities: 4.5.0
|
entities: 4.5.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/http-proxy-agent@4.0.1:
|
|
||||||
resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
|
|
||||||
engines: {node: '>= 6'}
|
|
||||||
dependencies:
|
|
||||||
'@tootallnate/once': 1.1.2
|
|
||||||
agent-base: 6.0.2
|
|
||||||
debug: 4.3.4
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/http-proxy-agent@5.0.0:
|
/http-proxy-agent@5.0.0:
|
||||||
resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
|
resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -6129,18 +6070,13 @@ packages:
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
dev: true
|
||||||
|
|
||||||
/human-signals@2.1.0:
|
/human-signals@2.1.0:
|
||||||
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
|
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
|
||||||
engines: {node: '>=10.17.0'}
|
engines: {node: '>=10.17.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/humanize-ms@1.2.1:
|
|
||||||
resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==}
|
|
||||||
dependencies:
|
|
||||||
ms: 2.1.3
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/hygen@6.2.11:
|
/hygen@6.2.11:
|
||||||
resolution: {integrity: sha512-t6/zLI2XozP5gvV74nnl8LZSbwpVNFUkUs/O9DwuOdiiBbws5k4AQNVwKZ9FGzcKjdJ5EBBYkVzlcUHkLyY0FQ==}
|
resolution: {integrity: sha512-t6/zLI2XozP5gvV74nnl8LZSbwpVNFUkUs/O9DwuOdiiBbws5k4AQNVwKZ9FGzcKjdJ5EBBYkVzlcUHkLyY0FQ==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
@ -6663,12 +6599,6 @@ packages:
|
||||||
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
|
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/json-stable-stringify@1.0.2:
|
|
||||||
resolution: {integrity: sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==}
|
|
||||||
dependencies:
|
|
||||||
jsonify: 0.0.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/json5@2.2.3:
|
/json5@2.2.3:
|
||||||
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
|
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
@ -6694,10 +6624,6 @@ packages:
|
||||||
graceful-fs: 4.2.11
|
graceful-fs: 4.2.11
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/jsonify@0.0.1:
|
|
||||||
resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/jsonpointer@5.0.1:
|
/jsonpointer@5.0.1:
|
||||||
resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
|
resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
@ -7025,6 +6951,7 @@ packages:
|
||||||
|
|
||||||
/minimist@1.2.8:
|
/minimist@1.2.8:
|
||||||
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/mlly@1.4.0:
|
/mlly@1.4.0:
|
||||||
resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==}
|
resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==}
|
||||||
|
@ -7060,6 +6987,8 @@ packages:
|
||||||
|
|
||||||
/ms@2.1.3:
|
/ms@2.1.3:
|
||||||
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||||
|
requiresBuild: true
|
||||||
|
dev: true
|
||||||
|
|
||||||
/muggle-string@0.3.1:
|
/muggle-string@0.3.1:
|
||||||
resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==}
|
resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==}
|
||||||
|
@ -7149,18 +7078,6 @@ packages:
|
||||||
resolution: {integrity: sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==}
|
resolution: {integrity: sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/node-fetch@2.6.9:
|
|
||||||
resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==}
|
|
||||||
engines: {node: 4.x || >=6.0.0}
|
|
||||||
peerDependencies:
|
|
||||||
encoding: ^0.1.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
encoding:
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
whatwg-url: 5.0.0
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/node-fetch@3.2.10:
|
/node-fetch@3.2.10:
|
||||||
resolution: {integrity: sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==}
|
resolution: {integrity: sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==}
|
||||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
|
@ -7324,20 +7241,8 @@ packages:
|
||||||
resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==}
|
resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/oui@12.0.52:
|
/oui-data@1.0.10:
|
||||||
resolution: {integrity: sha512-LqU1oQeGUpMrJ1ZUi7bQKrADD6CMkEe0wpviX/stOZTw4kzEy+yKXVprtVO5O6G4+S6XiTb6BOx6p8fh2o5vyw==}
|
resolution: {integrity: sha512-PPrr40z5/MPStTTGJ0QtSD9KtaGHmnexBQWANWLWQOZZwbNMf/VyG/Uh29LwxExd51p3S323oM3kHbjRqmBiLg==}
|
||||||
dependencies:
|
|
||||||
char-spinner: 1.0.1
|
|
||||||
country-data: 0.0.31
|
|
||||||
fetch-enhanced: 5.0.2
|
|
||||||
json-stable-stringify: 1.0.2
|
|
||||||
minimatch: 3.1.2
|
|
||||||
minimist: 1.2.8
|
|
||||||
node-fetch: 2.6.9
|
|
||||||
text-table: 0.2.0
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- encoding
|
|
||||||
- supports-color
|
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/p-limit@2.3.0:
|
/p-limit@2.3.0:
|
||||||
|
@ -7780,10 +7685,6 @@ packages:
|
||||||
resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
|
resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/proxy-from-env@1.1.0:
|
|
||||||
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/prr@1.0.1:
|
/prr@1.0.1:
|
||||||
resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
|
resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
|
@ -7832,11 +7733,6 @@ packages:
|
||||||
/queue-microtask@1.2.3:
|
/queue-microtask@1.2.3:
|
||||||
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
||||||
|
|
||||||
/quick-lru@5.1.1:
|
|
||||||
resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/railroad-diagrams@1.0.0:
|
/railroad-diagrams@1.0.0:
|
||||||
resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==}
|
resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==}
|
||||||
dev: false
|
dev: false
|
||||||
|
@ -8540,6 +8436,7 @@ packages:
|
||||||
|
|
||||||
/text-table@0.2.0:
|
/text-table@0.2.0:
|
||||||
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/throttle-debounce@3.0.1:
|
/throttle-debounce@3.0.1:
|
||||||
resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==}
|
resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==}
|
||||||
|
@ -8613,10 +8510,6 @@ packages:
|
||||||
url-parse: 1.5.10
|
url-parse: 1.5.10
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/tr46@0.0.3:
|
|
||||||
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/tr46@1.0.1:
|
/tr46@1.0.1:
|
||||||
resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
|
resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -8788,10 +8681,6 @@ packages:
|
||||||
mlly: 1.4.2
|
mlly: 1.4.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/underscore@1.13.6:
|
|
||||||
resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/undici-types@5.26.5:
|
/undici-types@5.26.5:
|
||||||
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
|
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -9430,10 +9319,6 @@ packages:
|
||||||
engines: {node: '>= 8'}
|
engines: {node: '>= 8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/webidl-conversions@3.0.1:
|
|
||||||
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/webidl-conversions@4.0.2:
|
/webidl-conversions@4.0.2:
|
||||||
resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
|
resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -9474,13 +9359,6 @@ packages:
|
||||||
webidl-conversions: 7.0.0
|
webidl-conversions: 7.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/whatwg-url@5.0.0:
|
|
||||||
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
|
|
||||||
dependencies:
|
|
||||||
tr46: 0.0.3
|
|
||||||
webidl-conversions: 3.0.1
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/whatwg-url@7.1.0:
|
/whatwg-url@7.1.0:
|
||||||
resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
|
resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
|
@ -24,7 +24,7 @@ function toggleFavorite(event: MouseEvent) {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<c-tooltip :tooltip="isFavorite ? 'Remove from favorites' : 'Add to favorites' ">
|
<c-tooltip :tooltip="isFavorite ? $t('favoriteButton.remove') : $t('favoriteButton.add') ">
|
||||||
<c-button
|
<c-button
|
||||||
variant="text"
|
variant="text"
|
||||||
circle
|
circle
|
||||||
|
|
|
@ -100,13 +100,13 @@ const tools = computed<ToolCategory[]>(() => [
|
||||||
<NIcon size="25" :component="Menu2" />
|
<NIcon size="25" :component="Menu2" />
|
||||||
</c-button>
|
</c-button>
|
||||||
|
|
||||||
<c-tooltip tooltip="Home" position="bottom">
|
<c-tooltip :tooltip="$t('home.home')" position="bottom">
|
||||||
<c-button to="/" circle variant="text" :aria-label="$t('home.home')">
|
<c-button to="/" circle variant="text" :aria-label="$t('home.home')">
|
||||||
<NIcon size="25" :component="Home2" />
|
<NIcon size="25" :component="Home2" />
|
||||||
</c-button>
|
</c-button>
|
||||||
</c-tooltip>
|
</c-tooltip>
|
||||||
|
|
||||||
<c-tooltip tooltip="UI Lib" position="bottom">
|
<c-tooltip :tooltip="$t('home.uiLib')" position="bottom">
|
||||||
<c-button v-if="config.app.env === 'development'" to="/c-lib" circle variant="text" :aria-label="$t('home.uiLib')">
|
<c-button v-if="config.app.env === 'development'" to="/c-lib" circle variant="text" :aria-label="$t('home.uiLib')">
|
||||||
<icon-mdi:brush-variant text-20px />
|
<icon-mdi:brush-variant text-20px />
|
||||||
</c-button>
|
</c-button>
|
||||||
|
@ -120,7 +120,7 @@ const tools = computed<ToolCategory[]>(() => [
|
||||||
<NavbarButtons v-if="!styleStore.isSmallScreen" />
|
<NavbarButtons v-if="!styleStore.isSmallScreen" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<c-tooltip position="bottom" tooltip="Support IT Tools development">
|
<c-tooltip position="bottom" :tooltip="$t('home.support')">
|
||||||
<c-button
|
<c-button
|
||||||
round
|
round
|
||||||
href="https://www.buymeacoffee.com/cthmsst"
|
href="https://www.buymeacoffee.com/cthmsst"
|
||||||
|
|
|
@ -28,6 +28,7 @@ const permissionCannotBePrompted = ref(false);
|
||||||
const {
|
const {
|
||||||
stream,
|
stream,
|
||||||
start,
|
start,
|
||||||
|
stop,
|
||||||
enabled: isMediaStreamAvailable,
|
enabled: isMediaStreamAvailable,
|
||||||
} = useUserMedia({
|
} = useUserMedia({
|
||||||
constraints: computed(() => ({
|
constraints: computed(() => ({
|
||||||
|
@ -83,6 +84,8 @@ watchEffect(() => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
onBeforeUnmount(() => stop());
|
||||||
|
|
||||||
async function requestPermissions() {
|
async function requestPermissions() {
|
||||||
try {
|
try {
|
||||||
await ensurePermissions();
|
await ensurePermissions();
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import db from 'oui/oui.json';
|
import db from 'oui-data';
|
||||||
import { macAddressValidationRules } from '@/utils/macAddress';
|
import { macAddressValidationRules } from '@/utils/macAddress';
|
||||||
import { useCopy } from '@/composable/copy';
|
import { useCopy } from '@/composable/copy';
|
||||||
|
|
||||||
const getVendorValue = (address: string) => address.trim().replace(/[.:-]/g, '').toUpperCase().substring(0, 6);
|
const getVendorValue = (address: string) => address.trim().replace(/[.:-]/g, '').toUpperCase().substring(0, 6);
|
||||||
|
|
||||||
const macAddress = ref('20:37:06:12:34:56');
|
const macAddress = ref('20:37:06:12:34:56');
|
||||||
const details = computed<string | undefined>(() => db[getVendorValue(macAddress.value)]);
|
const details = computed<string | undefined>(() => (db as Record<string, string>)[getVendorValue(macAddress.value)]);
|
||||||
|
|
||||||
const { copy } = useCopy({ source: () => details.value ?? '', text: 'Vendor info copied to the clipboard' });
|
const { copy } = useCopy({ source: () => details.value ?? '', text: 'Vendor info copied to the clipboard' });
|
||||||
</script>
|
</script>
|
||||||
|
|
4
src/tools/mac-address-lookup/oui.d.ts
vendored
4
src/tools/mac-address-lookup/oui.d.ts
vendored
|
@ -1,4 +0,0 @@
|
||||||
declare module 'oui/oui.json' {
|
|
||||||
const db: Record<string, string>;
|
|
||||||
export default db;
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue