ability to pin apps to the navbar when using named navbars

This commit is contained in:
zotlabs 2017-10-08 19:43:03 -07:00
parent c37908f344
commit 23812e5b48
4 changed files with 26 additions and 2 deletions

View File

@ -383,6 +383,13 @@ class Apps {
$install_action = (($installed) ? t('Update') : t('Install'));
$icon = ((strpos($papp['photo'],'icon:') === 0) ? substr($papp['photo'],5) : '');
if($mode === 'navbar') {
return replace_macros(get_markup_template('app_nav.tpl'),array(
'$app' => $papp,
'$icon' => $icon,
));
}
return replace_macros(get_markup_template('app.tpl'),array(
'$app' => $papp,
'$icon' => $icon,

View File

@ -261,10 +261,18 @@ EOT;
if(\App::$nav_sel['active'] == $app['name'])
$app['active'] = true;
if($is_owner)
if($is_owner) {
$nav_apps[] = Zlib\Apps::app_render($app,'nav');
elseif(! $is_owner && strpos($app['requires'], 'local_channel') === false)
if(strpos($app['categories'],'navbar_' . $template)) {
$navbar_apps[] = Zlib\Apps::app_render($app,'navbar');
}
}
elseif(! $is_owner && strpos($app['requires'], 'local_channel') === false) {
$nav_apps[] = Zlib\Apps::app_render($app,'nav');
if(strpos($app['categories'],'navbar_' . $template)) {
$navbar_apps[] = Zlib\Apps::app_render($app,'navbar');
}
}
}
$c = theme_include('navbar_' . $template . '.css');
@ -294,6 +302,7 @@ EOT;
'$help' => t('@name, #tag, ?doc, content'),
'$pleasewait' => t('Please wait...'),
'$nav_apps' => $nav_apps,
'$navbar_apps' => $navbar_apps,
'$channel_menu' => get_config('system','channel_menu'),
'$channel_thumb' => ((App::$profile) ? App::$profile['thumb'] : ''),
'$channel_apps' => $channel_apps,

1
view/tpl/app_nav.tpl Normal file
View File

@ -0,0 +1 @@
<a class="navbar-app nav-link{{if $app.active}} active{{/if}}" href="{{$app.url}}" title="{{$app.name}}" >{{if $icon}}<i class="generic-icons-nav fa fa-fw fa-{{$icon}}"></i>{{else}}<img src="{{$app.photo}}" width="16" height="16" />{{/if}}</a>

View File

@ -213,6 +213,13 @@
<ul id="nav-right" class="navbar-nav ml-auto d-none d-xl-flex">
{{if $navbar_apps}}
{{foreach $navbar_apps as $navbar_app}}
<li class="nav-navbar-apps">
{{$navbar_app}}
</li>
{{/foreach}}
{{/if}}
<li class="nav-item collapse clearfix" id="nav-search">
<form class="form-inline" method="get" action="search" role="search">
<input class="form-control form-control-sm mt-1 mr-2" id="nav-search-text" type="text" value="" placeholder="&#xf002; {{$help}}" name="search" title="{{$nav.search.3}}" onclick="this.submit();" onblur="closeMenu('nav-search'); openMenu('nav-search-btn');"/>