aboutsummaryrefslogtreecommitdiffstats
path: root/view/tpl
diff options
context:
space:
mode:
authorAndrew Manning <tamanning@zoho.com>2016-04-03 21:36:29 -0400
committerAndrew Manning <tamanning@zoho.com>2016-04-03 21:36:29 -0400
commit0523b4b2f1012a8b5f3bffb7f136a20dc9a4e43f (patch)
treea92197de4503ec52889dc05483493f4df1a305b8 /view/tpl
parent99d9456b3addc651a68874ddd391d25684252c4d (diff)
parentb4c1baada1fba46d4d75f40a7e78111d70d54e7a (diff)
downloadvolse-hubzilla-0523b4b2f1012a8b5f3bffb7f136a20dc9a4e43f.tar.gz
volse-hubzilla-0523b4b2f1012a8b5f3bffb7f136a20dc9a4e43f.tar.bz2
volse-hubzilla-0523b4b2f1012a8b5f3bffb7f136a20dc9a4e43f.zip
Merge branch 'master' of https://github.com/redmatrix/hubzilla into contextual-help
Diffstat (limited to 'view/tpl')
-rw-r--r--view/tpl/bookmarkedchats.tpl4
-rwxr-xr-xview/tpl/channel.tpl4
-rw-r--r--view/tpl/chat.tpl236
-rw-r--r--view/tpl/chatroom_members.tpl5
-rw-r--r--view/tpl/chatroom_new.tpl24
-rw-r--r--view/tpl/chatroomlist.tpl17
-rw-r--r--view/tpl/chatrooms.tpl49
-rwxr-xr-xview/tpl/events-js.tpl2
-rwxr-xr-xview/tpl/events_cal-js.tpl2
-rw-r--r--view/tpl/locmanage.tpl77
-rwxr-xr-xview/tpl/mail_display.tpl10
-rwxr-xr-xview/tpl/xchan_vcard.tpl2
12 files changed, 282 insertions, 150 deletions
diff --git a/view/tpl/bookmarkedchats.tpl b/view/tpl/bookmarkedchats.tpl
index ab4372c25..3aabf835a 100644
--- a/view/tpl/bookmarkedchats.tpl
+++ b/view/tpl/bookmarkedchats.tpl
@@ -1,5 +1,5 @@
{{if $rooms}}
-<div class="widget">
+<div id="chatroom_bookmarks" class="widget">
<h3>{{$header}}</h3>
<ul class="bookmarkchat nav nav-pills nav-stacked">
{{foreach $rooms as $room}}
@@ -7,4 +7,4 @@
{{/foreach}}
</ul>
</div>
-{{/if}} \ No newline at end of file
+{{/if}}
diff --git a/view/tpl/channel.tpl b/view/tpl/channel.tpl
index 17713aef4..d306f0aa0 100755
--- a/view/tpl/channel.tpl
+++ b/view/tpl/channel.tpl
@@ -44,10 +44,6 @@
<i class="icon-user{{if $channel.intros != 0}} new-notification{{/if}}"></i>
{{if $channel.intros != 0}}<a href='manage/{{$channel.channel_id}}/connections/ifpending'>{{/if}}{{$channel.intros|string_format:$intros_format}}{{if $channel.intros != 0}}</a>{{/if}}
</div>
- <div class="channel-link">
- <i class="icon-map-marker"></i>
- <a href="manage/{{$channel.channel_id}}/locs">{{$locs}}</a>
- </div>
{{/if}}
</div>
</div>
diff --git a/view/tpl/chat.tpl b/view/tpl/chat.tpl
index 18576fd56..9cf5968cb 100644
--- a/view/tpl/chat.tpl
+++ b/view/tpl/chat.tpl
@@ -1,44 +1,96 @@
-<div class="generic-content-wrapper-styled">
-
- {{if $is_owner}}
- <div id="chatDrop">
- <form id="chat-destroy" method="post" action="chat">
- <input type="hidden" name="room_name" value="{{$room_name}}" />
- <input type="hidden" name="action" value="drop" />
- <input type="submit" name="submit" value="{{$drop}}" onclick="return confirmDelete();"/>
- </form>
- </div>
- {{/if}}
-
-<h1>{{$room_name}}</h1>
-
-
-<div id="chatContainer">
-
- <div id="chatTopBar">
- <div id="chatLineHolder"></div>
+<div class="generic-content-wrapper">
+ <div class="section-title-wrapper">
+ <div class="pull-right">
+ <button id="fullscreen-btn" type="button" class="btn btn-default btn-xs" onclick="makeFullScreen(); adjustFullscreenTopBarHeight();"><i class="icon-resize-full"></i></button>
+ <button id="inline-btn" type="button" class="btn btn-default btn-xs" onclick="makeFullScreen(false); adjustInlineTopBarHeight();"><i class="icon-resize-small"></i></button>
+ {{if $is_owner}}
+ <form id="chat-destroy" method="post" action="chat">
+ <input type="hidden" name="room_name" value="{{$room_name}}" />
+ <input type="hidden" name="action" value="drop" />
+ <button class="btn btn-danger btn-xs" type="submit" name="submit" value="{{$drop}}" onclick="return confirmDelete();"><i class="icon-trash"></i>&nbsp;{{$drop}}</button>
+ </form>
+ {{/if}}
+ </div>
+ <h2>{{$room_name}}</h2>
+ <div class="clear"></div>
</div>
-
- <div id="chatSide">
-
- <div id="chatUsers"></div><br />
- </div>
- <div class="clear"></div>
- <div id="chatBottomBar">
- <div class="tip"></div>
-
- <form id="chat-form" method="post" action="#">
- <input type="hidden" name="room_id" value="{{$room_id}}" />
- <textarea id="chatText" name="chat_text" rows=3></textarea><br />
- <input type="submit" name="submit" value="{{$submit}}" />
- </form>
-
- </div>
- <div id="chatOptionsBar">
- <a href="{{$baseurl}}/chat/{{$nickname}}/{{$room_id}}/leave">{{$leave}}</a> | <a href="{{$baseurl}}/chatsvc?f=&room_id={{$room_id}}&status=away">{{$away}}</a> | <a href="{{$baseurl}}/chatsvc?f=&room_id={{$room_id}}&status=online">{{$online}}</a>{{if $bookmark_link}} | <a href="{{$bookmark_link}}" target="_blank" >{{$bookmark}}</a>{{/if}}
+ <div id="chatContainer" class="section-content-wrapper">
+ <div id="chatTopBar">
+ <div id="chatLineHolder"></div>
+ </div>
+ <div class="clear"></div>
+ <div id="chatBottomBar" >
+ <form id="chat-form" method="post" action="#">
+ <input type="hidden" name="room_id" value="{{$room_id}}" />
+ <div class="form-group">
+ <textarea id="chatText" name="chat_text" class="form-control"></textarea>
+ </div>
+ <div id="chat-submit-wrapper">
+ <div id="chat-submit" class="dropup pull-right">
+ <button class="btn btn-default btn-sm dropdown-toggle" type="button" data-toggle="dropdown"><i class="icon-caret-up"></i></button>
+ <button class="btn btn-primary btn-sm" type="submit" id="chat-submit" name="submit" value="{{$submit}}">{{$submit}}</button>
+ <ul class="dropdown-menu">
+ <li class="nav-item"><a class="nav-link" href="{{$baseurl}}/chatsvc?f=&room_id={{$room_id}}&status=online"><i class="icon-circle online"></i>&nbsp;{{$online}}</a></li>
+ <li class="nav-item"><a class="nav-link" href="{{$baseurl}}/chatsvc?f=&room_id={{$room_id}}&status=away"><i class="icon-circle away"></i>&nbsp;{{$away}}</a></li>
+ <li class="nav-item"><a class="nav-link" href="{{$baseurl}}/chat/{{$nickname}}/{{$room_id}}/leave"><i class="icon-circle leave"></i>&nbsp;{{$leave}}</a></li>
+ {{if $bookmark_link}}
+ <li class="divider"></li>
+ <li class="nav-item"><a class="nav-link" href="{{$bookmark_link}}" target="_blank" ><i class="icon-bookmark"></i>&nbsp;{{$bookmark}}</a></li>
+ {{/if}}
+ </ul>
+ </div>
+ <div id="chat-tools" class="btn-toolbar pull-left">
+ <div class="btn-group">
+ <button id="main-editor-bold" class="btn btn-default btn-sm" title="{{$bold}}" onclick="inserteditortag('b', 'chatText'); return false;">
+ <i class="icon-bold jot-icons"></i>
+ </button>
+ <button id="main-editor-italic" class="btn btn-default btn-sm" title="{{$italic}}" onclick="inserteditortag('i', 'chatText'); return false;">
+ <i class="icon-italic jot-icons"></i>
+ </button>
+ <button id="main-editor-underline" class="btn btn-default btn-sm" title="{{$underline}}" onclick="inserteditortag('u', 'chatText'); return false;">
+ <i class="icon-underline jot-icons"></i>
+ </button>
+ <button id="main-editor-quote" class="btn btn-default btn-sm" title="{{$quote}}" onclick="inserteditortag('quote', 'chatText'); return false;">
+ <i class="icon-quote-left jot-icons"></i>
+ </button>
+ <button id="main-editor-code" class="btn btn-default btn-sm" title="{{$code}}" onclick="inserteditortag('code', 'chatText'); return false;">
+ <i class="icon-terminal jot-icons"></i>
+ </button>
+ </div>
+ <div class="btn-group hidden-xs">
+ <button id="chat-link-wrapper" class="btn btn-default btn-sm" onclick="chatJotGetLink(); return false;" >
+ <i id="chat-link" class="icon-link jot-icons" title="{{$insert}}" ></i>
+ </button>
+ </div>
+ {{if $feature_encrypt}}
+ <div class="btn-group hidden-xs">
+ <button id="chat-encrypt-wrapper" class="btn btn-default btn-sm" onclick="red_encrypt('{{$cipher}}', '#chatText', $('#chatText').val()); return false;">
+ <i id="chat-encrypt" class="icon-key jot-icons" title="{{$encrypt}}" ></i>
+ </button>
+ </div>
+ {{/if}}
+ <div class="btn-group dropup visible-xs">
+ <button type="button" id="more-tools" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
+ <i id="more-tools-icon" class="icon-caret-up jot-icons"></i>
+ </button>
+ <ul class="dropdown-menu dropdown-menu-right" role="menu">
+ <li class="visible-xs"><a href="#" onclick="chatJotGetLink(); return false;" ><i class="icon-link"></i>&nbsp;{{$insert}}</a></li>
+ {{if $feature_encrypt}}
+ <li class="divider"></li>
+ <li class="visible-xs"><a href="#" onclick="red_encrypt('{{$cipher}}', '#chatText' ,$('#chatText').val()); return false;"><i class="icon-key"></i>&nbsp;{{$encrypt}}</a></li>
+ {{/if}}
+ </ul>
+ </div>
+ </div>
+ <div id="chat-rotator-wrapper" class="pull-left">
+ <div id="chat-rotator"></div>
+ </div>
+ <div class="clear"></div>
+ </div>
+ </form>
+ </div>
</div>
</div>
-</div>
<script>
var room_id = {{$room_id}};
@@ -46,10 +98,21 @@ var last_chat = 0;
var chat_timer = null;
$(document).ready(function() {
+ $('#chatTopBar').spin('small');
chat_timer = setTimeout(load_chats,300);
-
+ $('#chatroom_bookmarks, #vcard').hide();
+ $('#chatroom_list, #chatroom_members').show();
+ adjustInlineTopBarHeight();
});
+$(window).resize(function () {
+ if($('main').hasClass('fullscreen')) {
+ adjustFullscreenTopBarHeight();
+ }
+ else {
+ adjustInlineTopBarHeight();
+ }
+});
$('#chat-form').submit(function(ev) {
$('body').css('cursor','wait');
@@ -63,11 +126,11 @@ $('#chat-form').submit(function(ev) {
});
function load_chats() {
-
$.get("chatsvc?f=&room_id=" + room_id + '&last=' + last_chat + ((stopped) ? '&stopped=1' : ''),function(data) {
if(data.success && (! stopped)) {
update_inroom(data.inroom);
update_chats(data.chats);
+ $('#chatTopBar').spin(false);
}
});
@@ -80,55 +143,86 @@ function update_inroom(inroom) {
var count = inroom.length;
$.each( inroom, function(index, item) {
var newNode = document.createElement('div');
- $(newNode).html('<img style="height: 32px; width: 32px;" src="' + item.img + '" alt="' + item.name + '" /> ' + item.status + '<br />' + item.name + '<br/>');
+ newNode.setAttribute('class', 'member-item');
+ $(newNode).html('<img style="height: 32px; width: 32px;" src="' + item.img + '" alt="' + item.name + '" /> ' + '<span class="name">' + item.name + '</span><br /><span class="' + item.status_class + '">' + item.status + '</span>');
html.appendChild(newNode);
});
- $('#chatUsers').html(html);
+ $('#chatMembers').html(html);
}
function update_chats(chats) {
-
var count = chats.length;
$.each( chats, function(index, item) {
last_chat = item.id;
var newNode = document.createElement('div');
- newNode.setAttribute('class', 'chat-item');
- $(newNode).html('<img class="chat-item-photo" src="' + item.img + '" alt="' + item.name + '" /><div class="chat-body"><span class="chat-item-name">' + item.name + ' </span><span class="autotime chat-item-time" title="' + item.isotime + '">' + item.localtime + '</span><br /><span class="chat-item-text">' + item.text + '</span></div><div class="chat-item-end"></div>');
+
+ if(item.self) {
+ newNode.setAttribute('class', 'chat-item-self clear');
+ $(newNode).html('<div class="chat-body-self"><div class="chat-item-title-self wall-item-ago"><span class="chat-item-name-self">' + item.name + ' </span><span class="autotime chat-item-time-self" title="' + item.isotime + '">' + item.localtime + '</span></div><div class="chat-item-text-self">' + item.text + '</div></div><img class="chat-item-photo-self" src="' + item.img + '" alt="' + item.name + '" />');
+ }
+ else {
+ newNode.setAttribute('class', 'chat-item clear');
+ $(newNode).html('<img class="chat-item-photo" src="' + item.img + '" alt="' + item.name + '" /><div class="chat-body"><div class="chat-item-title wall-item-ago"><span class="chat-item-name">' + item.name + ' </span><span class="autotime chat-item-time" title="' + item.isotime + '">' + item.localtime + '</span></div><div class="chat-item-text">' + item.text + '</div></div>');
+ }
$('#chatLineHolder').append(newNode);
$(".autotime").timeago();
+ var elem = document.getElementById('chatTopBar');
+ elem.scrollTop = elem.scrollHeight;
+ });
+}
+
+function chatJotGetLink() {
+ reply = prompt("{{$linkurl}}");
+ if(reply && reply.length) {
+ $('#chat-rotator').spin('tiny');
+ $.get('linkinfo?f=&url=' + reply, function(data) {
+ addmailtext(data);
+ $('#chat-rotator').spin(false);
});
- var elem = document.getElementById('chatTopBar');
- elem.scrollTop = elem.scrollHeight;
+ }
+}
+function addmailtext(data) {
+ var currentText = $("#chatText").val();
+ $("#chatText").val(currentText + data);
}
-</script>
-<script>
-function isMobile() {
-if( navigator.userAgent.match(/Android/i)
- || navigator.userAgent.match(/webOS/i)
- || navigator.userAgent.match(/iPhone/i)
- || navigator.userAgent.match(/iPad/i)
- || navigator.userAgent.match(/iPod/i)
- || navigator.userAgent.match(/BlackBerry/i)
- || navigator.userAgent.match(/Windows Phone/i)
- ){
- return true;
- }
- else {
- return false;
- }
+function adjustFullscreenTopBarHeight() {
+ $('#chatTopBar').height($(window).height() - $('#chatBottomBar').outerHeight(true) - $('.section-title-wrapper').outerHeight(true) - 16);
+ $('#chatTopBar').scrollTop($('#chatTopBar').prop('scrollHeight'));
+}
+
+function adjustInlineTopBarHeight() {
+ $('#chatTopBar').height($(window).height() - $('#chatBottomBar').outerHeight(true) - $('.section-title-wrapper').outerHeight(true) - $('nav').outerHeight(true) - 23);
+ $('#chatTopBar').scrollTop($('#chatTopBar').prop('scrollHeight'));
}
-$(function(){
- $('#chatText').keypress(function(e){
- if (e.keyCode == 13 && e.shiftKey||isMobile()) {
+function isMobile() {
+ if( navigator.userAgent.match(/Android/i)
+ || navigator.userAgent.match(/webOS/i)
+ || navigator.userAgent.match(/iPhone/i)
+ || navigator.userAgent.match(/iPad/i)
+ || navigator.userAgent.match(/iPod/i)
+ || navigator.userAgent.match(/BlackBerry/i)
+ || navigator.userAgent.match(/Windows Phone/i)
+ ){
+ return true;
+ }
+ else {
+ return false;
}
- else if (e.keyCode == 13) {
- e.preventDefault();
- $(this).parent('form').trigger('submit');
- }
- });
+}
+
+$(function(){
+ $('#chatText').keypress(function(e){
+ if (e.keyCode == 13 && e.shiftKey||isMobile()) {
+ //do nothing
+ }
+ else if (e.keyCode == 13) {
+ e.preventDefault();
+ $('#chat-form').trigger('submit');
+ }
+ });
});
</script>
diff --git a/view/tpl/chatroom_members.tpl b/view/tpl/chatroom_members.tpl
new file mode 100644
index 000000000..ea5fbede8
--- /dev/null
+++ b/view/tpl/chatroom_members.tpl
@@ -0,0 +1,5 @@
+<div id="chatroom_members" class="widget">
+ <h3>{{$header}}</h3>
+ <div id="chatMembers"></div>
+</div>
+
diff --git a/view/tpl/chatroom_new.tpl b/view/tpl/chatroom_new.tpl
index c64f21c97..8acff2ff5 100644
--- a/view/tpl/chatroom_new.tpl
+++ b/view/tpl/chatroom_new.tpl
@@ -1,14 +1,12 @@
-<div class="generic-content-wrapper-styled">
-<h1>{{$header}}</h1>
-
-<form action="chat" method="post" >
-{{include file="field_input.tpl" field=$name}}
-{{include file="field_input.tpl" field=$chat_expire}}
-<button id="dbtn-acl" class="btn btn-default" data-toggle="modal" data-target="#aclModal" onclick="return false;" >{{$permissions}}</button>
-{{$acl}}
-<div class="clear"></div>
-<br />
-<br />
-<input id="dbtn-submit" type="submit" name="submit" value="{{$submit}}" />
-</form>
+<div id="chatroom-new" class="section-content-tools-wrapper">
+ <form action="chat" method="post" >
+ {{include file="field_input.tpl" field=$name}}
+ {{include file="field_input.tpl" field=$chat_expire}}
+ {{$acl}}
+ <div class="btn-group pull-right">
+ <button id="dbtn-acl" class="btn btn-default" data-toggle="modal" data-target="#aclModal" title="{{$permissions}}" onclick="return false;" ><i id="jot-perms-icon" class="icon-{{$lockstate}}"></i></button>
+ <button id="dbtn-submit" class="btn btn-primary" type="submit" name="submit" value="{{$submit}}">{{$submit}}</button>
+ </div>
+ <div class="clear"></div>
+ </form>
</div>
diff --git a/view/tpl/chatroomlist.tpl b/view/tpl/chatroomlist.tpl
index 71fec8200..ff4b79a4b 100644
--- a/view/tpl/chatroomlist.tpl
+++ b/view/tpl/chatroomlist.tpl
@@ -1,11 +1,10 @@
-<div class="widget">
-<h3>{{$header}}</h3>
-{{if $items}}
-<table class="chatroomlist">
-{{foreach $items as $item}}
-<tr><td align="left"><a href="{{$baseurl}}/chat/{{$nickname}}/{{$item.cr_id}}">{{$item.cr_name}}</a></td><td align="right">{{$item.cr_inroom}}</td></tr>
-{{/foreach}}
-</table>
-{{/if}}
+<div id="chatroom_list" class="widget">
+ <h3>{{$header}}</h3>
+ <ul class="nav nav-pills nav-stacked">
+ <li><a href="{{$baseurl}}/chat/{{$nickname}}">{{$overview}}</a></li>
+ {{foreach $items as $item}}
+ <li><a href="{{$baseurl}}/chat/{{$nickname}}/{{$item.cr_id}}"><span class="badge pull-right">{{$item.cr_inroom}}</span>{{$item.cr_name}}</a></li>
+ {{/foreach}}
+ </ul>
</div>
diff --git a/view/tpl/chatrooms.tpl b/view/tpl/chatrooms.tpl
index 570aef1c7..de8cdce7c 100644
--- a/view/tpl/chatrooms.tpl
+++ b/view/tpl/chatrooms.tpl
@@ -1,12 +1,41 @@
-<div class="generic-content-wrapper-styled">
-<h2>{{$header}}</h2>
-
-{{if $is_owner}}
-<p>
-<span class="btn btn-default"><a href="{{$baseurl}}/chat/{{$nickname}}/new">{{$newroom}}</a></span>
-</p>
-{{/if}}
-
-{{$rooms}}
+<div class="generic-content-wrapper">
+ <div class="section-title-wrapper">
+ {{if $is_owner}}
+ <button type="button" class="btn btn-success btn-xs pull-right" onclick="openClose('chatroom-new');"><i class="icon-plus-sign"></i>&nbsp;{{$newroom}}</button>
+ {{/if}}
+ <h2>{{$header}}</h2>
+ </div>
+ {{if $is_owner}}
+ {{$chatroom_new}}
+ {{/if}}
+ {{if $rooms}}
+ <div class="section-content-wrapper-np">
+ <table id="chatrooms-index">
+ <tr>
+ <th width="97%">{{$name}}</th>
+ <th width="1%">{{$expire}}</th>
+ <th width="1%" class="chatrooms-index-tool"></th>
+ <th width="1%"></th>
+ </tr>
+ {{foreach $rooms as $room}}
+ <tr class="chatroom-index-row">
+ <td><a href="{{$baseurl}}/chat/{{$nickname}}/{{$room.cr_id}}">{{$room.cr_name}}</a></td>
+ <td>{{$room.cr_expire}}&nbsp;min</td>
+ <td class="chatrooms-index-tool dropdown pull-right">
+ {{if $room.allow_cid || $room.allow_gid || $room.deny_cid || $room.deny_gid}}
+ <i class="icon-lock lockview dropdown-toggle" data-toggle="dropdown" onclick="lockview('chatroom',{{$room.cr_id}});"></i>
+ <ul id="panel-{{$room.cr_id}}" class="lockview-panel dropdown-menu"></ul>
+ {{/if}}
+ </td>
+ <td><span class="badge">{{$room.cr_inroom}}</span></td>
+ </tr>
+ {{/foreach}}
+ </table>
+ </div>
+ {{else}}
+ <div class="section-content-wrapper">
+ {{$norooms}}
+ </div>
+ {{/if}}
</div>
diff --git a/view/tpl/events-js.tpl b/view/tpl/events-js.tpl
index c29d80347..5c9eb2814 100755
--- a/view/tpl/events-js.tpl
+++ b/view/tpl/events-js.tpl
@@ -1,6 +1,8 @@
<div class="generic-content-wrapper">
<div class="section-title-wrapper">
<div class="pull-right">
+ <button id="fullscreen-btn" type="button" class="btn btn-default btn-xs" onclick="makeFullScreen();"><i class="icon-resize-full"></i></button>
+ <button id="inline-btn" type="button" class="btn btn-default btn-xs" onclick="makeFullScreen(false);"><i class="icon-resize-small"></i></button>
<button class="btn btn-success btn-xs" onclick="openClose('form');">{{$new_event.1}}</button>
<div class="btn-group">
<button class="btn btn-default btn-xs" onclick="changeView('prev', false);" title="{{$prev}}"><i class="icon-backward"></i></button>
diff --git a/view/tpl/events_cal-js.tpl b/view/tpl/events_cal-js.tpl
index bc8a3aa31..abffb2a92 100755
--- a/view/tpl/events_cal-js.tpl
+++ b/view/tpl/events_cal-js.tpl
@@ -2,6 +2,8 @@
<div class="generic-content-wrapper">
<div class="section-title-wrapper">
<div class="pull-right">
+ <button id="fullscreen-btn" type="button" class="btn btn-default btn-xs" onclick="makeFullScreen();"><i class="icon-resize-full"></i></button>
+ <button id="inline-btn" type="button" class="btn btn-default btn-xs" onclick="makeFullScreen(false);"><i class="icon-resize-small"></i></button>
<div class="btn-group">
<button class="btn btn-default btn-xs" onclick="changeView('prev', false);" title="{{$prev}}"><i class="icon-backward"></i></button>
<button id="events-spinner" class="btn btn-default btn-xs" onclick="changeView('today', false);" title="{{$today}}"><i class="icon-bullseye"></i></button>
diff --git a/view/tpl/locmanage.tpl b/view/tpl/locmanage.tpl
index c94cf60a7..89d5295ad 100644
--- a/view/tpl/locmanage.tpl
+++ b/view/tpl/locmanage.tpl
@@ -1,38 +1,41 @@
-<div class="generic-content-wrapper-styled">
-<h2>{{$header}}</h2>
-
-<script>
-function primehub(id) {
- $.post(baseurl + '/locs','primary='+id,function(data) { window.location.href=window.location.href; });
-}
-function drophub(id) {
- $.post(baseurl + '/locs','drop='+id,function(data) { window.location.href=window.location.href; });
-}
-</script>
-
-<div class="descriptive-text">{{$sync_text}}</div>
-<br />
-<div class="descriptive-text">{{$drop_text}}</div>
-<div class="descriptive-text">{{$last_resort}}</div>
-<br />
-
-
-
-
-<table>
-<tr><td>{{$loc}}</td><td>{{$mkprm}}</td><td>{{$drop}}</td></tr>
-{{foreach $hubs as $hub}}
-{{if ! $hub.deleted }}
-<tr><td>
-{{$hub.hubloc_url}} ({{$hub.hubloc_addr}})</td>
-<td>
-{{if $hub.primary}}<button class="btn btn-std"><i class="icon-check"></i></button>{{else}}<button class="btn btn-std" onclick="primehub({{$hub.hubloc_id}}); return false;" ><i class="icon-check-empty" ></i></button>{{/if}}
-</td>
-<td><button class="btn btn-std" onclick="drophub({{$hub.hubloc_id}}); return false;"><i class="icon-trash"></i></button></td>
-</tr>
-{{/if}}
-{{/foreach}}
-</table>
+<div class="generic-content-wrapper">
+ <div class="section-title-wrapper">
+ <script>
+ function primehub(id) {
+ $.post(baseurl + '/locs','primary='+id,function(data) { window.location.href=window.location.href; });
+ }
+ function drophub(id) {
+ $.post(baseurl + '/locs','drop='+id,function(data) { window.location.href=window.location.href; });
+ }
+ </script>
+ <button class="btn btn-success btn-xs pull-right" onclick="window.location.href='/locs/f=&sync=1'; return false;"><i class="icon-refresh"></i>&nbsp;{{$sync}}</button>
+ <h2>{{$header}}</h2>
+ </div>
+ <div class="section-content-wrapper-np">
+ <div class="section-content-warning-wrapper">
+ {{$sync_text}}
+ </div>
+ <div class="section-content-info-wrapper">
+ {{$drop_text}}<br>
+ {{$last_resort}}
+ </div>
+ <table id="locs-index">
+ <tr>
+ <th>{{$addr}}</th>
+ <th class="hidden-xs">{{$loc}}</th>
+ <th>{{$mkprm}}</th>
+ <th>{{$drop}}</th>
+ </tr>
+ {{foreach $hubs as $hub}}
+ {{if ! $hub.deleted }}
+ <tr class="locs-index-row">
+ <td>{{$hub.hubloc_addr}}</td>
+ <td class="hidden-xs">{{$hub.hubloc_url}}</td>
+ <td>{{if $hub.primary}}<i class="icon-check"></i>{{else}}<i class="icon-check-empty primehub" onclick="primehub({{$hub.hubloc_id}}); return false;"></i>{{/if}}</td>
+ <td><i class="icon-trash drophub" onclick="drophub({{$hub.hubloc_id}}); return false;"></i></td>
+ </tr>
+ {{/if}}
+ {{/foreach}}
+ </table>
+ </div>
</div>
-<div class="clear"></div>
-<button class="btn btn-std" onclick="window.location.href='/locs/f=&sync=1'; return false;">{{$sync}}</button>
diff --git a/view/tpl/mail_display.tpl b/view/tpl/mail_display.tpl
index 24e763571..a7754daf2 100755
--- a/view/tpl/mail_display.tpl
+++ b/view/tpl/mail_display.tpl
@@ -1,8 +1,12 @@
<div class="generic-content-wrapper">
<div class="section-title-wrapper">
- {{if $mailbox == 'combined'}}
- <a class="btn btn-xs btn-danger pull-right" href="mail/{{$mailbox}}/dropconv/{{$thread_id}}" onclick="return confirmDelete();"><i class="icon-trash"></i> {{$delete}}</a>
- {{/if}}
+ <div class="pull-right">
+ <button id="fullscreen-btn" type="button" class="btn btn-default btn-xs" onclick="makeFullScreen();"><i class="icon-resize-full"></i></button>
+ <button id="inline-btn" type="button" class="btn btn-default btn-xs" onclick="makeFullScreen(false);"><i class="icon-resize-small"></i></button>
+ {{if $mailbox == 'combined'}}
+ <a class="btn btn-xs btn-danger" href="mail/{{$mailbox}}/dropconv/{{$thread_id}}" onclick="return confirmDelete();"><i class="icon-trash"></i> {{$delete}}</a>
+ {{/if}}
+ </div>
<h2>{{$prvmsg_header}}</h2>
<div class="clear"></div>
</div>
diff --git a/view/tpl/xchan_vcard.tpl b/view/tpl/xchan_vcard.tpl
index ad409d75b..52bf6ab47 100755
--- a/view/tpl/xchan_vcard.tpl
+++ b/view/tpl/xchan_vcard.tpl
@@ -1,4 +1,4 @@
-<div class="vcard">
+<div id="vcard" class="vcard">
<div id="profile-photo-wrapper"><a href="{{$link}}"><img class="vcard-photo photo" src="{{$photo}}" alt="{{$name}}" /></a></div>
{{if $connect}}
<div class="connect-btn-wrapper"><a href="follow?f=&url={{$follow}}" class="btn btn-block btn-success btn-sm"><i class="icon-plus"></i> {{$connect}}</a></div>