This commit is contained in:
2025-09-08 02:32:01 +10:00
parent 8d03316b1b
commit 60e215dd3d
10 changed files with 518 additions and 121 deletions

View File

@@ -25,26 +25,38 @@
return;
}
switch (res.msg_type) {
handle_msg(res);
};
function handle_msg(msg: LeadMsg) {
switch (msg.msg_type) {
case 'error': {
toast.error('Error', {
description: res.raw
description: msg.raw
});
break;
}
case 'set': {
if (res.cell === undefined) {
console.error('Expected cell ref for SET response from server.');
if (msg.cell === undefined) {
console.error('Expected cell ref for SET msgponse from server.');
return;
} else if (res.eval === undefined) {
console.error('Expected cell value for SET response from server.');
} else if (msg.eval === undefined) {
console.error('Expected cell value for SET msgponse from server.');
return;
}
setCellVal(res.cell.row, res.cell.col, res.eval.value);
setCellVal(msg.cell.row, msg.cell.col, msg.eval.value);
break;
}
case 'bulk': {
if (msg.bulk_msgs === undefined) {
console.error('Expected bulk_msgs field to be defined for BULK message.');
return;
}
for (const m of msg.bulk_msgs) handle_msg(m);
}
}
};
}
let rows = 50;
let cols = 40;

View File

@@ -1,8 +1,9 @@
interface LeadMsg {
msg_type: 'set' | 'get' | 'error';
msg_type: 'set' | 'get' | 'error' | 'bulk';
cell?: CellRef;
raw?: string;
eval?: Literal;
bulk_msgs?: Array<LeadMsg>;
}
interface CellRef {

View File

@@ -66,7 +66,7 @@
<div
data-slot="sidebar-gap"
class={cn(
'relative w-(--sidebar-width) bg-transparent transition-[width] duration-100 ease-linear',
'relative w-(--sidebar-width) bg-transparent transition-[width] duration-150 ease-linear',
'group-data-[collapsible=offcanvas]:w-0',
'group-data-[side=right]:rotate-180',
variant === 'floating' || variant === 'inset'
@@ -77,7 +77,7 @@
<div
data-slot="sidebar-container"
class={cn(
'fixed inset-y-0 z-[1000] hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-100 ease-linear md:flex',
'fixed inset-y-0 z-[1000] hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-150 ease-linear md:flex',
side === 'left'
? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'
: 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',