121 lines
3.0 KiB
Svelte
121 lines
3.0 KiB
Svelte
<script>
|
|
import { page } from '$app/stores'
|
|
|
|
import {
|
|
Badge,
|
|
Button,
|
|
ButtonGroup,
|
|
Col,
|
|
Collapse,
|
|
Container,
|
|
Dropdown,
|
|
DropdownItem,
|
|
DropdownMenu,
|
|
DropdownToggle,
|
|
Icon,
|
|
Navbar,
|
|
NavbarBrand,
|
|
Nav,
|
|
NavItem,
|
|
NavLink,
|
|
Progress,
|
|
Row,
|
|
} from 'sveltestrap';
|
|
|
|
import { auth, version } from '$lib/stores/auth';
|
|
|
|
export let activemenu = "";
|
|
$: {
|
|
const path = $page.url.href.substr(document.baseURI.length-1).split("/");
|
|
if (path.length > 1) {
|
|
activemenu = path[1];
|
|
} else {
|
|
activemenu = "";
|
|
}
|
|
}
|
|
|
|
async function rungitlab() {
|
|
const res = await fetch('api/gitlab/token');
|
|
if (res.status === 200) {
|
|
return res.json();
|
|
} else {
|
|
throw new Error((await res.json()).errmsg);
|
|
}
|
|
}
|
|
|
|
const gitlab = rungitlab();
|
|
</script>
|
|
|
|
<Navbar color="dark" dark expand="xs">
|
|
<NavbarBrand href=".">
|
|
<img src="../img/fic.png" alt="FIC" height="26">
|
|
QA
|
|
</NavbarBrand>
|
|
<Nav navbar>
|
|
<NavItem>
|
|
<NavLink
|
|
href="."
|
|
active={activemenu === ''}
|
|
>
|
|
<Icon name="house-door" />
|
|
<span class="d-none d-md-inline">Accueil</span>
|
|
</NavLink>
|
|
</NavItem>
|
|
<NavItem>
|
|
<NavLink
|
|
href="themes"
|
|
active={activemenu === 'themes'}
|
|
>
|
|
<Icon name="box-seam" />
|
|
<span class="d-none d-md-inline">Scénarios</span>
|
|
</NavLink>
|
|
</NavItem>
|
|
<NavItem>
|
|
<NavLink
|
|
href="exercices"
|
|
active={activemenu === 'exercices'}
|
|
>
|
|
<Icon name="bar-chart-steps" />
|
|
<span class="d-none d-md-inline">Étapes</span>
|
|
</NavLink>
|
|
</NavItem>
|
|
{#if $auth && $auth.is_manager}
|
|
<NavItem>
|
|
<NavLink
|
|
href="teams"
|
|
active={activemenu === 'teams'}
|
|
>
|
|
<Icon name="people" />
|
|
<span class="d-none d-md-inline">Équipes</span>
|
|
</NavLink>
|
|
</NavItem>
|
|
<NavItem>
|
|
<NavLink
|
|
href="repositories"
|
|
active={activemenu === 'repositories'}
|
|
>
|
|
<Icon name="archive" />
|
|
<span class="d-none d-md-inline">Dépôts</span>
|
|
</NavLink>
|
|
</NavItem>
|
|
{/if}
|
|
</Nav>
|
|
<Nav class="ms-auto text-light" navbar>
|
|
{#await gitlab then gl}
|
|
<Icon name="gitlab" />
|
|
{:catch err}
|
|
<Button
|
|
color="warning"
|
|
size="sm"
|
|
href="auth/gitlab?next=/"
|
|
>
|
|
<Icon name="gitlab" /> Connexion GitLab
|
|
</Button>
|
|
{/await}
|
|
<NavItem class="ms-2 text-truncate">
|
|
v{$version.version}
|
|
{#if $auth}– Logged as {$auth.name} (team #{$auth.id_team}){/if}
|
|
</NavItem>
|
|
</Nav>
|
|
</Navbar>
|