Files
fnx_web/svelte/src/user_buckets/UserBuckets.svelte

72 lines
1.4 KiB
Svelte
Raw Normal View History

<script>
import { onMount } from "svelte";
import Bucket from "./Bucket.svelte";
import Spinner from "../util/Spinner.svelte";
import { fs_get_buckets } from "../filesystem/FilesystemAPI.svelte";
import NewBucket from "./NewBucket.svelte";
2020-12-15 16:25:20 +01:00
let loading = true;
let buckets = [];
let new_bucket;
let creating_bucket = false;
const get_buckets = async () => {
try {
2020-12-15 16:25:20 +01:00
let resp = await fs_get_buckets();
buckets = resp.buckets;
} catch (err) {
2020-12-15 16:25:20 +01:00
alert(err);
} finally {
2020-12-15 16:25:20 +01:00
loading = false;
}
2020-12-15 16:25:20 +01:00
};
onMount(get_buckets);
</script>
<div>
{#if loading}
2020-12-15 16:25:20 +01:00
<div class="spinner_container">
<Spinner />
</div>
{/if}
2020-12-15 16:25:20 +01:00
<div class="limit_width">
<div class="toolbar" style="text-align: right;">
<button
class:button_highlight={creating_bucket}
on:click={() => {creating_bucket = !creating_bucket}}
>
<i class="icon">create_new_folder</i> New bucket
</button>
</div>
{#if creating_bucket}
<NewBucket bind:this={new_bucket}></NewBucket>
{/if}
<h2>Persistent buckets</h2>
<p>
These buckets don't expire, but have limited storage space and
bandwidth. Their limits can be raised by buying a subscription.
</p>
2020-12-15 16:25:20 +01:00
{#each buckets as bucket}
<Bucket bucket={bucket}></Bucket>
2020-12-15 16:25:20 +01:00
{/each}
<br/>
<h2>Temporary buckets</h2>
<p>
</p>
2020-12-15 16:25:20 +01:00
</div>
</div>
2020-12-15 16:25:20 +01:00
<style>
2020-12-15 16:25:20 +01:00
.spinner_container {
display: inline-block;
height: 100px;
width: 100px;
}
</style>