Still working on upgrading to Tailwind CSS v4 an dSkeleton v3.....
This commit is contained in:
@@ -171,7 +171,7 @@ function handle_clip_video(event) {
|
||||
<h3
|
||||
class="h3"
|
||||
>
|
||||
{Object.entries(hosted_file_obj_kv).length}× files uploaded
|
||||
{Object.entries(hosted_file_obj_kv).length}× files uploaded
|
||||
</h3>
|
||||
|
||||
{#each Object.entries(hosted_file_obj_kv) as [hosted_file_id, hosted_file_obj]}
|
||||
@@ -195,7 +195,7 @@ function handle_clip_video(event) {
|
||||
// delete $ae_loc.files.uploaded_file_kv[hosted_file_obj.hosted_file_id];
|
||||
console.log(`Removed hosted file ID: ${hosted_file_obj.hosted_file_id}`, $ae_loc.files.uploaded_file_kv);
|
||||
}}
|
||||
class="btn btn-sm variant-soft-warning hover:variant-filled-warning"
|
||||
class="btn btn-sm preset-tonal-warning hover:preset-filled-warning-500"
|
||||
title={`Remove this file from list of videos:\n${hosted_file_obj.filename}\n[API] SHA256: ${hosted_file_obj?.hash_sha256?.slice(0, 10)}... Hosted ID: ${hosted_file_obj.hosted_file_id_random}`}
|
||||
>
|
||||
<span class="fas fa-minus-circle m-1"></span>
|
||||
@@ -219,7 +219,7 @@ function handle_clip_video(event) {
|
||||
// window.postMessage({ type: 'download_event_file', hosted_file_id: idaa_archive_content_obj.hosted_file_id, filename: idaa_archive_content_obj.filename, auto_download: true }, '*');
|
||||
}}
|
||||
class:hidden={!$ae_loc.edit_mode}
|
||||
class="novi_btn btn btn-sm lg:btn-md variant-soft-primary hover:variant-filled-primary min-w-72 lg:min-w-96"
|
||||
class="novi_btn btn btn-sm lg:btn-md preset-tonal-primary hover:preset-filled-primary-500 min-w-72 lg:min-w-96"
|
||||
title={`Download this file:\n${hosted_file_obj.filename}\n[API] SHA256: ${hosted_file_obj?.hash_sha256?.slice(0, 10)}... Hosted ID: ${hosted_file_obj.hosted_file_id_random}`}
|
||||
>
|
||||
{#await ae_promises[hosted_file_id]}
|
||||
@@ -270,7 +270,7 @@ function handle_clip_video(event) {
|
||||
<input type="text" class="input w-full text-sm" name="new_filename" value={hosted_file_obj.filename} />
|
||||
</div>
|
||||
|
||||
<div class="max-w-screen-sm flex flex-row gap-1 justify-center items-center w-full">
|
||||
<div class="max-w-(--breakpoint-sm) flex flex-row gap-1 justify-center items-center w-full">
|
||||
<label class="label w-48"
|
||||
title="The start time of the clip. This is the time in the video where the clip will start. You may need to subtract a few seconds to get the exact start time."
|
||||
>
|
||||
@@ -324,7 +324,7 @@ function handle_clip_video(event) {
|
||||
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-lg btn-primary variant-ghost-primary"
|
||||
class="btn btn-lg btn-primary preset-tonal-primary border border-primary-500"
|
||||
disabled={submit_status == 'clipping'}
|
||||
>
|
||||
<!-- {#await ae_promises[hosted_file_id]} -->
|
||||
|
||||
@@ -39,7 +39,7 @@ let ae_promises: key_val = $state({});
|
||||
</script>
|
||||
|
||||
|
||||
<h3 class="h3">{Object.entries($ae_loc.files).length}× files clipped</h3>
|
||||
<h3 class="h3">{Object.entries($ae_loc.files).length}× files clipped</h3>
|
||||
<div class="{class_li_default} {class_li} ">
|
||||
|
||||
{#each Object.entries(video_clip_file_kv) as [hosted_file_id, hosted_file_obj]}
|
||||
@@ -58,7 +58,7 @@ let ae_promises: key_val = $state({});
|
||||
|
||||
// window.postMessage({ type: 'download_event_file', hosted_file_id: idaa_archive_content_obj.hosted_file_id, filename: idaa_archive_content_obj.filename, auto_download: true }, '*');
|
||||
}}
|
||||
class="novi_btn btn btn-sm lg:btn-md variant-soft-primary hover:variant-filled-primary min-w-72 lg:min-w-96"
|
||||
class="novi_btn btn btn-sm lg:btn-md preset-tonal-primary hover:preset-filled-primary-500 min-w-72 lg:min-w-96"
|
||||
title={`Download this file:\n${hosted_file_obj.filename}\n[API] SHA256: ${hosted_file_obj?.hash_sha256?.slice(0, 10)}... Hosted ID: ${hosted_file_obj.hosted_file_id_random}`}
|
||||
>
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ export let accept: string = 'audio/*, image/*, video/*, .bak, .cfg, .css, .csv,
|
||||
export let class_li_default: string = 'flex flex-col gap-1 items-center justify-center w-full max-w-2xl mx-auto my-1';
|
||||
export let class_li: string = '';
|
||||
export let input_class_li: string[] = ['file_drop_area'];
|
||||
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', 'table-hover' , 'text-sm'];
|
||||
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', '' , 'text-sm'];
|
||||
|
||||
export let upload_complete: boolean = false;
|
||||
export let submit_status: null|string = null;
|
||||
@@ -330,7 +330,7 @@ async function handle_input_upload_files(input_upload_files, form_kv, task_id) {
|
||||
{required}
|
||||
{accept}
|
||||
name={input_name}
|
||||
class="svelte_input_file_element file-dropzone-input block w-full text-lg text-gray-900 border border-gray-300 rounded-lg cursor-pointer bg-gray-50 dark:text-gray-400 focus:outline-none dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 {input_class_li.join(' ')}"
|
||||
class="svelte_input_file_element file-dropzone-input block w-full text-lg text-gray-900 border border-gray-300 rounded-lg cursor-pointer bg-gray-50 dark:text-gray-400 focus:outline-hidden dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 {input_class_li.join(' ')}"
|
||||
class:hidden={$ae_sess.files.disable_submit__hosted_file_obj}
|
||||
/>
|
||||
|
||||
@@ -344,7 +344,7 @@ async function handle_input_upload_files(input_upload_files, form_kv, task_id) {
|
||||
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-lg btn-primary variant-ghost-primary hover:variant-ghost-success w-54"
|
||||
class="btn btn-lg btn-primary preset-tonal-primary border border-primary-500 hover:preset-tonal-success border border-success-500 w-54"
|
||||
disabled={$ae_sess.files.disable_submit__hosted_file_obj || $ae_sess.files.status__file_list != 'ready'}
|
||||
>
|
||||
{#await ae_promises.upload__hosted_file_obj}
|
||||
|
||||
@@ -55,7 +55,7 @@ let {
|
||||
download_complete = $bindable(),
|
||||
download_percent = $bindable(),
|
||||
download_status_msg = $bindable('Not started'),
|
||||
classes = 'btn btn-sm lg:btn-md variant-ghost-tertiary hover:variant-filled-tertiary min-w-48'
|
||||
classes = 'btn btn-sm lg:btn-md preset-tonal-tertiary border border-tertiary-500 hover:preset-filled-tertiary-500 min-w-48'
|
||||
}: Props = $props();
|
||||
|
||||
if (log_lvl) {
|
||||
|
||||
@@ -24,7 +24,7 @@ export let accept: string = 'audio/*, image/*, video/*, .bak, .cfg, .css, .csv,
|
||||
export let class_li_default: string = 'flex flex-col gap-1 items-center justify-center w-full max-w-2xl mx-auto my-1';
|
||||
export let class_li: string = '';
|
||||
export let input_class_li: string[] = ['file_drop_area'];
|
||||
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', 'table-hover' , 'text-sm'];
|
||||
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', '' , 'text-sm'];
|
||||
|
||||
export let upload_complete: boolean = false;
|
||||
export let submit_status: null|string = null;
|
||||
@@ -261,7 +261,7 @@ async function handle_input_upload_files(
|
||||
{required}
|
||||
{accept}
|
||||
name={input_name}
|
||||
class="svelte_input_file_element file-dropzone-input block w-full text-lg text-gray-900 border border-gray-300 rounded-lg cursor-pointer bg-gray-50 dark:text-gray-400 focus:outline-none dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 {input_class_li.join(' ')}"
|
||||
class="svelte_input_file_element file-dropzone-input block w-full text-lg text-gray-900 border border-gray-300 rounded-lg cursor-pointer bg-gray-50 dark:text-gray-400 focus:outline-hidden dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 {input_class_li.join(' ')}"
|
||||
class:hidden={$ae_sess.files.disable_submit__hosted_file_obj}
|
||||
/>
|
||||
|
||||
@@ -275,7 +275,7 @@ async function handle_input_upload_files(
|
||||
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-lg btn-primary variant-ghost-primary hover:variant-ghost-success w-54"
|
||||
class="btn btn-lg btn-primary preset-tonal-primary border border-primary-500 hover:preset-tonal-success border border-success-500 w-54"
|
||||
disabled={$ae_sess.files.disable_submit__hosted_file_obj || $ae_sess.files.status__file_list != 'ready'}
|
||||
>
|
||||
{#await ae_promises.upload__hosted_file_obj}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { persisted } from 'svelte-persisted-store';
|
||||
// import { localStorageStore } from '@skeletonlabs/skeleton';
|
||||
import { writable } from 'svelte/store';
|
||||
import type { Writable } from 'svelte/store';
|
||||
|
||||
@@ -90,7 +89,7 @@ let events_local_data_struct: key_val = {
|
||||
'theme_mode': 'dark',
|
||||
'theme_name': 'wintry',
|
||||
|
||||
'classes__form': 'border border-surface-200 p-4 space-y-4 rounded-container-token',
|
||||
'classes__form': 'border border-surface-200 p-4 space-y-4 rounded-container',
|
||||
},
|
||||
|
||||
// Event Files - uploads for sessions, presenters, etc
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { persisted } from 'svelte-persisted-store';
|
||||
// import { localStorageStore } from '@skeletonlabs/skeleton';
|
||||
import { writable } from 'svelte/store';
|
||||
import type { Writable } from 'svelte/store';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { persisted } from 'svelte-persisted-store';
|
||||
// import { localStorageStore } from '@skeletonlabs/skeleton';
|
||||
|
||||
import { writable } from 'svelte/store';
|
||||
import type { Writable } from 'svelte/store';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { persisted } from 'svelte-persisted-store';
|
||||
// import { localStorageStore } from '@skeletonlabs/skeleton';
|
||||
|
||||
import { readable, writable } from 'svelte/store';
|
||||
import type { Readable, Writable } from 'svelte/store';
|
||||
|
||||
@@ -195,7 +195,7 @@ const ae_app_local_data_defaults: key_val = {
|
||||
'theme_mode': 'light',
|
||||
'theme_name': 'wintry', // wintry
|
||||
|
||||
'classes__form': 'border border-surface-200 p-4 space-y-4 rounded-container-token',
|
||||
'classes__form': 'border border-surface-200 p-4 space-y-4 rounded-container',
|
||||
|
||||
'qr': {},
|
||||
},
|
||||
|
||||
@@ -11,21 +11,21 @@ string_snippets['html__not_set'] = `
|
||||
|
||||
string_snippets['classes__core_menu'] = 'flex flex-col items-center space-y-1 border border-blue-200 rounded-md py-1 px-2 hover:bg-blue-100';
|
||||
|
||||
string_snippets['classes__core_menu__button'] = 'btn btn-sm mx-1 variant-soft-tertiary text-info-300 hover:text-info-800';
|
||||
string_snippets['classes__core_menu__button_highlight'] = 'btn btn-sm mx-1 variant-filled-tertiary text-info-300 hover:text-info-800';
|
||||
string_snippets['classes__core_menu__button_warning'] = 'btn btn-sm mx-1 variant-soft-warning text-info-300 hover:text-info-800';
|
||||
string_snippets['classes__core_menu__button'] = 'btn btn-sm mx-1 preset-tonal-tertiary text-info-300 hover:text-info-800';
|
||||
string_snippets['classes__core_menu__button_highlight'] = 'btn btn-sm mx-1 preset-filled-tertiary-500 text-info-300 hover:text-info-800';
|
||||
string_snippets['classes__core_menu__button_warning'] = 'btn btn-sm mx-1 preset-tonal-warning text-info-300 hover:text-info-800';
|
||||
|
||||
// string_snippets['classes__events_pres_mgmt_menu'] = 'flex flex-col items-center space-y-1 border border-blue-200 rounded-md py-1 px-2 hover:bg-blue-100 transition-all duration-700 hover:duration-300';
|
||||
string_snippets['classes__events_pres_mgmt_menu'] = 'w-full flex flex-col items-center gap-1 border border-gray-200 rounded-md p-1 hover:bg-gray-100 transition-all duration-700 hover:duration-300';
|
||||
|
||||
string_snippets['classes__events_pres_mgmt_menu__button'] = 'btn btn-sm mx-1 variant-glass-secondary hover:variant-filled-secondary';
|
||||
string_snippets['classes__events_pres_mgmt_menu__button_special'] = 'btn btn-sm mx-1 hover:variant-filled-primary';
|
||||
string_snippets['classes__events_pres_mgmt_menu__button'] = 'btn btn-sm mx-1 preset-tonal-secondary hover:preset-filled-secondary-500';
|
||||
string_snippets['classes__events_pres_mgmt_menu__button_special'] = 'btn btn-sm mx-1 hover:preset-filled-primary-500';
|
||||
|
||||
// string_snippets['classes__events_pres_mgmt_menu__button'] = 'btn btn-sm mx-1 variant-soft-tertiary text-info-300 hover:text-info-800 hover:variant-filled-tertiary';
|
||||
// string_snippets['classes__events_pres_mgmt_menu__button_special'] = 'btn btn-sm mx-1 variant-ghost-tertiary text-info-300 hover:text-info-800 hover:variant-filled-tertiary';
|
||||
string_snippets['classes__events_pres_mgmt_menu__button_highlight'] = 'btn btn-sm mx-1 variant-filled-tertiary text-info-300 hover:text-info-800';
|
||||
string_snippets['classes__events_pres_mgmt_menu__button_warning'] = 'btn btn-sm mx-1 variant-soft-warning text-info-300 hover:text-info-800';
|
||||
string_snippets['classes__events_pres_mgmt_menu__button_warning_special'] = 'btn btn-sm mx-1 variant-glass-warning';
|
||||
string_snippets['classes__events_pres_mgmt_menu__button_highlight'] = 'btn btn-sm mx-1 preset-filled-tertiary-500 text-info-300 hover:text-info-800';
|
||||
string_snippets['classes__events_pres_mgmt_menu__button_warning'] = 'btn btn-sm mx-1 preset-tonal-warning text-info-300 hover:text-info-800';
|
||||
string_snippets['classes__events_pres_mgmt_menu__button_warning_special'] = 'btn btn-sm mx-1 preset-tonal-warning';
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
'absolute left-2 top-2 h-4 rounded px-1 py-2 text-xs capitalize text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100'
|
||||
})}
|
||||
>{defaultLanguage}
|
||||
<ChevronDown class="!size-3" />
|
||||
<ChevronDown class="size-3!" />
|
||||
</DropdownMenu.Trigger>
|
||||
<DropdownMenu.Content class="h-60 w-40 overflow-auto" contenteditable="false">
|
||||
{#each languages as language}
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
<input
|
||||
value={node.attrs.title}
|
||||
type="text"
|
||||
class="my-1 w-full bg-transparent text-center text-sm text-muted-foreground outline-none"
|
||||
class="my-1 w-full bg-transparent text-center text-sm text-muted-foreground outline-hidden"
|
||||
onchange={(e) => {
|
||||
if (e.target === null) return;
|
||||
//@ts-ignore
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
@import "tailwindcss/preflight";
|
||||
@tailwind utilities;
|
||||
|
||||
|
||||
.tiptap :where(p):not(:where([class~='not-prose'], [class~='not-prose'] *)) {
|
||||
margin-top: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
@@ -5,7 +9,7 @@
|
||||
|
||||
.tiptap code:not(pre code) {
|
||||
/* Remove the before and after pseudo elements */
|
||||
@apply rounded border bg-muted/50 p-1 before:content-[''] after:content-[''];
|
||||
@apply rounded-sm border bg-muted/50 p-1 before:content-[''] after:content-[''];
|
||||
}
|
||||
|
||||
.tiptap blockquote p {
|
||||
@@ -54,7 +58,7 @@ ul[data-type='taskList'] li[data-checked='true'] div {
|
||||
}
|
||||
|
||||
input[type='checkbox'] {
|
||||
@apply size-4 cursor-pointer rounded !important;
|
||||
@apply size-4 cursor-pointer rounded-sm !important;
|
||||
}
|
||||
|
||||
ul[data-type='taskList'] ul[data-type='taskList'] {
|
||||
@@ -67,7 +71,7 @@ ul[data-type='taskList'] ul[data-type='taskList'] {
|
||||
}
|
||||
|
||||
.color::before {
|
||||
@apply mb-[0.15rem] mr-[0.1rem] inline-block size-[1rem] rounded border border-muted align-middle;
|
||||
@apply mb-[0.15rem] mr-[0.1rem] inline-block size-[1rem] rounded-sm border border-muted align-middle;
|
||||
background-color: var(--color);
|
||||
content: ' ';
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
onclick={() => editor.chain().focus()}
|
||||
>
|
||||
<Highlighter />
|
||||
<ChevronDown class="!size-3 text-muted-foreground" />
|
||||
<ChevronDown class="size-3! text-muted-foreground" />
|
||||
</Button>
|
||||
</Popover.Trigger>
|
||||
<Popover.Content class="bg-popover shadow-lg *:my-2">
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<Popover.Trigger>
|
||||
<Button variant="ghost" size="sm" class="h-8">
|
||||
<Image />
|
||||
<ChevronDown class="!size-3 text-muted-foreground" />
|
||||
<ChevronDown class="size-3! text-muted-foreground" />
|
||||
</Button>
|
||||
</Popover.Trigger>
|
||||
<Popover.Content class="bg-popover shadow-lg *:my-2">
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
class={cn('h-8', editor.isActive('link') && 'bg-muted')}
|
||||
>
|
||||
<Link />
|
||||
<ChevronDown class="!size-3 text-muted-foreground" />
|
||||
<ChevronDown class="size-3! text-muted-foreground" />
|
||||
</Button>
|
||||
</Popover.Trigger>
|
||||
<Popover.Content class="bg-popover shadow-lg *:my-2">
|
||||
|
||||
@@ -30,10 +30,10 @@
|
||||
<DropdownMenu.Trigger>
|
||||
<Button variant="ghost" size="sm" class="h-8" style={`color: ${currentColor}`}>
|
||||
A
|
||||
<ChevronDown class="!size-3" />
|
||||
<ChevronDown class="size-3!" />
|
||||
</Button>
|
||||
</DropdownMenu.Trigger>
|
||||
<DropdownMenu.Content class="max-h-[25rem] w-40 overflow-auto">
|
||||
<DropdownMenu.Content class="max-h-100 w-40 overflow-auto">
|
||||
<DropdownMenu.Group>
|
||||
<span class="text-[0.75rem] font-medium text-muted-foreground">Text Color</span>
|
||||
{#each colors as color}
|
||||
@@ -56,7 +56,7 @@
|
||||
>
|
||||
<span>{color.label}</span>
|
||||
{#if editor.isActive('textStyle', { color: color.value })}
|
||||
<Check class="absolute right-2 !size-3 text-muted-foreground" />
|
||||
<Check class="absolute right-2 size-3! text-muted-foreground" />
|
||||
{/if}
|
||||
</DropdownMenu.Item>
|
||||
{/each}
|
||||
@@ -80,7 +80,7 @@
|
||||
>
|
||||
<span>{color.label}</span>
|
||||
{#if editor.isActive('highlight', { color: color.value })}
|
||||
<Check class="absolute right-2 !size-3 text-muted-foreground" />
|
||||
<Check class="absolute right-2 size-3! text-muted-foreground" />
|
||||
{/if}
|
||||
</DropdownMenu.Item>
|
||||
{/each}
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
<DropdownMenu.Trigger>
|
||||
<Button variant="ghost" size="sm" class="h-8">
|
||||
<Table />
|
||||
<ChevronDown class="!size-3" />
|
||||
<ChevronDown class="size-3!" />
|
||||
</Button>
|
||||
</DropdownMenu.Trigger>
|
||||
<DropdownMenu.Content class="max-h-[25rem] w-40 overflow-auto">
|
||||
<DropdownMenu.Content class="max-h-100 w-40 overflow-auto">
|
||||
<DropdownMenu.Item
|
||||
onclick={() =>
|
||||
editor.chain().focus().insertTable({ rows: 3, cols: 3, withHeaderRow: true }).run()}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
{:else}
|
||||
<Minus />
|
||||
{/if}
|
||||
<ChevronDown class="!size-3 text-muted-foreground" />
|
||||
<ChevronDown class="size-3! text-muted-foreground" />
|
||||
</Button>
|
||||
</DropdownMenu.Trigger>
|
||||
<DropdownMenu.Content class="w-56">
|
||||
@@ -46,7 +46,7 @@
|
||||
>
|
||||
<Heading1 /> Heading 1
|
||||
{#if editor.isActive('heading', { level: 1 })}
|
||||
<Check class="absolute right-2 !size-3 text-muted-foreground" />
|
||||
<Check class="absolute right-2 size-3! text-muted-foreground" />
|
||||
{/if}
|
||||
</DropdownMenu.Item>
|
||||
<DropdownMenu.Item
|
||||
@@ -55,7 +55,7 @@
|
||||
>
|
||||
<Heading2 /> Heading 2
|
||||
{#if editor.isActive('heading', { level: 2 })}
|
||||
<Check class="absolute right-2 !size-3 text-muted-foreground" />
|
||||
<Check class="absolute right-2 size-3! text-muted-foreground" />
|
||||
{/if}
|
||||
</DropdownMenu.Item>
|
||||
<DropdownMenu.Item
|
||||
@@ -64,7 +64,7 @@
|
||||
>
|
||||
<Heading3 /> Heading 3
|
||||
{#if editor.isActive('heading', { level: 3 })}
|
||||
<Check class="absolute right-2 !size-3 text-muted-foreground" />
|
||||
<Check class="absolute right-2 size-3! text-muted-foreground" />
|
||||
{/if}
|
||||
</DropdownMenu.Item>
|
||||
<DropdownMenu.Item
|
||||
@@ -73,7 +73,7 @@
|
||||
>
|
||||
<Pilcrow /> Paragraph
|
||||
{#if editor.isActive('paragraph')}
|
||||
<Check class="absolute right-2 !size-3 text-muted-foreground" />
|
||||
<Check class="absolute right-2 size-3! text-muted-foreground" />
|
||||
{/if}
|
||||
</DropdownMenu.Item>
|
||||
<DropdownMenu.Item
|
||||
@@ -82,7 +82,7 @@
|
||||
>
|
||||
<FileJson /> Code Block
|
||||
{#if editor.isActive('codeBlock')}
|
||||
<Check class="absolute right-2 !size-3 text-muted-foreground" />
|
||||
<Check class="absolute right-2 size-3! text-muted-foreground" />
|
||||
{/if}
|
||||
</DropdownMenu.Item>
|
||||
</DropdownMenu.Content>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
{:else}
|
||||
<AlignLeft />
|
||||
{/if}
|
||||
<ChevronDown class="!size-3 text-muted-foreground" />
|
||||
<ChevronDown class="size-3! text-muted-foreground" />
|
||||
</Button>
|
||||
</DropdownMenu.Trigger>
|
||||
<DropdownMenu.Content class="w-56">
|
||||
@@ -42,7 +42,7 @@
|
||||
>
|
||||
<AlignLeft /> Align Left
|
||||
{#if editor.isActive({ textAlign: 'left' })}
|
||||
<Check class="absolute right-2 !size-3 text-muted-foreground" />
|
||||
<Check class="absolute right-2 size-3! text-muted-foreground" />
|
||||
{/if}
|
||||
</DropdownMenu.Item>
|
||||
<DropdownMenu.Item
|
||||
@@ -51,7 +51,7 @@
|
||||
>
|
||||
<AlignCenter /> Align Center
|
||||
{#if editor.isActive({ textAlign: 'center' })}
|
||||
<Check class="absolute right-2 !size-3 text-muted-foreground" />
|
||||
<Check class="absolute right-2 size-3! text-muted-foreground" />
|
||||
{/if}
|
||||
</DropdownMenu.Item>
|
||||
<DropdownMenu.Item
|
||||
@@ -60,7 +60,7 @@
|
||||
>
|
||||
<AlignRight /> Align Right
|
||||
{#if editor.isActive({ textAlign: 'right' })}
|
||||
<Check class="absolute right-2 !size-3 text-muted-foreground" />
|
||||
<Check class="absolute right-2 size-3! text-muted-foreground" />
|
||||
{/if}
|
||||
</DropdownMenu.Item>
|
||||
<DropdownMenu.Item
|
||||
@@ -69,7 +69,7 @@
|
||||
>
|
||||
<AlignJustify /> Align Justify
|
||||
{#if editor.isActive({ textAlign: 'justify' })}
|
||||
<Check class="absolute right-2 !size-3 text-muted-foreground" />
|
||||
<Check class="absolute right-2 size-3! text-muted-foreground" />
|
||||
{/if}
|
||||
</DropdownMenu.Item>
|
||||
</DropdownMenu.Content>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
onclick={() => editor.chain().focus()}
|
||||
>
|
||||
<Baseline />
|
||||
<ChevronDown class="!size-3 text-muted-foreground" />
|
||||
<ChevronDown class="size-3! text-muted-foreground" />
|
||||
</Button>
|
||||
</Popover.Trigger>
|
||||
<Popover.Content class="bg-popover shadow-lg *:my-2">
|
||||
|
||||
@@ -68,7 +68,7 @@ onMount(() => {
|
||||
editorProps: {
|
||||
attributes: {
|
||||
class:
|
||||
'm-auto p-2 focus:outline-none flex-1 prose text-foreground min-w-full max-h-full overflow-auto dark:prose-invert *:my-2'
|
||||
'm-auto p-2 focus:outline-hidden flex-1 prose text-foreground min-w-full max-h-full overflow-auto dark:prose-invert *:my-2'
|
||||
}
|
||||
},
|
||||
extensions: [
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
import { type VariantProps, tv } from "tailwind-variants";
|
||||
|
||||
export const buttonVariants = tv({
|
||||
base: "ring-offset-background focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
||||
base: "ring-offset-background focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
||||
variants: {
|
||||
variant: {
|
||||
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
bind:checked
|
||||
bind:indeterminate
|
||||
class={cn(
|
||||
"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
||||
"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50",
|
||||
className
|
||||
)}
|
||||
{...restProps}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
bind:ref
|
||||
{sideOffset}
|
||||
class={cn(
|
||||
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-md outline-none",
|
||||
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 overflow-hidden rounded-md border p-1 shadow-md outline-hidden",
|
||||
className
|
||||
)}
|
||||
{...restProps}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<DropdownMenuPrimitive.Item
|
||||
bind:ref
|
||||
class={cn(
|
||||
"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
||||
"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
||||
inset && "pl-8",
|
||||
className
|
||||
)}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<DropdownMenuPrimitive.RadioItem
|
||||
bind:ref
|
||||
class={cn(
|
||||
"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
||||
"data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden data-disabled:pointer-events-none data-disabled:opacity-50",
|
||||
className
|
||||
)}
|
||||
{...restProps}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<DropdownMenuPrimitive.SubContent
|
||||
bind:ref
|
||||
class={cn(
|
||||
"bg-popover text-popover-foreground z-50 min-w-[8rem] rounded-md border p-1 shadow-lg focus:outline-none",
|
||||
"bg-popover text-popover-foreground z-50 min-w-32 rounded-md border p-1 shadow-lg focus:outline-hidden",
|
||||
className
|
||||
)}
|
||||
{...restProps}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<DropdownMenuPrimitive.SubTrigger
|
||||
bind:ref
|
||||
class={cn(
|
||||
"data-[highlighted]:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
||||
"data-[highlighted]:bg-accent data-[state=open]:bg-accent flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
||||
inset && "pl-8",
|
||||
className
|
||||
)}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<input
|
||||
bind:this={ref}
|
||||
class={cn(
|
||||
"border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border px-3 py-2 text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
||||
"border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border px-3 py-2 text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
||||
className
|
||||
)}
|
||||
bind:value
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
{sideOffset}
|
||||
{align}
|
||||
class={cn(
|
||||
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none",
|
||||
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-hidden",
|
||||
className
|
||||
)}
|
||||
{...restProps}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
bind:ref
|
||||
class={cn(
|
||||
"bg-border shrink-0",
|
||||
orientation === "horizontal" ? "h-[1px] w-full" : "min-h-full w-[1px]",
|
||||
orientation === "horizontal" ? "h-px w-full" : "min-h-full w-px",
|
||||
className
|
||||
)}
|
||||
{orientation}
|
||||
|
||||
@@ -326,7 +326,7 @@ function handle_clear_access() {
|
||||
// tick();
|
||||
return false;
|
||||
}}
|
||||
class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all hover:transition-all *:hover:inline"
|
||||
class="btn btn-sm preset-tonal-success border border-success-500 hover:preset-filled-success-500 transition-all hover:transition-all *:hover:inline"
|
||||
title="Syncing the local configuration with the remote configuration."
|
||||
>
|
||||
<span class="fas fa-sync m-1"></span>
|
||||
@@ -348,7 +348,7 @@ function handle_clear_access() {
|
||||
// tick();
|
||||
return true;
|
||||
}}
|
||||
class="btn btn-sm variant-ghost-warning hover:variant-filled-warning transition-all hover:transition-all *:hover:inline"
|
||||
class="btn btn-sm preset-tonal-warning border border-warning-500 hover:preset-filled-warning-500 transition-all hover:transition-all *:hover:inline"
|
||||
title="Currently not syncing with the remote server. Re-sync the local configuration with the remote configuration?"
|
||||
>
|
||||
<span class="fas fa-unlink m-1"></span>
|
||||
@@ -402,7 +402,7 @@ function handle_clear_access() {
|
||||
// handle_check_access_type_passcode();
|
||||
trigger = true;
|
||||
}}
|
||||
class="btn btn-sm variant-glass-success hover:variant-filled-warning access_type_unlock_btn transition-all"
|
||||
class="btn btn-sm preset-tonal-success hover:preset-filled-warning-500 access_type_unlock_btn transition-all"
|
||||
title="Anonymous public access is currently set. Access mode is disabled/locked."
|
||||
>
|
||||
<span class="fas fa-lock mx-1"></span>
|
||||
@@ -460,7 +460,7 @@ function handle_clear_access() {
|
||||
// trigger_clear_access = true;
|
||||
show_passcode_input = !show_passcode_input;
|
||||
}}
|
||||
class="btn btn-sm variant-outline-surface hover:variant-ghost-warning transition-all"
|
||||
class="btn btn-sm variant-outline-surface hover:preset-tonal-warning border border-warning-500 transition-all"
|
||||
title={`Current user access level: "${$ae_loc.user_access_type}". Click use passcode for a different access level.`}
|
||||
>
|
||||
<!-- <span class="fas fa-lock mx-1"></span> -->
|
||||
@@ -476,7 +476,7 @@ function handle_clear_access() {
|
||||
trigger_clear_access = true;
|
||||
// show_passcode_input = true;
|
||||
}}
|
||||
class="btn btn-sm variant-outline-warning hover:variant-ghost-warning transition-all"
|
||||
class="btn btn-sm variant-outline-warning hover:preset-tonal-warning border border-warning-500 transition-all"
|
||||
title={`Current access level: "${$ae_loc.access_type}". Click to clear the temporary access level.`}
|
||||
>
|
||||
<!-- <span class="fas fa-lock mx-1"></span> -->
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { onMount } from 'svelte';
|
||||
// import { RadioGroup, RadioItem } from '@skeletonlabs/skeleton';
|
||||
|
||||
import { ae_util } from '$lib/ae_utils/ae_utils';
|
||||
import { ae_loc, ae_sess, ae_api, slct, slct_trigger } from '$lib/ae_stores';
|
||||
@@ -173,7 +172,7 @@ function handle_clear_storage(item: null|string) {
|
||||
|
||||
<h2 class="strong">Utilities:</h2>
|
||||
<a
|
||||
class="btn btn-sm variant-glass-secondary"
|
||||
class="btn btn-sm preset-tonal-secondary"
|
||||
href="/hosted_files"
|
||||
>
|
||||
<span class="fas fa-code mx-1"></span>
|
||||
@@ -182,7 +181,7 @@ function handle_clear_storage(item: null|string) {
|
||||
|
||||
{#if $ae_loc.iframe}
|
||||
<a
|
||||
class="btn btn-sm variant-glass-secondary"
|
||||
class="btn btn-sm preset-tonal-secondary"
|
||||
href="/?iframe=false"
|
||||
>
|
||||
<span class="fas fa-code mx-1"></span>
|
||||
@@ -190,7 +189,7 @@ function handle_clear_storage(item: null|string) {
|
||||
</a>
|
||||
{:else}
|
||||
<a
|
||||
class="btn btn-sm variant-glass-secondary"
|
||||
class="btn btn-sm preset-tonal-secondary"
|
||||
href="/?iframe=true"
|
||||
>
|
||||
<span class="fas fa-code mx-1"></span>
|
||||
@@ -200,7 +199,7 @@ function handle_clear_storage(item: null|string) {
|
||||
|
||||
<div>
|
||||
<button
|
||||
class="btn btn-sm variant-glass-warning"
|
||||
class="btn btn-sm preset-tonal-warning"
|
||||
title="Reload and clear the page cache"
|
||||
on:click={() => {
|
||||
// $ae_loc.
|
||||
@@ -209,12 +208,12 @@ function handle_clear_storage(item: null|string) {
|
||||
>
|
||||
<span class="fas fa-sync mx-1"></span>
|
||||
Reload
|
||||
&
|
||||
&
|
||||
<span class="fas fa-trash mx-1"></span>
|
||||
Clear Cache
|
||||
</button>
|
||||
<button
|
||||
class="btn btn-sm variant-glass-warning"
|
||||
class="btn btn-sm preset-tonal-warning"
|
||||
title="Clear the browser storage for this page"
|
||||
on:click={() => {
|
||||
if (!confirm('Are you sure you want to clear the local and session storage?')) {
|
||||
@@ -234,7 +233,7 @@ function handle_clear_storage(item: null|string) {
|
||||
}}
|
||||
>
|
||||
<span class="fas fa-eraser mx-1"></span>
|
||||
Clear Storage & DB
|
||||
Clear Storage & DB
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -246,7 +245,7 @@ function handle_clear_storage(item: null|string) {
|
||||
|
||||
|
||||
<button
|
||||
class="btn btn-sm variant-glass-warning ae_cfg_btn hover:transition-all"
|
||||
class="btn btn-sm preset-tonal-warning ae_cfg_btn hover:transition-all"
|
||||
on:click={() => {
|
||||
$ae_loc.app_cfg.show_element__cfg_detail = !$ae_loc.app_cfg.show_element__cfg_detail;
|
||||
}}
|
||||
|
||||
@@ -106,7 +106,7 @@ hover:opacity-100 -->
|
||||
$ae_loc.debug_mode = !$ae_loc?.debug_mode;
|
||||
}}
|
||||
class="
|
||||
btn btn-sm variant-ghost-surface hover:variant-ghost-warning
|
||||
btn btn-sm preset-tonal-surface border border-surface-500 hover:preset-tonal-warning border border-warning-500
|
||||
transition-all *:hover:inline-block
|
||||
|
||||
|
||||
@@ -141,7 +141,7 @@ hover:opacity-100 -->
|
||||
$ae_loc.debug_menu = !$ae_loc?.debug_menu;
|
||||
}}
|
||||
class="
|
||||
btn btn-sm variant-ghost-surface hover:variant-ghost-warning
|
||||
btn btn-sm preset-tonal-surface border border-surface-500 hover:preset-tonal-warning border border-warning-500
|
||||
transition-all *:hover:inline-block
|
||||
"
|
||||
title="Turn debug content and styles off and on"
|
||||
@@ -166,8 +166,8 @@ hover:opacity-100 -->
|
||||
id="AE-Quick-Debug"
|
||||
class="
|
||||
btn btn-icon
|
||||
variant-ghost-surface
|
||||
hover:variant-ghost-warning
|
||||
preset-tonal-surface border border-surface-500
|
||||
hover:preset-tonal-warning border border-warning-500
|
||||
transition-all
|
||||
fixed bottom-2 left-2
|
||||
text-gray-400 hover:text-gray-800
|
||||
@@ -176,7 +176,7 @@ hover:opacity-100 -->
|
||||
>
|
||||
<!-- absolute bottom-2 left-2 -->
|
||||
<!-- fixed bottom-0 left-0 -->
|
||||
π
|
||||
π
|
||||
</button>
|
||||
|
||||
</section>
|
||||
|
||||
@@ -357,7 +357,7 @@ async function handle_change_password() {
|
||||
>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm variant-outline-warning hover:variant-ghost-warning *:hover:inline w-full"
|
||||
class="btn btn-sm variant-outline-warning hover:preset-tonal-warning border border-warning-500 *:hover:inline w-full"
|
||||
title="Sign In"
|
||||
onclick={() => {
|
||||
$ae_sess.show__sign_in_out__fields = !$ae_sess.show__sign_in_out__fields; // Toggle the visibility of the sign-in form
|
||||
@@ -453,7 +453,7 @@ async function handle_change_password() {
|
||||
>
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary"
|
||||
class="btn btn-sm preset-tonal-secondary border border-secondary-500 hover:preset-filled-secondary-500"
|
||||
title="Look up user by email and send sign in email"
|
||||
>
|
||||
<!-- <User class="mx-1" /> -->
|
||||
@@ -686,7 +686,7 @@ async function handle_change_password() {
|
||||
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary"
|
||||
class="btn btn-sm preset-tonal-secondary border border-secondary-500 hover:preset-filled-secondary-500"
|
||||
title="Sign in with username and password"
|
||||
>
|
||||
<!-- <LogIn class="mx-1" /> -->
|
||||
@@ -711,7 +711,7 @@ async function handle_change_password() {
|
||||
{#if $ae_loc.edit_mode}
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm variant-ghost-warning hover:variant-filled-warning"
|
||||
class="btn btn-sm preset-tonal-warning border border-warning-500 hover:preset-filled-warning-500"
|
||||
title="Change Password"
|
||||
onclick={() => {
|
||||
$ae_sess.show__modal_change_password = true;
|
||||
@@ -727,7 +727,7 @@ async function handle_change_password() {
|
||||
<!-- Display sign out option if the user is signed in -->
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm variant-ghost-warning hover:variant-filled-warning"
|
||||
class="btn btn-sm preset-tonal-warning border border-warning-500 hover:preset-filled-warning-500"
|
||||
title="Sign Out"
|
||||
onclick={async () => {
|
||||
if (confirm('Are you sure you want to sign out?')) {
|
||||
@@ -813,7 +813,7 @@ async function handle_change_password() {
|
||||
<!-- Show/Hide Password Text -->
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-icon variant-soft-secondary"
|
||||
class="btn btn-icon preset-tonal-secondary"
|
||||
onclick={() => {
|
||||
// const inputs = document.querySelectorAll('.modal-box input[type="password"]');
|
||||
// inputs.forEach((input) => {
|
||||
@@ -848,7 +848,7 @@ async function handle_change_password() {
|
||||
<div class="flex flex-row flex-wrap gap-2">
|
||||
<button
|
||||
type="button"
|
||||
class="btn variant-filled-warning"
|
||||
class="btn preset-filled-warning-500"
|
||||
onclick={handle_change_password}
|
||||
disabled={is_changing_password}
|
||||
>
|
||||
@@ -857,7 +857,7 @@ async function handle_change_password() {
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn variant-glass-secondary"
|
||||
class="btn preset-tonal-secondary"
|
||||
onclick={() => ($ae_sess.show__modal_change_password = false)}
|
||||
>
|
||||
<CircleX class="mx-1" />
|
||||
|
||||
@@ -103,7 +103,7 @@ max-w-max -->
|
||||
dark:text-slate-400 dark:hover:text-slate-200
|
||||
hover:bg-blue-200/50 hover:dark:bg-blue-900
|
||||
|
||||
border-2 rounded
|
||||
border-2
|
||||
border-blue-300/20 dark:border-blue-700
|
||||
hover:border-blue-500 hover:dark:border-blue-500
|
||||
|
||||
@@ -136,7 +136,7 @@ max-w-max -->
|
||||
w-full
|
||||
|
||||
bg-white/10 dark:dark-gray-800/10
|
||||
hover:bg-red-100/50 dark:hover:bg-gray-800/100
|
||||
hover:bg-red-100/50 dark:hover:bg-gray-800
|
||||
|
||||
relative
|
||||
*:hover:inline
|
||||
@@ -182,7 +182,7 @@ max-w-max -->
|
||||
$ae_loc.edit_mode = false;
|
||||
// dispatch_edit_mode_changed();
|
||||
}}
|
||||
class="btn btn-md px-2 variant-ghost-success hover:variant-filled-success transition-all
|
||||
class="btn btn-md px-2 preset-tonal-success border border-success-500 hover:preset-filled-success-500 transition-all
|
||||
|
||||
"
|
||||
title="Edit mode is currently enabled. Click to disable."
|
||||
@@ -202,7 +202,7 @@ max-w-max -->
|
||||
$ae_loc.edit_mode = true;
|
||||
// dispatch_edit_mode_changed();
|
||||
}}
|
||||
class="btn btn-md px-2 variant-ghost-warning hover:variant-filled-warning transition-all space-x-0 *:hover:inline"
|
||||
class="btn btn-md px-2 preset-tonal-warning border border-warning-500 hover:preset-filled-warning-500 transition-all space-x-0 *:hover:inline"
|
||||
title="Edit mode is currently disabled. Click to enable."
|
||||
>
|
||||
<span class="fas fa-toggle-off mx-1"></span>
|
||||
@@ -266,7 +266,7 @@ max-w-max -->
|
||||
// $ae_loc.app_cfg.show_element__menu_btn = true;
|
||||
}
|
||||
}}
|
||||
class="btn btn-sm variant-outline-surface hover:variant-ghost-warning transition-all *:hover:inline"
|
||||
class="btn btn-sm variant-outline-surface hover:preset-tonal-warning border border-warning-500 transition-all *:hover:inline"
|
||||
title={`Current user access level: "${$ae_loc.user_access_type}". Click use passcode for a different access level.`}
|
||||
>
|
||||
<!-- <span class="fas fa-lock mx-1"></span> -->
|
||||
@@ -297,7 +297,7 @@ max-w-max -->
|
||||
$ae_loc.app_cfg.show_element__menu_btn = true;
|
||||
}
|
||||
}}
|
||||
class="btn btn-sm variant-outline-surface hover:variant-ghost-warning transition-all hidden"
|
||||
class="btn btn-sm variant-outline-surface hover:preset-tonal-warning border border-warning-500 transition-all hidden"
|
||||
title={`Current access level: "${$ae_loc.access_type}". Click to clear the temporary access level.`}
|
||||
>
|
||||
<!-- <span class="fas fa-lock mx-1"></span> Lock? -->
|
||||
@@ -326,7 +326,7 @@ max-w-max -->
|
||||
// $ae_loc.app_cfg.show_element__menu_btn = !$ae_loc?.app_cfg?.show_element__menu_btn;
|
||||
}}
|
||||
class="
|
||||
btn btn-sm variant-outline-surface hover:variant-ghost-success transition-all
|
||||
btn btn-sm variant-outline-surface hover:preset-tonal-success border border-success-500 transition-all
|
||||
*:hover:inline
|
||||
"
|
||||
title="Anonymous public access is currently set. You must Sign In or use a passcode to change your access level."
|
||||
@@ -345,7 +345,7 @@ max-w-max -->
|
||||
class:w-48={$ae_loc?.app_cfg?.show_element__menu}
|
||||
class:visible={$ae_loc?.app_cfg?.show_element__menu}
|
||||
class:invisible={!$ae_loc?.app_cfg?.show_element__menu}
|
||||
class="btn btn-sm variant-outline-tertiary hover:variant-ghost-success px-6 py-1"
|
||||
class="btn btn-sm variant-outline-tertiary hover:preset-tonal-success border border-success-500 px-6 py-1"
|
||||
title="Show or hide the menu"
|
||||
onclick={async () => {
|
||||
if (!$ae_loc?.app_cfg?.show_element__menu) {
|
||||
@@ -425,7 +425,7 @@ max-w-max -->
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm variant-outline-tertiary hover:variant-ghost-success *:hover:inline px-6 py-1"
|
||||
class="btn btn-sm variant-outline-tertiary hover:preset-tonal-success border border-success-500 *:hover:inline px-6 py-1"
|
||||
title="Sign In"
|
||||
onclick={() => {
|
||||
if (!$ae_loc?.app_cfg?.show_element__menu) {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<script lang="ts">
|
||||
import { RadioGroup, RadioItem } from '@skeletonlabs/skeleton';
|
||||
|
||||
import {
|
||||
Moon, Sun
|
||||
@@ -28,7 +27,7 @@ if ($ae_loc.app_cfg.theme_mode == 'light') {
|
||||
-->
|
||||
<section class="space-y-2">
|
||||
<button
|
||||
class="btn btn-sm variant-glass-secondary hover:variant-filled-secondary"
|
||||
class="btn btn-sm preset-tonal-secondary hover:preset-filled-secondary-500"
|
||||
onclick={() => {
|
||||
if ($ae_loc.theme_mode == 'light') {
|
||||
$ae_loc.theme_mode = 'dark';
|
||||
@@ -49,12 +48,12 @@ if ($ae_loc.app_cfg.theme_mode == 'light') {
|
||||
<!-- <span class="fas fa-adjust"></span> -->
|
||||
{#if $ae_loc.theme_mode == 'light'}
|
||||
<Sun />
|
||||
<span class="hidden md:inline">Light Mode</span>
|
||||
<span class="hidden md:inline-block">Light Mode</span>
|
||||
{:else if $ae_loc.theme_mode == 'dark'}
|
||||
<Moon />
|
||||
<span class="hidden md:inline">Dark Mode</span>
|
||||
<span class="hidden md:inline-block">Dark Mode</span>
|
||||
{/if}
|
||||
<span class="hidden md:inline">
|
||||
<span class="hidden md:inline-block">
|
||||
Change Theme
|
||||
</span>
|
||||
</button>
|
||||
|
||||
@@ -156,7 +156,7 @@ async function handle_obj_field_patch(new_field_value: any) {
|
||||
<slot></slot>
|
||||
|
||||
<button
|
||||
class="btn btn-sm variant-soft-warning hover:variant-ghost-error field_show_btn"
|
||||
class="btn btn-sm preset-tonal-warning hover:preset-tonal-error border border-error-500 field_show_btn"
|
||||
class:hide_edit_btn
|
||||
class:show_crud
|
||||
on:dblclick={() => {
|
||||
@@ -178,7 +178,7 @@ async function handle_obj_field_patch(new_field_value: any) {
|
||||
</span>
|
||||
|
||||
<button
|
||||
class="btn btn-md variant-glass-tertiary hover:variant-ghost-tertiary m-1 transition-all"
|
||||
class="btn btn-md preset-tonal-tertiary hover:preset-tonal-tertiary border border-tertiary-500 m-1 transition-all"
|
||||
class:show_crud
|
||||
on:click={() => {
|
||||
show_crud = false;
|
||||
@@ -235,20 +235,20 @@ async function handle_obj_field_patch(new_field_value: any) {
|
||||
{/if}
|
||||
{#if allow_null}
|
||||
<button
|
||||
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning m-1"
|
||||
class="btn btn-sm preset-tonal-warning hover:preset-tonal-warning border border-warning-500 m-1"
|
||||
on:click={() => {
|
||||
field_value = null;
|
||||
}}
|
||||
title="Set value to NULL"
|
||||
>
|
||||
Ø
|
||||
Ø
|
||||
NULL
|
||||
</button>
|
||||
{/if}
|
||||
</span>
|
||||
|
||||
<button
|
||||
class="btn btn-lg variant-glass-primary hover:variant-ghost-primary m-1"
|
||||
class="btn btn-lg preset-tonal-primary hover:preset-tonal-primary border border-primary-500 m-1"
|
||||
class:show_crud
|
||||
disabled={field_value == original_field_value}
|
||||
on:click={async () => {
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { onMount } from 'svelte';
|
||||
// import type { Writable } from 'svelte/store';
|
||||
// import { localStorageStore } from '@skeletonlabs/skeleton';
|
||||
|
||||
import { api } from '$lib/api';
|
||||
import { ae_loc, ae_sess, ae_api, slct, slct_trigger, ae_trig } from '$lib/ae_stores';
|
||||
@@ -634,7 +632,7 @@ async function handle_update__data_store({
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="btn variant-soft-warning"
|
||||
class="btn preset-tonal-warning"
|
||||
on:click={() => {
|
||||
if (confirm('Are you sure you want to delete this data store?')) {
|
||||
trigger = 'delete__ds__code';
|
||||
@@ -650,7 +648,7 @@ async function handle_update__data_store({
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="btn variant-soft-primary"
|
||||
class="btn preset-tonal-primary"
|
||||
on:click={() => {
|
||||
show_edit = false;
|
||||
show_view = true;
|
||||
@@ -662,7 +660,7 @@ async function handle_update__data_store({
|
||||
|
||||
<button
|
||||
type="submit"
|
||||
class="btn variant-soft-primary"
|
||||
class="btn preset-tonal-primary"
|
||||
disabled={ds_submit_results instanceof Promise && !ds_submit_results}
|
||||
on:click={() => {
|
||||
trigger = 'save__ds__code';
|
||||
@@ -710,7 +708,7 @@ async function handle_update__data_store({
|
||||
|
||||
{#if !ae_ds_tmp.type && !ae_ds_tmp.html && !ae_ds_tmp.json && !ae_ds_tmp.md && !ae_ds_tmp.text}
|
||||
{#if $ae_loc.manager_access}
|
||||
<span class="variant-soft-warning">No data found! Is the data store correct or new?</span>
|
||||
<span class="preset-tonal-warning">No data found! Is the data store correct or new?</span>
|
||||
{:else}
|
||||
<!-- <span class="variant-soft">loading</span> -->
|
||||
{/if}
|
||||
@@ -720,7 +718,7 @@ async function handle_update__data_store({
|
||||
{@html ae_ds_tmp.html}
|
||||
{:else if ae_ds_tmp.type == 'html'}
|
||||
{#if $ae_loc.manager_access}
|
||||
<span class="variant-soft-warning">No HTML found! Is the data store type correct?</span>
|
||||
<span class="preset-tonal-warning">No HTML found! Is the data store type correct?</span>
|
||||
{:else}
|
||||
<!-- <span class="variant-soft">loading</span> -->
|
||||
{/if}
|
||||
@@ -730,7 +728,7 @@ async function handle_update__data_store({
|
||||
{ae_ds_tmp.text}
|
||||
{:else if ae_ds_tmp.type == 'text'}
|
||||
{#if $ae_loc.manager_access}
|
||||
<span class="variant-soft-warning">No text found! Is the data store type correct?</span>
|
||||
<span class="preset-tonal-warning">No text found! Is the data store type correct?</span>
|
||||
{:else}
|
||||
<!-- <span class="variant-soft">loading</span> -->
|
||||
{/if}
|
||||
@@ -738,7 +736,7 @@ async function handle_update__data_store({
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="ae_btn_edit__ds btn hover:variant-glass-warning text-xs absolute top-0 right-0 opacity-30 hover:opacity-100 transition delay-700 hover:delay-200 m-1 p-1"
|
||||
class="ae_btn_edit__ds btn hover:preset-tonal-warning text-xs absolute top-0 right-0 opacity-30 hover:opacity-100 transition delay-700 hover:delay-200 m-1 p-1"
|
||||
class:opacity-5={!$ae_loc.manager_access}
|
||||
class:hidden={!show_edit_btn || !$ae_loc.trusted_access}
|
||||
on:dblclick={() => {
|
||||
|
||||
@@ -668,7 +668,7 @@ async function handle_update__data_store(
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="btn variant-soft-warning"
|
||||
class="btn preset-tonal-warning"
|
||||
on:click={() => {
|
||||
if (confirm('Are you sure you want to delete this data store?')) {
|
||||
trigger = 'delete__ds__code';
|
||||
@@ -696,7 +696,7 @@ async function handle_update__data_store(
|
||||
|
||||
<button
|
||||
type="submit"
|
||||
class="btn variant-ghost-primary"
|
||||
class="btn preset-tonal-primary border border-primary-500"
|
||||
disabled={ds_submit_results instanceof Promise && !ds_submit_results}
|
||||
on:click={() => {
|
||||
trigger = 'save__ds__code';
|
||||
@@ -747,7 +747,7 @@ async function handle_update__data_store(
|
||||
show_edit = false;
|
||||
show_view = true;
|
||||
}}
|
||||
class="btn btn-sm variant-soft-warning hover:variant-ghost-warning"
|
||||
class="btn btn-sm preset-tonal-warning hover:preset-tonal-warning border border-warning-500"
|
||||
>
|
||||
<span class="fas fa-times mx-1"></span>
|
||||
Close
|
||||
@@ -764,7 +764,7 @@ async function handle_update__data_store(
|
||||
|
||||
{#if !ae_ds_tmp.type && !ae_ds_tmp.html && !ae_ds_tmp.json && !ae_ds_tmp.md && !ae_ds_tmp.text}
|
||||
{#if $ae_loc.manager_access}
|
||||
<span class="variant-soft-warning">No data found! Is the data store correct or new?</span>
|
||||
<span class="preset-tonal-warning">No data found! Is the data store correct or new?</span>
|
||||
{:else}
|
||||
<!-- <span class="variant-soft">loading</span> -->
|
||||
{/if}
|
||||
@@ -774,7 +774,7 @@ async function handle_update__data_store(
|
||||
{@html ae_ds_tmp.html}
|
||||
{:else if ae_ds_tmp.type == 'html'}
|
||||
{#if $ae_loc.manager_access}
|
||||
<span class="variant-soft-warning">No HTML found! Is the data store type correct?</span>
|
||||
<span class="preset-tonal-warning">No HTML found! Is the data store type correct?</span>
|
||||
{:else}
|
||||
<!-- <span class="variant-soft">loading</span> -->
|
||||
{/if}
|
||||
@@ -784,7 +784,7 @@ async function handle_update__data_store(
|
||||
{ae_ds_tmp.text}
|
||||
{:else if ae_ds_tmp.type == 'text'}
|
||||
{#if $ae_loc.manager_access}
|
||||
<span class="variant-soft-warning">No text found! Is the data store type correct?</span>
|
||||
<span class="preset-tonal-warning">No text found! Is the data store type correct?</span>
|
||||
{:else}
|
||||
<!-- <span class="variant-soft">loading</span> -->
|
||||
{/if}
|
||||
@@ -792,7 +792,7 @@ async function handle_update__data_store(
|
||||
|
||||
<button
|
||||
type="button"
|
||||
class="ae_btn_edit__ds btn hover:variant-glass-warning text-xs absolute top-0 right-0 opacity-30 hover:opacity-100 transition delay-700 hover:delay-200 m-1 p-1"
|
||||
class="ae_btn_edit__ds btn hover:preset-tonal-warning text-xs absolute top-0 right-0 opacity-30 hover:opacity-100 transition delay-700 hover:delay-200 m-1 p-1"
|
||||
class:opacity-5={!$ae_loc.manager_access}
|
||||
class:hidden={!(
|
||||
($ae_loc.manager_access && $ae_loc.edit_mode)
|
||||
|
||||
@@ -11,7 +11,7 @@ export let element_id = 'svelte_input_file_element';
|
||||
export let input_name = 'file_list';
|
||||
export let container_class_li: string[] = [];
|
||||
export let input_class_li: string[] = ['file_drop_area'];
|
||||
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', 'table-hover' , 'text-sm'];
|
||||
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', '' , 'text-sm'];
|
||||
|
||||
export let multiple: boolean = true;
|
||||
export let required: boolean = true;
|
||||
@@ -324,7 +324,7 @@ function remove_file_from_filelist(index) {
|
||||
/>
|
||||
|
||||
{#if file_list_status == 'processing'}
|
||||
<div class="file_list_status ae_warning variant-ghost-warning p-1 m-1">
|
||||
<div class="file_list_status ae_warning preset-tonal-warning border border-warning-500 p-1 m-1">
|
||||
<span class="fas fa-spinner fa-spin m-1"></span> Processing selected file list...
|
||||
</div>
|
||||
{/if}
|
||||
@@ -351,7 +351,7 @@ function remove_file_from_filelist(index) {
|
||||
<td class="file_remove">
|
||||
<button
|
||||
on:click|preventDefault={() => { (remove_file_from_filelist(file_index)); }}
|
||||
class="btn btn-md variant-soft-warning hover:variant-filled-secondary m-1"
|
||||
class="btn btn-md preset-tonal-warning hover:preset-filled-secondary-500 m-1"
|
||||
title="Remove file from upload list">
|
||||
<span class="fas fa-minus"></span>
|
||||
<span class="hidden">Remove</span>
|
||||
|
||||
@@ -9,7 +9,7 @@ import { ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_st
|
||||
|
||||
// export let element_id = 'svelte_input_file_element';
|
||||
export let container_class_li: string[] = [];
|
||||
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', 'table-hover' , 'text-sm'];
|
||||
export let table_class_li: string[] = ['table', 'table-sm', 'table-striped', '' , 'text-sm'];
|
||||
|
||||
|
||||
export let untrusted_extension_list = ['bin', 'dmg', 'exe', 'js', 'msi', 'php', 'py', 'sh'];
|
||||
@@ -297,7 +297,7 @@ function remove_file_from_filelist(index) {
|
||||
|
||||
|
||||
{#if file_list_status == 'processing'}
|
||||
<div class="file_list_status ae_warning variant-ghost-warning p-1 m-1">
|
||||
<div class="file_list_status ae_warning preset-tonal-warning border border-warning-500 p-1 m-1">
|
||||
<span class="fas fa-spinner fa-spin m-1"></span> Processing selected file list...
|
||||
</div>
|
||||
{/if}
|
||||
@@ -324,7 +324,7 @@ function remove_file_from_filelist(index) {
|
||||
<td class="file_remove">
|
||||
<button
|
||||
on:click|preventDefault={() => { (remove_file_from_filelist(file_index)); }}
|
||||
class="btn btn-md variant-soft-warning hover:variant-filled-secondary m-1"
|
||||
class="btn btn-md preset-tonal-warning hover:preset-filled-secondary-500 m-1"
|
||||
title="Remove file from upload list">
|
||||
<span class="fas fa-minus"></span>
|
||||
<span class="hidden">Remove</span>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<script lang="ts">
|
||||
export let log_lvl: number = 0;
|
||||
import { onMount } from 'svelte';
|
||||
import { clipboard } from '@skeletonlabs/skeleton';
|
||||
// import { liveQuery } from "dexie";
|
||||
|
||||
import type { key_val } from '$lib/ae_stores';
|
||||
@@ -70,7 +69,7 @@ onMount(() => {
|
||||
// $slct_trigger = 'load__event_file_obj_li';
|
||||
// ae_tmp.show__file_li = true;
|
||||
}}
|
||||
class="btn btn-sm p-1 m-1 variant-soft-tertiary hover:variant-ghost-warning transition hover:transition-all *:hover:inline"
|
||||
class="btn btn-sm p-1 m-1 preset-tonal-tertiary hover:preset-tonal-warning border border-warning-500 transition hover:transition-all *:hover:inline"
|
||||
class:hidden={!$ae_loc.edit_mode || !$ae_loc.authenticated_access}
|
||||
title="Refresh the list of files"
|
||||
>
|
||||
@@ -86,7 +85,7 @@ onMount(() => {
|
||||
console.log('*** Show Alt Download button clicked ***');
|
||||
ae_tmp.show__direct_download = !ae_tmp.show__direct_download;
|
||||
}}
|
||||
class="btn btn-sm p-1 m-1 variant-soft-tertiary hover:variant-ghost-warning transition hover:transition-all *:hover:inline"
|
||||
class="btn btn-sm p-1 m-1 preset-tonal-tertiary hover:preset-tonal-warning border border-warning-500 transition hover:transition-all *:hover:inline"
|
||||
class:hidden={!$ae_loc.edit_mode || !$ae_loc.trusted_access}
|
||||
title="Toggle direct download link and copy link button"
|
||||
>
|
||||
@@ -166,7 +165,7 @@ onMount(() => {
|
||||
|
||||
// window.postMessage({ type: 'download_event_file', event_file_id: event_file_obj.event_file_id_random, filename: event_file_obj.filename, auto_download: true }, '*');
|
||||
}}
|
||||
class="btn btn-sm lg:btn-md variant-soft-primary hover:variant-filled-primary min-w-72 lg:min-w-96"
|
||||
class="btn btn-sm lg:btn-md preset-tonal-primary hover:preset-filled-primary-500 min-w-72 lg:min-w-96"
|
||||
title={`Download this file:\n${event_file_obj.filename}\n[API] SHA256: ${event_file_obj.hash_sha256.slice(0, 10)}... Hosted ID: ${event_file_obj.hosted_file_id_random} Event File ID: ${event_file_obj.event_file_id_random}`}
|
||||
>
|
||||
{#await ae_promises[event_file_obj.event_file_id_random]}
|
||||
@@ -191,7 +190,7 @@ onMount(() => {
|
||||
</span>
|
||||
|
||||
<span
|
||||
class="badge variant-glass-success hover:variant-filled-success text-sm"
|
||||
class="badge preset-tonal-success hover:preset-filled-success-500 text-sm"
|
||||
class:hidden={!event_file_obj.file_purpose}
|
||||
>
|
||||
{event_file_obj.file_purpose}
|
||||
@@ -208,7 +207,7 @@ onMount(() => {
|
||||
</span>
|
||||
<a
|
||||
href="{$ae_api.base_url}/event/file/{event_file_obj?.event_file_id_random}/download?filename={ae_util.clean_filename(event_file_obj?.filename)}&x_no_account_id_token=direct-download"
|
||||
class="btn btn-sm p-1 variant-soft-secondary *:hover:inline lg:text-xs underline"
|
||||
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs underline"
|
||||
title={`Download this file:\n${ae_util.clean_filename(event_file_obj?.filename)}\n[API] SHA256: ${event_file_obj?.hash_sha256.slice(0, 10)}...\nHosted ID: ${event_file_obj?.hosted_file_id_random} Event File ID: ${event_file_obj?.event_file_id_random}`}
|
||||
>
|
||||
<span class="fas fa-download mx-1"></span>
|
||||
@@ -219,7 +218,7 @@ onMount(() => {
|
||||
<button
|
||||
type="button"
|
||||
use:clipboard={encodeURI(`${$ae_api.base_url}/event/file/${event_file_obj?.event_file_id_random}/download?filename=${ae_util.clean_filename(event_file_obj?.filename)}&x_no_account_id_token=direct-download`)}
|
||||
class="btn btn-sm p-1 variant-soft-secondary *:hover:inline lg:text-xs"
|
||||
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs"
|
||||
title="Copy the direct download file link: {ae_util.clean_filename(event_file_obj?.filename ?? 'unknown')}"
|
||||
>
|
||||
<span class="fas fa-copy mx-1"></span>
|
||||
@@ -235,7 +234,7 @@ onMount(() => {
|
||||
</span>
|
||||
<a
|
||||
href="{$ae_api.base_url}/event/file/{event_file_obj?.event_file_id_random}/download?filename={event_file_obj?.event_session_code}-{ae_util.clean_filename(event_file_obj?.event_presentation_name).substring(0, 20)}-{ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.{event_file_obj?.extension}&x_no_account_id_token=direct-download"
|
||||
class="btn btn-sm p-1 variant-soft-secondary *:hover:inline lg:text-xs underline"
|
||||
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs underline"
|
||||
title={`Download renamed with session name to: ${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_session_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}`}
|
||||
>
|
||||
<span class="fas fa-download mx-1"></span>
|
||||
@@ -246,7 +245,7 @@ onMount(() => {
|
||||
<button
|
||||
type="button"
|
||||
use:clipboard={encodeURI(`${$ae_api.base_url}/event/file/${event_file_obj?.event_file_id_random}/download?filename=${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_session_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}&x_no_account_id_token=direct-download`)}
|
||||
class="btn btn-sm p-1 variant-soft-secondary *:hover:inline lg:text-xs"
|
||||
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs"
|
||||
title="Copy the renamed file link"
|
||||
>
|
||||
<span class="fas fa-copy mx-1"></span>
|
||||
@@ -262,7 +261,7 @@ onMount(() => {
|
||||
</span>
|
||||
<a
|
||||
href="{$ae_api.base_url}/event/file/{event_file_obj?.event_file_id_random}/download?filename={event_file_obj?.event_session_code}-{ae_util.clean_filename(event_file_obj?.event_presentation_name).substring(0, 20)}-{ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.{event_file_obj?.extension}&x_no_account_id_token=direct-download"
|
||||
class="btn btn-sm p-1 variant-soft-secondary *:hover:inline lg:text-xs underline"
|
||||
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs underline"
|
||||
title={`Download renamed with presentation name to: ${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_presentation_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}`}
|
||||
>
|
||||
<span class="fas fa-download mx-1"></span>
|
||||
@@ -273,7 +272,7 @@ onMount(() => {
|
||||
<button
|
||||
type="button"
|
||||
use:clipboard={encodeURI(`${$ae_api.base_url}/event/file/${event_file_obj?.event_file_id_random}/download?filename=${event_file_obj?.event_session_code}-${ae_util.clean_filename(event_file_obj?.event_presentation_name).substring(0, 20)}-${ae_util.clean_filename(event_file_obj?.event_presenter_full_name)}.${event_file_obj?.extension}&x_no_account_id_token=direct-download`)}
|
||||
class="btn btn-sm p-1 variant-soft-secondary *:hover:inline lg:text-xs"
|
||||
class="btn btn-sm p-1 preset-tonal-secondary *:hover:inline lg:text-xs"
|
||||
title="Copy the renamed file link"
|
||||
>
|
||||
<span class="fas fa-copy mx-1"></span>
|
||||
@@ -328,7 +327,7 @@ onMount(() => {
|
||||
$events_sess.pres_mgmt.show_field_edit__filename = false;
|
||||
});
|
||||
}}
|
||||
class="btn btn-sm variant-glass-tertiary hover:variant-soft-success"
|
||||
class="btn btn-sm preset-tonal-tertiary hover:preset-tonal-success"
|
||||
title="Save changes"
|
||||
>
|
||||
{#await ae_promises.update__event_file_obj}
|
||||
@@ -363,8 +362,8 @@ onMount(() => {
|
||||
$events_sess.pres_mgmt.show_field_edit__filename = event_file_obj.event_file_id_random;
|
||||
}
|
||||
}}
|
||||
class="btn btn-sm variant-glass-tertiary hover:variant-soft-success"
|
||||
class:variant-glass-warning={$events_sess.pres_mgmt.show_field_edit__filename == event_file_obj.event_file_id_random}
|
||||
class="btn btn-sm preset-tonal-tertiary hover:preset-tonal-success"
|
||||
class:preset-tonal-warning={$events_sess.pres_mgmt.show_field_edit__filename == event_file_obj.event_file_id_random}
|
||||
title={`Rename this file? "${event_file_obj.filename}"`}
|
||||
>
|
||||
<span class="fas fa-edit mx-1"></span>
|
||||
@@ -406,7 +405,7 @@ onMount(() => {
|
||||
});
|
||||
});
|
||||
}}
|
||||
class="btn btn-sm variant-glass-tertiary hover:variant-soft-success"
|
||||
class="btn btn-sm preset-tonal-tertiary hover:preset-tonal-success"
|
||||
title="Hide this file from the presentation launcher"
|
||||
>
|
||||
|
||||
@@ -445,7 +444,7 @@ onMount(() => {
|
||||
log_lvl: 1
|
||||
})
|
||||
}}
|
||||
class="btn btn-sm variant-glass-tertiary hover:variant-soft-success"
|
||||
class="btn btn-sm preset-tonal-tertiary hover:preset-tonal-success"
|
||||
title="Delete this file"
|
||||
>
|
||||
<span class="fas fa-trash-alt mx-1"></span>
|
||||
@@ -587,7 +586,7 @@ onMount(() => {
|
||||
</span>
|
||||
<strong
|
||||
class:font-normal={display_mode != 'default'}
|
||||
>{event_file_obj.hash_sha256.slice(0, 10)}…</strong>
|
||||
>{event_file_obj.hash_sha256.slice(0, 10)}…</strong>
|
||||
</span>
|
||||
<span
|
||||
class:hidden={!$ae_loc.administrator_access || display_mode != 'default'}>
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
<script lang="ts">
|
||||
// import { onMount } from 'svelte';
|
||||
// import { clipboard } from '@skeletonlabs/skeleton';
|
||||
import { liveQuery } from "dexie";
|
||||
|
||||
import type { key_val } from '$lib/ae_stores';
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
<script lang="ts">
|
||||
// import { onMount } from 'svelte';
|
||||
// import { clipboard } from '@skeletonlabs/skeleton';
|
||||
// import { liveQuery } from "dexie";
|
||||
|
||||
import type { key_val } from '$lib/ae_stores';
|
||||
import { ae_util } from '$lib/ae_utils/ae_utils';
|
||||
// import { api } from '$lib/api';
|
||||
@@ -108,7 +104,7 @@ ae_tmp.show__direct_download = $ae_loc.core?.show__direct_download ?? false;
|
||||
// $slct_trigger = 'load__hosted_file_obj_li';
|
||||
// ae_tmp.show__file_li = true;
|
||||
}}
|
||||
class="btn btn-sm p-1 m-1 variant-soft-tertiary hover:variant-ghost-warning transition hover:transition-all *:hover:inline"
|
||||
class="btn btn-sm p-1 m-1 preset-tonal-tertiary hover:preset-tonal-warning border border-warning-500 transition hover:transition-all *:hover:inline"
|
||||
class:hidden={!$ae_loc.edit_mode || !$ae_loc.authenticated_access}
|
||||
title="Refresh the list of files"
|
||||
>
|
||||
@@ -124,7 +120,7 @@ ae_tmp.show__direct_download = $ae_loc.core?.show__direct_download ?? false;
|
||||
console.log('*** Show Alt Download button clicked ***');
|
||||
ae_tmp.show__direct_download = !ae_tmp.show__direct_download;
|
||||
}}
|
||||
class="btn btn-sm p-1 m-1 variant-soft-tertiary hover:variant-ghost-warning transition hover:transition-all *:hover:inline"
|
||||
class="btn btn-sm p-1 m-1 preset-tonal-tertiary hover:preset-tonal-warning border border-warning-500 transition hover:transition-all *:hover:inline"
|
||||
class:hidden={!$ae_loc.edit_mode || !$ae_loc.trusted_access}
|
||||
title="Toggle direct download link and copy link button"
|
||||
>
|
||||
@@ -170,7 +166,7 @@ ae_tmp.show__direct_download = $ae_loc.core?.show__direct_download ?? false;
|
||||
console.log(`slct_hosted_file_kv:`, slct_hosted_file_kv);
|
||||
}
|
||||
}}
|
||||
class="btn btn-sm variant-soft-secondary hover:variant-filled-secondary"
|
||||
class="btn btn-sm preset-tonal-secondary hover:preset-filled-secondary-500"
|
||||
title="Add/Remove file to/from the locally stored uploaded file list. This is referenced by other AE components."
|
||||
>
|
||||
{#if $ae_loc.files.uploaded_file_kv[hosted_file_obj.hosted_file_id]}
|
||||
@@ -199,7 +195,7 @@ ae_tmp.show__direct_download = $ae_loc.core?.show__direct_download ?? false;
|
||||
})
|
||||
}}
|
||||
class:hidden={!$ae_loc.administrator_access}
|
||||
class="btn btn-sm variant-soft-secondary hover:variant-filled-secondary"
|
||||
class="btn btn-sm preset-tonal-secondary hover:preset-filled-secondary-500"
|
||||
title="Delete a file from the host server."
|
||||
>
|
||||
<span class="fas fa-trash-alt m-1"></span>
|
||||
@@ -214,7 +210,7 @@ ae_tmp.show__direct_download = $ae_loc.core?.show__direct_download ?? false;
|
||||
// This should show/hide the editable fields for the file. This might need to be in a little modal.
|
||||
}}
|
||||
|
||||
class="btn btn-sm variant-soft-primary hover:variant-filled-primary"
|
||||
class="btn btn-sm preset-tonal-primary hover:preset-filled-primary-500"
|
||||
title="Edit file details"
|
||||
>
|
||||
<span class="fas fa-edit m-1"></span>
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
<script lang="ts">
|
||||
// NEW NEW NEW: 2025-01-07
|
||||
// import { onMount } from 'svelte';
|
||||
// import { clipboard } from '@skeletonlabs/skeleton';
|
||||
import { liveQuery } from "dexie";
|
||||
|
||||
import type { key_val } from '$lib/ae_stores';
|
||||
|
||||
@@ -382,21 +382,21 @@ function send_init_confirm_email(subject, message) {
|
||||
class="ae_options m-1"
|
||||
>
|
||||
{#if scanning_status == 'not_started' }
|
||||
<button on:click={handle_start_qr_scanning} class="btn btn-lg variant-soft-primary btn_start"><span class="fas fa-qrcode mx-1"></span> Start Scanning</button>
|
||||
<button on:click={handle_start_qr_scanning} class="btn btn-lg preset-tonal-primary btn_start"><span class="fas fa-qrcode mx-1"></span> Start Scanning</button>
|
||||
<span class="loading-text">
|
||||
Scanning stopped
|
||||
</span>
|
||||
{:else if scanning_status == 'paused' && show_pause_btn}
|
||||
<button on:click={handle_resume_qr_scanning} class="btn btn-md variant-soft-primary btn_resume"><span class="fas fa-play"></span> Resume</button>
|
||||
<button on:click={handle_resume_qr_scanning} class="btn btn-md preset-tonal-primary btn_resume"><span class="fas fa-play"></span> Resume</button>
|
||||
<span>Scanning paused</span>
|
||||
{:else if scanning_status == 'scanning'}
|
||||
<button on:click={handle_stop_qr_scanning} class="btn btn-md variant-soft-secondary btn_stop">
|
||||
<button on:click={handle_stop_qr_scanning} class="btn btn-md preset-tonal-secondary btn_stop">
|
||||
<span class="fas fa-crosshairs fa-spin opacity-50 m-1"></span>
|
||||
<!-- <span class="fas fa-stop-circle m-1"></span> -->
|
||||
Stop
|
||||
</button>
|
||||
{#if show_pause_btn}
|
||||
<button on:click={handle_pause_qr_scanning} class="btn btn-lg variant-soft-secondary btn_pause"><span class="fas fa-pause-circle"></span> Pause</button>
|
||||
<button on:click={handle_pause_qr_scanning} class="btn btn-lg preset-tonal-secondary btn_pause"><span class="fas fa-pause-circle"></span> Pause</button>
|
||||
{/if}
|
||||
<!-- <span>Scanning for QR code...</span> -->
|
||||
<!-- <div class="modal-loading"> -->
|
||||
@@ -416,7 +416,7 @@ function send_init_confirm_email(subject, message) {
|
||||
{#if show_qr_manual_entry}
|
||||
<label for="entered_text" class="">Enter text</label>
|
||||
<input type="text" name="entered_text" id="entered_text" bind:value="{qr_entered_text}">
|
||||
<button on:click={handle_qr_manual_entry} class="btn btn-md variant-soft-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
|
||||
<button on:click={handle_qr_manual_entry} class="btn btn-md preset-tonal-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
|
||||
|
||||
|
||||
<div class="search_by_text">
|
||||
@@ -424,7 +424,7 @@ function send_init_confirm_email(subject, message) {
|
||||
</div>
|
||||
|
||||
{:else}
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
@@ -451,7 +451,7 @@ function send_init_confirm_email(subject, message) {
|
||||
type="submit"
|
||||
on:click={handle_qr_manual_entry}
|
||||
disabled={disable_submit_badge_id_btn}
|
||||
class="btn btn-md variant-ghost-primary m-1"
|
||||
class="btn btn-md preset-tonal-primary border border-primary-500 m-1"
|
||||
class:btn_default={disable_submit_badge_id_btn}
|
||||
class:btn_primary={!disable_submit_badge_id_btn}
|
||||
>
|
||||
@@ -460,7 +460,7 @@ function send_init_confirm_email(subject, message) {
|
||||
|
||||
</form>
|
||||
{:else}
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-secondary m-1"><span class="fas fa-keyboard mx-1"></span> Enter Badge ID</button>
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-secondary m-1"><span class="fas fa-keyboard mx-1"></span> Enter Badge ID</button>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
@@ -514,21 +514,21 @@ function send_init_confirm_email(subject, message) {
|
||||
class="ae_options m-1"
|
||||
>
|
||||
{#if scanning_status == 'not_started' }
|
||||
<button on:click={handle_start_qr_scanning} class="btn btn-lg variant-soft-primary btn_start"><span class="fas fa-qrcode mx-1"></span> Start Scanning</button>
|
||||
<button on:click={handle_start_qr_scanning} class="btn btn-lg preset-tonal-primary btn_start"><span class="fas fa-qrcode mx-1"></span> Start Scanning</button>
|
||||
<span class="loading-text">
|
||||
Scanning stopped
|
||||
</span>
|
||||
{:else if scanning_status == 'paused' && show_pause_btn}
|
||||
<button on:click={handle_resume_qr_scanning} class="btn btn-md variant-soft-primary btn_resume"><span class="fas fa-play"></span> Resume</button>
|
||||
<button on:click={handle_resume_qr_scanning} class="btn btn-md preset-tonal-primary btn_resume"><span class="fas fa-play"></span> Resume</button>
|
||||
<span>Scanning paused</span>
|
||||
{:else if scanning_status == 'scanning'}
|
||||
<button on:click={handle_stop_qr_scanning} class="btn btn-md variant-soft-secondary btn_stop">
|
||||
<button on:click={handle_stop_qr_scanning} class="btn btn-md preset-tonal-secondary btn_stop">
|
||||
<span class="fas fa-crosshairs fa-spin opacity-50 m-1"></span>
|
||||
<!-- <span class="fas fa-stop-circle m-1"></span> -->
|
||||
Stop
|
||||
</button>
|
||||
{#if show_pause_btn}
|
||||
<button on:click={handle_pause_qr_scanning} class="btn btn-lg variant-soft-secondary btn_pause"><span class="fas fa-pause-circle"></span> Pause</button>
|
||||
<button on:click={handle_pause_qr_scanning} class="btn btn-lg preset-tonal-secondary btn_pause"><span class="fas fa-pause-circle"></span> Pause</button>
|
||||
{/if}
|
||||
<!-- <span>Scanning for QR code...</span> -->
|
||||
<!-- <div class="modal-loading"> -->
|
||||
@@ -548,7 +548,7 @@ function send_init_confirm_email(subject, message) {
|
||||
{#if show_qr_manual_entry}
|
||||
<label for="entered_text" class="">Enter text</label>
|
||||
<input type="text" name="entered_text" id="entered_text" bind:value="{qr_entered_text}">
|
||||
<button on:click={handle_qr_manual_entry} class="btn btn-md variant-soft-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
|
||||
<button on:click={handle_qr_manual_entry} class="btn btn-md preset-tonal-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
|
||||
|
||||
|
||||
<div class="search_by_text">
|
||||
@@ -556,7 +556,7 @@ function send_init_confirm_email(subject, message) {
|
||||
</div>
|
||||
|
||||
{:else}
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
@@ -583,7 +583,7 @@ function send_init_confirm_email(subject, message) {
|
||||
type="submit"
|
||||
on:click={handle_qr_manual_entry}
|
||||
disabled={disable_submit_badge_id_btn}
|
||||
class="btn btn-md variant-ghost-primary m-1"
|
||||
class="btn btn-md preset-tonal-primary border border-primary-500 m-1"
|
||||
class:btn_default={disable_submit_badge_id_btn}
|
||||
class:btn_primary={!disable_submit_badge_id_btn}
|
||||
>
|
||||
@@ -592,7 +592,7 @@ function send_init_confirm_email(subject, message) {
|
||||
|
||||
</form>
|
||||
{:else}
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-secondary m-1"><span class="fas fa-keyboard mx-1"></span> Enter Badge ID</button>
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-secondary m-1"><span class="fas fa-keyboard mx-1"></span> Enter Badge ID</button>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
@@ -464,21 +464,21 @@ function send_init_confirm_email(subject, message) {
|
||||
class="ae_options flex flex-row justify-center items-center gap-1 m-1"
|
||||
>
|
||||
{#if scanning_status == 'not_started' }
|
||||
<button on:click={handle_start_qr_scanning} class="btn btn-lg variant-soft-primary btn_start"><span class="fas fa-qrcode mx-1"></span> Start Scanning</button>
|
||||
<button on:click={handle_start_qr_scanning} class="btn btn-lg preset-tonal-primary btn_start"><span class="fas fa-qrcode mx-1"></span> Start Scanning</button>
|
||||
<span class="loading-text">
|
||||
Scanning stopped
|
||||
</span>
|
||||
{:else if scanning_status == 'paused' && show_pause_btn}
|
||||
<button on:click={handle_resume_qr_scanning} class="btn btn-md variant-soft-primary btn_resume"><span class="fas fa-play"></span> Resume</button>
|
||||
<button on:click={handle_resume_qr_scanning} class="btn btn-md preset-tonal-primary btn_resume"><span class="fas fa-play"></span> Resume</button>
|
||||
<span>Scanning paused</span>
|
||||
{:else if scanning_status == 'scanning'}
|
||||
<button on:click={handle_stop_qr_scanning} class="btn btn-md variant-soft-secondary btn_stop">
|
||||
<button on:click={handle_stop_qr_scanning} class="btn btn-md preset-tonal-secondary btn_stop">
|
||||
<span class="fas fa-crosshairs fa-spin opacity-50 m-1"></span>
|
||||
<!-- <span class="fas fa-stop-circle m-1"></span> -->
|
||||
Stop
|
||||
</button>
|
||||
{#if show_pause_btn}
|
||||
<button on:click={handle_pause_qr_scanning} class="btn btn-lg variant-soft-secondary btn_pause"><span class="fas fa-pause-circle"></span> Pause</button>
|
||||
<button on:click={handle_pause_qr_scanning} class="btn btn-lg preset-tonal-secondary btn_pause"><span class="fas fa-pause-circle"></span> Pause</button>
|
||||
{/if}
|
||||
<!-- <span>Scanning for QR code...</span> -->
|
||||
<!-- <div class="modal-loading"> -->
|
||||
@@ -498,7 +498,7 @@ function send_init_confirm_email(subject, message) {
|
||||
{#if show_qr_manual_entry}
|
||||
<label for="entered_text" class="">Enter text</label>
|
||||
<input type="text" name="entered_text" id="entered_text" bind:value="{qr_entered_text}">
|
||||
<button on:click={handle_qr_manual_entry} class="btn btn-md variant-soft-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
|
||||
<button on:click={handle_qr_manual_entry} class="btn btn-md preset-tonal-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
|
||||
|
||||
|
||||
<div class="search_by_text">
|
||||
@@ -506,7 +506,7 @@ function send_init_confirm_email(subject, message) {
|
||||
</div>
|
||||
|
||||
{:else}
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
@@ -533,7 +533,7 @@ function send_init_confirm_email(subject, message) {
|
||||
type="submit"
|
||||
on:click={handle_qr_manual_entry}
|
||||
disabled={disable_submit_badge_id_btn}
|
||||
class="btn btn-md variant-ghost-primary m-1"
|
||||
class="btn btn-md preset-tonal-primary border border-primary-500 m-1"
|
||||
class:btn_default={disable_submit_badge_id_btn}
|
||||
class:btn_primary={!disable_submit_badge_id_btn}
|
||||
>
|
||||
@@ -547,7 +547,7 @@ function send_init_confirm_email(subject, message) {
|
||||
handle_stop_qr_scanning();
|
||||
show_qr_manual_entry=true;
|
||||
}}
|
||||
class="btn btn-md variant-soft-secondary m-1"
|
||||
class="btn btn-md preset-tonal-secondary m-1"
|
||||
>
|
||||
<span class="fas fa-keyboard mx-1"></span> Enter Badge ID
|
||||
</button>
|
||||
|
||||
@@ -487,7 +487,7 @@ function send_init_confirm_email(subject, message) {
|
||||
navigator.mediaDevices.getUserMedia({video: true})
|
||||
.then(get_user_media_success, get_user_media_error);
|
||||
}}
|
||||
class="ae_btn__allow_camera btn btn-sm variant-soft-primary"
|
||||
class="ae_btn__allow_camera btn btn-sm preset-tonal-primary"
|
||||
>
|
||||
<span class="fas fa-camera mx-1"></span>
|
||||
Allow Camera Access
|
||||
@@ -500,7 +500,7 @@ function send_init_confirm_email(subject, message) {
|
||||
// Select back camera or fail with `OverconstrainedError`.
|
||||
// html5_qr_code.start({ facingMode: { exact: "environment"} }, config, qrCodeSuccessCallback);
|
||||
}}
|
||||
class="ae_btn__start btn btn-sm variant-soft-primary"
|
||||
class="ae_btn__start btn btn-sm preset-tonal-primary"
|
||||
>
|
||||
<span class="fas fa-qrcode mx-1"></span>
|
||||
Start Scanning
|
||||
@@ -511,14 +511,14 @@ function send_init_confirm_email(subject, message) {
|
||||
// Select back camera or fail with `OverconstrainedError`.
|
||||
html5_qr_code.start({ facingMode: { exact: "environment"} }, config, qrCodeSuccessCallback);
|
||||
}}
|
||||
class="ae_btn__resume btn btn-sm variant-soft-primary">
|
||||
class="ae_btn__resume btn btn-sm preset-tonal-primary">
|
||||
<span class="fas fa-play"></span>
|
||||
Resume
|
||||
</button>
|
||||
|
||||
<button
|
||||
on:click={handle_stop_qr_scanning}
|
||||
class="ae_btn__stop btn btn-sm variant-soft-secondary"
|
||||
class="ae_btn__stop btn btn-sm preset-tonal-secondary"
|
||||
>
|
||||
<span class="fas fa-crosshairs fa-spin opacity-50 m-1"></span>
|
||||
<!-- <span class="fas fa-stop-circle m-1"></span> -->
|
||||
@@ -535,7 +535,7 @@ function send_init_confirm_email(subject, message) {
|
||||
{#if show_qr_manual_entry}
|
||||
<label for="entered_text" class="">Enter text</label>
|
||||
<input type="text" name="entered_text" id="entered_text" bind:value="{qr_entered_text}">
|
||||
<button on:click={handle_qr_manual_entry} class="btn btn-md variant-soft-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
|
||||
<button on:click={handle_qr_manual_entry} class="btn btn-md preset-tonal-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
|
||||
|
||||
|
||||
<div class="search_by_text">
|
||||
@@ -543,7 +543,7 @@ function send_init_confirm_email(subject, message) {
|
||||
</div>
|
||||
|
||||
{:else}
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-warning"><span class="fas fa-keyboard"></span> Enter Text</button>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
@@ -570,7 +570,7 @@ function send_init_confirm_email(subject, message) {
|
||||
type="submit"
|
||||
on:click={handle_qr_manual_entry}
|
||||
disabled={disable_submit_badge_id_btn}
|
||||
class="btn btn-md variant-ghost-primary m-1"
|
||||
class="btn btn-md preset-tonal-primary border border-primary-500 m-1"
|
||||
class:btn_default={disable_submit_badge_id_btn}
|
||||
class:btn_primary={!disable_submit_badge_id_btn}
|
||||
>
|
||||
@@ -579,7 +579,7 @@ function send_init_confirm_email(subject, message) {
|
||||
|
||||
</form>
|
||||
{:else}
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md variant-soft-secondary m-1"><span class="fas fa-keyboard mx-1"></span> Enter Badge ID</button>
|
||||
<button on:click={() => show_qr_manual_entry=true} class="btn btn-md preset-tonal-secondary m-1"><span class="fas fa-keyboard mx-1"></span> Enter Badge ID</button>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
@@ -360,7 +360,7 @@ function send_init_confirm_email(subject, message) {
|
||||
navigator.mediaDevices.getUserMedia({video: true})
|
||||
.then(get_user_media_success, get_user_media_error);
|
||||
}}
|
||||
class="ae_btn__allow_camera btn btn-sm variant-soft-primary"
|
||||
class="ae_btn__allow_camera btn btn-sm preset-tonal-primary"
|
||||
>
|
||||
<span class="fas fa-camera mx-1"></span>
|
||||
Allow Camera Access
|
||||
@@ -373,7 +373,7 @@ function send_init_confirm_email(subject, message) {
|
||||
// Select back camera or fail with `OverconstrainedError`.
|
||||
// html5_qr_code.start({ facingMode: { exact: "environment"} }, config, qrCodeSuccessCallback);
|
||||
}}
|
||||
class="ae_btn__start btn btn-sm variant-soft-primary"
|
||||
class="ae_btn__start btn btn-sm preset-tonal-primary"
|
||||
>
|
||||
<span class="fas fa-qrcode mx-1"></span>
|
||||
Start Scanning
|
||||
@@ -391,7 +391,7 @@ function send_init_confirm_email(subject, message) {
|
||||
{#if (scanning_status == 'scanning')}
|
||||
<button
|
||||
on:click={handle_stop_qr_scanning}
|
||||
class="ae_btn__stop btn btn-sm variant-soft-secondary"
|
||||
class="ae_btn__stop btn btn-sm preset-tonal-secondary"
|
||||
>
|
||||
<span class="fas fa-crosshairs fa-spin opacity-50 m-1"></span>
|
||||
<!-- <span class="fas fa-stop-circle m-1"></span> -->
|
||||
@@ -409,7 +409,7 @@ function send_init_confirm_email(subject, message) {
|
||||
{#if show_qr_manual_entry}
|
||||
<label for="entered_text" class="">Enter text</label>
|
||||
<input type="text" name="entered_text" id="entered_text" bind:value="{qr_entered_text}">
|
||||
<button on:click={handle_qr_manual_entry} class="btn btn-md variant-soft-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
|
||||
<button on:click={handle_qr_manual_entry} class="btn btn-md preset-tonal-warning"><span class="fas fa-paper-plane"></span> Submit Text</button>
|
||||
|
||||
|
||||
<div class="search_by_text">
|
||||
@@ -421,7 +421,7 @@ function send_init_confirm_email(subject, message) {
|
||||
handle_stop_qr_scanning();
|
||||
show_qr_manual_entry=true;
|
||||
}}
|
||||
class="btn btn-md variant-soft-warning m-1"
|
||||
class="btn btn-md preset-tonal-warning m-1"
|
||||
>
|
||||
<span class="fas fa-keyboard mx-1"></span> Enter Text
|
||||
</button>
|
||||
@@ -451,7 +451,7 @@ function send_init_confirm_email(subject, message) {
|
||||
type="submit"
|
||||
on:click={handle_qr_manual_entry}
|
||||
disabled={disable_submit_badge_id_btn}
|
||||
class="btn btn-md variant-ghost-primary m-1"
|
||||
class="btn btn-md preset-tonal-primary border border-primary-500 m-1"
|
||||
class:btn_default={disable_submit_badge_id_btn}
|
||||
class:btn_primary={!disable_submit_badge_id_btn}
|
||||
>
|
||||
@@ -464,7 +464,7 @@ function send_init_confirm_email(subject, message) {
|
||||
handle_stop_qr_scanning();
|
||||
show_qr_manual_entry=true;
|
||||
}}
|
||||
class="btn btn-md variant-soft-secondary m-1"
|
||||
class="btn btn-md preset-tonal-secondary m-1"
|
||||
>
|
||||
<span class="fas fa-keyboard mx-1"></span> Enter Badge ID
|
||||
</button>
|
||||
|
||||
@@ -106,7 +106,7 @@ async function handle_run_sql(qry, data, as_list=false, log_lvl=0) {
|
||||
on:click={async () => {
|
||||
sql_qry_result = await handle_run_sql(sql_statement, sql_data, as_list, log_lvl);
|
||||
}}
|
||||
class="btn btn-md variant-soft-primary hover:variant-ghost-primary"
|
||||
class="btn btn-md preset-tonal-primary hover:preset-tonal-primary border border-primary-500"
|
||||
>
|
||||
{button_label}
|
||||
</button>
|
||||
@@ -123,7 +123,7 @@ async function handle_run_sql(qry, data, as_list=false, log_lvl=0) {
|
||||
Getting results...
|
||||
{:then}
|
||||
{#if sql_qry_result && sql_qry_result.length}
|
||||
<table class="table table-compact table-bordered table-striped table-hover min-w-min sql_qry_result text-xs">
|
||||
<table class="table table-compact table-bordered table-striped min-w-min sql_qry_result text-xs">
|
||||
<Element_obj_tbl_row row_header={true} obj={sql_qry_result[0]} primary_obj_li_type='' />
|
||||
{#each sql_qry_result as record}
|
||||
<Element_obj_tbl_row obj={record} primary_obj_li_type='' />
|
||||
|
||||
@@ -135,13 +135,13 @@ let mouse_leave_wait: number = 2000;
|
||||
/>
|
||||
</div>
|
||||
|
||||
<style lang="scss">
|
||||
<style lang="css">
|
||||
/*
|
||||
// :global(.ProseMirror) {
|
||||
// padding: .25em;
|
||||
// }
|
||||
*/
|
||||
:global(.ProseMirror-focused) {
|
||||
// padding: .25em;
|
||||
// box-shadow: 0 0 0 2px hsla(208, 99%, 55%, .1);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
|
||||
@@ -238,9 +238,9 @@ function handle_send_ws_data() {
|
||||
on:click={() => {
|
||||
hide__ws_form = !hide__ws_form;
|
||||
}}
|
||||
class="btn btn-sm text-xs hover:variant-filled-tertiary"
|
||||
class:variant-soft-tertiary={hide__ws_form}
|
||||
class:variant-filled-tertiary={!hide__ws_form}
|
||||
class="btn btn-sm text-xs hover:preset-filled-tertiary-500"
|
||||
class:preset-tonal-tertiary={hide__ws_form}
|
||||
class:preset-filled-tertiary-500={!hide__ws_form}
|
||||
>
|
||||
{#if hide__ws_form}
|
||||
Show Form
|
||||
@@ -253,9 +253,9 @@ function handle_send_ws_data() {
|
||||
on:click={() => {
|
||||
hide__ws_messages = !hide__ws_messages;
|
||||
}}
|
||||
class="btn btn-sm text-xs hover:variant-filled-tertiary"
|
||||
class:variant-soft-tertiary={hide__ws_messages}
|
||||
class:variant-filled-tertiary={!hide__ws_messages}
|
||||
class="btn btn-sm text-xs hover:preset-filled-tertiary-500"
|
||||
class:preset-tonal-tertiary={hide__ws_messages}
|
||||
class:preset-filled-tertiary-500={!hide__ws_messages}
|
||||
>
|
||||
{#if hide__ws_messages}
|
||||
Show Messages
|
||||
@@ -268,9 +268,9 @@ function handle_send_ws_data() {
|
||||
on:click={() => {
|
||||
hide__ws_commands = !hide__ws_commands;
|
||||
}}
|
||||
class="btn btn-sm text-xs hover:variant-filled-tertiary"
|
||||
class:variant-soft-tertiary={hide__ws_commands}
|
||||
class:variant-filled-tertiary={!hide__ws_commands}
|
||||
class="btn btn-sm text-xs hover:preset-filled-tertiary-500"
|
||||
class:preset-tonal-tertiary={hide__ws_commands}
|
||||
class:preset-filled-tertiary-500={!hide__ws_commands}
|
||||
>
|
||||
{#if hide__ws_commands}
|
||||
Show Commands
|
||||
@@ -282,7 +282,7 @@ function handle_send_ws_data() {
|
||||
|
||||
<header>
|
||||
|
||||
<h1 class="h6 text-center">Websocket Messages & Commands</h1>
|
||||
<h1 class="h6 text-center">Websocket Messages & Commands</h1>
|
||||
|
||||
</header>
|
||||
|
||||
@@ -339,7 +339,7 @@ function handle_send_ws_data() {
|
||||
|
||||
<button
|
||||
type="submit"
|
||||
class="btn btn-sm variant-soft-warning"
|
||||
class="btn btn-sm preset-tonal-warning"
|
||||
>Send Group</button>
|
||||
</form>
|
||||
{/if}
|
||||
@@ -368,7 +368,7 @@ ae_open:event_file=Kljq0uiTlXt (video)
|
||||
<span>
|
||||
[{(msg_entry.group_id||'No Group ID')}]
|
||||
{(msg_entry.client_id.toString().slice(-5)||'No Client ID')}
|
||||
–
|
||||
–
|
||||
{(msg_entry.target||'No Target')}
|
||||
|
|
||||
<!-- – -->
|
||||
@@ -402,7 +402,7 @@ ae_open:event_file=Kljq0uiTlXt (video)
|
||||
<span>
|
||||
[{(cmd_entry.group_id||'No Group ID')}]
|
||||
{(cmd_entry.client_id.toString().slice(-5)||'No Client ID')}
|
||||
—
|
||||
—
|
||||
{(cmd_entry.target||'No Target')}
|
||||
|
|
||||
<!-- — -->
|
||||
|
||||
Reference in New Issue
Block a user