Add power conversion entries and responsive nav tweaks

This commit is contained in:
Codex
2026-03-07 20:33:28 +00:00
parent dc6bedfc47
commit 0586b35fe7
6 changed files with 280 additions and 103 deletions

View File

@@ -13,6 +13,8 @@
let val2 = '';
let val3 = '';
let activeField: 1 | 2 | 3 = 1;
let swapSnapshot: { val1: string; val2: string } | null = null;
let isSwapFlipped = false;
$: has3 = ['3col', '3col-mul'].includes(config.type) || !!config.labels.in3;
$: isTextInput = ['base', 'text-bin', 'bin-text', 'dec-frac', 'dms-dd', 'dd-dms'].includes(config.type);
@@ -24,7 +26,13 @@
let paramsInitializing = true;
function resetSwapState() {
swapSnapshot = null;
isSwapFlipped = false;
}
function handleInput(source: 1 | 2 | 3) {
resetSwapState();
activeField = source;
const result = solve(config, source, val1, val2, val3);
if (source !== 1) val1 = result.val1;
@@ -33,14 +41,23 @@
}
function swap() {
[val1, val2] = [val2, val1];
handleInput(1);
if (isSwapFlipped && swapSnapshot) {
val1 = swapSnapshot.val1;
val2 = swapSnapshot.val2;
resetSwapState();
} else {
swapSnapshot = { val1, val2 };
[val1, val2] = [val2, val1];
isSwapFlipped = true;
}
activeField = activeField === 1 ? 2 : 1;
}
function clear() {
val1 = '';
val2 = '';
val3 = '';
resetSwapState();
}
onMount(() => {

View File

@@ -64,7 +64,7 @@
export let open = false;
</script>
<aside class="sidebar" class:open>
<aside class="sidebar" class:open id="site-navigation" aria-hidden={open ? 'false' : 'true'}>
<div class="sidebar-header">
<h3>All Converters</h3>
<button class="close-btn" on:click={() => (open = false)} aria-label="Close sidebar"></button>
@@ -298,7 +298,7 @@
display: none;
}
@media (max-width: 768px) {
@media (max-width: 1024px) {
.sidebar {
position: fixed;
top: 0;