commit 9a45683f81d29911405a029867ac31df9d7a74f9
parent 658d81fd8467523cc60b8e4f0157faef2ca9190f
Author: triesap <137732411+triesap@users.noreply.github.com>
Date: Fri, 18 Oct 2024 10:13:30 +0000
apps-lib: update entry line component, add locales, routes, edit types, utils
Diffstat:
6 files changed, 45 insertions(+), 18 deletions(-)
diff --git a/apps-lib/src/lib/components/entry_line.svelte b/apps-lib/src/lib/components/entry_line.svelte
@@ -1,5 +1,12 @@
<script lang="ts">
- import { fmt_cl, Glyph, parse_layer, type IEntryLine } from "$lib";
+ import {
+ fmt_cl,
+ Glyph,
+ Loading,
+ parse_layer,
+ type IEntryLine,
+ type ILoadingDimension,
+ } from "$lib";
import InputElement from "$lib/ui/input_element.svelte";
export let basis: IEntryLine;
@@ -13,17 +20,32 @@
typeof layer === `boolean`
? `bg-transparent`
: `bg-layer-${layer}-surface`;
+ $: clases_style =
+ basis.style === `guide` ? `h-entry_guide rounded-touch` : ``;
+
+ let loading_dim: ILoadingDimension = `sm`;
+ $: loading_dim = basis.style === `guide` ? `md` : `sm`;
</script>
<div
id={basis.id_wrap || null}
- class={`${fmt_cl(basis.classes_wrap)} relative el-responsive entry-line-wrap px-2 ${classes_layer}`}
+ class={`${fmt_cl(basis.classes)} relative el-responsive entry-line-wrap px-2 ${classes_layer} ${clases_style}`}
>
<InputElement basis={basis.el} />
- {#if basis.notify_inline}
+ {#if basis.loading}
+ <div
+ class={`z-5 absolute el-responsive right-0 top-0 flex flex-row h-full pr-4 justify-end items-center fade-in`}
+ >
+ <Loading
+ basis={{
+ dim: loading_dim,
+ }}
+ />
+ </div>
+ {:else if basis.notify_inline}
{#if `glyph` in basis.notify_inline}
<div
- class={`z-5 absolute right-0 top-0 flex flex-row h-full pr-3 justify-end items-center translate-x-[34px] fade-in transition-all`}
+ class={`z-5 absolute el-responsive right-0 top-0 flex flex-row h-full pr-3 justify-end items-center translate-x-[34px] fade-in`}
>
<Glyph
basis={typeof basis.notify_inline.glyph === `string`
diff --git a/apps-lib/src/lib/locales/en/radroots-org.json b/apps-lib/src/lib/locales/en/radroots-org.json
@@ -1,13 +1,13 @@
{
"error": {
+ "*-model-account-schema-active": "Invalid active specification",
+ "*-model-account-schema-nip_05": "Invalid profile name",
+ "*-model-account-schema-nostr_relays": "Invalid nostr relays",
+ "*-model-account-schema-public_key": "Invalid public key",
"*-models-account-add-err": "The account could not be created",
"*-models-account-delete-err": "The account could not be deleted",
"*-models-account-get-err": "The account could not be found",
"*-models-account-nip_05-unique": "The profile name is already registered",
- "*-models-account-update-err": "The account could not be updated",
- "*-model-account-schema-nip_05": "Invalid profile name",
- "*-model-account-schema-active": "Invalid active specification",
- "*-model-account-schema-public_key": "Invalid public key",
- "*-model-account-schema-nostr_relays": "Invalid nostr relays"
+ "*-models-account-update-err": "The account could not be updated"
}
}
\ No newline at end of file
diff --git a/apps-lib/src/lib/types/client.ts b/apps-lib/src/lib/types/client.ts
@@ -41,6 +41,10 @@ export type IRouteOpt = {
route?: NavigationRoute;
};
+export type ILoadingOpt = {
+ loading?: boolean;
+};
+
export type ICbGR<T> = ICbG<T> | IRoute
export type IId = {
diff --git a/apps-lib/src/lib/types/components.ts b/apps-lib/src/lib/types/components.ts
@@ -1,5 +1,5 @@
import type { NavigationRoute } from "$lib/utils/routes";
-import type { CallbackPromise, CallbackPromiseGeneric, ICb, ICbG, ICbGOpt, ICbOpt, IClOpt, IClWrapOpt, IGl, IGlOpt, IIdOpt, IIdWrapOpt, ILabel, ILabelFieldsOpt, ILabelOpt, ILabelOptFieldsOpt, ILyOpt, ILyOptTs, NavigationParamTuple } from "./client";
+import type { CallbackPromise, CallbackPromiseGeneric, ICb, ICbG, ICbGOpt, ICbOpt, IClOpt, IClWrapOpt, IGl, IGlOpt, IIdOpt, IIdWrapOpt, ILabel, ILabelFieldsOpt, ILabelOpt, ILabelOptFieldsOpt, ILoadingOpt, ILyOpt, ILyOptTs, NavigationParamTuple } from "./client";
import type { GlyphKey, GlyphWeight, IGlyph, IInputElement, ITextAreaElement } from "./ui";
export type ITabsBasisList = IClOpt & {
@@ -23,8 +23,10 @@ export type IFormField = {
validate_keypress?: boolean;
};
-export type IEntryLine = IIdWrapOpt & IClWrapOpt & {
+export type IEntryLineStyle = `guide`;
+export type IEntryLine = IIdWrapOpt & IClOpt & ILoadingOpt & {
el: IInputElement;
+ style?: IEntryLineStyle
notify_inline?: {
glyph: GlyphKey | IGlyph;
};
diff --git a/apps-lib/src/lib/utils/carousel.ts b/apps-lib/src/lib/utils/carousel.ts
@@ -44,12 +44,9 @@ export const carousel_next = async <T extends string>(
if (get_store(carousel_active)) return;
carousel_active.set(true);
const slide_item = get_slide_item<T>(view);
- console.log(`slide_item `, slide_item)
const slide_container = get_slide_container<T>(view);
- console.log(`slide_container `, slide_container)
if (slide_container && slide_item) {
const slide_w = slide_item?.clientWidth || 0;
- console.log(`slide_w `, slide_w)
slide_container.scrollLeft += slide_w;
carousel_index.set(
Math.min(get_store(carousel_index) + 1, get_store(carousel_index_max)),
diff --git a/apps-lib/src/lib/utils/routes.ts b/apps-lib/src/lib/utils/routes.ts
@@ -10,8 +10,9 @@ export type NavigationRoute =
| "/models/trade-product/add"
| "/settings"
| "/test"
- | "/conf/error"
- | "/conf/init";
+ | "/device/error"
+ | "/device/init"
+ | "/device/test";
export function parse_route(route: string): NavigationRoute {
switch (route) {
@@ -26,8 +27,9 @@ export function parse_route(route: string): NavigationRoute {
case "/models/trade-product/add":
case "/settings":
case "/test":
- case "/conf/error":
- case "/conf/init":
+ case "/device/error":
+ case "/device/init":
+ case "/device/test":
return route;
default:
return "/";