commit 4f8caf23436d78b59404e1a4648aae6a9077ba1e
parent 2035c142a50aa1ccff68348f4ab2791d8b14e2f2
Author: triesap <137732411+triesap@users.noreply.github.com>
Date: Mon, 9 Dec 2024 16:19:16 +0000
apps-lib: edit nav prev store assignment. edit input and text area element keydown callbacks. edit components, types, utils
Diffstat:
6 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/apps-lib/src/lib/components/nav.svelte b/apps-lib/src/lib/components/nav.svelte
@@ -55,7 +55,8 @@
? basis.prev.route
: encode_qp_route(basis.prev.route[0], basis.prev.route[1]);
if ($nav_prev.length) {
- const nav_prev_li = $nav_prev.pop();
+ const nav_prev_li = $nav_prev[$nav_prev.length - 1];
+ $nav_prev = [...$nav_prev.slice(0, -1)];
if (nav_prev_li)
route_to = encode_qp_route(
nav_prev_li.route,
diff --git a/apps-lib/src/lib/components/tabs_float.svelte b/apps-lib/src/lib/components/tabs_float.svelte
@@ -1,6 +1,6 @@
<script lang="ts">
import { page } from "$app/stores";
- import { Fill, Glyph, nav_prev, route } from "$lib";
+ import { Fill, Glyph, route } from "$lib";
</script>
<div
@@ -43,10 +43,6 @@
<button
class={`relative col-span-1 flex flex-row justify-center items-center`}
on:click={async () => {
- $nav_prev.push({
- route: `/`,
- label: `Home`,
- });
route(`/settings/profile`);
}}
>
diff --git a/apps-lib/src/lib/el/input_element.svelte b/apps-lib/src/lib/el/input_element.svelte
@@ -91,6 +91,7 @@
if (basis?.callback_keydown)
await basis?.callback_keydown({
key: ev.key,
+ key_s: ev.key === `Enter`,
el: ev.currentTarget,
});
}}
diff --git a/apps-lib/src/lib/el/textarea_element.svelte b/apps-lib/src/lib/el/textarea_element.svelte
@@ -84,7 +84,11 @@
}}
on:keydown={async (ev) => {
if (basis.callback_keydown)
- await basis.callback_keydown({ key: ev.key });
+ await basis.callback_keydown({
+ key: ev.key,
+ key_s: ev.key === `Enter`,
+ el: ev.currentTarget,
+ });
}}
{id}
contenteditable="true"
diff --git a/apps-lib/src/lib/types/el.ts b/apps-lib/src/lib/types/el.ts
@@ -170,7 +170,7 @@ export type IInputElement = IId & IClOpt & ILyOptTs & {
sync?: boolean;
field?: IFormField;
callback?: CallbackPromiseGeneric<{ value: string; pass: boolean; }>;
- callback_keydown?: CallbackPromiseGeneric<{ key: string; el: HTMLInputElement }>;
+ callback_keydown?: CallbackPromiseGeneric<{ key: string; key_s: boolean; el: HTMLInputElement }>;
callback_blur?: CallbackPromiseGeneric<{ el: HTMLInputElement }>;
callback_focus?: CallbackPromiseGeneric<{ el: HTMLInputElement }>;
on_mount?: CallbackPromiseGeneric<HTMLInputElement>;
@@ -184,7 +184,7 @@ export type ITextAreaElement = IId & IClOpt & ILyOptTs & {
sync?: true;
field?: IFormField;
callback?: CallbackPromiseGeneric<{ value: string; pass: boolean; }>;
- callback_keydown?: CallbackPromiseGeneric<{ key: string; }>;
+ callback_keydown?: CallbackPromiseGeneric<{ key: string; key_s: boolean; el: HTMLTextAreaElement }>;
callback_blur?: CallbackPromiseGeneric<{ el: HTMLTextAreaElement }>;
callback_focus?: CallbackPromiseGeneric<{ el: HTMLTextAreaElement }>;
on_mount?: CallbackPromiseGeneric<HTMLTextAreaElement>;
diff --git a/apps-lib/src/lib/utils/client.ts b/apps-lib/src/lib/utils/client.ts
@@ -216,7 +216,8 @@ export const route_prev = async (route_fallback: NavigationRoute = `/`, params_f
let route_to = encode_qp_route(route_fallback, params_fallback);
const $nav_prev = get_store(nav_prev);
if ($nav_prev.length) {
- const nav_prev_li = $nav_prev.pop();
+ const nav_prev_li = $nav_prev[$nav_prev.length - 1];
+ nav_prev.set([...$nav_prev.slice(0, -1)]);
if (nav_prev_li)
route_to = encode_qp_route(
nav_prev_li.route,