Compare commits
6 Commits
master
...
ex2_pizzas
Author | SHA1 | Date | |
---|---|---|---|
![]() |
5b75d45910 | ||
![]() |
9cc85a2525 | ||
![]() |
c4c52809d2 | ||
![]() |
432e75526f | ||
![]() |
b218b7c7e3 | ||
![]() |
7c29c46eec |
5
src/lib/components/form/Boolean.svelte
Normal file
5
src/lib/components/form/Boolean.svelte
Normal file
@ -0,0 +1,5 @@
|
||||
<script>
|
||||
export let value = false;
|
||||
</script>
|
||||
|
||||
<input type="checkbox" bind:checked={value} class="size-5 mx-2" />
|
@ -14,6 +14,8 @@
|
||||
|
||||
export let is_logedin = false;
|
||||
|
||||
export let is_loaded = false;
|
||||
|
||||
export let on_logout = () => {};
|
||||
</script>
|
||||
|
||||
@ -23,7 +25,7 @@
|
||||
bg-[var(--w-bg-second)] dark:bg-[#111]"
|
||||
>
|
||||
<div class="flex">
|
||||
{#if is_logedin}
|
||||
{#if is_logedin && is_loaded}
|
||||
{#each Object.entries(db_scheme) as page_name}
|
||||
{#if check_access(page_name[0])}
|
||||
<button
|
||||
@ -45,7 +47,7 @@
|
||||
</div>
|
||||
<div class="space-x-4 flex justify-center items-center">
|
||||
<ThemeSwitch></ThemeSwitch>
|
||||
{#if is_logedin}
|
||||
{#if is_logedin && is_loaded}
|
||||
<Button
|
||||
on_click={on_logout}
|
||||
class_name={"!text-black hover:!text-white dark:!text-white bg-[var(--w-red)] dark:bg-[var(--b-red)]"}
|
||||
|
@ -104,7 +104,7 @@ WHERE id = ${current_item.id}`;
|
||||
export let db;
|
||||
|
||||
/** @type {string} */
|
||||
let current_page = "Запросы";
|
||||
let current_page = "Пиццерия";
|
||||
|
||||
let current_table = "";
|
||||
let current_view = "";
|
||||
@ -114,8 +114,7 @@ WHERE id = ${current_item.id}`;
|
||||
export let is_dialog_item_add = false;
|
||||
|
||||
let is_logedin = false;
|
||||
|
||||
export let data_access;
|
||||
export let is_login_requied = true;
|
||||
|
||||
let access_level = "";
|
||||
/**
|
||||
@ -135,6 +134,11 @@ WHERE id = ${current_item.id}`;
|
||||
onMount(async () => {
|
||||
await load_db();
|
||||
is_loaded = true;
|
||||
if (!is_login_requied) {
|
||||
is_logedin = true;
|
||||
check_access = () => true;
|
||||
check_login = async () => [true, ""];
|
||||
}
|
||||
});
|
||||
$: cur_dialog_name = is_dialog_item_add
|
||||
? `Добавить в ${db_scheme[current_page].tables[current_table]}`
|
||||
@ -143,23 +147,27 @@ WHERE id = ${current_item.id}`;
|
||||
|
||||
<NavBar
|
||||
{is_logedin}
|
||||
{is_loaded}
|
||||
{db_scheme}
|
||||
bind:current_page
|
||||
bind:is_view_open
|
||||
check_access={(name) => check_access(access_level, name, null)}
|
||||
on_logout={() => {
|
||||
is_logedin = false;
|
||||
// @ts-ignore
|
||||
access_level = "";
|
||||
current_page = "Запросы";
|
||||
current_table = "";
|
||||
current_view = "";
|
||||
if (is_login_requied) {
|
||||
is_logedin = false;
|
||||
// @ts-ignore
|
||||
access_level = "";
|
||||
current_page = "Запросы";
|
||||
current_table = "";
|
||||
current_view = "";
|
||||
}
|
||||
}}
|
||||
></NavBar>
|
||||
|
||||
<div class="w-full h-[calc(100vh-88px)] flex">
|
||||
<SideMenu
|
||||
{is_logedin}
|
||||
{is_loaded}
|
||||
bind:current_table
|
||||
bind:current_view
|
||||
bind:is_view_open
|
||||
|
@ -8,13 +8,15 @@
|
||||
export let check_access = (name) => false;
|
||||
|
||||
export let is_logedin = false;
|
||||
|
||||
export let is_loaded = false;
|
||||
</script>
|
||||
|
||||
<div
|
||||
class="w-[240px] h-full text-xl p-3 mr-2 flex-initial rounded-tr-xl
|
||||
bg-[var(--w-bg-second)] dark:bg-[var(--b-bg-second)]"
|
||||
>
|
||||
{#if is_logedin}
|
||||
{#if is_logedin && is_loaded}
|
||||
{#if Object.entries(db_scheme.viewes).length !== 0 && Object.entries(db_scheme.viewes).some( (el) => check_access(el[0]), )}
|
||||
<button
|
||||
on:click={() => {
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user