{{ $t('hash-functions-page.main-title') }}
-
+
@@ -21,26 +21,26 @@ definePageMeta({
redirect: { name: ROUTE_NAMES.hashFunctionKeccak256Id },
})
-enum TABS_IDS {
+enum TAB_IDS {
keccak256 = 'keccak256',
sha256 = 'sha256',
ripemd160 = 'ripemd160',
}
-const TABS_LIST: Tab[] = [
+const TAB_ITEMS: Tab[] = [
{
title: 'Keccak256',
- id: TABS_IDS.keccak256,
+ id: TAB_IDS.keccak256,
route: { name: ROUTE_NAMES.hashFunctionKeccak256Id },
},
{
title: 'Sha256',
- id: TABS_IDS.sha256,
+ id: TAB_IDS.sha256,
route: { name: ROUTE_NAMES.hashFunctionSha256Id },
},
{
title: 'Ripemd160',
- id: TABS_IDS.ripemd160,
+ id: TAB_IDS.ripemd160,
route: { name: ROUTE_NAMES.hashFunctionRipemd160Id },
},
]
diff --git a/pages/unix-epoch.vue b/pages/unix-epoch.vue
index 88d52b4..692723e 100644
--- a/pages/unix-epoch.vue
+++ b/pages/unix-epoch.vue
@@ -2,7 +2,7 @@
{{ $t('unix-epoch-page.main-title') }}
-
+
@@ -23,23 +23,29 @@ definePageMeta({
redirect: { name: ROUTE_NAMES.unixEpochDate },
})
-enum TABS_IDS {
+enum TAB_IDS {
date = 'date',
timestamp = 'timestamp',
+ duration = 'duration',
}
const { t } = i18n.global
-const tabsList = computed
(() => [
+const tabItems = computed(() => [
{
title: t('unix-epoch-page.date-form-tab'),
- id: TABS_IDS.date,
+ id: TAB_IDS.date,
route: { name: ROUTE_NAMES.unixEpochDate },
},
{
title: t('unix-epoch-page.timestamp-form-tab'),
- id: TABS_IDS.timestamp,
+ id: TAB_IDS.timestamp,
route: { name: ROUTE_NAMES.unixEpochTimestamp },
},
+ {
+ title: t('unix-epoch-page.duration-form-tab'),
+ id: TAB_IDS.duration,
+ route: { name: ROUTE_NAMES.unixEpochDuration },
+ },
])
diff --git a/pages/unix-epoch/duration.vue b/pages/unix-epoch/duration.vue
new file mode 100644
index 0000000..07376a7
--- /dev/null
+++ b/pages/unix-epoch/duration.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/plugins/localization/resources/en.json b/plugins/localization/resources/en.json
index 4383b56..be85985 100644
--- a/plugins/localization/resources/en.json
+++ b/plugins/localization/resources/en.json
@@ -55,7 +55,9 @@
"hash-functions-title": "Hash functions",
"converter-title": "Converter",
"unix-epoch-title": "Unix epoch",
- "address-utils-title": "Address utils"
+ "address-utils-title": "Address utils",
+ "constants": "Constants",
+ "ecrecover": "Ecrecover"
},
"abi-page": {
"main-title": "ABI Encoder/Decoder",
@@ -71,7 +73,8 @@
"converter-page": {
"main-title": "Converter",
"unit-converter-form-tab": "Unit converter",
- "number-converter-form-tab": "Number converter"
+ "number-converter-form-tab": "Number converter",
+ "ascii-converter-form-tab": "ASCII converter"
},
"hash-functions-page": {
"main-title": "Hash functions"
@@ -79,7 +82,18 @@
"unix-epoch-page": {
"main-title": "UNIX epoch",
"date-form-tab": "Human date UTC",
- "timestamp-form-tab": "Timestamp"
+ "timestamp-form-tab": "Timestamp",
+ "duration-form-tab": "Duration"
+ },
+ "duration-form": {
+ "info": "Please note that in the convertor 1 year = {daysInYear} days and 1 month = {daysInMonth} days",
+ "pasted-value": "{years} year(s) {months} month(s) {weeks} week(s) {days} day(s)\n {hours} hour(s) {minutes} minute(s)",
+ "input-title": "Enter Duration",
+ "duration-label": "Duration in following format",
+ "duration-placeholder": "Enter time (ex: 1y 2mon 3w 4h 5min 1300s)",
+ "you-put-label": "Entered duration",
+ "output-title": "Output",
+ "milliseconds-label": "Entered duration (seconds)"
},
"abi-decode-form": {
"input-title": "Decoder",
@@ -163,6 +177,13 @@
"decimal-placeholder": "Decimal",
"hexadecimal-placeholder": "Hexadecimal"
},
+ "ascii-converter-form": {
+ "input-title": "ASCII converter",
+ "hexadecimal-label": "Hexadecimal",
+ "hexadecimal-placeholder": "0x4578616d706c6521",
+ "ascii-label": "ASCII",
+ "ascii-placeholder": "Example!"
+ },
"timestamp-form": {
"input-title": "Enter Timestamp",
"timestamp-label": "Timestamp in seconds",
@@ -252,5 +273,31 @@
"audits-card-2-file-size": "11.5 MB",
"audits-card-3-title": "PollenDAO",
"audits-card-3-file-size": "10.3 MB"
+ },
+ "constants": {
+ "main-title": "Constants",
+ "constants-bytes-tab": "Bytes constants"
+ },
+ "constants-form": {
+ "title": "Bytes",
+ "zero-bytes32-label": "Zero bytes (32)",
+ "random-bytes32-label": "Random bytes (32)"
+ },
+ "ecrecover": {
+ "main-title": "Ecrecover utils",
+ "ecrecover-secp256k1-tab": "Secp256k1 Recovery Tool"
+ },
+ "verify-signature-form": {
+ "input-title": "Verify signature",
+ "verified": "Message signature verified",
+ "not-verified": "The Message Signature Verification Failed!",
+ "account-address-label": "Address",
+ "account-address-placeholder": "Enter the signer address",
+ "message-label": "Message",
+ "message-placeholder": "Enter the original message",
+ "signature-label": "Hash",
+ "signature-placeholder": "Enter the hash of signed message",
+ "submit-btn": "Check signature",
+ "reset-btn": "Reset form"
}
-}
+}
\ No newline at end of file
diff --git a/types/period.types.ts b/types/period.types.ts
new file mode 100644
index 0000000..c877805
--- /dev/null
+++ b/types/period.types.ts
@@ -0,0 +1,4 @@
+import { PERIOD_IDS } from 'enums/period.enum'
+
+export type PeriodKeys = keyof typeof PERIOD_IDS
+export type Periods = Record