Skip to content

Commit 512bf38

Browse files
committed
fix(Aspect Ratio Calculator): better UI and ratio preset handling
Fix #51
1 parent 9cea792 commit 512bf38

1 file changed

Lines changed: 21 additions & 3 deletions

File tree

src/tools/aspect-ratio-calculator/aspect-ratio-calculator.vue

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,19 @@ const result = ref<string | null>(null);
1717
function calculateResult() {
1818
if (mode.value === 'ratio' && width.value && height.value) {
1919
const ratio = calculateAspectRatio(width.value, height.value);
20-
r1.value = ratio.r1;
21-
r2.value = ratio.r2;
22-
result.value = `Aspect Ratio: ${ratio.r1}:${ratio.r2}`;
20+
if (r2.value) {
21+
r1.value = ratio.r1 / ratio.r2;
22+
} else if (r1.value) {
23+
r2.value = ratio.r2 / ratio.r1;
24+
} else {
25+
r1.value = ratio.r1;
26+
r2.value = ratio.r2;
27+
}
28+
if (ratio.r1 !== r1.value) {
29+
result.value = `Aspect Ratio: ${r1.value}:${r2.value} or ${ratio.r1}:${ratio.r2}`;
30+
} else {
31+
result.value = `Aspect Ratio: ${ratio.r1}:${ratio.r2}`;
32+
}
2333
}
2434
else if (mode.value === 'dimensions' && r1.value && r2.value) {
2535
if (width.value) {
@@ -48,6 +58,11 @@ function clearAll() {
4858
r2.value = null;
4959
result.value = null;
5060
}
61+
function clearRatio() {
62+
r1.value = null;
63+
r2.value = null;
64+
result.value = null;
65+
}
5166
</script>
5267

5368
<template>
@@ -90,6 +105,9 @@ function clearAll() {
90105
<NButton type="primary" @click="calculateResult">
91106
Calculate
92107
</NButton>
108+
<NButton @click="clearRatio" v-if="mode === 'ratio'">
109+
Clear Ratio
110+
</NButton>
93111
<NButton @click="clearAll">
94112
Clear All
95113
</NButton>

0 commit comments

Comments
 (0)