mirror of https://github.com/realaravinth/gitpad
feat: separate navigation bars for logged and unauthenticated users
SUMMARY Authenticated and unauthenticated users have different requirements. Links to profile and settings are irrelevant for unauthenticated users. So separate navigation bars. USAGE crate::pages::auth_ctx Authenticated user context should be supplied on every authenticated route template render. Authenticated navigation bar depends on "loggedin_user" to render profile link. AUTH_NAV("auth_nav") Should only be used in authenticated routes. Depends on "loggedin_user" authenticated user context, which can't be supplied in unauthenticated routes. NOTES Currently, there's (template)code duplication, when inheritance for "include" templates are implemented in Tera crate, navigation bars implementations should be refactored to avoid duplication.master
parent
3d040ede86
commit
28b501810e
@ -0,0 +1,26 @@
|
||||
<nav class="nav__container">
|
||||
<input type="checkbox" class="nav__toggle" id="nav__toggle" />
|
||||
|
||||
<div class="nav__header">
|
||||
<a class="nav__logo-container" href="/">
|
||||
<p class="nav__home-btn">GitPad</p>
|
||||
</a>
|
||||
<label class="nav__hamburger-menu" for="nav__toggle">
|
||||
<span class="nav__hamburger-inner"></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="nav__spacer"></div>
|
||||
|
||||
<div class="nav__link-group">
|
||||
<div class="nav__link-container">
|
||||
<a class="nav__link" rel="noreferrer" href="{{ page.gist.new }}">New Paste</a>
|
||||
</div>
|
||||
<div class="nav__link-container">
|
||||
<a class="nav__link" rel="noreferrer" href="{{ loggedin_user }}">Profile</a>
|
||||
</div>
|
||||
<div class="nav__link-container">
|
||||
<a class="nav__link" rel="noreferrer" href="{{ page.auth.logout }}">Log out</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
@ -0,0 +1,18 @@
|
||||
<nav class="nav__container">
|
||||
<input type="checkbox" class="nav__toggle" id="nav__toggle" />
|
||||
|
||||
<div class="nav__header">
|
||||
<a class="nav__logo-container" href="/">
|
||||
<p class="nav__home-btn">GitPad</p>
|
||||
</a>
|
||||
<label class="nav__hamburger-menu" for="nav__toggle">
|
||||
<span class="nav__hamburger-inner"></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="nav__spacer"></div>
|
||||
|
||||
<div class="nav__link-group">
|
||||
{% block nav_links %} {% endblock %}
|
||||
</div>
|
||||
</nav>
|
Loading…
Reference in New Issue