1
0
Fork 0
mirror of synced 2024-09-20 03:08:18 +12:00
budibase/packages/builder/src/nav/UsersList.svelte

80 lines
1.5 KiB
Svelte
Raw Normal View History

2020-03-11 05:06:30 +13:00
<script>
2020-03-23 02:59:42 +13:00
import { onMount } from "svelte"
import { store, backendUiStore } from "../builderStore"
import api from "../builderStore/api";
2020-03-11 05:06:30 +13:00
import getIcon from "../common/icon"
import { CheckIcon } from "../common/Icons"
const getPage = (s, name) => {
const props = s.pages[name]
return { name, props }
}
2020-03-23 02:59:42 +13:00
let users = []
2020-03-11 05:06:30 +13:00
2020-03-23 02:59:42 +13:00
$: currentAppInfo = {
appname: $store.appname,
instanceId: $backendUiStore.selectedDatabase.id
}
async function fetchUsers() {
const DELETE_RECORDS_URL = `/_builder/instance/${currentAppInfo.appname}/${currentAppInfo.instanceId}/api/users`
const response = await api.get(DELETE_RECORDS_URL);
users = await response.json()
}
onMount(fetchUsers)
2020-03-11 05:06:30 +13:00
</script>
<div class="root">
<ul>
2020-03-23 02:59:42 +13:00
{#each users as user}
2020-03-11 05:06:30 +13:00
<li>
<i class="ri-user-4-line" />
2020-03-23 02:59:42 +13:00
<button class:active={user.id === $store.currentUserId}>{user.name}</button>
2020-03-11 05:06:30 +13:00
</li>
{/each}
</ul>
</div>
<style>
.root {
padding-bottom: 10px;
font-size: 0.9rem;
color: var(--secondary50);
font-weight: bold;
position: relative;
padding-left: 1.8rem;
}
ul {
margin: 0;
padding: 0;
list-style: none;
}
li {
margin: 0.5rem 0;
}
button {
margin: 0 0 0 6px;
padding: 0;
border: none;
font-family: Roboto;
font-size: 0.8rem;
outline: none;
cursor: pointer;
}
.active {
font-weight: 500;
}
.icon {
display: inline-block;
width: 14px;
color: #333;
}
</style>