diff --git a/css/style.css b/css/style.css
index c0f60de..2466489 100644
--- a/css/style.css
+++ b/css/style.css
@@ -675,7 +675,6 @@ button.follow:hover, button.unfollow:hover, .following-own-modal .following-list
border-radius: 3px;
border: solid 1px rgba(0, 0, 0, .3 );
margin-left: 55px;
- margin-bottom: 10px;
padding: 4px;
font-size: 13px;
}
@@ -755,14 +754,13 @@ textarea.splited-post {
transition: all .6s linear;
}
-.post-area-new .shorten-uri {
+.post-area-new .post-textarea-edit-bar {
font-size: 11px;
- float: left;
- margin: 2px 4px;
+ margin: 2px 0;
}
-.postboard .post-area-new .shorten-uri, .modal-content .post-area-new .shorten-uri {
- margin-left: 56px;
+.post-area-new .post-textarea-edit-bar > * {
+ margin: 2px 4px;
}
.post-area-remaining
diff --git a/home.html b/home.html
index 3e2af98..082502f 100644
--- a/home.html
+++ b/home.html
@@ -313,6 +313,10 @@
+
+
diff --git a/js/interface_common.js b/js/interface_common.js
index 36bd643..419ddfe 100644
--- a/js/interface_common.js
+++ b/js/interface_common.js
@@ -822,7 +822,7 @@ function openRequestShortURIForm(event) {
return;
}
- var uri = prompt('enter a link, watch yourself carefully'); // FIXME
+ var uri = prompt(polyglot.t('shorten_URI_enter_link')); // FIXME replace native prompt
if (event && event.data && typeof event.data.cbFunc === 'function')
newShortURI(uri, event.data.cbFunc, event.data.cbReq);
@@ -1359,7 +1359,7 @@ function composeNewPost(e, postAreaNew) {
if (!postAreaNew.hasClass('open')) {
postAreaNew.addClass('open');
//se o usuário clicar fora é pra fechar
- postAreaNew.clickoutside(unfocusThis);
+ postAreaNew.clickoutside(unfocusPostAreaNew);
if ($.Options.splitPosts.val === 'enable')
usePostSpliting = true;
@@ -1380,21 +1380,26 @@ function composeNewPost(e, postAreaNew) {
var textArea = postAreaNew.find('textarea');
if (textArea.attr('data-reply-to') && !textArea.val().length) {
textArea.val(textArea.attr('data-reply-to'));
- posPostPreview(textArea);
+ poseTextareaPostTools(textArea);
}
if (!postAreaNew.find('textarea:focus').length)
postAreaNew.find('textarea:last').focus();
}
-function posPostPreview(event) {
+function poseTextareaPostTools(event) {
+ if (event.jquery)
+ var textArea = event;
+ else
+ var textArea = $(event.target);
+
+ posePostPreview(textArea);
+ poseTextareaEditBar(textArea);
+}
+
+function posePostPreview(textArea) {
if (!$.Options.postPreview.val)
return;
- if (event.jquery) {
- var textArea = event;
- } else {
- var textArea = $(event.target);
- }
var postPreview = textArea.siblings('#post-preview');
if (!postPreview.length) {
postPreview = $('#post-preview-template').children().clone()
@@ -1412,10 +1417,23 @@ function posPostPreview(event) {
textArea.before(postPreview);
}
+function poseTextareaEditBar(textArea) {
+ var editBar = textArea.siblings('.post-textarea-edit-bar');
+ if (!editBar.length) {
+ editBar = twister.tmpl.postTextareaEditBar.clone(true)
+ .css('margin-left', textArea.css('margin-left'))
+ .css('margin-right', textArea.css('margin-right'))
+ ;
+ editBar.find('.shorten-uri').text(polyglot.t('shorten_URI'));
+ }
+ editBar.insertAfter(textArea).show();
+}
+
// Reduz Área do Novo post
-function unfocusThis() {
- $(this).removeClass('open')
- .find('#post-preview').slideUp('fast');
+function unfocusPostAreaNew() {
+ var postAreaNew = $(this).removeClass('open');
+ postAreaNew.find('#post-preview').slideUp('fast');
+ postAreaNew.find('.post-textarea-edit-bar').hide();
}
function checkPostForMentions(post, mentions, max) {
@@ -2222,10 +2240,10 @@ function initInterfaceCommon() {
});
$('.post-area-new')
.on('click', function(e) {composeNewPost(e, $(this));})
- .clickoutside(unfocusThis)
+ .clickoutside(unfocusPostAreaNew)
.children('textarea')
.on({
- 'focus': posPostPreview,
+ 'focus': poseTextareaPostTools,
'input': replyTextInput, // input event fires in modern browsers (IE9+) on any changes in textarea (and copypasting with mouse too)
'input focus': replyTextUpdateRemaining,
'keyup': replyTextKeySend
@@ -2298,12 +2316,6 @@ function initInterfaceCommon() {
.on('focus',
function (event) {
twister.focus.textareaPostCur = $(event.target);
-
- // FIXME that's a hack, need to implement complete toolbar with buttons of text formatting
- var xtrs = twister.focus.textareaPostCur.siblings('.post-area-extras');
- if (!xtrs.find('.shorten-uri').length)
- xtrs.prepend(twister.tmpl.shortenUri.clone(true));
-
if ($.fn.textcomplete) { // because some pages don't have that. // network.html
event.data = {req: getMentionsForAutoComplete};
setTextcompleteOnEventTarget(event);
@@ -2447,16 +2459,19 @@ $(document).ready(function () {
function (event) {
muteEvent(event);
- var formPost = $(event.target).closest('.post-area-new');
- var textArea = formPost.find(twister.focus.textareaPostCur);
- if (!textArea.length) textArea = formPost.find(twister.focus.textareaPostPrev);
- if (!textArea.length) textArea = formPost.find('textarea:last');
+ var postAreaNew = $(event.target).closest('.post-area-new');
+ var textArea = postAreaNew.find(twister.focus.textareaPostCur);
+ if (!textArea.length) textArea = postAreaNew.find(twister.focus.textareaPostPrev);
+ if (!textArea.length) textArea = postAreaNew.find('textarea:last');
event.data.cbReq = textArea;
openRequestShortURIForm(event);
}
)
;
+ twister.tmpl.postTextareaEditBar = extractTemplate('#template-post-textarea-edit-bar')
+ .append(twister.tmpl.shortenUri.clone(true))
+ ;
twister.tmpl.postRtReference = extractTemplate('#template-post-rt-reference')
.on('mouseup', {feeder: '.post-rt-reference'}, openConversationClick)
.on('click', muteEvent) // to prevent post expanding or collapsing
diff --git a/js/interface_localization.js b/js/interface_localization.js
index 8066e95..9f744d8 100644
--- a/js/interface_localization.js
+++ b/js/interface_localization.js
@@ -170,6 +170,8 @@ if(preferredLanguage == "en"){
"send_DM": "Send direct message",
"Sent Post to @": "Sent Post to @",
"Setup account": "Setup account",
+ "shorten_URI": "Shorten URL",
+ "shorten_URI_enter_link": "Enter the long link (be careful!):",
"The File APIs are not fully supported in this browser.": "The File APIs are not fully supported in this browser.",
"time_ago": "%{time} ago", // 5 minutes ago
"Time of the last block:": "Time of the last block: ",
@@ -499,6 +501,8 @@ if(preferredLanguage == "es"){
"send_DM": "Mensaje directo",
"Sent Post to @": "El Post enviado a @",
"Setup account": "Configuración de la cuenta",
+ "shorten_URI": "Acortar URL",
+ "shorten_URI_enter_link": "Introducir el enlace largo (¡ten cuidado!):",
"The File APIs are not fully supported in this browser.": "Las API de archivos no son totalmente compatibles con este navegador.",
"time_ago": "hace %{time}", // 5 minutes ago
"Time of the last block:": "Hora del último bloque: ",
@@ -813,6 +817,8 @@ if(preferredLanguage == "uk"){
"send_DM": "Надіслати особисте повідомлення",
"Sent Post to @": "Надіслати твіст @",
"Setup account": "Обліковий запис",
+ "shorten_URI": "Shorten URL",
+ "shorten_URI_enter_link": "Enter the long link (be careful!):",
"The File APIs are not fully supported in this browser.": "File APIs не повністю підтримується браузером.",
"time_ago": "%{time} тому", // 5 minutes ago
"Time of the last block:": "Час останнього блоку: ",
@@ -1124,6 +1130,8 @@ if(preferredLanguage == "zh-CN"){
"send_DM": "发送私信",
"Sent Post to @": "发送推文 @",
"Setup account": "设置账号",
+ "shorten_URI": "Shorten URL",
+ "shorten_URI_enter_link": "Enter the long link (be careful!):",
"The File APIs are not fully supported in this browser.": "这个浏览器不能完全支持 File API。",
"time_ago": "%{time} 之前", // 5 minutes ago
"Time of the last block:": "最新区块的时间:",
@@ -1453,6 +1461,8 @@ if(preferredLanguage == "nl"){
"send_DM": "Verstuur privébericht",
"Sent Post to @": "Verstuur bericht naar @",
"Setup account": "Account instellingen",
+ "shorten_URI": "Shorten URL",
+ "shorten_URI_enter_link": "Enter the long link (be careful!):",
"The File APIs are not fully supported in this browser.": "The File APIs are not fully supported in this browser.",
"time_ago": "%{time} geleden", // 5 minutes ago
"Time of the last block:": "Tijd van de laatste block: ",
@@ -1766,6 +1776,8 @@ if(preferredLanguage == "it"){
"send_DM": "Messaggi Diretti inviati",
"Sent Post to @": "Messaggi inviati a @",
"Setup account": "Configurazione Utente",
+ "shorten_URI": "Shorten URL",
+ "shorten_URI_enter_link": "Enter the long link (be careful!):",
"The File APIs are not fully supported in this browser.": "Le API File non sono interamente supportate da questo browser.",
"time_ago": "%{time} fa", // 5 minutes ago
"Time of the last block:": "Orario del blocco più recente: ",
@@ -2077,6 +2089,8 @@ if(preferredLanguage == "fr"){
"send_DM": "Message privé envoyé",
"Sent Post to @": "Envoyer un billet à @",
"Setup account": "Configuration du compte",
+ "shorten_URI": "Shorten URL",
+ "shorten_URI_enter_link": "Enter the long link (be careful!):",
"The File APIs are not fully supported in this browser.": "L'API de fichier n'est pas entièrement pris en charge dans votre navigateur.",
"time_ago": "Il y a %{time}", // 5 minutes ago
"Time of the last block:": "Heure du dernier bloc: ",
@@ -2392,6 +2406,8 @@ if(preferredLanguage == "ru"){
"send_DM": "Отправить личное сообщение",
"Sent Post to @": "Отправить сообщение для @",
"Setup account": "Настроить аккаунт",
+ "shorten_URI": "Сокр. URL",
+ "shorten_URI_enter_link": "Введи длинную ссылку (очень осторожно!):",
"The File APIs are not fully supported in this browser.": "File APIs не полностью поддерживается этим браузером.",
"time_ago": "%{time} назад", // 5 minutes ago
"Time of the last block:": "Время последнего блока: ",
@@ -2710,6 +2726,8 @@ if(preferredLanguage == "de"){
"send_DM": "Direktnachricht senden",
"Sent Post to @": "Sende Post an @",
"Setup account": "Accounteinstellungen",
+ "shorten_URI": "Shorten URL",
+ "shorten_URI_enter_link": "Enter the long link (be careful!):",
"The File APIs are not fully supported in this browser.": "Die File-API's werden von diesem Browser nicht vollständig unterstützt.",
"time_ago": "vor %{time}", // 5 minutes ago
"Time of the last block:": "Zeit des letzten Blocks: ",
@@ -3024,6 +3042,8 @@ if(preferredLanguage == "ja"){
"send_DM": "ダイレクトメッセージを送る",
"Sent Post to @": "メンションを投稿する",
"Setup account": "アカウント設定",
+ "shorten_URI": "Shorten URL",
+ "shorten_URI_enter_link": "Enter the long link (be careful!):",
"The File APIs are not fully supported in this browser.": "ご使用のブラウザーは完全にファイルAPIに対応していません。",
"time_ago": "%{time}前", // 5 minutes ago
"Time of the last block:": "最新ブロックの生成日時: ",
@@ -3336,6 +3356,8 @@ if(preferredLanguage == "pt-BR"){
"send_DM": "Mensagens Diretas trocadas",
"Sent Post to @": "Postagens enviadas para @",
"Setup account": "Configurar conta",
+ "shorten_URI": "Shorten URL",
+ "shorten_URI_enter_link": "Enter the long link (be careful!):",
"The File APIs are not fully supported in this browser.": "O gerenciamento de arquivos não é completamente suportado neste navegador.",
"time_ago": "%{time} atrás", // 5 minutes ago
"Time of the last block:": "Horário do último bloco: ",
@@ -3650,6 +3672,8 @@ if(preferredLanguage == "tr"){
"send_DM": "Direk Mesaj Gönder",
"Sent Post to @": "@ Kullanıcıya Gönder",
"Setup account": "Hesap ayarları",
+ "shorten_URI": "Shorten URL",
+ "shorten_URI_enter_link": "Enter the long link (be careful!):",
"The File APIs are not fully supported in this browser.": "Dosya API'si tarayıcınızda tam olarak desteklenmiyor.",
"time_ago": "%{time} önce", // 5 minutes ago
"Time of the last block:": "Son blok saati: ",
@@ -3963,6 +3987,8 @@ if(preferredLanguage == "cs"){
"send_DM": "Poslat přímou zprávu",
"Sent Post to @": "Poslat veřejný příspěvek pro @",
"Setup account": "Upravit profil",
+ "shorten_URI": "Shorten URL",
+ "shorten_URI_enter_link": "Enter the long link (be careful!):",
"The File APIs are not fully supported in this browser.": "Upozornění: váš webový prohlížeč nepodporuje File API.",
"time_ago": "před %{time}", // 5 minutes ago
"Time of the last block:": "Čas posledního bloku: ",
diff --git a/js/tmobile.js b/js/tmobile.js
index 470cbd0..887df41 100644
--- a/js/tmobile.js
+++ b/js/tmobile.js
@@ -26,7 +26,7 @@ function initializeTwister( redirectNetwork, redirectLogin, cbFunc, cbArg ) {
// reply text counter both newmsg and dmchat
$('.post-area-new textarea')
.off('input keyup')
- .on('focus', posPostPreview)
+ .on('focus', poseTextareaPostTools)
.on('keyup', replyTextInput)
.on('keyup', function() { replyTextUpdateRemaining(this); })
;
diff --git a/network.html b/network.html
index af7dd33..8f24c4f 100644
--- a/network.html
+++ b/network.html
@@ -251,6 +251,10 @@
+
+
diff --git a/theme_calm/css/style.css b/theme_calm/css/style.css
index 5c930f4..5980d06 100644
--- a/theme_calm/css/style.css
+++ b/theme_calm/css/style.css
@@ -796,7 +796,6 @@ input.userMenu-search-field:focus::-ms-input-placeholder {
border-radius: 3px;
border: solid 1px rgba(0, 0, 0, .3 );
margin-left: 55px;
- margin-bottom: 10px;
padding: 4px;
font-size: 13px;
}
@@ -928,14 +927,13 @@ textarea.splited-post {
transition: all .6s linear;
}
-.post-area-new .shorten-uri {
+.post-area-new .post-textarea-edit-bar {
font-size: 11px;
- float: left;
- margin: 2px 4px;
+ margin: 2px 0;
}
-.postboard .post-area-new .shorten-uri, .modal-content .post-area-new .shorten-uri {
- margin-left: 56px;
+.post-area-new .post-textarea-edit-bar > * {
+ margin: 2px 4px;
}
.post-area-remaining
diff --git a/theme_nin/css/style.css b/theme_nin/css/style.css
index e20c262..035d3c0 100644
--- a/theme_nin/css/style.css
+++ b/theme_nin/css/style.css
@@ -2077,9 +2077,12 @@ textarea.splited-post {
transition: all 0.6s linear;
}
-.post-area-new .shorten-uri {
+.post-area-new .post-textarea-edit-bar {
font-size: 11px;
- float: left;
+ margin: 2px 0;
+}
+
+.post-area-new .post-textarea-edit-bar > * {
margin: 2px 4px;
}
diff --git a/tmobile.html b/tmobile.html
index 28af273..ea233a5 100644
--- a/tmobile.html
+++ b/tmobile.html
@@ -76,6 +76,16 @@
.content {padding:15px 20px 20px 20px;}
.footer {position:fixed;z-index:10;bottom:0;width:100%}
+.post-textarea-edit-bar {
+ font-weight: lighter;
+ font-size: 12px;
+ margin: 2px 0;
+}
+
+.post-area-new .post-textarea-edit-bar > * {
+ margin: 2px 4px;
+}
+
.post-info-time {
font-weight: lighter;
font-size: 12px;
@@ -756,6 +766,10 @@
+
+