diff --git a/package-lock.json b/package-lock.json index e754e6d..ceb4881 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,46 +26,6 @@ "strip-json-comments": "^3.1.1" } }, - "@fortawesome/fontawesome-common-types": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz", - "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==" - }, - "@fortawesome/fontawesome-free": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.1.1.tgz", - "integrity": "sha512-J/3yg2AIXc9wznaVqpHVX3Wa5jwKovVF0AMYSnbmcXTiL3PpRPfF58pzWucCwEiCJBp+hCNRLWClTomD8SseKg==", - "dev": true - }, - "@fortawesome/fontawesome-svg-core": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.1.1.tgz", - "integrity": "sha512-NCg0w2YIp81f4V6cMGD9iomfsIj7GWrqmsa0ZsPh59G7PKiGN1KymZNxmF00ssuAlo/VZmpK6xazsGOwzKYUMg==", - "requires": { - "@fortawesome/fontawesome-common-types": "6.1.1" - } - }, - "@fortawesome/free-regular-svg-icons": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.1.1.tgz", - "integrity": "sha512-xXiW7hcpgwmWtndKPOzG+43fPH7ZjxOaoeyooptSztGmJxCAflHZxXNK0GcT0uEsR4jTGQAfGklDZE5NHoBhKg==", - "requires": { - "@fortawesome/fontawesome-common-types": "6.1.1" - } - }, - "@fortawesome/free-solid-svg-icons": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.1.1.tgz", - "integrity": "sha512-0/5exxavOhI/D4Ovm2r3vxNojGZioPwmFrKg0ZUH69Q68uFhFPs6+dhAToh6VEQBntxPRYPuT5Cg1tpNa9JUPg==", - "requires": { - "@fortawesome/fontawesome-common-types": "6.1.1" - } - }, - "@fortawesome/vue-fontawesome": { - "version": "3.0.0-5", - "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.0-5.tgz", - "integrity": "sha512-aNmBT4bOecrFsZTog1l6AJDQHPP3ocXV+WQ3Ogy8WZCqstB/ahfhH4CPu5i4N9Hw0MBKXqE+LX+NbUxcj8cVTw==" - }, "@humanwhocodes/config-array": { "version": "0.9.5", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", @@ -466,6 +426,11 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "cronstrue": { + "version": "2.47.0", + "resolved": "https://registry.npmjs.org/cronstrue/-/cronstrue-2.47.0.tgz", + "integrity": "sha512-fnFwJy7zslTEz6h7O7BkwgHNBvuuPmkhAYKqPDxK5mBQLz2nG08T9afbnjm+yrvcc/wxrd+otaVSnoXT9ulUOw==" + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", diff --git a/package.json b/package.json index 3140f2f..1803f81 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "dependencies": { "autoprefixer": "^10", "axios": "^0.27.2", + "cronstrue": "^2.47.0", "mitt": "^3.0.0", "pinia": "^2.0.14", "postcss": "^8", diff --git a/src/components/Sidebar.vue b/src/components/Sidebar.vue index 518ea5f..588f317 100644 --- a/src/components/Sidebar.vue +++ b/src/components/Sidebar.vue @@ -27,6 +27,7 @@ export default { let menuRoutes = { 'General': { 'home': 'Home', + 'explain_crontab': 'Explain crontab', }, 'Strings': { 'fix_ru_en_keyboard': 'Fix ru-en keyboard', diff --git a/src/router/index.js b/src/router/index.js index 853e63b..db3f440 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -11,6 +11,11 @@ const router = createRouter({ name: 'home', component: () => import('../views/HomeView.vue'), }, + { + path: '/explain_crontab', + name: 'explain_crontab', + component: () => import('../views/ExplainCrontab.vue'), + }, /** * String manipulation diff --git a/src/views/ExplainCrontab.vue b/src/views/ExplainCrontab.vue new file mode 100644 index 0000000..682ab90 --- /dev/null +++ b/src/views/ExplainCrontab.vue @@ -0,0 +1,47 @@ + + + + + \ No newline at end of file