aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/App.vue1
-rw-r--r--src/components/CollapsibleToolMenu.vue1
-rw-r--r--src/components/ColoredCard.vue2
-rw-r--r--src/components/FavoriteButton.vue2
-rw-r--r--src/components/InputCopyable.vue1
-rw-r--r--src/components/MenuIconItem.vue1
-rw-r--r--src/components/MenuLayout.vue1
-rw-r--r--src/components/NavbarButtons.vue1
-rw-r--r--src/components/SearchBar.vue1
-rw-r--r--src/components/SearchBarItem.vue1
-rw-r--r--src/components/SpanCopyable.vue1
-rw-r--r--src/components/TextareaCopyable.vue1
-rw-r--r--src/components/ToolCard.vue1
-rw-r--r--src/layouts/base.layout.vue2
-rw-r--r--src/layouts/tool.layout.vue2
-rw-r--r--src/tools/base64-file-converter/base64-file-converter.vue2
-rw-r--r--src/tools/base64-string-converter/base64-string-converter.vue1
-rw-r--r--src/tools/basic-auth-generator/basic-auth-generator.vue1
-rw-r--r--src/tools/bcrypt/bcrypt.vue1
-rw-r--r--src/tools/benchmark-builder/benchmark-builder.vue2
-rw-r--r--src/tools/bip39-generator/bip39-generator.vue2
-rw-r--r--src/tools/case-converter/case-converter.vue1
-rw-r--r--src/tools/chmod-calculator/chmod-calculator.vue2
-rw-r--r--src/tools/chronometer/chronometer.vue2
-rw-r--r--src/tools/color-converter/color-converter.vue1
-rw-r--r--src/tools/crontab-generator/crontab-generator.vue1
-rw-r--r--src/tools/device-information/device-information.vue1
-rw-r--r--src/tools/docker-run-to-docker-compose-converter/docker-run-to-docker-compose-converter.vue1
-rw-r--r--src/tools/encryption/encryption.vue1
-rw-r--r--src/tools/eta-calculator/eta-calculator.vue2
-rw-r--r--src/tools/hash-text/hash-text.vue2
-rw-r--r--src/tools/hmac-generator/hmac-generator.vue2
-rw-r--r--src/tools/html-entities/html-entities.vue2
-rw-r--r--src/tools/html-wysiwyg-editor/editor/menu-bar-item.vue2
-rw-r--r--src/tools/html-wysiwyg-editor/editor/menu-bar.vue2
-rw-r--r--src/tools/integer-base-converter/integer-base-converter.vue1
-rw-r--r--src/tools/ipv4-subnet-calculator/ipv4-subnet-calculator.vue1
-rw-r--r--src/tools/json-viewer/json-viewer.vue1
-rw-r--r--src/tools/jwt-parser/jwt-parser.vue1
-rw-r--r--src/tools/keycode-info/keycode-info.vue2
-rw-r--r--src/tools/lorem-ipsum-generator/lorem-ipsum-generator.vue1
-rw-r--r--src/tools/math-evaluator/math-evaluator.vue2
-rw-r--r--src/tools/meta-tag-generator/meta-tag-generator.vue1
-rw-r--r--src/tools/mime-types/mime-types.vue1
-rw-r--r--src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue1
-rw-r--r--src/tools/otp-code-generator-and-validator/token-display.vue1
-rw-r--r--src/tools/qr-code-generator/qr-code-generator.vue1
-rw-r--r--src/tools/roman-numeral-converter/roman-numeral-converter.vue1
-rw-r--r--src/tools/rsa-key-pair-generator/rsa-key-pair-generator.vue1
-rw-r--r--src/tools/slugify-string/slugify-string.vue1
-rw-r--r--src/tools/sql-prettify/sql-prettify.vue1
-rw-r--r--src/tools/svg-placeholder-generator/svg-placeholder-generator.vue1
-rw-r--r--src/tools/temperature-converter/temperature-converter.vue1
-rw-r--r--src/tools/text-statistics/text-statistics.vue1
-rw-r--r--src/tools/text-to-nato-alphabet/text-to-nato-alphabet.vue1
-rw-r--r--src/tools/url-encoder/url-encoder.vue1
-rw-r--r--src/tools/url-parser/url-parser.vue1
-rw-r--r--src/tools/user-agent-parser/user-agent-parser.vue1
-rw-r--r--src/tools/user-agent-parser/user-agent-result-cards.vue1
59 files changed, 17 insertions, 59 deletions
diff --git a/src/App.vue b/src/App.vue
index 6bd9a36..fec26bf 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed } from 'vue';
import { RouterView, useRoute } from 'vue-router';
import { NGlobalStyle, NMessageProvider, NNotificationProvider, darkTheme } from 'naive-ui';
import { darkThemeOverrides, lightThemeOverrides } from './themes';
diff --git a/src/components/CollapsibleToolMenu.vue b/src/components/CollapsibleToolMenu.vue
index de58ca1..7a81924 100644
--- a/src/components/CollapsibleToolMenu.vue
+++ b/src/components/CollapsibleToolMenu.vue
@@ -2,7 +2,6 @@
import { ChevronRight } from '@vicons/tabler';
import { useStorage } from '@vueuse/core';
import { useThemeVars } from 'naive-ui';
-import { computed, h, toRefs } from 'vue';
import { RouterLink, useRoute } from 'vue-router';
import MenuIconItem from './MenuIconItem.vue';
import type { Tool, ToolCategory } from '@/tools/tools.types';
diff --git a/src/components/ColoredCard.vue b/src/components/ColoredCard.vue
index d6374da..0407e65 100644
--- a/src/components/ColoredCard.vue
+++ b/src/components/ColoredCard.vue
@@ -1,5 +1,5 @@
<script setup lang="ts">
-import { type Component, toRefs } from 'vue';
+import type { Component } from 'vue';
const props = defineProps<{ icon: Component; title: string }>();
const { icon, title } = toRefs(props);
diff --git a/src/components/FavoriteButton.vue b/src/components/FavoriteButton.vue
index 16df18a..ef180a6 100644
--- a/src/components/FavoriteButton.vue
+++ b/src/components/FavoriteButton.vue
@@ -1,6 +1,6 @@
<script setup lang="ts">
import { FavoriteFilled } from '@vicons/material';
-import { computed, toRefs } from 'vue';
+
import { useToolStore } from '@/tools/tools.store';
import type { Tool } from '@/tools/tools.types';
diff --git a/src/components/InputCopyable.vue b/src/components/InputCopyable.vue
index 27c0657..0c68909 100644
--- a/src/components/InputCopyable.vue
+++ b/src/components/InputCopyable.vue
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useClipboard, useVModel } from '@vueuse/core';
-import { ref } from 'vue';
const props = defineProps<{ value: string }>();
const emit = defineEmits(['update:value']);
diff --git a/src/components/MenuIconItem.vue b/src/components/MenuIconItem.vue
index ed1b888..d816f8c 100644
--- a/src/components/MenuIconItem.vue
+++ b/src/components/MenuIconItem.vue
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useThemeVars } from 'naive-ui';
-import { toRefs } from 'vue';
import type { Tool } from '@/tools/tools.types';
const props = defineProps<{ tool: Tool }>();
diff --git a/src/components/MenuLayout.vue b/src/components/MenuLayout.vue
index 5659cbd..8b32f25 100644
--- a/src/components/MenuLayout.vue
+++ b/src/components/MenuLayout.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, toRefs } from 'vue';
import { useStyleStore } from '@/stores/style.store';
const styleStore = useStyleStore();
diff --git a/src/components/NavbarButtons.vue b/src/components/NavbarButtons.vue
index 2c7635c..81661d9 100644
--- a/src/components/NavbarButtons.vue
+++ b/src/components/NavbarButtons.vue
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { BrandGithub, BrandTwitter, InfoCircle, Moon, Sun } from '@vicons/tabler';
-import { toRefs } from 'vue';
import { useStyleStore } from '@/stores/style.store';
import { useThemeStore } from '@/ui/theme/theme.store';
diff --git a/src/components/SearchBar.vue b/src/components/SearchBar.vue
index 0f4e663..6da0f36 100644
--- a/src/components/SearchBar.vue
+++ b/src/components/SearchBar.vue
@@ -2,7 +2,6 @@
import { SearchRound } from '@vicons/material';
import { useMagicKeys, whenever } from '@vueuse/core';
import { NInput } from 'naive-ui';
-import { computed, h, ref } from 'vue';
import { useRouter } from 'vue-router';
import SearchBarItem from './SearchBarItem.vue';
import type { Tool } from '@/tools/tools.types';
diff --git a/src/components/SearchBarItem.vue b/src/components/SearchBarItem.vue
index 69d02e6..541695e 100644
--- a/src/components/SearchBarItem.vue
+++ b/src/components/SearchBarItem.vue
@@ -1,5 +1,4 @@
<script lang="ts" setup>
-import { toRefs } from 'vue';
import type { Tool } from '@/tools/tools.types';
const props = defineProps<{ tool: Tool }>();
diff --git a/src/components/SpanCopyable.vue b/src/components/SpanCopyable.vue
index c753d2e..17b1a59 100644
--- a/src/components/SpanCopyable.vue
+++ b/src/components/SpanCopyable.vue
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useClipboard } from '@vueuse/core';
-import { ref, toRefs } from 'vue';
const props = withDefaults(defineProps<{ value?: string }>(), { value: '' });
const { value } = toRefs(props);
diff --git a/src/components/TextareaCopyable.vue b/src/components/TextareaCopyable.vue
index 2381856..78f26d7 100644
--- a/src/components/TextareaCopyable.vue
+++ b/src/components/TextareaCopyable.vue
@@ -6,7 +6,6 @@ import jsonHljs from 'highlight.js/lib/languages/json';
import sqlHljs from 'highlight.js/lib/languages/sql';
import xmlHljs from 'highlight.js/lib/languages/xml';
import yamlHljs from 'highlight.js/lib/languages/yaml';
-import { ref, toRefs } from 'vue';
const props = withDefaults(
defineProps<{
diff --git a/src/components/ToolCard.vue b/src/components/ToolCard.vue
index 9ccaec7..00f2246 100644
--- a/src/components/ToolCard.vue
+++ b/src/components/ToolCard.vue
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useThemeVars } from 'naive-ui';
-import { toRefs } from 'vue';
import FavoriteButton from './FavoriteButton.vue';
import { useAppTheme } from '@/ui/theme/themes';
import type { Tool } from '@/tools/tools.types';
diff --git a/src/layouts/base.layout.vue b/src/layouts/base.layout.vue
index e4626ff..ec1d5fe 100644
--- a/src/layouts/base.layout.vue
+++ b/src/layouts/base.layout.vue
@@ -1,6 +1,6 @@
<script lang="ts" setup>
import { NIcon, useThemeVars } from 'naive-ui';
-import { computed } from 'vue';
+
import { RouterLink } from 'vue-router';
import { Heart, Home2, Menu2 } from '@vicons/tabler';
import SearchBar from '../components/SearchBar.vue';
diff --git a/src/layouts/tool.layout.vue b/src/layouts/tool.layout.vue
index 1758cb1..bdbb869 100644
--- a/src/layouts/tool.layout.vue
+++ b/src/layouts/tool.layout.vue
@@ -2,7 +2,7 @@
import { useRoute } from 'vue-router';
import { useHead } from '@vueuse/head';
import type { HeadObject } from '@vueuse/head';
-import { computed } from 'vue';
+
import BaseLayout from './base.layout.vue';
import FavoriteButton from '@/components/FavoriteButton.vue';
import type { Tool } from '@/tools/tools.types';
diff --git a/src/tools/base64-file-converter/base64-file-converter.vue b/src/tools/base64-file-converter/base64-file-converter.vue
index d5bcb49..fc7f92f 100644
--- a/src/tools/base64-file-converter/base64-file-converter.vue
+++ b/src/tools/base64-file-converter/base64-file-converter.vue
@@ -2,7 +2,7 @@
import { Upload } from '@vicons/tabler';
import { useBase64 } from '@vueuse/core';
import type { UploadFileInfo } from 'naive-ui';
-import { type Ref, ref } from 'vue';
+import type { Ref } from 'vue';
import { useCopy } from '@/composable/copy';
import { useDownloadFileFromBase64 } from '@/composable/downloadBase64';
import { useValidation } from '@/composable/validation';
diff --git a/src/tools/base64-string-converter/base64-string-converter.vue b/src/tools/base64-string-converter/base64-string-converter.vue
index 486758c..07c4c39 100644
--- a/src/tools/base64-string-converter/base64-string-converter.vue
+++ b/src/tools/base64-string-converter/base64-string-converter.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import { useCopy } from '@/composable/copy';
import { base64ToText, isValidBase64, textToBase64 } from '@/utils/base64';
import { withDefaultOnError } from '@/utils/defaults';
diff --git a/src/tools/basic-auth-generator/basic-auth-generator.vue b/src/tools/basic-auth-generator/basic-auth-generator.vue
index acca61f..f96a8c7 100644
--- a/src/tools/basic-auth-generator/basic-auth-generator.vue
+++ b/src/tools/basic-auth-generator/basic-auth-generator.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import { useCopy } from '@/composable/copy';
import { textToBase64 } from '@/utils/base64';
diff --git a/src/tools/bcrypt/bcrypt.vue b/src/tools/bcrypt/bcrypt.vue
index 893cc28..7e70db8 100644
--- a/src/tools/bcrypt/bcrypt.vue
+++ b/src/tools/bcrypt/bcrypt.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import { compareSync, hashSync } from 'bcryptjs';
import { useThemeVars } from 'naive-ui';
import { useCopy } from '@/composable/copy';
diff --git a/src/tools/benchmark-builder/benchmark-builder.vue b/src/tools/benchmark-builder/benchmark-builder.vue
index d6642cc..56776f2 100644
--- a/src/tools/benchmark-builder/benchmark-builder.vue
+++ b/src/tools/benchmark-builder/benchmark-builder.vue
@@ -2,7 +2,7 @@
import { Plus, Trash } from '@vicons/tabler';
import { useClipboard, useStorage } from '@vueuse/core';
import _ from 'lodash';
-import { computed } from 'vue';
+
import { arrayToMarkdownTable, computeAverage, computeVariance } from './benchmark-builder.models';
import DynamicValues from './dynamic-values.vue';
diff --git a/src/tools/bip39-generator/bip39-generator.vue b/src/tools/bip39-generator/bip39-generator.vue
index 5f005ed..6c2af7b 100644
--- a/src/tools/bip39-generator/bip39-generator.vue
+++ b/src/tools/bip39-generator/bip39-generator.vue
@@ -15,7 +15,7 @@ import {
spanishWordList,
} from '@it-tools/bip39';
import { Copy, Refresh } from '@vicons/tabler';
-import { computed, ref } from 'vue';
+
import { useCopy } from '@/composable/copy';
import { useValidation } from '@/composable/validation';
import { isNotThrowing } from '@/utils/boolean';
diff --git a/src/tools/case-converter/case-converter.vue b/src/tools/case-converter/case-converter.vue
index 4cf6507..1a2e3af 100644
--- a/src/tools/case-converter/case-converter.vue
+++ b/src/tools/case-converter/case-converter.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { ref } from 'vue';
import {
camelCase,
capitalCase,
diff --git a/src/tools/chmod-calculator/chmod-calculator.vue b/src/tools/chmod-calculator/chmod-calculator.vue
index 86f36da..2673333 100644
--- a/src/tools/chmod-calculator/chmod-calculator.vue
+++ b/src/tools/chmod-calculator/chmod-calculator.vue
@@ -1,6 +1,6 @@
<script setup lang="ts">
import { useThemeVars } from 'naive-ui';
-import { computed, ref } from 'vue';
+
import InputCopyable from '../../components/InputCopyable.vue';
import { computeChmodOctalRepresentation } from './chmod-calculator.service';
diff --git a/src/tools/chronometer/chronometer.vue b/src/tools/chronometer/chronometer.vue
index 30a533e..9ed6fea 100644
--- a/src/tools/chronometer/chronometer.vue
+++ b/src/tools/chronometer/chronometer.vue
@@ -1,6 +1,6 @@
<script setup lang="ts">
import { useRafFn } from '@vueuse/core';
-import { ref } from 'vue';
+
import { formatMs } from './chronometer.service';
const isRunning = ref(false);
diff --git a/src/tools/color-converter/color-converter.vue b/src/tools/color-converter/color-converter.vue
index 0513a12..0b9909f 100644
--- a/src/tools/color-converter/color-converter.vue
+++ b/src/tools/color-converter/color-converter.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { ref } from 'vue';
import { colord, extend } from 'colord';
import cmykPlugin from 'colord/plugins/cmyk';
diff --git a/src/tools/crontab-generator/crontab-generator.vue b/src/tools/crontab-generator/crontab-generator.vue
index 5f02c93..28683ce 100644
--- a/src/tools/crontab-generator/crontab-generator.vue
+++ b/src/tools/crontab-generator/crontab-generator.vue
@@ -1,7 +1,6 @@
<script setup lang="ts">
import cronstrue from 'cronstrue';
import { isValidCron } from 'cron-validator';
-import { computed, reactive, ref } from 'vue';
import { useStyleStore } from '@/stores/style.store';
function isCronValid(v: string) {
diff --git a/src/tools/device-information/device-information.vue b/src/tools/device-information/device-information.vue
index aac0f35..d5e5d2a 100644
--- a/src/tools/device-information/device-information.vue
+++ b/src/tools/device-information/device-information.vue
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useWindowSize } from '@vueuse/core';
-import { computed } from 'vue';
const { width, height } = useWindowSize();
diff --git a/src/tools/docker-run-to-docker-compose-converter/docker-run-to-docker-compose-converter.vue b/src/tools/docker-run-to-docker-compose-converter/docker-run-to-docker-compose-converter.vue
index 3503824..cdc541b 100644
--- a/src/tools/docker-run-to-docker-compose-converter/docker-run-to-docker-compose-converter.vue
+++ b/src/tools/docker-run-to-docker-compose-converter/docker-run-to-docker-compose-converter.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import { MessageType, composerize } from 'composerize-ts';
import { withDefaultOnError } from '@/utils/defaults';
import { useDownloadFileFromBase64 } from '@/composable/downloadBase64';
diff --git a/src/tools/encryption/encryption.vue b/src/tools/encryption/encryption.vue
index d738509..bfd0972 100644
--- a/src/tools/encryption/encryption.vue
+++ b/src/tools/encryption/encryption.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import { AES, RC4, Rabbit, TripleDES, enc } from 'crypto-js';
const algos = { AES, TripleDES, Rabbit, RC4 };
diff --git a/src/tools/eta-calculator/eta-calculator.vue b/src/tools/eta-calculator/eta-calculator.vue
index 76c3b45..01abcbd 100644
--- a/src/tools/eta-calculator/eta-calculator.vue
+++ b/src/tools/eta-calculator/eta-calculator.vue
@@ -4,7 +4,7 @@
import { addMilliseconds, formatRelative } from 'date-fns';
import { enGB } from 'date-fns/locale';
-import { computed, ref } from 'vue';
+
import { formatMsDuration } from './eta-calculator.service';
const unitCount = ref(3 * 62);
diff --git a/src/tools/hash-text/hash-text.vue b/src/tools/hash-text/hash-text.vue
index b43ed6c..415c352 100644
--- a/src/tools/hash-text/hash-text.vue
+++ b/src/tools/hash-text/hash-text.vue
@@ -1,7 +1,7 @@
<script setup lang="ts">
import type { lib } from 'crypto-js';
import { MD5, RIPEMD160, SHA1, SHA224, SHA256, SHA3, SHA384, SHA512, enc } from 'crypto-js';
-import { ref } from 'vue';
+
import InputCopyable from '../../components/InputCopyable.vue';
import { convertHexToBin } from './hash-text.service';
import { useQueryParam } from '@/composable/queryParams';
diff --git a/src/tools/hmac-generator/hmac-generator.vue b/src/tools/hmac-generator/hmac-generator.vue
index 6e6b1f1..dcece9f 100644
--- a/src/tools/hmac-generator/hmac-generator.vue
+++ b/src/tools/hmac-generator/hmac-generator.vue
@@ -11,7 +11,7 @@ import {
HmacSHA512,
enc,
} from 'crypto-js';
-import { computed, ref } from 'vue';
+
import { convertHexToBin } from '../hash-text/hash-text.service';
import { useCopy } from '@/composable/copy';
diff --git a/src/tools/html-entities/html-entities.vue b/src/tools/html-entities/html-entities.vue
index 408542a..dc44a0d 100644
--- a/src/tools/html-entities/html-entities.vue
+++ b/src/tools/html-entities/html-entities.vue
@@ -1,6 +1,6 @@
<script setup lang="ts">
import { escape, unescape } from 'lodash';
-import { computed, ref } from 'vue';
+
import { useCopy } from '@/composable/copy';
const escapeInput = ref('<title>IT Tool</title>');
diff --git a/src/tools/html-wysiwyg-editor/editor/menu-bar-item.vue b/src/tools/html-wysiwyg-editor/editor/menu-bar-item.vue
index 85d72e6..9a4cf1b 100644
--- a/src/tools/html-wysiwyg-editor/editor/menu-bar-item.vue
+++ b/src/tools/html-wysiwyg-editor/editor/menu-bar-item.vue
@@ -1,5 +1,5 @@
<script setup lang="ts">
-import { type Component, toRefs } from 'vue';
+import type { Component } from 'vue';
const props = defineProps<{ icon: Component; title: string; action: () => void; isActive?: () => boolean }>();
const { icon, title, action, isActive } = toRefs(props);
diff --git a/src/tools/html-wysiwyg-editor/editor/menu-bar.vue b/src/tools/html-wysiwyg-editor/editor/menu-bar.vue
index 01ba9c7..d3ad316 100644
--- a/src/tools/html-wysiwyg-editor/editor/menu-bar.vue
+++ b/src/tools/html-wysiwyg-editor/editor/menu-bar.vue
@@ -18,7 +18,7 @@ import {
Strikethrough,
TextWrap,
} from '@vicons/tabler';
-import { type Component, toRefs } from 'vue';
+import type { Component } from 'vue';
import MenuBarItem from './menu-bar-item.vue';
const props = defineProps<{ editor: Editor }>();
diff --git a/src/tools/integer-base-converter/integer-base-converter.vue b/src/tools/integer-base-converter/integer-base-converter.vue
index 01f6401..a4ff3fd 100644
--- a/src/tools/integer-base-converter/integer-base-converter.vue
+++ b/src/tools/integer-base-converter/integer-base-converter.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import InputCopyable from '../../components/InputCopyable.vue';
import { convertBase } from './integer-base-converter.model';
import { useStyleStore } from '@/stores/style.store';
diff --git a/src/tools/ipv4-subnet-calculator/ipv4-subnet-calculator.vue b/src/tools/ipv4-subnet-calculator/ipv4-subnet-calculator.vue
index d16e557..3cc0c0b 100644
--- a/src/tools/ipv4-subnet-calculator/ipv4-subnet-calculator.vue
+++ b/src/tools/ipv4-subnet-calculator/ipv4-subnet-calculator.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed } from 'vue';
import { Netmask } from 'netmask';
import { useStorage } from '@vueuse/core';
import { ArrowLeft, ArrowRight } from '@vicons/tabler';
diff --git a/src/tools/json-viewer/json-viewer.vue b/src/tools/json-viewer/json-viewer.vue
index 5fa3d36..fd3b884 100644
--- a/src/tools/json-viewer/json-viewer.vue
+++ b/src/tools/json-viewer/json-viewer.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import JSON5 from 'json5';
import { useStorage } from '@vueuse/core';
import { formatJson } from './json.models';
diff --git a/src/tools/jwt-parser/jwt-parser.vue b/src/tools/jwt-parser/jwt-parser.vue
index f3a460a..ee6e0f3 100644
--- a/src/tools/jwt-parser/jwt-parser.vue
+++ b/src/tools/jwt-parser/jwt-parser.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import { decodeJwt } from './jwt-parser.service';
import { useValidation } from '@/composable/validation';
import { isNotThrowing } from '@/utils/boolean';
diff --git a/src/tools/keycode-info/keycode-info.vue b/src/tools/keycode-info/keycode-info.vue
index 132fc98..19d48df 100644
--- a/src/tools/keycode-info/keycode-info.vue
+++ b/src/tools/keycode-info/keycode-info.vue
@@ -1,6 +1,6 @@
<script setup lang="ts">
import { useEventListener } from '@vueuse/core';
-import { computed, ref } from 'vue';
+
import InputCopyable from '../../components/InputCopyable.vue';
const event = ref<KeyboardEvent>();
diff --git a/src/tools/lorem-ipsum-generator/lorem-ipsum-generator.vue b/src/tools/lorem-ipsum-generator/lorem-ipsum-generator.vue
index 4423eb4..552c597 100644
--- a/src/tools/lorem-ipsum-generator/lorem-ipsum-generator.vue
+++ b/src/tools/lorem-ipsum-generator/lorem-ipsum-generator.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import { generateLoremIpsum } from './lorem-ipsum-generator.service';
import { useCopy } from '@/composable/copy';
import { randIntFromInterval } from '@/utils/random';
diff --git a/src/tools/math-evaluator/math-evaluator.vue b/src/tools/math-evaluator/math-evaluator.vue
index 0429e6e..25e5129 100644
--- a/src/tools/math-evaluator/math-evaluator.vue
+++ b/src/tools/math-evaluator/math-evaluator.vue
@@ -1,6 +1,6 @@
<script setup lang="ts">
import { evaluate } from 'mathjs';
-import { computed, ref } from 'vue';
+
import { withDefaultOnError } from '@/utils/defaults';
const expression = ref('');
diff --git a/src/tools/meta-tag-generator/meta-tag-generator.vue b/src/tools/meta-tag-generator/meta-tag-generator.vue
index 12e660e..de8a0c6 100644
--- a/src/tools/meta-tag-generator/meta-tag-generator.vue
+++ b/src/tools/meta-tag-generator/meta-tag-generator.vue
@@ -1,7 +1,6 @@
<script setup lang="ts">
import { generateMeta } from '@it-tools/oggen';
import _ from 'lodash';
-import { computed, ref, watch } from 'vue';
import { image, ogSchemas, twitter, website } from './og-schemas';
import type { OGSchemaType, OGSchemaTypeElementSelect } from './OGSchemaType.type';
import TextareaCopyable from '@/components/TextareaCopyable.vue';
diff --git a/src/tools/mime-types/mime-types.vue b/src/tools/mime-types/mime-types.vue
index f67475b..4501d62 100644
--- a/src/tools/mime-types/mime-types.vue
+++ b/src/tools/mime-types/mime-types.vue
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { types as extensionToMimeType, extensions as mimeTypeToExtension } from 'mime-types';
-import { computed, ref } from 'vue';
const mimeInfos = Object.entries(mimeTypeToExtension).map(([mimeType, extensions]) => ({ mimeType, extensions }));
diff --git a/src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue b/src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue
index f3534eb..7b26a09 100644
--- a/src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue
+++ b/src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import { useTimestamp } from '@vueuse/core';
import { useThemeVars } from 'naive-ui';
import { useQRCode } from '../qr-code-generator/useQRCode';
diff --git a/src/tools/otp-code-generator-and-validator/token-display.vue b/src/tools/otp-code-generator-and-validator/token-display.vue
index 34ceb0b..a40c9af 100644
--- a/src/tools/otp-code-generator-and-validator/token-display.vue
+++ b/src/tools/otp-code-generator-and-validator/token-display.vue
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { useClipboard } from '@vueuse/core';
-import { toRefs } from 'vue';
const props = defineProps<{ tokens: { previous: string; current: string; next: string } }>();
const { copy: copyPrevious, copied: previousCopied } = useClipboard();
diff --git a/src/tools/qr-code-generator/qr-code-generator.vue b/src/tools/qr-code-generator/qr-code-generator.vue
index f6ea7c8..52de7d9 100644
--- a/src/tools/qr-code-generator/qr-code-generator.vue
+++ b/src/tools/qr-code-generator/qr-code-generator.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { ref } from 'vue';
import type { QRCodeErrorCorrectionLevel } from 'qrcode';
import { useQRCode } from './useQRCode';
import { useDownloadFileFromBase64 } from '@/composable/downloadBase64';
diff --git a/src/tools/roman-numeral-converter/roman-numeral-converter.vue b/src/tools/roman-numeral-converter/roman-numeral-converter.vue
index e957b00..4390122 100644
--- a/src/tools/roman-numeral-converter/roman-numeral-converter.vue
+++ b/src/tools/roman-numeral-converter/roman-numeral-converter.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import {
MAX_ARABIC_TO_ROMAN,
MIN_ARABIC_TO_ROMAN,
diff --git a/src/tools/rsa-key-pair-generator/rsa-key-pair-generator.vue b/src/tools/rsa-key-pair-generator/rsa-key-pair-generator.vue
index 021d7e8..7f97246 100644
--- a/src/tools/rsa-key-pair-generator/rsa-key-pair-generator.vue
+++ b/src/tools/rsa-key-pair-generator/rsa-key-pair-generator.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { ref } from 'vue';
import { generateKeyPair } from './rsa-key-pair-generator.service';
import TextareaCopyable from '@/components/TextareaCopyable.vue';
import { withDefaultOnErrorAsync } from '@/utils/defaults';
diff --git a/src/tools/slugify-string/slugify-string.vue b/src/tools/slugify-string/slugify-string.vue
index 0f5ddc2..760302a 100644
--- a/src/tools/slugify-string/slugify-string.vue
+++ b/src/tools/slugify-string/slugify-string.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import slugify from '@sindresorhus/slugify';
import { withDefaultOnError } from '@/utils/defaults';
import { useCopy } from '@/composable/copy';
diff --git a/src/tools/sql-prettify/sql-prettify.vue b/src/tools/sql-prettify/sql-prettify.vue
index 2ee93da..ee4abdc 100644
--- a/src/tools/sql-prettify/sql-prettify.vue
+++ b/src/tools/sql-prettify/sql-prettify.vue
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { type FormatFnOptions, format as formatSQL } from 'sql-formatter';
-import { computed, reactive, ref } from 'vue';
import TextareaCopyable from '@/components/TextareaCopyable.vue';
import { useStyleStore } from '@/stores/style.store';
diff --git a/src/tools/svg-placeholder-generator/svg-placeholder-generator.vue b/src/tools/svg-placeholder-generator/svg-placeholder-generator.vue
index 0c454ee..b619dab 100644
--- a/src/tools/svg-placeholder-generator/svg-placeholder-generator.vue
+++ b/src/tools/svg-placeholder-generator/svg-placeholder-generator.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import TextareaCopyable from '@/components/TextareaCopyable.vue';
import { useCopy } from '@/composable/copy';
import { useDownloadFileFromBase64 } from '@/composable/downloadBase64';
diff --git a/src/tools/temperature-converter/temperature-converter.vue b/src/tools/temperature-converter/temperature-converter.vue
index c563246..85de390 100644
--- a/src/tools/temperature-converter/temperature-converter.vue
+++ b/src/tools/temperature-converter/temperature-converter.vue
@@ -1,6 +1,5 @@
<script setup lang="ts">
import _ from 'lodash';
-import { reactive } from 'vue';
import {
convertCelsiusToKelvin,
convertDelisleToKelvin,
diff --git a/src/tools/text-statistics/text-statistics.vue b/src/tools/text-statistics/text-statistics.vue
index ec543fa..3f63c72 100644
--- a/src/tools/text-statistics/text-statistics.vue
+++ b/src/tools/text-statistics/text-statistics.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { ref } from 'vue';
import { getStringSizeInBytes } from './text-statistics.service';
import { formatBytes } from '@/utils/convert';
diff --git a/src/tools/text-to-nato-alphabet/text-to-nato-alphabet.vue b/src/tools/text-to-nato-alphabet/text-to-nato-alphabet.vue
index 75b2334..aafabcb 100644
--- a/src/tools/text-to-nato-alphabet/text-to-nato-alphabet.vue
+++ b/src/tools/text-to-nato-alphabet/text-to-nato-alphabet.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import { textToNatoAlphabet } from './text-to-nato-alphabet.service';
import { useCopy } from '@/composable/copy';
diff --git a/src/tools/url-encoder/url-encoder.vue b/src/tools/url-encoder/url-encoder.vue
index 5fdcade..8b681ba 100644
--- a/src/tools/url-encoder/url-encoder.vue
+++ b/src/tools/url-encoder/url-encoder.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import { useCopy } from '@/composable/copy';
import { useValidation } from '@/composable/validation';
import { isNotThrowing } from '@/utils/boolean';
diff --git a/src/tools/url-parser/url-parser.vue b/src/tools/url-parser/url-parser.vue
index cadd07e..0799682 100644
--- a/src/tools/url-parser/url-parser.vue
+++ b/src/tools/url-parser/url-parser.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import InputCopyable from '../../components/InputCopyable.vue';
import { isNotThrowing } from '@/utils/boolean';
import { withDefaultOnError } from '@/utils/defaults';
diff --git a/src/tools/user-agent-parser/user-agent-parser.vue b/src/tools/user-agent-parser/user-agent-parser.vue
index 02d1e56..a80c688 100644
--- a/src/tools/user-agent-parser/user-agent-parser.vue
+++ b/src/tools/user-agent-parser/user-agent-parser.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { computed, ref } from 'vue';
import { UAParser } from 'ua-parser-js';
import { Adjustments, Browser, Cpu, Devices, Engine } from '@vicons/tabler';
import UserAgentResultCards from './user-agent-result-cards.vue';
diff --git a/src/tools/user-agent-parser/user-agent-result-cards.vue b/src/tools/user-agent-parser/user-agent-result-cards.vue
index b3901ac..84a933b 100644
--- a/src/tools/user-agent-parser/user-agent-result-cards.vue
+++ b/src/tools/user-agent-parser/user-agent-result-cards.vue
@@ -1,5 +1,4 @@
<script setup lang="ts">
-import { toRefs } from 'vue';
import type { UAParser } from 'ua-parser-js';
import type { UserAgentResultSection } from './user-agent-parser.types';