mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-04-22 15:56:15 -04:00
fix: add 24h switch and bugs fixes
Fixes Timezones <> Countries reactivity Fix current timezone field to be readonlt Added 24h format switch
This commit is contained in:
parent
c68388f367
commit
04f2ec1729
2 changed files with 21 additions and 19 deletions
14
components.d.ts
vendored
14
components.d.ts
vendored
|
@ -130,29 +130,22 @@ declare module '@vue/runtime-core' {
|
||||||
MetaTagGenerator: typeof import('./src/tools/meta-tag-generator/meta-tag-generator.vue')['default']
|
MetaTagGenerator: typeof import('./src/tools/meta-tag-generator/meta-tag-generator.vue')['default']
|
||||||
MimeTypes: typeof import('./src/tools/mime-types/mime-types.vue')['default']
|
MimeTypes: typeof import('./src/tools/mime-types/mime-types.vue')['default']
|
||||||
NavbarButtons: typeof import('./src/components/NavbarButtons.vue')['default']
|
NavbarButtons: typeof import('./src/components/NavbarButtons.vue')['default']
|
||||||
NButton: typeof import('naive-ui')['NButton']
|
|
||||||
NCode: typeof import('naive-ui')['NCode']
|
|
||||||
NCollapseTransition: typeof import('naive-ui')['NCollapseTransition']
|
NCollapseTransition: typeof import('naive-ui')['NCollapseTransition']
|
||||||
NConfigProvider: typeof import('naive-ui')['NConfigProvider']
|
NConfigProvider: typeof import('naive-ui')['NConfigProvider']
|
||||||
|
NDatePicker: typeof import('naive-ui')['NDatePicker']
|
||||||
|
NDivider: typeof import('naive-ui')['NDivider']
|
||||||
|
NDynamicInput: typeof import('naive-ui')['NDynamicInput']
|
||||||
NEllipsis: typeof import('naive-ui')['NEllipsis']
|
NEllipsis: typeof import('naive-ui')['NEllipsis']
|
||||||
NForm: typeof import('naive-ui')['NForm']
|
|
||||||
NFormItem: typeof import('naive-ui')['NFormItem']
|
NFormItem: typeof import('naive-ui')['NFormItem']
|
||||||
NH1: typeof import('naive-ui')['NH1']
|
NH1: typeof import('naive-ui')['NH1']
|
||||||
NH3: typeof import('naive-ui')['NH3']
|
NH3: typeof import('naive-ui')['NH3']
|
||||||
NIcon: typeof import('naive-ui')['NIcon']
|
NIcon: typeof import('naive-ui')['NIcon']
|
||||||
NImage: typeof import('naive-ui')['NImage']
|
|
||||||
NInput: typeof import('naive-ui')['NInput']
|
NInput: typeof import('naive-ui')['NInput']
|
||||||
NInputGroup: typeof import('naive-ui')['NInputGroup']
|
|
||||||
NInputGroupLabel: typeof import('naive-ui')['NInputGroupLabel']
|
|
||||||
NInputNumber: typeof import('naive-ui')['NInputNumber']
|
|
||||||
NLayout: typeof import('naive-ui')['NLayout']
|
NLayout: typeof import('naive-ui')['NLayout']
|
||||||
NLayoutSider: typeof import('naive-ui')['NLayoutSider']
|
NLayoutSider: typeof import('naive-ui')['NLayoutSider']
|
||||||
NMenu: typeof import('naive-ui')['NMenu']
|
NMenu: typeof import('naive-ui')['NMenu']
|
||||||
NScrollbar: typeof import('naive-ui')['NScrollbar']
|
|
||||||
NSelect: typeof import('naive-ui')['NSelect']
|
NSelect: typeof import('naive-ui')['NSelect']
|
||||||
NSlider: typeof import('naive-ui')['NSlider']
|
|
||||||
NSpace: typeof import('naive-ui')['NSpace']
|
NSpace: typeof import('naive-ui')['NSpace']
|
||||||
NStatistic: typeof import('naive-ui')['NStatistic']
|
|
||||||
NSwitch: typeof import('naive-ui')['NSwitch']
|
NSwitch: typeof import('naive-ui')['NSwitch']
|
||||||
NumeronymGenerator: typeof import('./src/tools/numeronym-generator/numeronym-generator.vue')['default']
|
NumeronymGenerator: typeof import('./src/tools/numeronym-generator/numeronym-generator.vue')['default']
|
||||||
OtpCodeGeneratorAndValidator: typeof import('./src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue')['default']
|
OtpCodeGeneratorAndValidator: typeof import('./src/tools/otp-code-generator-and-validator/otp-code-generator-and-validator.vue')['default']
|
||||||
|
@ -180,6 +173,7 @@ declare module '@vue/runtime-core' {
|
||||||
TextStatistics: typeof import('./src/tools/text-statistics/text-statistics.vue')['default']
|
TextStatistics: typeof import('./src/tools/text-statistics/text-statistics.vue')['default']
|
||||||
TextToBinary: typeof import('./src/tools/text-to-binary/text-to-binary.vue')['default']
|
TextToBinary: typeof import('./src/tools/text-to-binary/text-to-binary.vue')['default']
|
||||||
TextToNatoAlphabet: typeof import('./src/tools/text-to-nato-alphabet/text-to-nato-alphabet.vue')['default']
|
TextToNatoAlphabet: typeof import('./src/tools/text-to-nato-alphabet/text-to-nato-alphabet.vue')['default']
|
||||||
|
TextToUnicode: typeof import('./src/tools/text-to-unicode/text-to-unicode.vue')['default']
|
||||||
TimezoneConverter: typeof import('./src/tools/timezone-converter/timezone-converter.vue')['default']
|
TimezoneConverter: typeof import('./src/tools/timezone-converter/timezone-converter.vue')['default']
|
||||||
TokenDisplay: typeof import('./src/tools/otp-code-generator-and-validator/token-display.vue')['default']
|
TokenDisplay: typeof import('./src/tools/otp-code-generator-and-validator/token-display.vue')['default']
|
||||||
'TokenGenerator.tool': typeof import('./src/tools/token-generator/token-generator.tool.vue')['default']
|
'TokenGenerator.tool': typeof import('./src/tools/token-generator/token-generator.tool.vue')['default']
|
||||||
|
|
|
@ -16,6 +16,8 @@ function convertMinsToHrsMins(minutes: number) {
|
||||||
|
|
||||||
const otherTimezones = useStorage<{ name: string }[]>('timezone-conv:zones', [{ name: 'Etc/GMT' }]);
|
const otherTimezones = useStorage<{ name: string }[]>('timezone-conv:zones', [{ name: 'Etc/GMT' }]);
|
||||||
const currentTimezone = useStorage<string>('timezone-conv:current', browserTimezone);
|
const currentTimezone = useStorage<string>('timezone-conv:current', browserTimezone);
|
||||||
|
const use24HourTimeFormat = useStorage<boolean>('timezone-conv:24h', true);
|
||||||
|
|
||||||
const now = Date.now();
|
const now = Date.now();
|
||||||
const currentDatetimeRange = ref<[number, number]>([now, now]);
|
const currentDatetimeRange = ref<[number, number]>([now, now]);
|
||||||
const currentTimezoneOffset = computed(() => {
|
const currentTimezoneOffset = computed(() => {
|
||||||
|
@ -27,7 +29,7 @@ function convertToTimezone(tz: string, timestamp: number) {
|
||||||
+ getTimezoneOffset(currentTimezone.value, new Date()) * 60 * 1000
|
+ getTimezoneOffset(currentTimezone.value, new Date()) * 60 * 1000
|
||||||
- getTimezoneOffset(browserTimezone, new Date()) * 60 * 1000,
|
- getTimezoneOffset(browserTimezone, new Date()) * 60 * 1000,
|
||||||
).toLocaleString(undefined,
|
).toLocaleString(undefined,
|
||||||
{ timeZone: tz, timeZoneName: undefined, hour12: false });
|
{ timeZone: tz, timeZoneName: undefined, hour12: !use24HourTimeFormat.value });
|
||||||
}
|
}
|
||||||
|
|
||||||
const tzToCountriesInput = ref(browserTimezone);
|
const tzToCountriesInput = ref(browserTimezone);
|
||||||
|
@ -58,12 +60,18 @@ const countryToTimezonesOutput = computed(() => ctz.getTimezonesForCountry(count
|
||||||
mb-2
|
mb-2
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<n-space justify="space-evenly">
|
||||||
<input-copyable
|
<input-copyable
|
||||||
label="Current Timezone Offset (min)"
|
label="Current Timezone Offset (min)"
|
||||||
label-position="left"
|
label-position="left"
|
||||||
:value="currentTimezoneOffset"
|
:value="currentTimezoneOffset"
|
||||||
|
readonly
|
||||||
mb-2
|
mb-2
|
||||||
/>
|
/>
|
||||||
|
<n-form-item label="Use 24 hour time format" label-placement="left">
|
||||||
|
<n-switch v-model:value="use24HourTimeFormat" />
|
||||||
|
</n-form-item>
|
||||||
|
</n-space>
|
||||||
|
|
||||||
<c-card title="Date-Time in other timezones">
|
<c-card title="Date-Time in other timezones">
|
||||||
<n-dynamic-input
|
<n-dynamic-input
|
||||||
|
@ -92,9 +100,9 @@ const countryToTimezonesOutput = computed(() => ctz.getTimezonesForCountry(count
|
||||||
|
|
||||||
<c-card title="Country to Timezones" mb-2>
|
<c-card title="Country to Timezones" mb-2>
|
||||||
<c-select
|
<c-select
|
||||||
|
v-model:value="countryToTimezonesInput"
|
||||||
label="Country"
|
label="Country"
|
||||||
label-position="left"
|
label-position="left"
|
||||||
:value="countryToTimezonesInput"
|
|
||||||
searchable
|
searchable
|
||||||
:options="allCountries"
|
:options="allCountries"
|
||||||
/>
|
/>
|
||||||
|
@ -110,9 +118,9 @@ const countryToTimezonesOutput = computed(() => ctz.getTimezonesForCountry(count
|
||||||
|
|
||||||
<c-card title="Timezones to Countries" mb-2>
|
<c-card title="Timezones to Countries" mb-2>
|
||||||
<c-select
|
<c-select
|
||||||
|
v-model:value="tzToCountriesInput"
|
||||||
label="Timezone"
|
label="Timezone"
|
||||||
label-position="left"
|
label-position="left"
|
||||||
:value="tzToCountriesInput"
|
|
||||||
searchable
|
searchable
|
||||||
:options="allTimezones"
|
:options="allTimezones"
|
||||||
/>
|
/>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue