You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
47 KiB
16 lines
47 KiB
angular.module("myApp.templates", []).run(["$templateCache", function($templateCache) {$templateCache.put("partials/chat_create_modal.html","<div class=\"contacts_modal_wrap\">\n\n <div class=\"modal-header\">\n <a class=\"modal-close-link\" ng-click=\"$close()\">Close</a>\n <h4 class=\"modal-title\">Create Group</h4>\n </div>\n\n <div class=\"modal-body\">\n\n <form ng-submit=\"createGroup()\">\n\n <div class=\"contacts_modal_group_title\">\n <input class=\"form-control\" my-focused type=\"text\" placeholder=\"Group name\" ng-model=\"group.name\"/>\n </div>\n\n <div class=\"contacts_modal_panel clearfix\">\n\n <div class=\"contacts_modal_actions pull-right\">\n <button class=\"btn btn-default\" ng-click=\"$dismiss()\"> Cancel </button>\n\n <button class=\"btn btn-success\" type=\"submit\"> Create </button>\n </div>\n\n </div>\n\n </form>\n\n </div>\n\n</div>"); |
|
$templateCache.put("partials/chat_edit_modal.html","<div class=\"contacts_modal_wrap\">\n\n <div class=\"modal-header\">\n <a class=\"modal-close-link\" ng-click=\"$close()\">Close</a>\n <h4 class=\"modal-title\">Edit Group Title</h4>\n </div>\n\n <div class=\"modal-body\">\n\n <form ng-submit=\"updateGroup()\">\n\n <div class=\"contacts_modal_group_title\">\n <input class=\"form-control\" my-focused type=\"text\" placeholder=\"Group name\" ng-model=\"group.name\"/>\n </div>\n\n <div class=\"contacts_modal_panel clearfix\">\n\n <div class=\"contacts_modal_actions pull-right\">\n <button class=\"btn btn-default\" ng-click=\"$dismiss()\"> Cancel </button>\n\n <button class=\"btn btn-success\" type=\"submit\"> Save </button>\n </div>\n\n </div>\n\n </form>\n\n </div>\n\n</div>"); |
|
$templateCache.put("partials/chat_modal.html","<div class=\"chat_modal_wrap\">\n\n <div class=\"modal-header\">\n <a class=\"modal-close-link\" ng-click=\"$close()\">Close</a>\n <h4 class=\"modal-title\">Group Info</h4>\n </div>\n\n <div class=\"modal-body\">\n\n <div class=\"chat_modal_photo_wrap pull-left\">\n\n <div class=\"chat_modal_photo\">\n <img\n class=\"user_modal_image\"\n my-load-thumb\n thumb=\"chatFull.thumb\"\n />\n <div class=\"chat_modal_photo_change_wrap\" ng-if=\"chatFull.chat._ != \'chatForbidden\' && !chatFull.chat.left\">\n <div ng-if=\"photo.updating\" class=\"chat_modal_photo_loading\">Updating<span my-typing-dots></span></div>\n <div ng-if=\"!photo.updating\">\n <div class=\"chat_modal_photo_update_link\">\n <input my-file-upload type=\"file\" multiple=\"false\" class=\"im_attach_input\" size=\"120\" multiple=\"false\" accept=\"image/x-png, image/png, image/gif, image/jpeg\" />\n Update photo\n </div>\n <a ng-if=\"chatFull.thumb.location\" href=\"\" ng-click=\"deletePhoto()\" class=\"chat_modal_photo_delete_link\">Delete photo</a>\n </div>\n </div>\n </div>\n\n </div>\n\n\n <div class=\"chat_modal_info_wrap clearfix\">\n <h4 class=\"chat_modal_header\">\n <a href=\"\" ng-if=\"chatFull.chat._ != \'chatForbidden\' && !chatFull.chat.left\" ng-click=\"editTitle()\" ng-bind-html=\"chatFull.chat.rTitle\"></a>\n <span ng-if=\"chatFull.chat._ == \'chatForbidden\' || chatFull.chat.left\" ng-bind-html=\"chatFull.chat.rTitle\"></span>\n </h4>\n <p class=\"chat_modal_members_count\" ng-if=\"chatFull.chat.participants_count > 0\">\n <ng-pluralize count=\"chatFull.chat.participants_count\"\n when=\"{\'0\': \'No members\', \'one\': \'1 member\', \'other\': \'{} members\'}\">\n </ng-pluralize>\n </p>\n\n <div class=\"chat_modal_settings_wrap\">\n <div class=\"chat_modal_notifications\">\n Notifications:\n <a ng-click=\"settings.notifications = !settings.notifications\">\n {{settings.notifications ? \'ON\' : \'OFF\'}}\n </a>\n </div>\n\n <div class=\"chat_modal_leave_join\" ng-if=\"chatFull.chat._ != \'chatForbidden\'\">\n <div class=\"chat_modal_leave\" ng-if=\"!chatFull.chat.left\">\n <a href=\"\" ng-click=\"leaveGroup()\">Leave group</a>\n </div>\n <div class=\"chat_modal_leave\" ng-if=\"chatFull.chat.left\">\n <a href=\"\" ng-click=\"returnToGroup()\">Return to group</a>\n </div>\n\n </div>\n </div>\n </div>\n\n <h5 class=\"chat_modal_members_header\">\n <a href=\"\" ng-click=\"inviteToGroup()\" ng-if=\"!chatFull.chat.left && chatFull.participants.participants.length\" class=\"pull-right\">Add participant</a>\n Members\n </h5>\n <div class=\"chat_modal_members_list\">\n\n <div class=\"chat_modal_participant_wrap clearfix\" ng-repeat=\"participant in chatFull.participants.participants | orderBy:\'-user.sortStatus\'\">\n <a ng-if=\"participant.canKick\" ng-click=\"kickFromGroup(participant.user_id)\" class=\"chat_modal_participant_kick pull-right\">Kick</a>\n <a ng-click=\"openUser(participant.user_id)\" class=\"chat_modal_participant_photo pull-left\">\n <img\n class=\"chat_modal_participant_photo\"\n my-load-thumb\n thumb=\"participant.userPhoto\"\n />\n <i class=\"icon status_online\" ng-show=\"participant.user.status._ == \'userStatusOnline\'\"></i>\n </a>\n <div class=\"chat_modal_participant_name\">\n <a ng-click=\"openUser(participant.user.id)\" ng-bind-html=\"participant.user.rFullName\"></a>\n </div>\n <div class=\"chat_modal_participant_status\">{{participant.user | userStatus}}</div>\n </div>\n\n </div>\n\n <div class=\"chat_modal_members_forbidden\" ng-if=\"chatFull.chat._ == \'chatForbidden\' || chatFull.chat.left\">\n Group members list is unavailable.\n </div>\n\n </div>\n\n</div>"); |
|
$templateCache.put("partials/contacts_modal.html","<div class=\"contacts_modal_wrap\">\n\n <div class=\"modal-header\">\n <a class=\"modal-close-link\" ng-click=\"$dismiss()\">Close</a>\n <h4 class=\"modal-title\">Contacts</h4>\n </div>\n\n <div class=\"modal-body\">\n\n <div class=\"contacts_modal_search\">\n <input class=\"form-control contacts_modal_search_field\" my-focused type=\"search\" placeholder=\"Search\" ng-model=\"search.query\"/>\n <a class=\"contacts_modal_search_clear\" ng-click=\"search.query = \'\'\" ng-show=\"search.query.length\"></a>\n </div>\n\n\n <div my-contacts-list class=\"contacts_modal_col\">\n\n <div class=\"contacts_wrap nano\">\n <div class=\"contacts_scrollable_wrap content\">\n\n <ul class=\"contacts_modal_members_list nav nav-pills nav-stacked\">\n\n <li class=\"contacts_modal_contact_wrap clearfix\" ng-repeat=\"contact in contacts | orderBy:\'user.sortName\' track by contact.userID\" ng-class=\"{active: selectedContacts[contact.userID], disabled: disabledContacts[contact.userID]}\">\n <a class=\"contacts_modal_contact\" ng-click=\"contactSelect(contact.userID)\">\n\n <i ng-if=\"multiSelect\" class=\"icon icon-contact-tick\"></i>\n\n <div class=\"contacts_modal_contact_photo pull-left\">\n <img\n class=\"contacts_modal_contact_photo\"\n my-load-thumb\n thumb=\"contact.userPhoto\"\n />\n <i class=\"icon status_online\" ng-show=\"contact.user.status._ == \'userStatusOnline\'\"></i>\n </div>\n\n <div class=\"contacts_modal_contact_name\" ng-bind-html=\"contact.user.rFullName\"></div>\n <div class=\"contacts_modal_contact_status\">{{contact.user | userStatus}}</div>\n\n </a>\n </li>\n\n </ul>\n\n </div>\n </div>\n\n </div>\n\n\n <div ng-if=\"multiSelect\" class=\"contacts_modal_panel\">\n\n <button class=\"btn btn-success btn-block\" ng-class=\"{disabled: !selectedCount}\" ng-disabled=\"!selectedCount\" ng-click=\"submitSelected()\" type=\"submit\">\n Next »\n </button>\n\n </div>\n\n </div>\n\n</div>"); |
|
$templateCache.put("partials/dialog.html","<a class=\"im_dialog\" ng-click=\"dialogSelect(dialogMessage.peerString)\">\n\n <div class=\"im_dialog_meta pull-right text-right\">\n <div class=\"im_dialog_date\">\n {{dialogMessage.date | dateOrTime}}\n </div>\n <span\n class=\"im_dialog_badge badge\"\n ng-show=\"dialogMessage.unreadCount > 0\"\n ng-bind=\"dialogMessage.unreadCount\"\n ></span>\n <i\n class=\"im_dialog_unread\"\n ng-show=\"dialogMessage.out && dialogMessage.unread\"\n ></i>\n </div>\n\n <div class=\"im_dialog_photo pull-left\">\n <img\n class=\"im_dialog_photo\"\n my-load-thumb\n thumb=\"dialogMessage.peerPhoto\"\n />\n </div>\n\n <div class=\"im_dialog_message_wrap\">\n\n <div class=\"im_dialog_peer\">\n <span class=\"im_dialog_chat\" ng-if=\"dialogMessage.chatID\">\n <i class=\"icon icon-group\"></i> <span ng-bind-html=\"dialogMessage.peerData.rTitle\"></span>\n </span>\n <span class=\"im_dialog_user\" ng-if=\"dialogMessage.peerID > 0\" ng-bind-html=\"dialogMessage.peerData.rFullName\"></span>\n </div>\n\n <div class=\"im_dialog_message\">\n <span class=\"im_dialog_chat_from_wrap\">\n <span\n class=\"im_dialog_chat_from\"\n ng-if=\"!dialogMessage.out && dialogMessage.chatID\"\n ng-bind-html=\"dialogMessage.fromUser.rFirstName\"\n ></span><span\n class=\"im_dialog_chat_from\"\n ng-if=\"dialogMessage.out\"\n >You</span>{{((dialogMessage.out || dialogMessage.peerID < 0) && (dialogMessage.message.length || dialogMessage.media && dialogMessage.media._ != \'messageMediaEmpty\')) ? \':\' : \'\'}}\n </span>\n\n <span class=\"im_dialog_message_media\" ng-if=\"dialogMessage.media && dialogMessage.media._ != \'messageMediaEmpty\'\" ng-switch=\"dialogMessage.media._\">\n <span ng-switch-when=\"messageMediaPhoto\">Photo</span>\n <span ng-switch-when=\"messageMediaVideo\">Video</span>\n <span ng-switch-when=\"messageMediaDocument\">Document</span>\n <span ng-switch-when=\"messageMediaAudio\">Audio</span>\n <span ng-switch-when=\"messageMediaGeo\">Location</span>\n <span ng-switch-when=\"messageMediaContact\">Contact</span>\n </span>\n\n <span class=\"im_dialog_message_service\" ng-if=\"dialogMessage._ == \'messageService\'\" ng-switch=\"dialogMessage.action._\">\n <span ng-switch-when=\"messageActionChatCreate\"> created the group </span>\n <span ng-switch-when=\"messageActionChatEditTitle\">changed group name</span>\n <span ng-switch-when=\"messageActionChatEditPhoto\">changed group photo</span>\n <span ng-switch-when=\"messageActionChatDeletePhoto\">removed group photo</span>\n\n <span ng-switch-when=\"messageActionChatAddUser\">\n <span ng-if=\"dialogMessage.from_id != dialogMessage.action.user_id\">\n invited <span ng-bind-html=\"dialogMessage.action.user.rFullName\"></span>\n </span>\n <span ng-if=\"dialogMessage.from_id == dialogMessage.action.user_id\">\n returned to group\n </span>\n </span>\n\n <span ng-switch-when=\"messageActionChatDeleteUser\">\n <span ng-if=\"dialogMessage.from_id != dialogMessage.action.user_id\">\n kicked <span ng-bind-html=\"dialogMessage.action.user.rFullName\"></span>\n </span>\n <span ng-if=\"dialogMessage.from_id == dialogMessage.action.user_id\">\n left group\n </span>\n </span>\n </span>\n\n <span class=\"im_dialog_message_text\" ng-if=\"dialogMessage.message.length\" ng-bind-html=\"dialogMessage.richMessage\"></span>\n </div>\n\n </div>\n</a>\n"); |
|
$templateCache.put("partials/error_modal.html","<div class=\"error_modal_wrap\">\n\n <div class=\"modal-header\">\n <a class=\"modal-close-link\" ng-click=\"$close()\">Close</a>\n <h4 class=\"modal-title\">{{title}}</h4>\n </div>\n\n\n <div class=\"modal-body\">\n\n <div class=\"error_modal_description\">\n {{description}}\n </div>\n\n </div>\n\n</div>"); |
|
$templateCache.put("partials/head.html","<div class=\"tg_page_head\">\n <div class=\"navbar navbar-static-top navbar-inverse\" role=\"navigation\">\n <div class=\"container\" ng-init=\"navbarCollapsed = true\">\n <div class=\"navbar-header\">\n <button type=\"button\" class=\"navbar-toggle\" ng-click=\"navbarCollapsed = !navbarCollapsed\">\n <span class=\"sr-only\">Toggle navigation</span>\n <span class=\"icon-bar\"></span>\n <span class=\"icon-bar\"></span>\n <span class=\"icon-bar\"></span>\n </button>\n <a class=\"navbar-brand\" href=\"{{isLoggedIn ? \'#/im\' : \'#/\'}}\"><span class=\"tg_head_logo\"></span><span class=\"tg_head_logo_text\"></span></a>\n <ul class=\"nav navbar-nav navbar-quick-nav\" ng-show=\"curDialog.peer\">\n <li>\n <a href=\"#/im\">\n <i class=\"icon icon-back\"></i> Back\n </a>\n </li>\n </ul>\n </div>\n\n\n <div class=\"navbar-collapse\" collapse=\"navbarCollapsed\">\n\n <ul ng-if=\"offline\" class=\"nav navbar-nav navbar-offline\">\n <li ng-show=\"!offlineConnecting\"><span class=\"navbar-offline-text\">Waiting for network<span my-typing-dots></span></span></li>\n <li ng-show=\"!offlineConnecting\"><a href=\"\" ng-click=\"retryOnline()\">Retry</a></li>\n <li ng-show=\"offlineConnecting\"><span class=\"navbar-offline-text\">Connecting<span my-typing-dots></span></span></li>\n </ul>\n\n <ul ng-if=\"!offline\" class=\"nav navbar-nav navbar-right\">\n <li ng-if=\"isLoggedIn\"><a href=\"\" ng-click=\"openGroup()\">New Group</a></li>\n <li ng-if=\"isLoggedIn\"><a href=\"\" ng-click=\"openContacts()\">Contacts</a></li>\n <li ng-if=\"isLoggedIn\"><a href=\"\" ng-click=\"openSettings()\">Settings</a></li>\n <li><a href=\"https://github.com/zhukov/webogram\" target=\"_blank\">About</a></li>\n </ul>\n\n </div>\n </div>\n </div>\n</div>"); |
|
$templateCache.put("partials/im.html","<div ng-include=\"\'partials/head.html\'\"></div>\n\n<div class=\"im_page_wrap\" ng-class=\"{im_page_peer_not_selected: !curDialog.peer}\">\n\n <div class=\"im_page_split clearfix\">\n\n <div class=\"im_dialogs_col_wrap\" ng-controller=\"AppImDialogsController\">\n <div class=\"im_dialogs_search\">\n <input class=\"form-control im_dialogs_search_field\" type=\"search\" placeholder=\"Search\" ng-model=\"search.query\"/>\n <a class=\"im_dialogs_search_clear\" ng-click=\"search.query = \'\'\" ng-show=\"search.query.length\"></a>\n </div>\n <div my-dialogs-list class=\"im_dialogs_col\">\n <div class=\"im_dialogs_wrap nano\">\n <div class=\"im_dialogs_scrollable_wrap content\">\n <ul class=\"nav nav-pills nav-stacked\">\n <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>\n </ul>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"im_history_col_wrap\" ng-controller=\"AppImHistoryController\">\n <div ng-if=\"state.notSelected\" class=\"im_history_not_selected\">No history to display</div>\n <div ng-show=\"!state.notSelected && !state.loaded\" class=\"im_history_not_selected\">Loading history<span my-typing-dots></span></div>\n\n <div ng-if=\"state.loaded\">\n <div my-history class=\"im_history_col\">\n\n <div class=\"im_history_panel_wrap\">\n\n <div class=\"im_history_panel clearfix\" ng-controller=\"AppImPanelController\">\n <div class=\"im_history_panel_title\">\n\n <a class=\"im_history_panel_info_link pull-right\" ng-click=\"showPeerInfo()\">Info</a>\n <a class=\"im_history_panel_edit_link pull-right\" ng-click=\"toggleEdit()\">Edit</a>\n\n <div class=\"dropdown im_history_panel_media_dropdown pull-right\">\n <a class=\"dropdown-toggle\">Media<i class=\"icon icon-caret\"></i></a>\n <ul class=\"dropdown-menu\">\n <li>\n <a ng-click=\"toggleMedia(\'photos\')\">Photos</a>\n </li>\n <li>\n <a ng-click=\"toggleMedia(\'video\')\">Videos</a>\n </li>\n <li>\n <a ng-click=\"toggleMedia(\'documents\')\">Documents</a>\n </li>\n </ul>\n </div>\n <a ng-if=\"mediaType !== false\" class=\"im_history_panel_return_link pull-right\" ng-click=\"toggleMedia()\">\n Show all messages\n <strong class=\"im_history_panel_return_count\" ng-show=\"missedCount > 0\">+{{missedCount}}</strong>\n </a>\n\n <h4 ng-if=\"mediaType !== false\" ng-switch=\"mediaType\">\n <span ng-switch-when=\"photos\"> Photos </span>\n <span ng-switch-when=\"video\"> Videos </span>\n <span ng-switch-when=\"documents\"> Documents </span>\n </h4>\n\n <h4 ng-if=\"mediaType === false && historyPeer.id < 0\" ng-click=\"showPeerInfo()\">\n <span ng-bind-html=\"historyPeer.data.rTitle\"></span>\n <small class=\"im_chat_users\">\n <ng-pluralize count=\"historyPeer.data.participants_count\"\n when=\"{\'0\': \'No members\', \'one\': \'1 member\', \'other\': \'{} members\'}\">\n </ng-pluralize>\n </small>\n </h4>\n\n <h4 ng-if=\"mediaType === false && historyPeer.id > 0\" ng-click=\"showPeerInfo()\">\n <span ng-bind-html=\"historyPeer.data.rFullName\"></span>\n <small class=\"im_peer_online\">{{historyPeer.data | userStatus}}</small>\n </h4>\n\n </div>\n\n </div>\n\n </div>\n\n <div class=\"im_history_wrap nano\">\n\n <div class=\"im_history_scrollable_wrap content\">\n\n <div class=\"im_history_scrollable\">\n\n <div class=\"im_history\" ng-class=\"{im_history_selectable: selectActions}\">\n <div class=\"im_history_empty\" ng-show=\"historyEmpty && !history.length\">No messages to display</div>\n <div class=\"im_history_message_wrap\" my-message ng-repeat=\"historyMessage in history\"></div>\n </div>\n\n <div class=\"im_history_typing_wrap\">\n <div class=\"im_history_typing\" ng-show=\"typing.user\">\n <strong class=\"im_history_typing_author\" ng-bind-html=\"typing.user.rFullName\"></strong> is typing<span my-typing-dots></span>\n </div>\n </div>\n\n </div>\n\n </div>\n\n </div>\n\n <div class=\"im_bottom_panel_wrap\">\n\n <div class=\"im_edit_panel_wrap clearfix\" ng-show=\"selectActions\" ng-class=\"{im_edit_panel_wrap_loaded: true}\">\n <div class=\"im_edit_panel_border\"></div>\n <a class=\"im_edit_flush_link\" ng-click=\"selectedFlush()\">\n Clear History\n </a>\n <a class=\"im_edit_cancel_link\" ng-click=\"selectedCancel()\">\n Cancel\n </a>\n <div class=\"im_edit_selected_actions\">\n <a class=\"btn btn-primary im_edit_forward_btn\" ng-click=\"selectedForward()\">\n Forward <strong class=\"im_selected_count\" ng-show=\"selectedCount > 0\" ng-bind=\"selectedCount\"></strong>\n </a><a class=\"btn btn-danger im_edit_delete_btn\" ng-click=\"selectedDelete()\">\n Delete <strong class=\"im_selected_count\" ng-show=\"selectedCount > 0\" ng-bind=\"selectedCount\"></strong>\n </a>\n </div>\n </div>\n\n <div class=\"im_send_panel_wrap\" ng-hide=\"selectActions\">\n\n <div class=\"im_send_form_wrap1\">\n\n <div class=\"im_send_form_wrap clearfix\" ng-controller=\"AppImSendController\">\n <div class=\"pull-right im_panel_peer_photo\" ng-click=\"showPeerInfo()\">\n <img\n class=\"im_panel_peer_photo\"\n my-load-thumb\n thumb=\"historyPeer.photo\"\n />\n <i class=\"icon im_panel_peer_online\" ng-show=\"historyPeer.id > 0 && historyPeer.data.status._ == \'userStatusOnline\'\"></i>\n </div>\n <div class=\"pull-left im_panel_own_photo\">\n <img\n class=\"im_panel_own_photo\"\n my-load-thumb\n thumb=\"ownPhoto\"\n />\n </div>\n <form my-send-form draft-message=\"draftMessage\" class=\"im_send_form\" ng-submit=\"sendMessage($event)\">\n <div class=\"im_send_dropbox_wrap\"> Drop photos here to send </div>\n <textarea ng-model=\"draftMessage.text\" placeholder=\"Write a message...\" class=\"form-control im_message_field\"></textarea>\n\n <div class=\"im_media_attach pull-right\">\n <input type=\"file\" class=\"im_media_attach_input\" size=\"28\" multiple=\"true\" accept=\"image/*, video/*, audio/*\" />\n <i class=\"icon icon-camera\"></i>\n </div>\n\n <div class=\"im_attach pull-right\">\n <input type=\"file\" class=\"im_attach_input\" size=\"28\" multiple=\"true\" />\n <i class=\"icon icon-paperclip\"></i>\n </div>\n\n\n <div class=\"im_emoji_btn pull-right\">\n <i class=\"icon icon-emoji\"></i>\n </div>\n\n <button type=\"submit\" class=\"btn btn-success im_submit\">Send</button>\n </form>\n </div>\n\n </div>\n\n </div>\n\n </div>\n\n </div>\n </div>\n\n </div>\n\n </div>\n\n\n</div>\n\n<div class=\"im_page_footer\">\n <a class=\"im_page_footer_brand\" target=\"_blank\" href=\"https://github.com/zhukov/webogram\">Telegram alpha</a> by izhukov & toberg\n</div>\n\n<div id=\"notify_sound\"></div>\n\n"); |
|
$templateCache.put("partials/login.html","<div ng-include=\"\'partials/head.html\'\"></div>\n\n\n<div class=\"login_form_wrap\">\n <div class=\"error\" ng-if=\"error.message\">{{ error.message }}</div>\n <form name=\"mySendCodeForm\" ng-if=\"!credentials.phone_code_hash\" ng-submit=\"sendCode()\">\n <h3 class=\"login_form_head\">Sign in</h3>\n <p class=\"login_form_lead\">Please enter your full phone number with country code.</p>\n\n <div class=\"form-group\" ng-class=\"{\'has-error\': error.field == \'phone\'}\">\n <label class=\"control-label\" for=\"phone_number\" ng-if=\"error.field == \'phone\'\">Incorrect phone number</label>\n <input type=\"tel\" class=\"form-control\" name=\"phone_number\" ng-model=\"credentials.phone_number\" placeholder=\"Enter your phone\" required>\n </div>\n <button class=\"btn btn-success btn-block\" ng-class=\"{disabled: progress.enabled}\" ng-disabled=\"progress.enabled\" type=\"submit\">\n {{progress.enabled ? \'Generating keys...\' : \'Next\'}}\n </button>\n </form>\n\n <form name=\"myLoginForm\" ng-if=\"credentials.phone_code_hash\" ng-submit=\"logIn()\">\n <h3 class=\"login_form_head\">{{ credentials.phone_number | phoneNumber }} <small>(<a href=\"#/auth\">edit</a>)</small></h3>\n <p class=\"login_form_lead\">We have sent you a code via SMS.<br/>Please enter it below.</p>\n\n <p class=\"login_form_lead\">\n <span ng-show=\"callPending.remaining > 0\">Telegram will call you in {{callPending.remaining | duration}}</span>\n <span ng-show=\"!callPending.remaining && !callPending.success\">Telegram is calling you</span>\n <span ng-show=\"!callPending.remaining && callPending.success\">Telegram dialed your number</span>\n </p>\n\n <div class=\"form-group\" ng-class=\"{\'has-error\': error.field == \'phone_code\'}\">\n <label class=\"control-label\" for=\"phone_code\" ng-if=\"error.field == \'phone_code\'\">Incorrect SMS code</label>\n <input type=\"number\" maxlength=\"5\" class=\"form-control\" name=\"phone_code\" ng-model=\"credentials.phone_code\" placeholder=\"Enter your code\" required>\n </div>\n\n <button class=\"btn btn-success btn-block\" type=\"submit\" ng-class=\"{disabled: progress.enabled}\" ng-disabled=\"progress.enabled\">\n {{progress.enabled ? \'Checking code...\' : \'Sign in\'}}\n </button>\n </form>\n</div>\n"); |
|
$templateCache.put("partials/message.html","<div class=\"im_message_unread_split\" ng-if=\"historyUnread && historyUnread.beforeID == historyMessage.id\">\n <ng-pluralize count=\"historyUnread.count\"\n when=\"{\'one\': \'1 unread message\', \'other\': \'{} unread messages\'}\">\n </ng-pluralize>\n</div>\n\n<div class=\"im_message_outer_wrap\" ng-class=\"{im_message_selected: selectedMsgs[historyMessage.id]}\" ng-click=\"toggleMessage(historyMessage.id, $event.target)\">\n\n\n <div class=\"im_message_wrap clearfix\">\n\n <div class=\"im_service_message_wrap\" ng-if=\"historyMessage._ == \'messageService\'\">\n <div class=\"im_service_message\">\n\n <a ng-click=\"openUser(historyMessage.from_id)\" class=\"im_message_author\" ng-bind-html=\"historyMessage.fromUser.rFullName\"></a>\n\n <span class=\"im_message_service\" ng-switch=\"historyMessage.action[\'_\']\">\n <span ng-switch-when=\"messageActionChatCreate\">\n created the group «<strong>{{historyMessage.action.title}}</strong>»\n </span>\n <span ng-switch-when=\"messageActionChatEditTitle\">\n changed group name to «<strong>{{historyMessage.action.title}}</strong>»\n </span>\n <span ng-switch-when=\"messageActionChatEditPhoto\">\n changed group photo\n </span>\n <span ng-switch-when=\"messageActionChatDeletePhoto\">\n removed group photo\n </span>\n <span ng-switch-when=\"messageActionChatAddUser\">\n <span ng-if=\"historyMessage.from_id != historyMessage.action.user_id\">\n invited <a ng-click=\"openUser(historyMessage.action.user_id)\" ng-bind-html=\"historyMessage.action.user.rFullName\"></a>\n </span>\n <span ng-if=\"historyMessage.from_id == historyMessage.action.user_id\">\n returned to group\n </span>\n </span>\n <span ng-switch-when=\"messageActionChatDeleteUser\">\n <span ng-if=\"historyMessage.from_id != historyMessage.action.user_id\">\n kicked <a ng-click=\"openUser(historyMessage.action.user_id)\" ng-bind-html=\"historyMessage.action.user.rFullName\"></a>\n </span>\n <span ng-if=\"historyMessage.from_id == historyMessage.action.user_id\">\n left group\n </span>\n </span>\n\n <span ng-switch-default>\n unsupported action {{historyMessage.action}}\n </span>\n </span>\n\n </div>\n\n <a ng-if=\"historyMessage.action._ == \'messageActionChatEditPhoto\'\" class=\"im_service_message_photo_thumb\" href=\"\" ng-click=\"openPhoto(historyMessage.action.photo.id)\">\n <img\n class=\"im_service_message_photo_thumb\"\n my-load-thumb\n thumb=\"historyMessage.action.photo.thumb\"\n width=\"{{historyMessage.action.photo.thumb.width}}\"\n height=\"{{historyMessage.action.photo.thumb.height}}\"\n />\n </a>\n\n </div>\n\n <div class=\"im_content_message_wrap\" ng-if=\"historyMessage._ != \'messageService\'\">\n <div class=\"im_content_message_select_area\">\n <i class=\"icon icon-select-tick\"></i>\n </div>\n\n <a ng-click=\"historyMessage.send()\" ng-if=\"historyMessage.error\">\n <i class=\"icon-message-status icon-message-status-error\" tooltip=\"Try again\"></i>\n </a>\n <i class=\"icon-message-status\" ng-class=\"{\'icon-message-status-unread\': historyMessage.unread, \'icon-message-status-pending\': historyMessage.pending}\" ng-if=\"!historyMessage.error\"></i>\n\n <a ng-click=\"openUser(historyMessage.from_id)\" class=\"im_message_from_photo pull-left\">\n <img\n class=\"im_message_from_photo\"\n my-load-thumb\n thumb=\"historyMessage.fromPhoto\"\n />\n </a>\n <div class=\"im_message_meta pull-right text-right\">\n <span class=\"im_message_date\">{{historyMessage.date | dateOrTime}}</span>\n </div>\n\n <div class=\"im_message_body\">\n\n <a class=\"im_message_author user_color_{{historyMessage.fromPhoto.num}}\" ng-click=\"openUser(historyMessage.from_id)\" ng-bind-html=\"historyMessage.fromUser.rFullName\" ng-if=\"historyMessage.to_id.chat_id > 0\"></a>\n <a class=\"im_message_author\" ng-click=\"openUser(historyMessage.from_id)\" ng-bind-html=\"historyMessage.fromUser.rFirstName\" ng-if=\"!historyMessage.to_id.chat_id\"></a>\n\n\n <div class=\"im_message_fwd_header\" ng-if=\"historyMessage._ == \'messageForwarded\'\">\n Forwarded message from <a class=\"im_message_fwd_author\" ng-click=\"openUser(historyMessage.fwd_from_id)\" ng-bind-html=\"historyMessage.fwdUser.rFirstName\"></a>, <span class=\"im_message_fwd_date\">{{historyMessage.fwd_date | dateOrTime}}</span>\n </div>\n\n <div class=\"im_message_media\" ng-if=\"historyMessage.media && historyMessage.media._ != \'messageMediaEmpty\'\" ng-switch=\"historyMessage.media._\">\n\n <a ng-switch-when=\"messageMediaPhoto\" class=\"im_message_photo_thumb\" href=\"\" ng-click=\"openPhoto(historyMessage.media.photo.id)\" style=\"width: {{historyMessage.media.photo.thumb.width}}px;\">\n <img\n class=\"im_message_photo_thumb\"\n my-load-thumb\n thumb=\"historyMessage.media.photo.thumb\"\n width=\"{{historyMessage.media.photo.thumb.width}}\"\n height=\"{{historyMessage.media.photo.thumb.height}}\"\n />\n </a>\n\n <a ng-switch-when=\"messageMediaVideo\" class=\"im_message_video_thumb\" href=\"\" ng-click=\"openVideo(historyMessage.media.video.id)\" style=\"width: {{historyMessage.media.video.thumb.width}}px;\">\n <img\n class=\"im_message_video_thumb\"\n my-load-thumb\n thumb=\"historyMessage.media.video.thumb\"\n width=\"{{historyMessage.media.video.thumb.width}}\"\n height=\"{{historyMessage.media.video.thumb.height}}\"\n />\n <div class=\"im_message_video_duration_wrap\" style=\"width: {{historyMessage.media.video.thumb.width}}px;\">\n <span class=\"im_message_video_duration pull-right\">{{historyMessage.media.video.duration | duration}}</span>\n <span class=\"glyphicon glyphicon-facetime-video\"></span>\n </div>\n </a>\n\n <div ng-switch-when=\"messageMediaDocument\" class=\"im_message_document\" ng-class=\"{im_message_document_thumbed: !!historyMessage.media.document.thumb}\">\n <a href=\"\" ng-click=\"openDoc(historyMessage.media.document.id, false, historyMessage.media.document.withPreview)\" ng-class=\"{im_message_document_link_disabled: historyMessage.media.document.progress.enabled}\">\n <i class=\"icon icon-document\" ng-if=\"!historyMessage.media.document.thumb\"></i>\n <div class=\"im_message_document_thumb_wrap\" ng-if=\"historyMessage.media.document.thumb\">\n <img\n class=\"im_message_document_thumb\"\n my-load-thumb\n thumb=\"historyMessage.media.document.thumb\"\n width=\"{{historyMessage.media.document.thumb.width}}\"\n height=\"{{historyMessage.media.document.thumb.height}}\"\n />\n </div>\n </a>\n\n <div class=\"im_message_document_info\">\n <div class=\"im_message_document_name_wrap\">\n <span class=\"im_message_document_name\">\n {{historyMessage.media.document.file_name}}\n </span>\n <span class=\"im_message_document_size\" ng-if=\"!historyMessage.media.document.progress.enabled\">\n {{historyMessage.media.document.size | formatSize}}\n </span>\n <span class=\"im_message_document_size\" ng-if=\"historyMessage.media.document.progress.enabled\">\n {{historyMessage.media.document.progress | formatSizeProgress}}\n </span>\n </div>\n <div class=\"im_message_document_actions\" ng-if=\"!historyMessage.media.document.progress.enabled\">\n <a href=\"\" ng-click=\"openDoc(historyMessage.media.document.id)\">Download</a>\n <a href=\"\" ng-click=\"openDoc(historyMessage.media.document.id, false, true)\" ng-if=\"historyMessage.media.document.withPreview\">Open</a>\n </div>\n <div class=\"im_message_download_progress_wrap\" ng-if=\"historyMessage.media.document.progress.enabled\">\n <div class=\"progress tg_down_progress\">\n <div class=\"progress-bar progress-bar-success\" role=\"progressbar\" aria-valuenow=\"{{historyMessage.media.document.progress.percent}}\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: {{historyMessage.media.document.progress.percent}}%\">\n <span class=\"sr-only\">\n {{historyMessage.media.document.progress.percent}}% Complete (success)\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n\n <div ng-switch-when=\"messageMediaAudio\" class=\"im_message_document\">\n <a href=\"\" ng-click=\"openAudio(historyMessage.media.audio.id)\" ng-if=\"!historyMessage.media.audio.progress.enabled && !historyMessage.media.audio.url\">\n <i class=\"icon icon-audio\"></i>\n </a>\n <i class=\"icon icon-audio\" ng-if=\"historyMessage.media.audio.progress.enabled || historyMessage.media.audio.url\"></i>\n\n <div class=\"im_message_audio_info\">\n <div class=\"im_message_audio_name_wrap\" ng-if=\"!historyMessage.media.audio.url\">\n <span class=\"im_message_audio_name\">\n Voice message\n </span>\n <span class=\"im_message_audio_duration\" ng-if=\"!historyMessage.media.audio.progress.enabled\">\n {{historyMessage.media.audio.duration | duration}}\n </span>\n <span class=\"im_message_audio_size\" ng-if=\"historyMessage.media.audio.progress.enabled\">\n {{historyMessage.media.audio.progress | formatSizeProgress}}\n </span>\n </div>\n <div class=\"im_message_audio_actions\" ng-if=\"!historyMessage.media.audio.progress.enabled && !historyMessage.media.audio.url\">\n <a href=\"\" ng-click=\"openAudio(historyMessage.media.audio.id)\">Play</a>\n </div>\n <div class=\"im_message_download_progress_wrap\" ng-if=\"historyMessage.media.audio.progress.enabled\">\n <div class=\"progress tg_down_progress\">\n <div class=\"progress-bar progress-bar-success\" role=\"progressbar\" aria-valuenow=\"{{historyMessage.media.audio.progress.percent}}\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: {{historyMessage.media.audio.progress.percent}}%\">\n <span class=\"sr-only\">\n {{historyMessage.media.audio.progress.percent}}% Complete (success)\n </span>\n </div>\n </div>\n </div>\n <div class=\"im_message_audio_player_wrap\" ng-if=\"historyMessage.media.audio.url\">\n <audio my-audio-autoplay audio=\"historyMessage.media.audio\" controls=\"controls\">\n <source ng-src=\"{{historyMessage.media.audio.url}}\" type=\"audio/mpeg\" />\n <embed hidden=\"true\" autostart=\"true\" loop=\"false\" src=\"{{historyMessage.media.audio.url}}\" />\n </audio>\n </div>\n </div>\n </div>\n\n <a ng-switch-when=\"messageMediaGeo\" my-map-point point=\"historyMessage.media.geo\" class=\"im_message_geopoint\">\n <i class=\"icon icon-geo-point\"></i>\n </a>\n\n <div ng-switch-when=\"messageMediaContact\">\n <a ng-click=\"openUser(historyMessage.media.user.id)\" class=\"im_message_contact_photo pull-left\" ng-if=\"historyMessage.media.user\">\n <img\n class=\"im_message_contact_photo\"\n my-load-thumb\n thumb=\"historyMessage.media.userPhoto\"\n />\n </a>\n <div class=\"im_message_contact_name\"><span class=\"glyphicon glyphicon-user\"></span>\n {{historyMessage.media.first_name}} {{historyMessage.media.last_name}}\n </div>\n <div class=\"im_message_contact_phone\">\n {{historyMessage.media.phone_number}}\n </div>\n </div>\n\n <div ng-switch-when=\"messageMediaPending\" class=\"im_message_upload_file im_message_upload_{{historyMessage.media.type}}\">\n <i class=\"icon icon-{{historyMessage.media.type}}\"></i>\n <div class=\"im_message_document_info\">\n <div class=\"im_message_document_name_wrap\">\n <span class=\"im_message_document_name\">\n {{historyMessage.media.file_name}}\n </span>\n <span class=\"im_message_document_size\" ng-if=\"historyMessage.media.progress\">\n {{historyMessage.media.progress | formatSizeProgress}}\n </span>\n </div>\n <div class=\"im_message_download_progress_wrap\">\n <div class=\"progress tg_down_progress\">\n <div class=\"progress-bar progress-bar-success\" role=\"progressbar\" aria-valuenow=\"{{historyMessage.media.progress.percent}}\" aria-valuemin=\"0\" aria-valuemax=\"100\" style=\"width: {{historyMessage.media.progress.percent}}%\">\n <span class=\"sr-only\">\n {{historyMessage.media.progress.percent}}% Complete (success)\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n\n </div>\n\n <div class=\"im_message_text\" ng-if=\"historyMessage.message.length\" ng-bind-html=\"historyMessage.richMessage\"></div>\n </div>\n\n </div>\n </div>\n\n</div>\n\n"); |
|
$templateCache.put("partials/peer_select.html","<div class=\"peer_select_modal_wrap\">\n\n <div class=\"modal-header\">\n <a class=\"modal-close-link\" ng-click=\"$close()\">Close</a>\n <h4 class=\"modal-title\">Select conversation</h4>\n </div>\n\n <div class=\"modal-body\">\n\n <div class=\"im_dialogs_modal_col_wrap\" ng-controller=\"AppImDialogsController\">\n <div class=\"im_dialogs_search\">\n <input class=\"form-control im_dialogs_search_field\" type=\"search\" placeholder=\"Search\" ng-model=\"search.query\"/>\n <a class=\"im_dialogs_search_clear\" ng-click=\"search.query = \'\'\" ng-show=\"search.query.length\"></a>\n </div>\n <div my-dialogs-list modal=\"true\" class=\"im_dialogs_modal_col\">\n <div class=\"im_dialogs_wrap nano\">\n <div class=\"im_dialogs_scrollable_wrap content\">\n <ul class=\"nav nav-pills nav-stacked\">\n <li class=\"im_dialog_wrap\" my-dialog dialog-message=\"dialogMessage\" ng-repeat=\"dialogMessage in dialogs track by dialogMessage.peerID\"></li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>"); |
|
$templateCache.put("partials/photo_modal.html","<div class=\"media_modal_wrap photo_modal_wrap\">\n\n <div class=\"modal-body\">\n\n <div class=\"photo_modal_image_wrap\" my-load-full-photo full-photo=\"photo.full\" thumb-location=\"photo.thumb.location\" ng-click=\"$close()\"> </div>\n\n <p class=\"media_modal_info\">From: <span class=\"media_modal_author\" ng-bind-html=\"photo.fromUser.rFullName\" ></span>, {{photo.date | dateOrTime}}</p>\n\n </div>\n\n</div>"); |
|
$templateCache.put("partials/settings_modal.html","<div class=\"settings_modal_wrap\">\n\n <div class=\"modal-header\">\n <a class=\"modal-close-link\" ng-click=\"$close()\">Close</a>\n <h4 class=\"modal-title\">Settings</h4>\n </div>\n\n <div class=\"modal-body\">\n\n <div class=\"clearfix\">\n\n <div class=\"settings_profile_photo_wrap pull-left\">\n\n <div class=\"settings_profile_photo\">\n <img\n class=\"user_modal_image\"\n my-load-thumb\n thumb=\"profile.photo\"\n />\n <div class=\"settings_profile_photo_change_wrap\">\n <div ng-if=\"photo.updating\" class=\"settings_profile_photo_loading\">Updating<span my-typing-dots></span></div>\n <div ng-if=\"!photo.updating\">\n <div class=\"settings_profile_photo_update_link\">\n <input my-file-upload type=\"file\" multiple=\"false\" class=\"im_attach_input\" size=\"120\" multiple=\"false\" accept=\"image/x-png, image/png, image/gif, image/jpeg\" />\n Update photo\n </div>\n <a ng-if=\"profile.photo.location\" href=\"\" ng-click=\"deletePhoto()\" class=\"settings_profile_photo_delete_link\">Delete photo</a>\n </div>\n </div>\n </div>\n\n </div>\n\n <form my-settings-form name=\"profileForm\" class=\"settings_profile_edit_form\">\n\n <div class=\"form-group settings_profile_first_name\" ng-class=\"{\'has-error\': error.field == \'first_name\'}\">\n <label class=\"control-label\" for=\"first_name\">\n <span ng-if=\"error.field == \'first_name\'\">Invalid First Name</span>\n <span ng-if=\"error.field != \'first_name\'\">First Name</span>\n </label>\n <input type=\"text\" class=\"form-control\" name=\"first_name\" ng-model=\"profile.first_name\" required />\n </div>\n\n <div class=\"form-group settings_profile_last_name\" ng-class=\"{\'has-error\': error.field == \'last_name\'}\">\n <label class=\"control-label\" for=\"last_name\">\n <span ng-if=\"error.field == \'last_name\'\">Invalid Last Name</span>\n <span ng-if=\"error.field != \'last_name\'\">Last Name</span>\n </label>\n <input type=\"text\" class=\"form-control\" name=\"last_name\" ng-model=\"profile.last_name\" />\n </div>\n\n <div class=\"settings_profile_save\">\n <button class=\"btn btn-link settings_profile_save_btn\" ng-click=\"save(profileForm)\" ng-disabled=\"profileForm.$invalid || (!profileForm.last_name.$dirty && !profileForm.first_name.$dirty)\">Save</button>\n </div>\n\n </form>\n\n </div>\n\n <form class=\"settings_send_choose_form\">\n <div class=\"radio\">\n <label>\n <input type=\"radio\" value=\"1\" ng-model=\"send.enter\">\n <strong>Enter</strong> - send message, <strong>Shift + Enter</strong> - new line\n </label>\n </div>\n <div class=\"radio\">\n <label>\n <input type=\"radio\" value=\"\" ng-model=\"send.enter\">\n <strong>Ctrl + Enter</strong> - send message, <strong>Enter</strong> - new line\n </label>\n </div>\n </form>\n\n <p>\n <strong>Sound: </strong>\n <a ng-click=\"notify.sound = !notify.sound\">{{notify.sound ? \'ON\' : \'OFF\'}}</a>\n </p>\n\n <p>\n <strong>Desktop Notifications: </strong>\n <a ng-click=\"notify.desktop = !notify.desktop\">{{notify.desktop ? \'ON\' : \'OFF\'}}</a>\n </p>\n\n <p>\n <strong>User: </strong>\n <span class=\"settings_user_phone\">{{phone | phoneNumber}}</span>\n </p>\n\n <p>\n <strong>Version: </strong>\n <span class=\"settings_version\">alpha 0.0.20</span>\n </p>\n\n <hr/>\n\n <div class=\"settings_logout_wrap\">\n <a href=\"\" ng-click=\"logOut()\">Log out</a>\n </div>\n </div>\n</div>\n"); |
|
$templateCache.put("partials/user_modal.html","<div class=\"user_modal_wrap\">\n\n <div class=\"modal-header\">\n <a class=\"modal-close-link\" ng-click=\"$close()\">Close</a>\n <h4 class=\"modal-title\">Info</h4>\n </div>\n\n\n <div class=\"modal-body\">\n\n <div class=\"user_modal_image_wrap pull-left\">\n <img\n class=\"user_modal_image\"\n my-load-thumb\n thumb=\"user.thumb\"\n />\n </div>\n\n <div class=\"user_modal_info_wrap clearfix\">\n <h4 class=\"user_modal_header\">{{user | userName}}</h4>\n <p class=\"user_modal_status\" ng-if=\"user.status\">{{user | userStatus}}</p>\n\n <p class=\"user_modal_phone\" ng-if=\"user.phone\">{{user.phone | phoneNumber}}</p>\n <button class=\"btn btn-primary user_modal_send_btn\" ng-click=\"goToHistory()\">Send message</button>\n </div>\n\n <div class=\"user_modal_settings_wrap\">\n <div class=\"user_modal_notifications\">\n Notifications:\n <a ng-click=\"settings.notifications = !settings.notifications\">\n {{settings.notifications ? \'ON\' : \'OFF\'}}\n </a>\n </div>\n </div>\n\n </div>\n\n</div>"); |
|
$templateCache.put("partials/video_modal.html","<div class=\"media_modal_wrap video_modal_wrap\">\n\n <div class=\"modal-body\">\n\n <div class=\"video_modal_image_wrap\" my-load-video video=\"video\"></div>\n\n <p class=\"media_modal_info\">From: <span class=\"media_modal_author\" ng-bind-html=\"video.fromUser.rFullName\"></span>, {{video.date | dateOrTime}}</p>\n\n </div>\n\n</div>"); |
|
$templateCache.put("partials/welcome.html","<div ng-include=\"\'partials/head.html\'\"></div>\n\n\n<div ng-show=\"showWelcome\">\n\n <div class=\"welcome_logo\"></div>\n\n <div class=\"welcome_box_wrap\">\n <div class=\"welcome_text\">\n <p>Welcome to an unofficial web-client of mobile <strong>Telegram</strong> messenger.</p>\n <p>It is an alpha, which means it is still not 200% secure and functional.</p>\n <p>Visit <a target=\"_blank\" href=\"https://telegram.org/\">telegram.org</a> to learn more.</p>\n </div>\n <a href=\"#/login\" class=\"btn btn-success btn-block\">Start Messaging</a>\n </div>\n\n</div>\n");}]); |