Files
lucent-laravel/front/js/svelte/Navbar.svelte
T

102 lines
4.0 KiB
Svelte
Raw Normal View History

2023-10-02 23:10:49 +03:00
<script>
import Avatar from "./account/Avatar.svelte";
import NavbarMenu from "./NavbarMenu.svelte";
import {getContext} from "svelte";
export let schema;
const channel = getContext("channel");
const user = getContext("user");
2023-10-04 23:48:12 +03:00
2023-10-02 23:10:49 +03:00
</script>
<nav class="lx-nav">
2023-10-04 23:48:12 +03:00
<div>
2023-10-02 23:10:49 +03:00
2023-10-04 23:48:12 +03:00
</div>
<div>
<a class="nav-item" href="{channel.lucentUrl}">{channel.name}</a>
<a class="nav-item" href="{channel.lucentUrl}/members">Members</a>
{#if channel.generateCommand}
2023-10-05 13:03:17 +03:00
<a href="{channel.lucentUrl}/build-report" class="btn btn-outline-primary btn-sm">Build website</a>
2023-10-04 23:48:12 +03:00
{/if}
</div>
<div>
<a class="nav-item" href="{channel.lucentUrl}/profile">
<Avatar side="28" name={user.name}/>
</a>
</div>
2023-10-02 23:10:49 +03:00
2023-10-04 23:48:12 +03:00
</nav>
<div class="offcanvas offcanvas-start show border-0 bg-light-subtle" style="padding-top:36px " data-bs-scroll="true"
data-bs-backdrop="false"
tabindex="-1" aria-labelledby="offcanvasScrollingLabel">
<!-- <div class="offcanvas-header">-->
<!-- <h5 class="offcanvas-title" id="offcanvasScrollingLabel">Content</h5>-->
<!-- </div>-->
<div class="offcanvas-body">
2023-10-13 21:06:23 +03:00
<div class="accordion">
2023-10-04 23:48:12 +03:00
<div class="accordion-item">
2023-10-13 21:06:23 +03:00
<h2 class="accordion-header" id="panelsStayOpen-headingMain">
2023-10-04 23:48:12 +03:00
<button class="accordion-button" type="button" data-bs-toggle="collapse"
2023-10-13 21:06:23 +03:00
data-bs-target="#panelsStayOpen-collapseMain" aria-expanded="true"
aria-controls="panelsStayOpen-collapseMain">
2023-10-04 23:48:12 +03:00
Main
</button>
</h2>
2023-10-13 21:06:23 +03:00
<div id="panelsStayOpen-collapseMain" class="accordion-collapse collapse show"
aria-labelledby="panelsStayOpen-headingMain">
2023-10-04 23:48:12 +03:00
<div class="accordion-body">
<NavbarMenu
2023-10-02 23:10:49 +03:00
schemas={ channel.schemas.filter((sc) => sc.isEntry)}
schema={schema}
2023-10-04 23:48:12 +03:00
/>
2023-10-02 23:10:49 +03:00
</div>
</div>
2023-10-04 23:48:12 +03:00
</div>
<div class="accordion-item">
2023-10-13 21:06:23 +03:00
<h2 class="accordion-header" id="panelsStayOpen-headingOther">
2023-10-04 23:48:12 +03:00
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
2023-10-13 21:06:23 +03:00
data-bs-target="#panelsStayOpen-collapseOther" aria-expanded="false"
aria-controls="panelsStayOpen-collapseOther">
2023-10-04 23:48:12 +03:00
Other
</button>
</h2>
2023-10-13 21:06:23 +03:00
<div id="panelsStayOpen-collapseOther" class="accordion-collapse collapse"
aria-labelledby="panelsStayOpen-headingOther">
2023-10-04 23:48:12 +03:00
<div class="accordion-body">
<NavbarMenu
2023-10-13 21:06:23 +03:00
schemas={ channel.schemas.filter((sc) => !sc.isEntry && sc.type !== "files")}
schema={schema}
/>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="panelsStayOpen-headingFS">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
data-bs-target="#panelsStayOpen-collapseFS" aria-expanded="false"
aria-controls="panelsStayOpen-collapseFS">
Filesystem
</button>
</h2>
<div id="panelsStayOpen-collapseFS" class="accordion-collapse collapse"
aria-labelledby="panelsStayOpen-headingFS">
<div class="accordion-body">
<NavbarMenu
schemas={ channel.schemas.filter((sc) => sc.type === "files")}
2023-10-02 23:10:49 +03:00
schema={schema}
2023-10-04 23:48:12 +03:00
/>
2023-10-02 23:10:49 +03:00
</div>
</div>
2023-10-04 23:48:12 +03:00
</div>
2023-10-02 23:10:49 +03:00
</div>
</div>
2023-10-04 23:48:12 +03:00
</div>