Skip to content

Commit fcb4b68

Browse files
committed
fix: better ui and ISO Week mention
1 parent 243146a commit fcb4b68

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

src/tools/week-number-converter/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import { defineTool } from '../tool';
44
export const tool = defineTool({
55
name: 'Week Numbers Converter',
66
path: '/week-number-converter',
7-
description: 'Compute Week Number in Year/Month vs Date',
8-
keywords: ['week', 'month', 'number', 'converter'],
7+
description: 'Convert between ISO Week number, Week number in month and date',
8+
keywords: ['week', 'month', 'number', 'iso', 'converter'],
99
component: () => import('./week-number-converter.vue'),
1010
icon: Calendar,
1111
createdAt: new Date('2024-08-15'),

src/tools/week-number-converter/week-number-converter.vue

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
<script setup lang="ts">
2-
import { getWeek, getWeekOfMonth } from 'date-fns';
2+
import { getISOWeek, getWeek, getWeekOfMonth } from 'date-fns';
33
import { getFirstMondayFromISOWeek, getFirstMondayFromMonthWeek } from './week-number-converter.service';
44
55
const now = new Date();
66
77
const inputDate = ref(now.getTime());
88
const outputWeekInMonth = computed(() => getWeekOfMonth(inputDate.value));
9-
const outputWeekInYear = computed(() => getWeek(inputDate.value));
9+
const outputLocalWeekInYear = computed(() => getWeek(inputDate.value));
10+
const outputISOWeekInYear = computed(() => getISOWeek(inputDate.value));
1011
1112
const inputWeekInMonth = ref({
1213
week: getWeekOfMonth(now),
@@ -31,12 +32,13 @@ const outputWeekInYearMonday = computed(() => getFirstMondayFromISOWeek(inputWee
3132

3233
<n-divider />
3334

34-
<input-copyable readonly label="Week in Year:" label-position="left" label-width="120px" :value="outputWeekInYear" mb-1 />
35-
<input-copyable readonly label="Week in Month:" label-position="left" label-width="120px" :value="outputWeekInMonth" mb-1 />
35+
<input-copyable readonly label="Local Week in Year:" label-position="left" label-width="130px" :value="outputLocalWeekInYear" mb-1 />
36+
<input-copyable readonly label="ISO Week (in Year):" label-position="left" label-width="130px" :value="outputISOWeekInYear" mb-1 />
37+
<input-copyable readonly label="Week in Month:" label-position="left" label-width="130px" :value="outputWeekInMonth" mb-1 />
3638
</c-card>
37-
<c-card title="Year Week Number to Date" mb-2>
39+
<c-card title="ISO Week number to date" mb-2>
3840
<div flex items-baseline gap-2>
39-
<n-form-item label="Week in Year:" label-placement="left" flex-1>
41+
<n-form-item label="ISO Week number:" label-placement="left" flex-1>
4042
<n-input-number v-model:value="inputWeekInYear.week" :min="1" :max="53" />
4143
</n-form-item>
4244
<n-form-item label="Year:" label-placement="left" flex-1>
@@ -48,9 +50,9 @@ const outputWeekInYearMonday = computed(() => getFirstMondayFromISOWeek(inputWee
4850

4951
<input-copyable readonly label="First Monday" label-position="left" :value="outputWeekInYearMonday" />
5052
</c-card>
51-
<c-card title="Month Week Number to Date" mb-2>
53+
<c-card title="Week number in month to date" mb-2>
5254
<div flex items-baseline gap-2>
53-
<n-form-item label="Week in Month:" label-placement="left" flex-1>
55+
<n-form-item label="Week in month:" label-placement="left" flex-1>
5456
<n-input-number v-model:value="inputWeekInMonth.week" :min="1" :max="5" />
5557
</n-form-item>
5658
<n-form-item label="Month:" label-placement="left" flex-1>

0 commit comments

Comments
 (0)