94 changed files with 1922 additions and 1210 deletions
-
21app/assets/js/movim_tpl.js
-
2app/views/chat.tpl
-
2app/views/conf.tpl
-
6app/views/contact.tpl
-
26app/views/friend.tpl
-
2app/views/group.tpl
-
2app/views/help.tpl
-
2app/views/login.tpl
-
4app/views/main.tpl
-
4app/views/news.tpl
-
4app/views/page.tpl
-
44app/widgets/About/about.tpl
-
40app/widgets/Account/account.tpl
-
16app/widgets/AdHoc/_adhoc_list.tpl
-
38app/widgets/AdminDB/admindb.tpl
-
14app/widgets/AdminMain/adminmain.tpl
-
40app/widgets/Api/api.tpl
-
23app/widgets/Avatar/_avatar_form.tpl
-
42app/widgets/Blog/blog.tpl
-
12app/widgets/Chat/_chat.tpl
-
18app/widgets/Chat/_chat_bubble.tpl
-
4app/widgets/Chat/_chat_bubble_room.tpl
-
16app/widgets/Chat/_chat_empty.tpl
-
64app/widgets/Chat/_chat_header.tpl
-
91app/widgets/Chat/_chat_header_room.tpl
-
61app/widgets/Chat/chat.css
-
14app/widgets/Chat/chat.js
-
2app/widgets/Chat/chat.tpl
-
20app/widgets/Chats/_chats_add.tpl
-
14app/widgets/Chats/_chats_add_extend.tpl
-
35app/widgets/Chats/_chats_item.tpl
-
2app/widgets/Chats/chats.tpl
-
10app/widgets/Contact/Contact.php
-
334app/widgets/Contact/_contact.tpl
-
6app/widgets/Contact/_contact_empty.tpl
-
2app/widgets/Contact/_contact_explore.tpl
-
33app/widgets/Contact/_contact_public.tpl
-
24app/widgets/Group/_group_empty.tpl
-
88app/widgets/Group/_group_header.tpl
-
13app/widgets/Group/_group_subscriptions.tpl
-
36app/widgets/Groups/_groups_header.tpl
-
41app/widgets/Groups/_groups_server.tpl
-
15app/widgets/Groups/_groups_subscriptions.tpl
-
11app/widgets/Header/_header_admin.tpl
-
10app/widgets/Header/_header_chat.tpl
-
10app/widgets/Header/_header_conf.tpl
-
10app/widgets/Header/_header_group.tpl
-
10app/widgets/Header/_header_help.tpl
-
8app/widgets/Header/_header_login.tpl
-
7app/widgets/Header/locales.ini
-
120app/widgets/Hello/hello.tpl
-
50app/widgets/Help/help.tpl
-
16app/widgets/Login/_login_sessions.tpl
-
1app/widgets/Login/login.css
-
25app/widgets/Login/login.tpl
-
2app/widgets/Menu/Menu.php
-
30app/widgets/Menu/_menu_list.tpl
-
5app/widgets/Menu/locales.ini
-
2app/widgets/Menu/menu.css
-
24app/widgets/Menu/menu.tpl
-
56app/widgets/Navigation/navigation.tpl
-
8app/widgets/Notification/_notification.tpl
-
6app/widgets/Notification/notification.js
-
1app/widgets/Post/Post.php
-
296app/widgets/Post/_post.tpl
-
50app/widgets/Post/_post_comments.tpl
-
8app/widgets/Post/_post_comments_error.tpl
-
25app/widgets/Post/_post_empty.tpl
-
2app/widgets/Post/locales.ini
-
2app/widgets/Post/post.tpl
-
33app/widgets/Presence/_presence.tpl
-
54app/widgets/Presence/_presence_list.tpl
-
2app/widgets/Presence/presence.tpl
-
46app/widgets/Publish/_publish_create.tpl
-
10app/widgets/Publish/_publish_gallery.tpl
-
62app/widgets/Publish/_publish_header.tpl
-
53app/widgets/Publish/_publish_help.tpl
-
2app/widgets/Publish/publish.js
-
24app/widgets/Rooms/_rooms.tpl
-
25app/widgets/Rooms/_rooms_list.tpl
-
6app/widgets/Roster/_roster_search.tpl
-
10app/widgets/Roster/_roster_search_results.tpl
-
16app/widgets/Roster/roster.css
-
65app/widgets/Roster/roster.tpl
-
12app/widgets/Statistics/statistics.tpl
-
8app/widgets/Upload/_upload.tpl
-
44app/widgets/Vcard4/_vcard4_form.tpl
-
9themes/material/css/article.css
-
1themes/material/css/block.css
-
82themes/material/css/color.css
-
16themes/material/css/form.css
-
388themes/material/css/listn.css
-
30themes/material/css/menu.css
-
52themes/material/css/style.css
@ -1,16 +1,16 @@ |
|||
<nav class="color dark"> |
|||
<?php $this->widget('Navigation');?> |
|||
<?php $this->widget('Presence');?> |
|||
<?php $this->widget('Navigation');?> |
|||
</nav> |
|||
|
|||
<main> |
|||
<?php $this->widget('Header'); ?> |
|||
<?php //$this->widget('Header'); ?> |
|||
<section> |
|||
<div> |
|||
<?php $this->widget('Notifs');?> |
|||
<?php $this->widget('Roster');?> |
|||
</div> |
|||
<div id="contact_widget" class="card shadow"> |
|||
<div id="contact_widget"> |
|||
<?php $this->widget('Contact');?> |
|||
</div> |
|||
</section> |
|||
|
|||
@ -1,26 +0,0 @@ |
|||
<?php /* -*- mode: html -*- */ |
|||
?> |
|||
<?php $this->widget('Presence');?> |
|||
<?php $this->widget('Chat');?> |
|||
<?php $this->widget('VisioExt');?> |
|||
|
|||
<div id="main"> |
|||
<div id="left"> |
|||
<?php $this->widget('ContactSummary');?> |
|||
<?php $this->widget('ContactInfo');?> |
|||
<?php $this->widget('ContactAction');?> |
|||
<div class="clear"></div> |
|||
<?php $this->widget('ContactManage');?> |
|||
</div> |
|||
|
|||
<?php $this->widget('Tabs');?> |
|||
<div id="center"> |
|||
<?php $this->widget('Wall');?> |
|||
<?php $this->widget('ContactCard');?> |
|||
<?php $this->widget('ContactPubsubSubscription');?> |
|||
</div> |
|||
</div> |
|||
|
|||
<div id="right"> |
|||
<?php $this->widget('Roster');?> |
|||
</div> |
|||
@ -1,14 +1,16 @@ |
|||
<ul class="divided active spaced"> |
|||
<li class="subheader">{$c->__('adhoc.title')}</li> |
|||
<ul class="list middle divided active spaced"> |
|||
<li class="subheader"> |
|||
<p>{$c->__('adhoc.title')}</p> |
|||
</li> |
|||
{loop="$list"} |
|||
<li class="action" data-node="{$value->attributes()->node}" data-jid="{$value->attributes()->jid}"> |
|||
<span class="icon gray"> |
|||
<li data-node="{$value->attributes()->node}" data-jid="{$value->attributes()->jid}"> |
|||
<span class="primary icon gray"> |
|||
<i class="zmdi {$c->getIcon((string)$value->attributes()->node)}"></i> |
|||
</span> |
|||
<div class="action"> |
|||
<span class="control icon gray"> |
|||
<i class="zmdi zmdi-chevron-right"></i> |
|||
</div> |
|||
<span>{$value->attributes()->name}</span> |
|||
</span> |
|||
<p class="normal">{$value->attributes()->name}</p> |
|||
</li> |
|||
{/loop} |
|||
</ul> |
|||
@ -1,69 +1,71 @@ |
|||
<div id="api" class="tabelem paddedtop" title="{$c->__("api.title")}"> |
|||
<ul> |
|||
<li class="subheader">{$infos}</li> |
|||
<ul class="list"> |
|||
<li class="subheader"> |
|||
<p>{$infos}</p> |
|||
</li> |
|||
|
|||
{if="isset($json)"} |
|||
{if="$json->status == 200"} |
|||
<li> |
|||
<span class="icon bubble color green"> |
|||
<span class="primary icon bubble color green"> |
|||
<i class="zmdi zmdi-cloud"></i> |
|||
</span> |
|||
{if="!$unregister_status"} |
|||
<div class="action"> |
|||
<span class="control"> |
|||
<a class="button oppose" onclick="{$unregister}"> |
|||
{$c->__('button.unregister')} |
|||
</a> |
|||
</div> |
|||
</span> |
|||
{/if} |
|||
<span>{$c->__('api.registered')}</span> |
|||
<p class="normal">{$c->__('api.registered')}</p> |
|||
</li> |
|||
|
|||
{if="$json->pod->activated"} |
|||
<li> |
|||
<span class="icon bubble color green"> |
|||
<span class="primary icon bubble color green"> |
|||
<i class="zmdi zmdi-cloud"></i> |
|||
</span> |
|||
<span>{$c->__('api.validated')}</span> |
|||
<p class="normal">{$c->__('api.validated')}</p> |
|||
</li> |
|||
{else} |
|||
<li> |
|||
<span class="icon bubble color gray"> |
|||
<span class="primary icon bubble color gray"> |
|||
<i class="zmdi zmdi-cloud-off"></i> |
|||
</span> |
|||
<span>{$c->__('api.wait')}</span> |
|||
<p class="normal">{$c->__('api.wait')}</p> |
|||
</li> |
|||
{/if} |
|||
|
|||
{if="$unregister_status"} |
|||
<li> |
|||
<div class="action"> |
|||
<span class="control"> |
|||
<a class="button oppose" onclick="{$unregister}"> |
|||
{$c->__('button.reset')} |
|||
</a> |
|||
</div> |
|||
<span>{$c->__('api.unregister')}</span> |
|||
</span> |
|||
<p class="normal">{$c->__('api.unregister')}</p> |
|||
</li> |
|||
{/if} |
|||
<script type="text/javascript">AdminTest.enableAPI();</script> |
|||
{else} |
|||
<li> |
|||
<span class="icon bubble color blue"> |
|||
<span class="primary icon bubble color blue"> |
|||
<i class="zmdi zmdi-cloud-off"></i> |
|||
</span> |
|||
<div class="action"> |
|||
<span class="control"> |
|||
<a class="button oppose" onclick="{$register}"> |
|||
{$c->__('button.register')} |
|||
</a> |
|||
</div> |
|||
<span>{$c->__('api.register')}</span> |
|||
</span> |
|||
<p class="normal">{$c->__('api.register')}</p> |
|||
</li> |
|||
{/if} |
|||
{else} |
|||
<li> |
|||
<span class="icon bubble color gray"> |
|||
<span class="primary icon bubble color gray"> |
|||
<i class="zmdi zmdi-cloud-off"></i> |
|||
</span> |
|||
{$c->__('api.error')} |
|||
<p class="normal">{$c->__('api.error')}</p> |
|||
</li> |
|||
{/if} |
|||
</ul> |
|||
|
|||
@ -1,21 +1,21 @@ |
|||
<li {if="$me"}class="oppose"{/if}> |
|||
{$url = $contact->getPhoto('s')} |
|||
{if="$url"} |
|||
{if="$me == null"}<a href="{$c->route('contact', $contact->jid)}">{/if} |
|||
<span class="icon bubble"> |
|||
<span class="{if="$me"}control{else}primary{/if} icon bubble"> |
|||
{if="$me == null"}<a href="{$c->route('contact', $contact->jid)}">{/if} |
|||
<img src="{$url}"> |
|||
</span> |
|||
{if="$me == null"}</a>{/if} |
|||
{if="$me == null"}</a>{/if} |
|||
</span> |
|||
{else} |
|||
{if="$me == null"}<a href="{$c->route('contact', $contact->jid)}">{/if} |
|||
<span class="icon bubble color {$contact->jid|stringToColor}"> |
|||
<span class="{if="$me"}control{else}primary{/if} icon bubble color {$contact->jid|stringToColor}"> |
|||
{if="$me == null"}<a href="{$c->route('contact', $contact->jid)}">{/if} |
|||
<i class="zmdi zmdi-account"></i> |
|||
</span> |
|||
{if="$me == null"}</a>{/if} |
|||
{if="$me == null"}</a>{/if} |
|||
</span> |
|||
{/if} |
|||
|
|||
<div class="bubble"> |
|||
<div></div> |
|||
<p></p> |
|||
<span class="info"></span> |
|||
</div> |
|||
</li> |
|||
@ -1,5 +1,5 @@ |
|||
<li class="room"> |
|||
<p class="user"></p> |
|||
<span class="info"></span> |
|||
<span class="user"></span> |
|||
<div></div> |
|||
<p class="message"></p> |
|||
</li> |
|||
@ -1,46 +1,40 @@ |
|||
<div> |
|||
<ul class="active"> |
|||
<li onclick="Rooms_ajaxAdd()"> |
|||
<span class="icon"> |
|||
<i class="zmdi zmdi-group-add"></i> |
|||
</span> |
|||
<ul class="list middle"> |
|||
<li> |
|||
<span class="primary on_desktop icon"><i class="zmdi zmdi-comments"></i></span> |
|||
<p> |
|||
{$c->__('page.chats')} |
|||
</p> |
|||
</li> |
|||
</ul> |
|||
<span class="on_desktop icon"><i class="zmdi zmdi-comments"></i></span> |
|||
<h2 class="r1"> |
|||
{$c->__('page.chats')} |
|||
</h2> |
|||
</div> |
|||
<div> |
|||
<ul class="active"> |
|||
{if="$c->supported('upload')"} |
|||
<li onclick="Upload_ajaxRequest()"> |
|||
<span class="icon"> |
|||
<i class="zmdi zmdi-attachment-alt"></i> |
|||
<ul class="list middle active"> |
|||
<li id="chat_header"> |
|||
<span onclick=" |
|||
MovimTpl.hidePanel(); |
|||
Notification.current('chat'); |
|||
Header_ajaxReset('chat'); |
|||
Chat_ajaxGet();" |
|||
id="back" class="primary icon active"> |
|||
<i class="zmdi zmdi-arrow-back"></i> |
|||
</span> |
|||
</li> |
|||
{/if} |
|||
<li onclick="Chats_ajaxClose('{$jid|echapJS}'); MovimTpl.hidePanel();"> |
|||
<span class="icon"> |
|||
<span class="control icon active" onclick="Chats_ajaxClose('{$jid|echapJS}'); MovimTpl.hidePanel();"> |
|||
<i class="zmdi zmdi-close"></i> |
|||
</span> |
|||
{if="$c->supported('upload')"} |
|||
<span class="control icon active" onclick="Upload_ajaxRequest()"> |
|||
<i class="zmdi zmdi-attachment-alt"></i> |
|||
</span> |
|||
{/if} |
|||
<p class="line"> |
|||
{if="$contact != null"} |
|||
{$contact->getTrueName()} |
|||
{else} |
|||
{$jid|echapJS} |
|||
{/if} |
|||
</p> |
|||
<p class="line" id="{$jid}_state">{$contact->jid}</p> |
|||
</li> |
|||
</ul> |
|||
<div |
|||
id="chat_header" |
|||
class="return active {if="$c->supported('upload')"}r2{else}r1{/if} condensed" |
|||
onclick=" |
|||
MovimTpl.hidePanel(); |
|||
Notification.current('chat'); |
|||
Chat_ajaxGet();"> |
|||
<span id="back" class="icon"><i class="zmdi zmdi-arrow-back"></i></span> |
|||
<h2> |
|||
{if="$contact != null"} |
|||
{$contact->getTrueName()} |
|||
{else} |
|||
{$jid|echapJS} |
|||
{/if} |
|||
</h2> |
|||
<h4 id="{$jid}_state">{$contact->jid}</h4> |
|||
</h2> |
|||
</div> |
|||
@ -1,76 +1,75 @@ |
|||
{$anon = $c->supported('anonymous')} |
|||
<div> |
|||
{if="!$anon"} |
|||
<ul class="active"> |
|||
<!--<ul class="active"> |
|||
<li onclick="Rooms_ajaxAdd()"> |
|||
<span class="icon"> |
|||
<i class="zmdi zmdi-group-add"></i> |
|||
</span> |
|||
</li> |
|||
</ul> |
|||
{/if} |
|||
<span class="on_desktop icon"><i class="zmdi zmdi-comments"></i></span> |
|||
{if="!$anon"} |
|||
<h2>{$c->__('page.chats')}</h2> |
|||
{else} |
|||
<h2>{$c->__('page.room')}</h2> |
|||
</ul>--> |
|||
{/if} |
|||
<ul class="list middle"> |
|||
<li> |
|||
<span class="primary on_desktop icon"><i class="zmdi zmdi-comments"></i></span> |
|||
{if="!$anon"} |
|||
<p>{$c->__('page.chats')}</p> |
|||
{else} |
|||
<p>{$c->__('page.room')}</p> |
|||
{/if} |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
<div> |
|||
<ul class="active"> |
|||
{if="$c->supported('upload')"} |
|||
<li onclick="Upload_ajaxRequest()"> |
|||
<span class="icon"> |
|||
<i class="zmdi zmdi-attachment-alt"></i> |
|||
<ul class="list middle active"> |
|||
<li> |
|||
<span id="back" class="primary icon active" {if="!$anon"}onclick="Header_ajaxReset('chat'); MovimTpl.hidePanel(); Chat_ajaxGet();"{/if}> |
|||
{if="!$anon"} |
|||
<i class="zmdi zmdi-arrow-back"></i> |
|||
{else} |
|||
<i class="zmdi zmdi-comment-text-alt"></i> |
|||
{/if} |
|||
</span> |
|||
</li> |
|||
{/if} |
|||
<li onclick="Rooms_ajaxExit('{$room}'); MovimTpl.hidePanel(); {if="$anon"}Presence_ajaxLogout(){/if}"> |
|||
<span class="icon"> |
|||
<i class="zmdi zmdi-close"></i> |
|||
</span> |
|||
</li> |
|||
<li class="thin show_context_menu"> |
|||
<span class="icon"> |
|||
|
|||
<span class="control icon show_context_menu active"> |
|||
<i class="zmdi zmdi-more-vert"></i> |
|||
</span> |
|||
</li> |
|||
</ul> |
|||
<div |
|||
class="return {if="!$anon"}active{/if} {if="$c->supported('upload')"}r3{else}r2{/if} {if="$subject != null"}condensed{/if}" |
|||
{if="!$anon"}onclick="MovimTpl.hidePanel(); Chat_ajaxGet();"{/if}> |
|||
<span id="back" class="icon" > |
|||
{if="!$anon"} |
|||
<i class="zmdi zmdi-arrow-back"></i> |
|||
|
|||
{if="$c->supported('upload')"} |
|||
<span class="control icon active" onclick="Upload_ajaxRequest()"> |
|||
<i class="zmdi zmdi-attachment-alt"></i> |
|||
</span> |
|||
{/if} |
|||
<span class="control icon active" onclick="Rooms_ajaxExit('{$room}'); MovimTpl.hidePanel(); {if="$anon"}Presence_ajaxLogout(){/if}"> |
|||
<i class="zmdi zmdi-close"></i> |
|||
</span> |
|||
|
|||
{if="$conference != null && $conference->name"} |
|||
<p class="line" title="{$room}">{$conference->name}</p> |
|||
{else} |
|||
<i class="zmdi zmdi-comment-text-alt"></i> |
|||
<p class="line">{$room}</p> |
|||
{/if} |
|||
{if="$subject != null"} |
|||
<p class="line" title="{$subject->subject}">{$subject->subject}</p> |
|||
{/if} |
|||
</span> |
|||
</li> |
|||
</ul> |
|||
|
|||
{if="$conference != null && $conference->name"} |
|||
<h2 title="{$room}">{$conference->name}</h2> |
|||
{else} |
|||
<h2>{$room}</h2> |
|||
{/if} |
|||
{if="$subject != null"} |
|||
<h4 title="{$subject->subject}">{$subject->subject}</h4> |
|||
{/if} |
|||
</div> |
|||
<ul class="simple context_menu active"> |
|||
<ul class="list context_menu active"> |
|||
<li onclick="Rooms_ajaxList('{$room}')"> |
|||
<span>{$c->__('chatroom.members')}</span> |
|||
<p class="normal">{$c->__('chatroom.members')}</p> |
|||
</li> |
|||
{if="!$anon"} |
|||
<li onclick="Rooms_ajaxRemoveConfirm('{$room}')"> |
|||
<span>{$c->__('button.delete')}</span> |
|||
<p class="normal">{$c->__('button.delete')}</p> |
|||
</li> |
|||
{/if} |
|||
{if="$presence != null && $presence->mucrole == 'moderator' && !$anon"} |
|||
<li onclick="Chat_ajaxGetRoomConfig('{$room}')"> |
|||
<span>{$c->__('chatroom.config')}</span> |
|||
<p class="normal">{$c->__('chatroom.config')}</p> |
|||
</li> |
|||
<li onclick="Chat_ajaxGetSubject('{$room}')"> |
|||
<span>{$c->__('chatroom.subject')}</span> |
|||
<p class="normal">{$c->__('chatroom.subject')}</p> |
|||
</li> |
|||
{/if} |
|||
</ul> |
|||
|
|||
@ -1,6 +1,6 @@ |
|||
<ul class="thick"> |
|||
<ul class="list thick"> |
|||
<li> |
|||
<span class="icon bubble color {$jid|stringToColor}">{$jid|firstLetterCapitalize}</span> |
|||
<h2>{$jid}</h2> |
|||
<span class="primary icon bubble color {$jid|stringToColor}">{$jid|firstLetterCapitalize}</span> |
|||
<p class="normal">{$jid}</p> |
|||
</li> |
|||
</ul> |
|||
@ -1,6 +1,6 @@ |
|||
<br /> |
|||
<h2>{$c->__('explore.explore')}</h2> |
|||
|
|||
<ul id="public_list" class="flex card shadow active middle"> |
|||
<ul id="public_list" class="list flex card shadow active middle"> |
|||
{$users} |
|||
</ul> |
|||
@ -1,64 +1,64 @@ |
|||
<div> |
|||
<span class="on_desktop icon"><i class="zmdi zmdi-pages"></i></span> |
|||
<h2> |
|||
{$c->__('page.groups')} |
|||
</h2> |
|||
<ul class="list middle"> |
|||
<li> |
|||
<span class="primary on_desktop icon"><i class="zmdi zmdi-pages"></i></span> |
|||
<p> |
|||
{$c->__('page.groups')} |
|||
</p> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
<div> |
|||
<ul class="active"> |
|||
{if="$subscription == null"} |
|||
<li title="{$c->__('group.subscribe')}" |
|||
<ul class="list middle"> |
|||
<li> |
|||
<span id="back" class="primary icon active" onclick="MovimTpl.hidePanel(); Group_ajaxClear(); Groups_ajaxHeader();"> |
|||
<i class="zmdi zmdi-arrow-back"></i> |
|||
</span> |
|||
{if="$role == 'owner'"} |
|||
<span class="control show_context_menu icon active"> |
|||
<i class="zmdi zmdi-more-vert"></i> |
|||
</span> |
|||
{/if} |
|||
{if="$subscription == null"} |
|||
<span class="control icon active" title="{$c->__('group.subscribe')}" |
|||
onclick="Group_ajaxAskSubscribe('{$item->server}', '{$item->node}')"> |
|||
<span class="icon"> |
|||
<i class="zmdi zmdi-bookmark-outline"></i> |
|||
</span> |
|||
</li> |
|||
{else} |
|||
<li title="{$c->__('group.unsubscribe')}" |
|||
{else} |
|||
<span class="control icon active" title="{$c->__('group.unsubscribe')}" |
|||
onclick="Group_ajaxAskUnsubscribe('{$item->server}', '{$item->node}')"> |
|||
<span class="icon"> |
|||
<i class="zmdi zmdi-bookmark"></i> |
|||
</span> |
|||
</li> |
|||
{/if} |
|||
{if="$role == 'owner'"} |
|||
<li class="thin show_context_menu"> |
|||
<span class="icon"> |
|||
<i class="zmdi zmdi-more-vert"></i> |
|||
</span> |
|||
</li> |
|||
{/if} |
|||
</ul> |
|||
<div class="return active condensed {if="$role == 'owner'"}r2{else}r1{/if}" |
|||
onclick="MovimTpl.hidePanel(); Group_ajaxClear(); Groups_ajaxHeader();"> |
|||
<span id="back" class="icon"><i class="zmdi zmdi-arrow-back"></i></span> |
|||
<h2> |
|||
{if="$item != null"} |
|||
{if="$item->name"} |
|||
{$item->name} |
|||
{else} |
|||
{$item->node} |
|||
{/if} |
|||
<p class="line"> |
|||
{if="$item != null"} |
|||
{if="$item->name"} |
|||
{$item->name} |
|||
{else} |
|||
{$item->node} |
|||
{/if} |
|||
{/if} |
|||
</p> |
|||
{if="$item->description"} |
|||
<p class="line" title="{$item->description|strip_tags}"> |
|||
{$item->description|strip_tags} |
|||
</p> |
|||
{else} |
|||
<p class="line">{$item->server}</p> |
|||
{/if} |
|||
</h2> |
|||
{if="$item->description"} |
|||
<h4 title="{$item->description|strip_tags}"> |
|||
{$item->description|strip_tags} |
|||
</h4> |
|||
{else} |
|||
<h4>{$item->server}</h4> |
|||
{/if} |
|||
</div> |
|||
</li> |
|||
</ul> |
|||
|
|||
{if="$role == 'owner'"} |
|||
<ul class="simple context_menu active"> |
|||
<ul class="list context_menu active"> |
|||
<li onclick="Group_ajaxGetConfig('{$item->server}', '{$item->node}')"> |
|||
<span>{$c->__('group.configuration')}</span> |
|||
<p class="normal">{$c->__('group.configuration')}</p> |
|||
</li> |
|||
<li onclick="Group_ajaxGetSubscriptions('{$item->server}', '{$item->node}', true)"> |
|||
<span>{$c->__('group.subscriptions')}</span> |
|||
<p class="normal">{$c->__('group.subscriptions')}</p> |
|||
</li> |
|||
<li onclick="Group_ajaxDelete('{$item->server}', '{$item->node}')"> |
|||
<span>{$c->__('button.delete')}</span> |
|||
<p class="normal">{$c->__('button.delete')}</p> |
|||
</li> |
|||
</ul> |
|||
{/if} |
|||
|
|||
@ -1,18 +1,22 @@ |
|||
<div> |
|||
<span id="menu" class="on_mobile icon active" onclick="MovimTpl.toggleMenu()"><i class="zmdi zmdi-menu"></i></span> |
|||
<span class="on_desktop icon"><i class="zmdi zmdi-pages"></i></span> |
|||
<form> |
|||
<div> |
|||
<div class="select"> |
|||
<select onchange="window[this.value].apply(this, [this.options[this.selectedIndex].dataset['server']]);" name="language" id="language"> |
|||
<option value="Groups_ajaxSubscriptions" selected="selected">{$c->__('groups.subscriptions')}</option> |
|||
{loop="$servers"} |
|||
{if="!filter_var($value->server, FILTER_VALIDATE_EMAIL)"} |
|||
<option value="Groups_ajaxDisco" data-server="{$value->server}">{$value->server} - {$value->name} ({$value->number})</option> |
|||
{/if} |
|||
{/loop} |
|||
</select> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
<ul class="list middle"> |
|||
<li> |
|||
<span id="menu" class="primary on_mobile icon active" onclick="MovimTpl.toggleMenu()"><i class="zmdi zmdi-menu"></i></span> |
|||
<span class="primary on_desktop icon"><i class="zmdi zmdi-pages"></i></span> |
|||
<form> |
|||
<div> |
|||
<div class="select"> |
|||
<select onchange="window[this.value].apply(this, [this.options[this.selectedIndex].dataset['server']]);" name="language" id="language"> |
|||
<option value="Groups_ajaxSubscriptions" selected="selected">{$c->__('groups.subscriptions')}</option> |
|||
{loop="$servers"} |
|||
{if="!filter_var($value->server, FILTER_VALIDATE_EMAIL)"} |
|||
<option value="Groups_ajaxDisco" data-server="{$value->server}">{$value->server} - {$value->name} ({$value->number})</option> |
|||
{/if} |
|||
{/loop} |
|||
</select> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
@ -1,6 +1,9 @@ |
|||
<div> |
|||
<a href="{$c->route('main')}" class="classic"> |
|||
<span id="menu" class="icon"><i class="zmdi zmdi-home"></i></span> |
|||
</a> |
|||
<h2>{$c->__('page.administration')}</h2> |
|||
<ul class="list middle"> |
|||
<li> |
|||
<a href="{$c->route('main')}" class="active classic"> |
|||
<span id="menu" class="icon"><i class="zmdi zmdi-home"></i></span> |
|||
</a> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
@ -1,5 +1,9 @@ |
|||
<div> |
|||
<span id="menu" class="on_mobile icon active" onclick="MovimTpl.toggleMenu()"><i class="zmdi zmdi-menu"></i></span> |
|||
<span class="on_desktop icon"><i class="zmdi zmdi-comments"></i></span> |
|||
<h2>{$c->__('page.chats')}</h2> |
|||
<ul class="list middle"> |
|||
<li> |
|||
<span id="menu" class="primary on_mobile icon active" onclick="MovimTpl.toggleMenu()"><i class="zmdi zmdi-menu"></i></span> |
|||
<span class="primary icon on_desktop icon"><i class="zmdi zmdi-comments"></i></span> |
|||
<p>{$c->__('page.chats')}</p> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
@ -1,5 +1,9 @@ |
|||
<div> |
|||
<span id="menu" class="on_mobile icon active" onclick="MovimTpl.toggleMenu()"><i class="zmdi zmdi-menu"></i></span> |
|||
<span class="on_desktop icon"><i class="zmdi zmdi-settings"></i></span> |
|||
<h2>{$c->__('page.configuration')}</h2> |
|||
<ul class="list middle"> |
|||
<li> |
|||
<span id="menu" class="primary on_mobile icon active" onclick="MovimTpl.toggleMenu()"><i class="zmdi zmdi-menu"></i></span> |
|||
<span class="primary on_desktop icon"><i class="zmdi zmdi-settings"></i></span> |
|||
<p>{$c->__('page.configuration')}</p> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
@ -1,5 +1,9 @@ |
|||
<div> |
|||
<span id="menu" class="on_mobile icon active" onclick="MovimTpl.toggleMenu()"><i class="zmdi zmdi-menu"></i></span> |
|||
<span class="on_desktop icon"><i class="zmdi zmdi-pages"></i></span> |
|||
<h2>{$c->__('page.groups')}</h2> |
|||
<ul class="list middle"> |
|||
<li> |
|||
<span id="menu" class="primary on_mobile icon active" onclick="MovimTpl.toggleMenu()"><i class="zmdi zmdi-menu"></i></span> |
|||
<span class="primary on_desktop icon"><i class="zmdi zmdi-pages"></i></span> |
|||
<p>{$c->__('page.groups')}</p> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
@ -1,5 +1,9 @@ |
|||
<div> |
|||
<span id="menu" class="on_mobile icon active" onclick="MovimTpl.toggleMenu()"><i class="zmdi zmdi-menu"></i></span> |
|||
<span class="on_desktop icon"><i class="zmdi zmdi-help"></i></span> |
|||
<h2>{$c->__('page.help')}</h2> |
|||
<ul class="list middle"> |
|||
<li> |
|||
<span id="menu" class="primary on_mobile icon active" onclick="MovimTpl.toggleMenu()"><i class="zmdi zmdi-menu"></i></span> |
|||
<span class="primary on_desktop icon active"><i class="zmdi zmdi-help"></i></span> |
|||
<p>{$c->__('page.help')}</p> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
@ -1,9 +1,2 @@ |
|||
[menu] |
|||
all = All |
|||
groups = Groups |
|||
contacts = Contacts |
|||
refresh = Refresh all the streams |
|||
me = My publications |
|||
|
|||
[roster] |
|||
search = Search in your contacts |
|||
@ -1,3 +1,23 @@ |
|||
<div id="menu_widget"> |
|||
{$c->prepareList('all')} |
|||
<div id="menu_widget_wrapper"> |
|||
<header> |
|||
<ul class="list"> |
|||
<li> |
|||
<span id="menu" class="primary on_mobile icon active" onclick="MovimTpl.toggleMenu()"><i class="zmdi zmdi-menu"></i></span> |
|||
<span class="primary on_desktop icon gray"><i class="zmdi zmdi-filter-list"></i></span> |
|||
<p>{$c->__('page.news')}</p> |
|||
</li> |
|||
<li> |
|||
<ul class="tabs"> |
|||
<li {if="$type == 'all'"}class="active"{/if}><a href="#" onclick="Menu_ajaxGetAll()">{$c->__('menu.all')}</a></li> |
|||
<li {if="$type == 'news'"}class="active"{/if} ><a href="#" onclick="Menu_ajaxGetNews()"><i class="zmdi zmdi-pages"></i></a></li> |
|||
<li {if="$type == 'feed'"}class="active"{/if}><a href="#" onclick="Menu_ajaxGetFeed()"><i class="zmdi zmdi-accounts"></i></a></li> |
|||
<li {if="$type == 'me'"}class="active"{/if}><a href="#" onclick="Menu_ajaxGetMe()"><i class="zmdi zmdi-portable-wifi"></i></a></li> |
|||
</ul> |
|||
</li> |
|||
</ul> |
|||
</header> |
|||
|
|||
<div id="menu_widget"> |
|||
{$c->prepareList('all')} |
|||
</div> |
|||
</div> |
|||
@ -1,10 +1,10 @@ |
|||
<ul class="middle"> |
|||
<ul class="list middle"> |
|||
<li> |
|||
<span class="icon gray"> |
|||
<span class="primary icon gray"> |
|||
<i class="zmdi zmdi-comment"></i> |
|||
</span> |
|||
<span> |
|||
<p class="normal"> |
|||
{$c->__('post.comments_disabled')} |
|||
</span> |
|||
</p> |
|||
</li> |
|||
</ul> |
|||
@ -1,34 +1,19 @@ |
|||
<li onclick="{$dialog} MovimTpl.hideMenu()" class="condensed action"> |
|||
<div class="action"> |
|||
<i class="zmdi zmdi-edit"></i> |
|||
</div> |
|||
<li onclick="{$dialog} MovimTpl.hideMenu()"> |
|||
{$url = $me->getPhoto('s')} |
|||
{if="$url"} |
|||
<span |
|||
class="icon bubble status {if="$presence->value != null"}{$presencetxt[$presence->value]}{/if}" |
|||
class="primary icon bubble status {if="$presence->value != null"}{$presencetxt[$presence->value]}{/if}" |
|||
style="background-image: url({$me->getPhoto('m')})"> |
|||
</span> |
|||
{else} |
|||
<span class="icon bubble color {$me->jid|stringToColor} status {if="$presence->value != null"}{$presencetxt[$presence->value]}{/if}"> |
|||
<span class="primary icon bubble color {$me->jid|stringToColor} status {if="$presence->value != null"}{$presencetxt[$presence->value]}{/if}"> |
|||
<i class="zmdi zmdi-account"></i> |
|||
</span> |
|||
{/if} |
|||
<span>{$me->getTrueName()}</span> |
|||
<p class="wrap">{$presence->status}</p> |
|||
<!-- |
|||
<span class="control icon gray"> |
|||
<i class="zmdi zmdi-edit"></i> |
|||
</span>--> |
|||
<p class="line">{$me->getTrueName()}</p> |
|||
<p class="line">{$presence->status}</p> |
|||
</li> |
|||
<a class="classic {if="!$c->supported('pubsub')"}disabled{/if}" href="{$c->route('conf')}"> |
|||
<li> |
|||
<span class="icon"> |
|||
<i class="zmdi zmdi-settings"></i> |
|||
</span> |
|||
<span>{$c->__('page.configuration')}</span> |
|||
</li> |
|||
</a> |
|||
<a class="classic" href="{$c->route('help')}"> |
|||
<li> |
|||
<span class="icon"> |
|||
<i class="zmdi zmdi-help"></i> |
|||
</span> |
|||
<span>{$c->__('page.help')}</span> |
|||
</li> |
|||
</a> |
|||
@ -1,3 +1,3 @@ |
|||
<ul id="presence_widget" class="active oppose thick"> |
|||
<ul id="presence_widget" class="list active thick"> |
|||
{$presence} |
|||
</ul> |
|||
@ -1,44 +1,44 @@ |
|||
<div> |
|||
<span class="on_desktop icon"><i class="zmdi zmdi-edit"></i></span> |
|||
<h2>{$c->__('publish.title')}</h2> |
|||
<ul class="list middle"> |
|||
<li> |
|||
<span class="primary on_desktop icon"><i class="zmdi zmdi-edit"></i></span> |
|||
<p>{$c->__('publish.title')}</p> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
<div> |
|||
<div class="return active r3 condensed" |
|||
onclick="Publish.headerBack('{$server}', '{$node}', false)"> |
|||
<span id="back" class="icon" ><i class="zmdi zmdi-arrow-back"></i></span> |
|||
{if="$post != false"} |
|||
<h2>{$c->__('publish.edit')}</h2> |
|||
{else} |
|||
<h2>{$c->__('publish.new')}</h2> |
|||
{/if} |
|||
<h4> |
|||
{if="$item != null && $item->node != 'urn:xmpp:microblog:0'"} |
|||
{if="$item->name"} |
|||
{$item->name} |
|||
{else} |
|||
{$item->node} |
|||
{/if} |
|||
{else} |
|||
{$c->__('page.blog')} |
|||
{/if} |
|||
</h4> |
|||
</div> |
|||
<ul class="active"> |
|||
<li onclick="Publish_ajaxHelp()"> |
|||
<span class="icon"> |
|||
<ul class="list middle active"> |
|||
<li> |
|||
<span id="back" class="primary icon" onclick="Publish.headerBack('{$server}', '{$node}', false)"> |
|||
<i class="zmdi zmdi-arrow-back"></i> |
|||
</span> |
|||
<span class="control icon" onclick="Publish_ajaxHelp()"> |
|||
<i class="zmdi zmdi-help"></i> |
|||
</span> |
|||
</li> |
|||
<li onclick="Publish_ajaxPreview(movim_form_to_json('post'))"> |
|||
<span class="icon"> |
|||
<span class="control icon" onclick="Publish_ajaxPreview(movim_form_to_json('post'))"> |
|||
<i class="zmdi zmdi-eye"></i> |
|||
</span> |
|||
</li> |
|||
<li id="button_send" |
|||
<span class="control icon" id="button_send" |
|||
onclick="Publish.disableSend(); Publish_ajaxPublish(movim_form_to_json('post'));"> |
|||
<span class="icon"> |
|||
<i class="zmdi zmdi-mail-send"></i> |
|||
</span> |
|||
|
|||
{if="$post != false"} |
|||
<p>{$c->__('publish.edit')}</p> |
|||
{else} |
|||
<p>{$c->__('publish.new')}</p> |
|||
{/if} |
|||
<p> |
|||
{if="$item != null && $item->node != 'urn:xmpp:microblog:0'"} |
|||
{if="$item->name"} |
|||
{$item->name} |
|||
{else} |
|||
{$item->node} |
|||
{/if} |
|||
{else} |
|||
{$c->__('page.blog')} |
|||
{/if} |
|||
</p> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
@ -1,17 +1,17 @@ |
|||
<ul class="active"> |
|||
<ul class="list active middle"> |
|||
{loop="$contacts"} |
|||
<li class="condensed" onclick="Roster.setFound('{$value->jid}')"> |
|||
<li onclick="Roster.setFound('{$value->jid}')"> |
|||
{$url = $value->getPhoto('s')} |
|||
{if="$url"} |
|||
<span class="icon bubble"> |
|||
<span class="primary icon bubble"> |
|||
<img src="{$url}"> |
|||
</span> |
|||
{else} |
|||
<span class="icon bubble color {$value->jid|stringToColor}"> |
|||
<span class="primary icon bubble color {$value->jid|stringToColor}"> |
|||
<i class="zmdi zmdi-account"></i> |
|||
</span> |
|||
{/if} |
|||
<span>{$value->getTrueName()}</span> |
|||
<p>{$value->getTrueName()}</p> |
|||
<p>{$value->jid}</p> |
|||
</li> |
|||
{/loop} |
|||
|
|||
@ -0,0 +1,388 @@ |
|||
ul.list { |
|||
list-style-type: none; |
|||
padding: 0; |
|||
} |
|||
|
|||
ul.list.middle li:not(.subheader) { |
|||
padding: 0.75rem 0; |
|||
} |
|||
|
|||
ul.list.thick li:not(.subheader) { |
|||
padding: 1.5rem 0; |
|||
} |
|||
|
|||
ul.list li { |
|||
clear: both; |
|||
position: relative; |
|||
} |
|||
|
|||
ul.list li > *:not(p) { |
|||
display: inline-block; |
|||
top: 0; |
|||
} |
|||
|
|||
/* Active list */ |
|||
|
|||
|
|||
ul.list.active li:hover:not(.subheader), |
|||
ul.list.active.all li:hover, |
|||
ul.list.active li.active:not(.subheader) { |
|||
background-color: rgba(0, 0, 0, 0.03); |
|||
cursor: pointer; |
|||
} |
|||
|
|||
/* Divided list */ |
|||
/* |
|||
ul.list.divided:not(.spaced) > li:not(:last-child), |
|||
ul.list.divided.spaced > li:not(:last-child).subheader, |
|||
ul.list.divided.spaced > li:not(:last-child):not(.subheader):after { |
|||
border-bottom-width: 1px; |
|||
border-bottom-style: solid; |
|||
} |
|||
|
|||
ul.list.divided.spaced > *:not(:last-child):after { |
|||
position: absolute; |
|||
right: 0; |
|||
bottom: 0rem; |
|||
content: ""; |
|||
display: block; |
|||
width: calc(100% - 9rem); |
|||
} |
|||
*/ |
|||
|
|||
/* Main elements */ |
|||
|
|||
ul.list li > .control, |
|||
ul.list li > .primary { |
|||
width: 5rem; |
|||
height: 5rem; |
|||
top: 50%; |
|||
margin-top: -2.5rem; |
|||
position: absolute; |
|||
} |
|||
ul.list li > .control.active, |
|||
ul.list li > .primary.active { |
|||
width: 7rem; |
|||
height: 7rem; |
|||
margin-top: -3.5rem; |
|||
line-height: 7rem; |
|||
} |
|||
|
|||
ul.list li > .primary.active { |
|||
left: 0; |
|||
} |
|||
|
|||
ul.list li > .control.small, |
|||
ul.list li > .primary.small { |
|||
width: 3rem; |
|||
height: 3rem; |
|||
margin-top: -1.5rem; |
|||
} |
|||
|
|||
ul.list > li > *:not(.counter):not(span):not(.bubble), |
|||
ul.list li.subheader p { |
|||
width: 100%; |
|||
box-sizing: border-box; |
|||
padding-right: 2rem; |
|||
padding-left: 2rem; |
|||
} |
|||
|
|||
/* Truncated content */ |
|||
|
|||
ul.list li.subheader > p, |
|||
ul.list li > p.line { |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
white-space: nowrap; |
|||
} |
|||
|
|||
/* Not sure */ |
|||
/*ul.list li > p > span { |
|||
float: right; |
|||
font-size: 1.5rem; |
|||
color: gray; |
|||
} |
|||
*/ |
|||
|
|||
ul.list li > span.active { |
|||
transition: background-color 0.25s ease; |
|||
} |
|||
|
|||
ul.list li > span.active:hover { |
|||
cursor: pointer; |
|||
background-color: rgba(0, 0, 0, 0.1); |
|||
} |
|||
/* |
|||
ul.list li > span.active { |
|||
overflow: hidden; |
|||
margin: -1rem; |
|||
padding: 1rem; |
|||
top: 1rem; |
|||
} |
|||
|
|||
ul.list li > span.active:hover { |
|||
cursor: pointer; |
|||
} |
|||
|
|||
ul.list li > span.active:after { |
|||
content: ""; |
|||
background: rgba(255,255,255,0.3); |
|||
display: block; |
|||
position: absolute; |
|||
border-radius: 50%; |
|||
padding-top: 240%; |
|||
padding-left: 240%; |
|||
margin-top: -120%; |
|||
margin-left: -120%; |
|||
opacity: 0; |
|||
transition: all 1s; |
|||
} |
|||
|
|||
ul.list li > span.active:active:after { |
|||
padding-top: 0; |
|||
padding-left: 0; |
|||
margin-top: 0; |
|||
margin-left: 0; |
|||
opacity: 1; |
|||
transition: 0s; |
|||
} |
|||
*/ |
|||
ul.list li > p > span.second { |
|||
color: gray; |
|||
} |
|||
|
|||
ul.list li > p > span.info { |
|||
float: right; |
|||
font-size: 1.5rem; |
|||
color: gray; |
|||
} |
|||
|
|||
/* Size automagicaly the content */ |
|||
|
|||
ul.list li > p:first-of-type { |
|||
line-height: 5.5rem; |
|||
font-size: 3rem; |
|||
} |
|||
|
|||
ul.list li > p.normal { |
|||
font-size: 2rem; |
|||
} |
|||
|
|||
ul.list li > p.center { |
|||
text-align: center; |
|||
} |
|||
|
|||
ul.list li > p:nth-last-of-type(3), |
|||
ul.list li > p:nth-last-of-type(2) { |
|||
line-height: 3rem; |
|||
font-size: 2rem; |
|||
} |
|||
|
|||
ul.list li > p:nth-last-of-type(3) + p, |
|||
ul.list li > p:nth-last-of-type(2) + p { |
|||
line-height: 2.5rem; |
|||
font-size: 1.75rem; |
|||
max-height: 7.5rem; |
|||
overflow: hidden; |
|||
} |
|||
|
|||
ul.list li > p:nth-last-of-type(3) + p.all, |
|||
ul.list li > p:nth-last-of-type(2) + p.all { |
|||
max-height: auto; |
|||
} |
|||
|
|||
/* Subheader */ |
|||
|
|||
ul.list li.subheader > p { |
|||
font-size: 1.75rem; |
|||
line-height: 5rem; |
|||
font-weight: 600; |
|||
padding: 0 2rem; |
|||
} |
|||
|
|||
/* If we have a primary control */ |
|||
|
|||
|
|||
ul.list li > .primary { |
|||
left: 2rem; |
|||
} |
|||
|
|||
ul.list li > .primary ~ *:not(.primary):not(.counter):not(.bubble):not(.control) { |
|||
padding-left: 9rem; |
|||
} |
|||
|
|||
/* Place the other controls */ |
|||
|
|||
ul.list li > .control { |
|||
right: 0; |
|||
} |
|||
|
|||
ul.list li > .control ~ .control { |
|||
right: 8rem; |
|||
} |
|||
|
|||
ul.list li > .control ~ .control ~ .control { |
|||
right: 16rem; |
|||
} |
|||
|
|||
/* Limit the size of the main content */ |
|||
|
|||
ul.list li > .control ~ *:not(.control):not(.bubble) { |
|||
width: calc(100% - 8rem); |
|||
} |
|||
|
|||
ul.list li > .control ~ .control ~ *:not(.control):not(.bubble) { |
|||
width: calc(100% - 16rem); |
|||
} |
|||
|
|||
ul.list li > .control ~ .control ~ .control ~ *:not(.control):not(.bubble) { |
|||
width: calc(100% - 24rem); |
|||
} |
|||
|
|||
/* Tabs */ |
|||
|
|||
ul.tabs { |
|||
text-align: center; |
|||
border-bottom: 1px solid rgba(0, 0, 0, 0.12); |
|||
overflow: hidden; |
|||
white-space: nowrap; |
|||
height: 6rem; |
|||
line-height: 6rem; |
|||
} |
|||
|
|||
ul.tabs:hover { |
|||
overflow-x: auto; |
|||
} |
|||
|
|||
ul.tabs > li { |
|||
display: inline-block; |
|||
white-space: nowrap; |
|||
text-transform: uppercase; |
|||
font-size: 1.75rem; |
|||
font-weight: 600; |
|||
opacity: 0.6; |
|||
height: 6rem; |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
ul.tabs > li > a { |
|||
padding: 0 3rem; |
|||
} |
|||
|
|||
ul.tabs > li:hover { |
|||
cursor: pointer; |
|||
background-color: rgba(0, 0, 0, 0.05); |
|||
} |
|||
|
|||
ul.tabs > li.active { |
|||
opacity: 1; |
|||
border-bottom-width: 2px; |
|||
border-bottom-style: solid; |
|||
} |
|||
|
|||
/* Counter */ |
|||
|
|||
ul li span.counter:empty { |
|||
display: none; |
|||
} |
|||
|
|||
ul li span.counter { |
|||
position: absolute; |
|||
right: 1rem; |
|||
top: calc(50% - 1.5rem); |
|||
line-height: 2rem; |
|||
border-radius: 3rem; |
|||
padding: 0.5rem; |
|||
text-align: center; |
|||
min-width: 2rem; |
|||
font-size: 2rem; |
|||
} |
|||
|
|||
ul li span.counter.bottom { |
|||
top: calc(50%); |
|||
} |
|||
|
|||
/* Bubble */ |
|||
|
|||
ul li div.bubble { |
|||
padding: 1rem 2rem; |
|||
border-radius: 0.25rem; |
|||
line-height: 2.75rem; |
|||
position: relative; |
|||
box-sizing: border-box; |
|||
display: block; |
|||
font-size: 1.75rem; |
|||
background-color: white; |
|||
border-color: white; |
|||
max-width: calc(100% - 9rem); |
|||
float: left; |
|||
|
|||
left: 9rem; |
|||
padding-left: 2rem; |
|||
width: auto; |
|||
} |
|||
|
|||
ul li div.bubble > p { |
|||
display: inline; |
|||
} |
|||
|
|||
ul li.oppose div.bubble { |
|||
margin-right: 9rem; |
|||
float: right; |
|||
position: initial; |
|||
} |
|||
|
|||
ul li div.bubble span.info { |
|||
float: right; |
|||
padding-left: 1rem; |
|||
} |
|||
|
|||
ul li.same span.icon { |
|||
display: none; |
|||
} |
|||
|
|||
ul li div.bubble:after { |
|||
visibility: hidden; |
|||
display: block; |
|||
font-size: 0; |
|||
content: " "; |
|||
clear: both; |
|||
height: 0; |
|||
} |
|||
|
|||
ul li:not(.same) div.bubble:before { |
|||
content: ""; |
|||
position: absolute; |
|||
top: 0; |
|||
left: -1.5rem; |
|||
border-top: 1.5rem solid black; |
|||
border-top-color: inherit; |
|||
border-left: 1.5rem solid transparent; |
|||
border-right: 1.5rem solid transparent; |
|||
} |
|||
|
|||
ul li.oppose:not(.same) div.bubble:before { |
|||
left: calc(100% - 10.5rem); |
|||
top: 1.5rem; |
|||
} |
|||
|
|||
/* Menu */ |
|||
|
|||
ul.context_menu { |
|||
border-radius: 0.25rem; |
|||
overflow: hidden; |
|||
background-color: white; |
|||
color: #333; |
|||
position: absolute; |
|||
top: 0; |
|||
right: 0; |
|||
margin: 0.5rem; |
|||
z-index: 3; |
|||
box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.26), 0px 2px 10px 0px rgba(0, 0, 0, 0.16); |
|||
display: none; |
|||
} |
|||
|
|||
ul.context_menu.shown { |
|||
display: block; |
|||
} |
|||
|
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue