diff --git a/public_html/media/css/core.css b/public_html/media/css/core.css
index c37a9561..37f0fb24 100644
--- a/public_html/media/css/core.css
+++ b/public_html/media/css/core.css
@@ -47,6 +47,11 @@ body {
display: inline-block;
float: left;
}
+#top-nav li.main-nav-item.active a {
+ border-bottom: 3px solid #f7f7f7;
+ margin-bottom: 0;
+ background: #f7f7f7;
+}
#top-nav li input,
#top-nav li.main-nav-item a {
@@ -351,6 +356,7 @@ button:hover {
background: white;
}
+.tabs li a:hover,
.tabs li a:focus {
color: firebrick;
}
diff --git a/src/Views/layout-normal.phtml b/src/Views/layout-normal.phtml
index c5bc1480..232b841e 100644
--- a/src/Views/layout-normal.phtml
+++ b/src/Views/layout-normal.phtml
@@ -27,74 +27,7 @@
diff --git a/src/Views/top-navigation.phtml b/src/Views/top-navigation.phtml
new file mode 100644
index 00000000..22bb1e83
--- /dev/null
+++ b/src/Views/top-navigation.phtml
@@ -0,0 +1,129 @@
+
+ context->route->simpleControllerName;
+ $activeAction = $this->context->route->simpleActionName;
+
+ $registerNavItem = function ($text, $link, $active = false) use (&$nav)
+ {
+ $nav []= [
+ 'text' => $text,
+ 'link' => $link,
+ 'active' => $active];
+ };
+
+ $registerNavItem(
+ 'Home',
+ \Chibi\UrlHelper::route('index', 'index'),
+ $activeController == 'index' and $activeAction == 'index');
+
+ if (PrivilegesHelper::confirm(Privilege::ListPosts))
+ {
+ $registerNavItem(
+ 'Browse',
+ \Chibi\UrlHelper::route('post', 'list'),
+ $activeController == 'post' and $activeAction != 'upload');
+ }
+
+ if (PrivilegesHelper::confirm(Privilege::UploadPost))
+ {
+ $registerNavItem(
+ 'Upload',
+ \Chibi\UrlHelper::route('post', 'upload'),
+ $activeController == 'post' and $activeAction == 'upload');
+ }
+
+ if (PrivilegesHelper::confirm(Privilege::ListComments))
+ {
+ $registerNavItem(
+ 'Comments',
+ \Chibi\UrlHelper::route('comment', 'list'),
+ $activeController == 'comment');
+ }
+
+ if (PrivilegesHelper::confirm(Privilege::ListTags))
+ {
+ $registerNavItem(
+ 'Tags',
+ \Chibi\UrlHelper::route('tag', 'list'),
+ $activeController == 'tag');
+ }
+
+ if (PrivilegesHelper::confirm(Privilege::ListUsers))
+ {
+ $registerNavItem(
+ 'Users',
+ \Chibi\UrlHelper::route('user', 'list'),
+ $activeController == 'user' and $activeAction != 'registration' and (!isset($this->context->route->arguments['name']) or $this->context->route->arguments['name'] != $this->context->user->name));
+ }
+
+ if (!$this->context->loggedIn)
+ {
+ $registerNavItem(
+ 'Log in',
+ \Chibi\UrlHelper::route('auth', 'login'),
+ $activeController == 'auth' and $activeAction == 'login');
+
+ $registerNavItem(
+ 'Register',
+ \Chibi\UrlHelper::route('user', 'registration'),
+ $activeController == 'user' and $activeAction == 'registration');
+ }
+ else
+ {
+ $registerNavItem(
+ 'My account',
+ \Chibi\UrlHelper::route('user', 'view', ['name' => $this->context->user->name]),
+ $activeController == 'user' and isset($this->context->route->arguments['name']) and $this->context->route->arguments['name'] == $this->context->user->name);
+
+ $registerNavItem(
+ 'Log out',
+ \Chibi\UrlHelper::route('auth', 'logout'));
+ }
+
+ if (!empty($this->config->help->title))
+ {
+ $registerNavItem(
+ $this->config->help->title,
+ \Chibi\UrlHelper::route('index', 'help'),
+ $activeController == 'index' and $activeAction == 'help');
+ }
+
+ foreach ($nav as $navItem)
+ {
+ extract($navItem);
+ echo TextHelper::htmlTag('li', TextHelper::HTML_OPEN, ['class' => rtrim('main-nav-item ' . ($active ? 'active' : ''))]);
+ echo TextHelper::htmlTag('a', TextHelper::HTML_OPEN, ['href' => $link]);
+ echo $text;
+ echo TextHelper::htmlTag('a', textHelper::HTML_CLOSE);
+ echo TextHelper::htmlTag('li', textHelper::HTML_CLOSE);
+ }
+ ?>
+
+ context->user))): ?>
+ -
+
+
+
+
+ -
+
+
+
+
+
+
+