< div ng-include = "'partials/head.html'" > < / div >
< div class = "im_page_wrap" ng-class = "{im_page_peer_not_selected: !curDialog.peer}" >
< div class = "im_page_split clearfix" >
< div class = "im_dialogs_col_wrap" ng-controller = "AppImDialogsController" >
< div class = "im_dialogs_search" >
< input class = "form-control im_dialogs_search_field" type = "search" placeholder = "Search" ng-model = "search.query" / >
< a class = "im_dialogs_search_clear" ng-click = "search.query = ''" ng-show = "search.query.length" > < / a >
< / div >
< div my-dialogs-list class = "im_dialogs_col" >
< div class = "im_dialogs_wrap nano" >
< div class = "im_dialogs_scrollable_wrap content" >
< ul class = "nav nav-pills nav-stacked" >
< li class = "im_dialog_wrap" my-dialog dialog-message = "dialogMessage" ng-repeat = "dialogMessage in dialogs track by dialogMessage.peerID" ng-class = "{active: curDialog.peerID == dialogMessage.peerID}" > < / li >
< / ul >
< div class = "im_dialogs_contacts_wrap" ng-show = "contacts.length > 0" >
< h5 > Contacts< / h5 >
< ul class = "nav nav-pills nav-stacked" >
< li class = "im_dialog_wrap" ng-repeat = "contact in contacts | orderBy:'user.sortName' track by contact.userID" ng-class = "{active: curDialog.peerID == contact.userID}" >
< a class = "im_dialog" ng-click = "dialogSelect(contact.peerString)" >
< div class = "im_dialog_photo pull-left" >
< img
class="im_dialog_photo"
my-load-thumb
thumb="contact.userPhoto"
/>
< / div >
< div class = "im_dialog_message_wrap" >
< div class = "im_dialog_peer" >
< span class = "im_dialog_user" ng-bind-html = "contact.user.rFullName" > < / span >
< / div >
< div class = "im_dialog_message" >
< span class = "im_dialog_message_text" > {{contact.user | userStatus}}< / span >
< / div >
< / div >
< / a >
< / li >
< / ul >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "im_history_col_wrap" ng-controller = "AppImHistoryController" >
< div ng-if = "state.notSelected" class = "im_history_not_selected" > No history to display< / div >
< div ng-show = "!state.notSelected && !state.loaded" class = "im_history_not_selected" > Loading history< span my-typing-dots > < / span > < / div >
< div ng-if = "state.loaded" >
< div my-history class = "im_history_col" >
< div class = "im_history_panel_wrap" >
< div class = "im_history_panel clearfix" ng-controller = "AppImPanelController" >
< div class = "im_history_panel_title" >
< a class = "im_history_panel_info_link pull-right" ng-click = "showPeerInfo()" > Info< / a >
< a class = "im_history_panel_edit_link pull-right" ng-click = "toggleEdit()" > Edit< / a >
< div class = "dropdown im_history_panel_media_dropdown pull-right" >
< a class = "dropdown-toggle" > Media< i class = "icon icon-caret" > < / i > < / a >
< ul class = "dropdown-menu" >
< li >
< a ng-click = "toggleMedia('photos')" > Photos< / a >
< / li >
< li >
< a ng-click = "toggleMedia('video')" > Videos< / a >
< / li >
< li >
< a ng-click = "toggleMedia('documents')" > Documents< / a >
< / li >
< / ul >
< / div >
< a ng-if = "mediaType !== false" class = "im_history_panel_return_link pull-right" ng-click = "toggleMedia()" >
Show all messages
< strong class = "im_history_panel_return_count" ng-show = "missedCount > 0" > +{{missedCount}}< / strong >
< / a >
< h4 ng-if = "mediaType !== false" ng-switch = "mediaType" >
< span ng-switch-when = "photos" > Photos < / span >
< span ng-switch-when = "video" > Videos < / span >
< span ng-switch-when = "documents" > Documents < / span >
< / h4 >
< h4 ng-if = "mediaType === false && historyPeer.id < 0" ng-click = "showPeerInfo()" >
< span ng-bind-html = "historyPeer.data.rTitle" > < / span >
< small class = "im_chat_users" >
< ng-pluralize count = "historyPeer.data.participants_count"
when="{'0': 'No members', 'one': '1 member', 'other': '{} members'}">
< / ng-pluralize >
< / small >
< / h4 >
< h4 ng-if = "mediaType === false && historyPeer.id > 0" ng-click = "showPeerInfo()" >
< span ng-bind-html = "historyPeer.data.rFullName" > < / span >
< small class = "im_peer_online" > {{historyPeer.data | userStatus}}< / small >
< / h4 >
< / div >
< / div >
< / div >
< div class = "im_history_wrap nano" >
< div class = "im_history_scrollable_wrap content" >
< div class = "im_history_scrollable" >
< div class = "im_history" ng-class = "{im_history_selectable: selectActions}" >
< div class = "im_history_empty" ng-show = "historyEmpty && !history.length" > No messages to display< / div >
< div class = "im_history_messages" >
< div class = "im_history_message_wrap" my-message ng-repeat = "historyMessage in history" > < / div >
< / div >
< / div >
< div class = "im_history_typing_wrap" >
< div class = "im_history_typing" ng-show = "typing.user" >
< strong class = "im_history_typing_author" ng-bind-html = "typing.user.rFullName" > < / strong > is typing< span my-typing-dots > < / span >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "im_bottom_panel_wrap" >
< div class = "im_edit_panel_wrap clearfix" ng-show = "selectActions" ng-class = "{im_edit_panel_wrap_loaded: true}" >
< div class = "im_edit_panel_border" > < / div >
< a class = "im_edit_flush_link" ng-click = "selectedFlush()" ng-show = "historyPeer.id < 0" >
Clear History
< / a >
< a class = "im_edit_flush_link" ng-click = "selectedFlush()" ng-show = "historyPeer.id > 0" >
Delete Chat
< / a >
< a class = "im_edit_cancel_link" ng-click = "selectedCancel()" >
Cancel
< / a >
< div class = "im_edit_selected_actions" >
< a class = "btn btn-primary im_edit_forward_btn" ng-click = "selectedForward()" >
Forward < strong class = "im_selected_count" ng-show = "selectedCount > 0" ng-bind = "selectedCount" > < / strong >
< / a > < a class = "btn btn-danger im_edit_delete_btn" ng-click = "selectedDelete()" >
Delete < strong class = "im_selected_count" ng-show = "selectedCount > 0" ng-bind = "selectedCount" > < / strong >
< / a >
< / div >
< / div >
< div class = "im_send_panel_wrap" ng-hide = "selectActions" >
< div class = "im_send_form_wrap1" >
< div class = "im_send_form_wrap clearfix" ng-controller = "AppImSendController" >
< div class = "pull-right im_panel_peer_photo" ng-click = "showPeerInfo()" >
< img
class="im_panel_peer_photo"
my-load-thumb
thumb="historyPeer.photo"
/>
< i class = "icon im_panel_peer_online" ng-show = "historyPeer.id > 0 && historyPeer.data.status._ == 'userStatusOnline'" > < / i >
< / div >
< div class = "pull-left im_panel_own_photo" >
< img
class="im_panel_own_photo"
my-load-thumb
thumb="ownPhoto"
/>
< / div >
< form my-send-form draft-message = "draftMessage" class = "im_send_form" ng-submit = "sendMessage($event)" >
< div class = "im_send_dropbox_wrap" > Drop photos here to send < / div >
< textarea ng-model = "draftMessage.text" placeholder = "Write a message..." class = "form-control im_message_field" > < / textarea >
< div class = "im_media_attach pull-right" >
< input type = "file" class = "im_media_attach_input" size = "28" multiple = "true" accept = "image/*, video/*, audio/*" / >
< i class = "icon icon-camera" > < / i >
< / div >
< div class = "im_attach pull-right" >
< input type = "file" class = "im_attach_input" size = "28" multiple = "true" / >
< i class = "icon icon-paperclip" > < / i >
< / div >
< div class = "im_emoji_btn pull-right" >
< i class = "icon icon-emoji" > < / i >
< / div >
< button type = "submit" class = "btn btn-success im_submit" > Send< / button >
< / form >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "im_page_footer" >
< a class = "im_page_footer_brand" target = "_blank" href = "https://github.com/zhukov/webogram" > Telegram alpha< / a > by izhukov & toberg
< / div >
< div id = "notify_sound" > < / div >