54 lines
1.8 KiB
Svelte
54 lines
1.8 KiB
Svelte
<script>
|
|
import { _ } from "svelte-i18n";
|
|
import store from "../../store";
|
|
import AddCardBulkModal from "./AddCardBulkModal.svelte";
|
|
import AddCardModal from "./AddCardModal.svelte";
|
|
import CardsOverview from "./CardsOverview.svelte";
|
|
$: current_cards = [];
|
|
export let modal_open = false;
|
|
export let bulk_modal_open = false;
|
|
let addCards;
|
|
</script>
|
|
|
|
<section class="container p-5">
|
|
<span class="mb-1 text-3xl font-extrabold leading-tight">
|
|
{$_("cards")}
|
|
{#if store.state.jwtinfo.userdetails.permissions.includes("CARD:CREATE")}
|
|
<button
|
|
on:click={() => {
|
|
modal_open = true;
|
|
}}
|
|
type="button"
|
|
class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 sm:ml-3 sm:w-auto sm:text-sm"
|
|
>
|
|
{$_("add-card")}
|
|
</button>
|
|
<button
|
|
on:click={() => {
|
|
bulk_modal_open = true;
|
|
}}
|
|
type="button"
|
|
class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 sm:ml-3 sm:w-auto sm:text-sm"
|
|
>
|
|
{$_("create-bulk-cards")}
|
|
</button>
|
|
{/if}
|
|
</span>
|
|
<CardsOverview bind:current_cards bind:addCards />
|
|
</section>
|
|
|
|
{#if store.state.jwtinfo.userdetails.permissions.includes("CARD:CREATE")}
|
|
<AddCardModal
|
|
bind:modal_open
|
|
on:created={(event) => {
|
|
addCards(event.detail.cards);
|
|
}}
|
|
/>
|
|
<AddCardBulkModal
|
|
bind:bulk_modal_open
|
|
on:created={(event) => {
|
|
addCards(event.detail.cards);
|
|
}}
|
|
/>
|
|
{/if}
|