Browse Source

Merge branch 'blaster'

master
Miguel Freitas 9 years ago
parent
commit
b6bedbbe48
  1. 121
      README.md
  2. 6
      abort.html
  3. 40
      css/style.css
  4. 15
      following.html
  5. 15
      home.html
  6. 18
      index.html
  7. 87
      js/interface_common.js
  8. 7
      js/interface_home.js
  9. 80
      js/interface_localization.js
  10. 2
      js/twister_actions.js
  11. 4
      js/twister_directmsg.js
  12. 13
      js/twister_formatpost.js
  13. 10
      js/twister_io.js
  14. 10
      js/twister_timeline.js
  15. 73
      js/twister_user.js
  16. 18
      login.html
  17. 2
      network.html
  18. 2
      options.html
  19. 38
      profile-edit.html
  20. 56
      theme_calm/css/style.css
  21. 42
      theme_nin/css/style.css
  22. 2
      theme_nin/js/theme_option.js
  23. 17
      theme_nin/sass/_commons.sass
  24. 14
      theme_nin/sass/_postboard.sass
  25. 5
      theme_nin/sass/style.sass
  26. 26
      tmobile.html

121
README.md

@ -1,77 +1,106 @@
twister-html twister-html
============ ============
HTML interface for [Twister](http://twister.net.co) [(github)](https://github.com/miguelfreitas/twister-core). HTML interface for **[twister](http://twister.net.co)** (see git repo [here](https://github.com/miguelfreitas/twister-core)). It is a FOSS which is being under heavy construction.
To use it, clone this repo under ~/.twister/html like this:
To use it, clone this repo under `~/.twister/html` like this:
git clone https://github.com/miguelfreitas/twister-html.git ~/.twister/html git clone https://github.com/miguelfreitas/twister-html.git ~/.twister/html
If you'r on **OS X** - clone to `${HOME}/Library/Application\ Support/Twister/html` instead of `~/.twister/html`. If you're on **Mac OS X** — clone to `${HOME}/Library/Application\ Support/Twister/html` instead of `~/.twister/html`
Be on the bleeding edge
-----------------------
All nightly improvements and following fixes of these improvements are tested in [blaster](https://github.com/miguelfreitas/twister-html/tree/blaster) branch.
To be sure you are at the forefront, in stage of lack of testing and consensus:
git pull && git checkout blaster
If you want to switch back to stable branch:
git checkout master
Follow `@letstwist` in twister to be aware of recent changes. In case of getting of twister-html related buzz from it:
git pull
Contribute Contribute
---------- ----------
Feel free to fork and send pull requests! Feel free to fork and send pull requests!
To make it easier for us to accept your patches, please follow the conventional GitHub workflow: To make it easier for us to accept your patches, please follow the conventional GitHub workflow
and keep in mind that your pull requests should have **blaster** branch as both the origin and target.
# after forking, clone your repo
rm -rf ~/.twister/html 1. After forking, clone your repo:
git clone git@github.com:yournickname/twister-html.git ~/.twister/html
cd ~/.twister/html rm -rf ~/.twister/html # in case you already have it cloned from not your repo
# CREATE A NEW BRANCH, specific to the fix you're implementing git clone git@github.com:YOURNICKNAME/twister-html.git ~/.twister/html
git checkout -b my-fix cd ~/.twister/html
# ... make your changes ...
# commit and push 2. Switch to 'blaster' branch:
git commit -m "Fixing #1234 - bad foobarizer" && git push
# Now open a pull request from branch my-fix to miguelfreitas:master on github. git checkout blaster
# Once the request is accepted, switch back to master and track upstream
git remote add upstream https://github.com/miguelfreitas/twister-html.git # one-off setup 3. CREATE A NEW BRANCH, specific to the fix you're implementing:
git fetch upstream
git checkout master git checkout -b my-awesome-fix
git merge upstream/master # you should get a fast-forward message here
git push 4. Make your changes.
5. Commit and push:
git commit -m "fix of #12345: bad foobarizer" && git push
6. Now open a pull request from branch 'YOURNICKNAME:my-awesome-fix' to 'miguelfreitas:blaster' on GitHub.
7. Once the request is accepted, switch back to 'blaster' and track changes in upstream repo:
git remote add upstream https://github.com/miguelfreitas/twister-html.git # this is one-off setup
git fetch upstream && git checkout blaster
git merge upstream/blaster # you should get a fast-forward message here
git push
Translations Translations
------------ ------------
If you want to add your own translation, edit `interface_localization.js` like this: If you want to add your own translation, edit `interface_localization.js` like this:
1. fork the repo and create a new branch 1. Fork the repo and create a new branch from 'blaster' one:
git clone git@github.com:yournickname/twister-html.git ~/.twister/html
cd ~/.twister/html
git checkout -b Klingon
2. add your language to the list of available choices. You should use your ISO code here, git clone git@github.com:YOURNICKNAME/twister-html.git ~/.twister/html
it should match what the browser reports. The Klingon ISO is "tlh", so: cd ~/.twister/html && git checkout blaster
git checkout -b Klingon-translation
2. Add your language to the list of available choices. You should use your ISO code here,
it should match what the browser reports. The Klingon ISO is 'tlh', so:
var knownLanguages = ["en","nl","it","fr","ru","tlh"];` var knownLanguages = ['en', 'nl', 'it', 'fr', ... , 'ru', 'tlh'];
For multi-region languages, if you want to catch them all, use only the first half
(e.g. to match it and it-ch, specify "it").
3. add a new wordset block after existing ones For multi-region languages, if you want to catch them all, use only the first half
(e.g. to match it and it-ch, specify 'it').
3. Add a new wordset block after existing ones:
if(preferredLanguage == "tlh"){ if (preferredLanguage === 'tlh') {
polyglot.locale("tlh"); polyglot.locale('tlh');
wordset = { wordset = {
"Insults": "mu'qaD, 'Insults': 'mu\'qaD',
.... ...
} }
} }
4. stage all changes in file `interface_localization.js` 4. Stage all changes in file `interface_localization.js`:
git add interface_localization.js git add interface_localization.js
5. commit & push
5. Commit & push:
git commit -m 'Klingon translation'
git push origin Klingon-translation
6. Then open the pull request from branch 'YOURNICKNAME:Klingon-translation' to 'miguelfreitas:blaster' on GitHub.
git commit -m "Klingon translation" For any help ping `@tasty` in twister.
git push
3. When opening the pull request on github. For any help, ping @toyg.

6
abort.html

@ -19,12 +19,12 @@
<script src="js/twister_network.js"></script> <script src="js/twister_network.js"></script>
<script src="js/interface_common.js"></script> <script src="js/interface_common.js"></script>
<script>changeStyle();</script> <script>changeStyle();</script>
<link rel="icon" type="image/png" href="img/twister_mini.png" /> <link rel="shortcut icon" type="image/png" href="img/twister_mini.png" />
</head> </head>
<body> <body>
<!-- MENU SUPERIOR INIT --> <!-- MENU SUPERIOR INIT -->
<nav class="userMenu"> <nav class="userMenu">
</nav> </nav>
<!-- MENU SUPERIOR END --> <!-- MENU SUPERIOR END -->

40
css/style.css

@ -80,6 +80,13 @@ h3
font-size: 14px; font-size: 14px;
color: rgba( 0, 0, 0, .5 ); color: rgba( 0, 0, 0, .5 );
} }
samp {
background-color: #F0EFCC;
padding-left: 2px;
padding-right: 2px;
}
.clearfix:before, .clearfix:before,
.clearfix:after .clearfix:after
{ {
@ -779,6 +786,11 @@ textarea.splited-post {
{ {
vertical-align: top; vertical-align: top;
} }
.twister-user .bio a {
color: #e34f42;
}
.followers .followers
{ {
font-size: 12px; font-size: 12px;
@ -1068,12 +1080,6 @@ ol.toptrends-list {
word-wrap: break-word; word-wrap: break-word;
} }
.post-text samp {
background-color: #F0EFCC;
padding-left: 2px;
padding-right: 2px;
}
.post-context { .post-context {
font-size: 11px; font-size: 11px;
margin: 2px 16px 4px 60px; margin: 2px 16px 4px 60px;
@ -1091,7 +1097,16 @@ ol.toptrends-list {
top: 40px; top: 40px;
} }
.post-retransmited-icon { .post-rt-by div {
display: inline;
}
.post-rt-by .prep:before,
.post-rt-by .prep:after {
content: ' ';
}
.post-rt-icon {
display: inline-block; display: inline-block;
width: 16px; width: 16px;
height: 16px; height: 16px;
@ -1528,6 +1543,13 @@ ol.toptrends-list {
color: rgba( 0, 0, 0, .4 ); color: rgba( 0, 0, 0, .4 );
} }
.direct-messages-list .post .messages-qtd {
display: none;
top: 8px;
left: 16px;
line-height: 8px;
}
.direct-messages-thread { .direct-messages-thread {
padding: 10px; padding: 10px;
} }
@ -1842,6 +1864,10 @@ ol.toptrends-list {
*********** CONFIRM POPUP ************ *********** CONFIRM POPUP ************
**************************************/ **************************************/
.confirm-popup.prompt-wrapper {
margin-top: -80px;
}
.confirm-popup .message { .confirm-popup .message {
text-align: center; text-align: center;
margin: 12px; margin: 12px;

15
following.html

@ -27,7 +27,7 @@
<script src="js/interface_common.js"></script> <script src="js/interface_common.js"></script>
<script src="js/jquery.textcomplete.min.js"></script> <script src="js/jquery.textcomplete.min.js"></script>
<link rel="icon" type="image/png" href="img/twister_mini.png" /> <link rel="shortcut icon" type="image/png" href="img/twister_mini.png" />
</head> </head>
<body> <body>
<!-- MENU SUPERIOR INIT --> <!-- MENU SUPERIOR INIT -->
@ -276,10 +276,14 @@
</div> </div>
</div> </div>
<div id="post-retransmited-by-template"> <div id="post-rt-by-template">
<i class="post-retransmited-icon"></i> <i class="post-rt-icon"></i>
<span>twisted again by</span><span> </span> <div class="post-rt-sign">
<a class="post-retransmited-by open-profile-modal" href=""></a> <span class="prep">twisted again by</span><a class="open-profile-modal"></a>
</div>
<div class="post-rt-time">
<span class="prep">at</span><span class="time"></span>
</div>
</div> </div>
<!-- template for user links in message (open profile modal) --> <!-- template for user links in message (open profile modal) -->
@ -373,6 +377,7 @@
</div> </div>
<!-- o texto do post (restrição de caracteres?) --> <!-- o texto do post (restrição de caracteres?) -->
<p class="post-text"></p> <p class="post-text"></p>
<div class="messages-qtd">0</div>
</li> </li>
<div class="messages-thread-template"> <div class="messages-thread-template">

15
home.html

@ -29,7 +29,7 @@
<script src="js/interface_home.js"></script> <script src="js/interface_home.js"></script>
<script src="js/jquery.textcomplete.min.js"></script> <script src="js/jquery.textcomplete.min.js"></script>
<link rel="icon" type="image/png" href="img/twister_mini.png" /> <link rel="shortcut icon" type="image/png" href="img/twister_mini.png" />
</head> </head>
<body> <body>
<!-- MENU SUPERIOR INIT --> <!-- MENU SUPERIOR INIT -->
@ -367,10 +367,14 @@
</div> </div>
</div> </div>
<div id="post-retransmited-by-template"> <div id="post-rt-by-template">
<i class="post-retransmited-icon"></i> <i class="post-rt-icon"></i>
<span>twisted again by</span><span> </span> <div class="post-rt-sign">
<a class="post-retransmited-by open-profile-modal" href=""></a> <span class="prep">twisted again by</span><a class="open-profile-modal"></a>
</div>
<div class="post-rt-time">
<span class="prep">at</span><span class="time"></span>
</div>
</div> </div>
<!-- template for user links in message (open profile modal) --> <!-- template for user links in message (open profile modal) -->
@ -465,6 +469,7 @@
</div> </div>
<!-- o texto do post (restrição de caracteres?) --> <!-- o texto do post (restrição de caracteres?) -->
<p class="post-text"></p> <p class="post-text"></p>
<div class="messages-qtd">0</div>
</li> </li>
<div class="messages-thread-template"> <div class="messages-thread-template">

18
index.html

@ -1,11 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>twister</title> <title>twister</title>
<meta name="viewport" content="width=device-width, user-scalable=no"/> <meta name="viewport" content="width=device-width, user-scalable=no"/>
<link rel="stylesheet" href="css/jquery.mobile-1.3.2.min.css" /> <link rel="stylesheet" href="css/jquery.mobile-1.3.2.min.css" />
@ -13,9 +13,9 @@
<script src="js/jquery.mobile.router.min.js"></script> <script src="js/jquery.mobile.router.min.js"></script>
<script src="js/jquery.mobile-1.3.2.min.js"></script> <script src="js/jquery.mobile-1.3.2.min.js"></script>
<link rel="icon" type="image/png" href="img/twister_mini.png" /> <link rel="shortcut icon" type="image/png" href="img/twister_mini.png" />
</head> </head>
<body> <body>
<div id="index" data-role="page"> <div id="index" data-role="page">
<div data-role="header" data-position="fixed" data-nobackbtn="true"> <div data-role="header" data-position="fixed" data-nobackbtn="true">
@ -29,5 +29,5 @@
</div> </div>
</body> </body>
</html> </html>

87
js/interface_common.js

@ -66,7 +66,8 @@ function closeModalHandler(classBase) {
} }
function confirmPopup(event, req) { function confirmPopup(event, req) {
event.stopPropagation(); if (event && event.stopPropagation)
event.stopPropagation();
var modal = openModal({ var modal = openModal({
classBase: '.prompt-wrapper', classBase: '.prompt-wrapper',
@ -79,38 +80,66 @@ function confirmPopup(event, req) {
modal.content.find('.message').text(req.messageTxt); modal.content.find('.message').text(req.messageTxt);
var btn = modal.content.find('.confirm'); var btn = modal.content.find('.confirm');
if (req.confirmTxt) if (req.removeConfirm)
btn.text(req.confirmTxt); btn.remove();
else else {
btn.text(polyglot.t('Confirm')); if (req.confirmTxt)
if (req.confirmFunc) { btn.text(req.confirmTxt);
btn.on('click', function () { else
closePrompt(); btn.text(polyglot.t('Confirm'));
req.confirmFunc(req.confirmFuncArgs); if (req.confirmFunc) {
}); btn.on('click', function () {
} else closePrompt();
btn.on('click', closePrompt); req.confirmFunc(req.confirmFuncArgs);
});
} else
btn.on('click', closePrompt);
}
var btn = modal.content.find('.cancel'); var btn = modal.content.find('.cancel');
if (req.cancelTxt) if (req.removeCancel)
btn.text(req.cancelTxt); btn.remove();
else else {
btn.text(polyglot.t('Cancel')); if (req.cancelTxt)
if (req.cancelFunc) { btn.text(req.cancelTxt);
btn.on('click', function () { else
closePrompt(); btn.text(polyglot.t('Cancel'));
req.cancelFunc(req.cancelFuncArgs); if (req.cancelFunc) {
}); btn.on('click', function () {
} else closePrompt();
btn.on('click', closePrompt); req.cancelFunc(req.cancelFuncArgs);
});
} else
btn.on('click', closePrompt);
}
var btn = modal.self.find('.prompt-close');
if (req.removeClose)
btn.remove();
else {
if (req.closeFunc) {
if (typeof req.closeFunc === 'string') {
if (req.closeFunc === 'confirmFunc') {
req.closeFunc = req.confirmFunc;
req.closeFuncArgs = req.confirmFuncArgs;
} else if (req.closeFunc === 'cancelFunc') {
req.closeFunc = req.cancelFunc;
req.closeFuncArgs = req.cancelFuncArgs;
}
}
btn.on('click', function () {
closePrompt();
req.closeFunc(req.closeFuncArgs);
});
}
}
} }
function checkNetworkStatusAndAskRedirect(cbFunc, cbArg) { function checkNetworkStatusAndAskRedirect(cbFunc, cbArg) {
networkUpdate(function(args) { networkUpdate(function(args) {
if (!twisterdConnectedAndUptodate) { if (!twisterdConnectedAndUptodate) {
var redirect = window.confirm(polyglot.t('switch_to_network')); confirmPopup(null, {
if (redirect) messageTxt: polyglot.t('switch_to_network'),
$.MAL.goNetwork(); confirmFunc: $.MAL.goNetwork
});
} else { } else {
if (args.cbFunc) if (args.cbFunc)
args.cbFunc(args.cbArg); args.cbFunc(args.cbArg);
@ -172,7 +201,7 @@ function openGroupProfileModalWithNameHandler(groupAlias) {
getAvatar(ret.members[i], item.find('.twister-user-photo')); getAvatar(ret.members[i], item.find('.twister-user-photo'));
getFullname(ret.members[i], item.find('.twister-user-full')); getFullname(ret.members[i], item.find('.twister-user-full'));
getBio(ret.members[i], item.find('.bio')); getBioToElem(ret.members[i], item.find('.bio'));
} }
elemFitNextIntoParentHeight(req.modal.content.find('.profile-card')); elemFitNextIntoParentHeight(req.modal.content.find('.profile-card'));
@ -314,7 +343,7 @@ function fillWhoToFollowModal(list, hlist, start) {
getAvatar(utf, item.find('.twister-user-photo')); getAvatar(utf, item.find('.twister-user-photo'));
getFullname(utf, item.find('.twister-user-full')); getFullname(utf, item.find('.twister-user-full'));
getBio(utf, item.find('.bio')); getBioToElem(utf, item.find('.bio'));
getFullname(followingUsers[i], item.find('.followed-by').text(followingUsers[i])); getFullname(followingUsers[i], item.find('.followed-by').text(followingUsers[i]));
item.find('.twister-user-remove').remove(); item.find('.twister-user-remove').remove();

7
js/interface_home.js

@ -106,9 +106,10 @@ var InterfaceFunctions = function() {
$('.mini-profile .following-count').text(followingUsers.length - 1); $('.mini-profile .following-count').text(followingUsers.length - 1);
$('.wrapper .postboard .post').each( function() { $('.wrapper .postboard .post').each( function() {
var elem = $(this); var elem = $(this);
if ((elem.find('[data-screen-name="' + user + '"]').length && !elem.find(".post-retransmited-by").text()) if ((elem.find('[data-screen-name="' + user + '"]').length
|| elem.find(".post-retransmited-by").text() === '@'+user) && !elem.find(".post-rt-by .open-profile-modal").text())
elem.remove(); || elem.find(".post-rt-by .open-profile-modal").text() === '@' + user)
elem.remove();
}); });
}); });

80
js/interface_localization.js

@ -43,6 +43,7 @@ if(preferredLanguage == "en"){
"Block generation": "Block generation ", "Block generation": "Block generation ",
"busted_oh": "oh noes!", "busted_oh": "oh noes!",
"busted_avowal": "I\'m busted trying inject this suspicious stuff here", "busted_avowal": "I\'m busted trying inject this suspicious stuff here",
"btn_ok": "Okay",
"Cancel": "Cancel", "Cancel": "Cancel",
"Confirm": "Confirm", "Confirm": "Confirm",
"сonfirm_group_leaving_header": "Confirm group leaving", "сonfirm_group_leaving_header": "Confirm group leaving",
@ -203,6 +204,8 @@ if(preferredLanguage == "en"){
"Terminate Daemon:": "Terminate Daemon:", "Terminate Daemon:": "Terminate Daemon:",
"Exit": "Exit", "Exit": "Exit",
"Save Changes": "Save Changes", "Save Changes": "Save Changes",
"profile_saved": "Profile data has been saved to DHT.",
"profile_not_saved": "Profile data has been not saved.",
"Secret key:": "Secret key:", "Secret key:": "Secret key:",
"You have to log in to post messages.": "You have to log in to post messages.", "You have to log in to post messages.": "You have to log in to post messages.",
"You have to log in to post replies.": "You have to log in to post replies.", "You have to log in to post replies.": "You have to log in to post replies.",
@ -308,7 +311,8 @@ if(preferredLanguage == "en"){
"Who's celebrating Twistday": "Who's celebrating Twistday", "Who's celebrating Twistday": "Who's celebrating Twistday",
"Today's luckies:": "Today's luckies:", "Today's luckies:": "Today's luckies:",
"Upcoming ones:": "Upcoming ones:", "Upcoming ones:": "Upcoming ones:",
"twisted again by": "twisted again by", "post_rt_sign_prep": "twisted again by",
"post_rt_time_prep": "at",
"undo": "undo", "undo": "undo",
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.", "Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.",
"Daemon exited...": "Daemon exited...", "Daemon exited...": "Daemon exited...",
@ -360,6 +364,7 @@ if(preferredLanguage == "es"){
"Block generation": "Generación de bloques ", "Block generation": "Generación de bloques ",
"busted_oh": "oh noes!", "busted_oh": "oh noes!",
"busted_avowal": "I\'m busted trying inject this suspicious stuff here", "busted_avowal": "I\'m busted trying inject this suspicious stuff here",
"btn_ok": "Okay",
"Cancel": "Cancelar", "Cancel": "Cancelar",
"Confirm": "Confirm", "Confirm": "Confirm",
"сonfirm_group_leaving_header": "Confirm group leaving", "сonfirm_group_leaving_header": "Confirm group leaving",
@ -520,6 +525,8 @@ if(preferredLanguage == "es"){
"Terminate Daemon:": "Terminar Demonio:", "Terminate Daemon:": "Terminar Demonio:",
"Exit": "Salir", "Exit": "Salir",
"Save Changes": "Guardar cambios", "Save Changes": "Guardar cambios",
"profile_saved": "Profile data has been saved to DHT.",
"profile_not_saved": "Profile data has been not saved.",
"Secret key:": "Clave secreta:", "Secret key:": "Clave secreta:",
"You have to log in to post messages.": "Debes estar logueado para escribir mensajes.", "You have to log in to post messages.": "Debes estar logueado para escribir mensajes.",
"You have to log in to post replies.": "Debes estar logueado para escribir respuestas.", "You have to log in to post replies.": "Debes estar logueado para escribir respuestas.",
@ -625,7 +632,8 @@ if(preferredLanguage == "es"){
"Who's celebrating Twistday": "Who's celebrating Twistday", "Who's celebrating Twistday": "Who's celebrating Twistday",
"Today's luckies:": "Today's luckies:", "Today's luckies:": "Today's luckies:",
"Upcoming ones:": "Upcoming ones:", "Upcoming ones:": "Upcoming ones:",
"twisted again by": "twisted again by", "post_rt_sign_prep": "twisted again by",
"post_rt_time_prep": "at",
"undo": "deshacer", "undo": "deshacer",
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.", "Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.",
"Daemon exited...": "Daemon exited...", "Daemon exited...": "Daemon exited...",
@ -661,6 +669,7 @@ if(preferredLanguage == "uk"){
"Block generation": "Генерація блоку ", "Block generation": "Генерація блоку ",
"busted_oh": "oh noes!", "busted_oh": "oh noes!",
"busted_avowal": "I\'m busted trying inject this suspicious stuff here", "busted_avowal": "I\'m busted trying inject this suspicious stuff here",
"btn_ok": "Okay",
"Cancel": "Відміна", "Cancel": "Відміна",
"Confirm": "Confirm", "Confirm": "Confirm",
"сonfirm_group_leaving_header": "Confirm group leaving", "сonfirm_group_leaving_header": "Confirm group leaving",
@ -818,6 +827,8 @@ if(preferredLanguage == "uk"){
"Terminate Daemon:": "Зупинити Twister:", "Terminate Daemon:": "Зупинити Twister:",
"Exit": "Вихід", "Exit": "Вихід",
"Save Changes": "Зберегти зміни", "Save Changes": "Зберегти зміни",
"profile_saved": "Profile data has been saved to DHT.",
"profile_not_saved": "Profile data has been not saved.",
"Secret key:": "Секретний ключ:", "Secret key:": "Секретний ключ:",
"You have to log in to post messages.": "Ви повинні увійти для публікації повідомлень.", "You have to log in to post messages.": "Ви повинні увійти для публікації повідомлень.",
"You have to log in to post replies.": "Ви повинні увійти для публікації відповідей.", "You have to log in to post replies.": "Ви повинні увійти для публікації відповідей.",
@ -923,7 +934,8 @@ if(preferredLanguage == "uk"){
"Who's celebrating Twistday": "Річницю святкує", "Who's celebrating Twistday": "Річницю святкує",
"Today's luckies:": "Сьогоднішні щасливчики:", "Today's luckies:": "Сьогоднішні щасливчики:",
"Upcoming ones:": "Найближчим часом:", "Upcoming ones:": "Найближчим часом:",
"twisted again by": "ретвіст від", "post_rt_sign_prep": "ретвіст від",
"post_rt_time_prep": "at",
"undo": "відмінити", "undo": "відмінити",
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Ви впевнені, що бажаєте завершити роботу? \n\nКлієнт Twister буде зупинено допоки ви не запустите його знову.", "Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Ви впевнені, що бажаєте завершити роботу? \n\nКлієнт Twister буде зупинено допоки ви не запустите його знову.",
"Daemon exited...": "Twister заверив роботу...", "Daemon exited...": "Twister заверив роботу...",
@ -961,6 +973,7 @@ if(preferredLanguage == "zh-CN"){
"Block generation": "区块生成器", "Block generation": "区块生成器",
"busted_oh": "噢,阻挡!", "busted_oh": "噢,阻挡!",
"busted_avowal": "系统检测到此用户试图在这里注入恶意代码", "busted_avowal": "系统检测到此用户试图在这里注入恶意代码",
"btn_ok": "Okay",
"Cancel": "取消", "Cancel": "取消",
"Confirm": "Confirm", "Confirm": "Confirm",
"сonfirm_group_leaving_header": "Confirm group leaving", "сonfirm_group_leaving_header": "Confirm group leaving",
@ -1120,6 +1133,8 @@ if(preferredLanguage == "zh-CN"){
"Terminate Daemon:": "终止后台进程:", "Terminate Daemon:": "终止后台进程:",
"Exit": "退出", "Exit": "退出",
"Save Changes": "保存更改", "Save Changes": "保存更改",
"profile_saved": "Profile data has been saved to DHT.",
"profile_not_saved": "Profile data has been not saved.",
"Secret key:": "私钥:", "Secret key:": "私钥:",
"You have to log in to post messages.": "你必须登录才能发送信息。", "You have to log in to post messages.": "你必须登录才能发送信息。",
"You have to log in to post replies.": "你必须登录才能发送回复。", "You have to log in to post replies.": "你必须登录才能发送回复。",
@ -1225,7 +1240,8 @@ if(preferredLanguage == "zh-CN"){
"Who's celebrating Twistday": "谁在庆祝自己的Twistday周年纪念日", "Who's celebrating Twistday": "谁在庆祝自己的Twistday周年纪念日",
"Today's luckies:": "今天的幸运用户:", "Today's luckies:": "今天的幸运用户:",
"Upcoming ones:": "即将到来的幸运用户:", "Upcoming ones:": "即将到来的幸运用户:",
"twisted again by": "转推由", "post_rt_sign_prep": "转推由",
"post_rt_time_prep": "at",
"undo": "撤销", "undo": "撤销",
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "你确定要退出后台进程?\nTwister 客户端将停止工作。", "Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "你确定要退出后台进程?\nTwister 客户端将停止工作。",
"Daemon exited...": "后台进程已退出...", "Daemon exited...": "后台进程已退出...",
@ -1278,6 +1294,7 @@ if(preferredLanguage == "nl"){
"Block generation": "Block productie", "Block generation": "Block productie",
"busted_oh": "oh noes!", "busted_oh": "oh noes!",
"busted_avowal": "I\'m busted trying inject this suspicious stuff here", "busted_avowal": "I\'m busted trying inject this suspicious stuff here",
"btn_ok": "Okay",
"Cancel": "Annuleren", "Cancel": "Annuleren",
"Confirm": "Confirm", "Confirm": "Confirm",
"сonfirm_group_leaving_header": "Confirm group leaving", "сonfirm_group_leaving_header": "Confirm group leaving",
@ -1438,6 +1455,8 @@ if(preferredLanguage == "nl"){
"Terminate Daemon:": "Daemon beëindigen", "Terminate Daemon:": "Daemon beëindigen",
"Exit": "Beëindigen", "Exit": "Beëindigen",
"Save Changes": "Opslaan", "Save Changes": "Opslaan",
"profile_saved": "Profile data has been saved to DHT.",
"profile_not_saved": "Profile data has been not saved.",
"Secret key:": "Geheime sleutel:", "Secret key:": "Geheime sleutel:",
"You have to log in to post messages.": "You have to log in to post messages.", "You have to log in to post messages.": "You have to log in to post messages.",
"You have to log in to post replies.": "You have to log in to post replies.", "You have to log in to post replies.": "You have to log in to post replies.",
@ -1543,7 +1562,8 @@ if(preferredLanguage == "nl"){
"Who's celebrating Twistday": "Who's celebrating Twistday", "Who's celebrating Twistday": "Who's celebrating Twistday",
"Today's luckies:": "Today's luckies:", "Today's luckies:": "Today's luckies:",
"Upcoming ones:": "Upcoming ones:", "Upcoming ones:": "Upcoming ones:",
"twisted again by": "twisted again by", "post_rt_sign_prep": "twisted again by",
"post_rt_time_prep": "at",
"undo": "undo", "undo": "undo",
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.", "Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.",
"Daemon exited...": "Daemon exited...", "Daemon exited...": "Daemon exited...",
@ -1579,6 +1599,7 @@ if(preferredLanguage == "it"){
"Block generation": "Generatore di blocchi:", "Block generation": "Generatore di blocchi:",
"busted_oh": "oh noes!", "busted_oh": "oh noes!",
"busted_avowal": "I\'m busted trying inject this suspicious stuff here", "busted_avowal": "I\'m busted trying inject this suspicious stuff here",
"btn_ok": "Okay",
"Cancel": "Cancella", "Cancel": "Cancella",
"Confirm": "Confirm", "Confirm": "Confirm",
"сonfirm_group_leaving_header": "Confirm group leaving", "сonfirm_group_leaving_header": "Confirm group leaving",
@ -1736,6 +1757,8 @@ if(preferredLanguage == "it"){
"Terminate Daemon:": "Terminate Daemon:", "Terminate Daemon:": "Terminate Daemon:",
"Exit": "Exit", "Exit": "Exit",
"Save Changes": "Save Changes", "Save Changes": "Save Changes",
"profile_saved": "Profile data has been saved to DHT.",
"profile_not_saved": "Profile data has been not saved.",
"Secret key:": "Secret key:", "Secret key:": "Secret key:",
"You have to log in to post messages.": "You have to log in to post messages.", "You have to log in to post messages.": "You have to log in to post messages.",
"You have to log in to post replies.": "You have to log in to post replies.", "You have to log in to post replies.": "You have to log in to post replies.",
@ -1841,7 +1864,8 @@ if(preferredLanguage == "it"){
"Who's celebrating Twistday": "Who's celebrating Twistday", "Who's celebrating Twistday": "Who's celebrating Twistday",
"Today's luckies:": "Today's luckies:", "Today's luckies:": "Today's luckies:",
"Upcoming ones:": "Upcoming ones:", "Upcoming ones:": "Upcoming ones:",
"twisted again by": "twisted again by", "post_rt_sign_prep": "twisted again by",
"post_rt_time_prep": "at",
"undo": "undo", "undo": "undo",
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.", "Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.",
"Daemon exited...": "Daemon exited...", "Daemon exited...": "Daemon exited...",
@ -1877,6 +1901,7 @@ if(preferredLanguage == "fr"){
"Block generation": "Production de blocs", "Block generation": "Production de blocs",
"busted_oh": "oh noes!", "busted_oh": "oh noes!",
"busted_avowal": "I\'m busted trying inject this suspicious stuff here", "busted_avowal": "I\'m busted trying inject this suspicious stuff here",
"btn_ok": "Okay",
"Cancel": "Annuler", "Cancel": "Annuler",
"Confirm": "Confirm", "Confirm": "Confirm",
"сonfirm_group_leaving_header": "Confirm group leaving", "сonfirm_group_leaving_header": "Confirm group leaving",
@ -2037,6 +2062,8 @@ if(preferredLanguage == "fr"){
"Terminate Daemon:": "Tuer le démon:", "Terminate Daemon:": "Tuer le démon:",
"Exit": "Quitter", "Exit": "Quitter",
"Save Changes": "Sauvegarder les changements", "Save Changes": "Sauvegarder les changements",
"profile_saved": "Profile data has been saved to DHT.",
"profile_not_saved": "Profile data has been not saved.",
"Secret key:": "Clef secrète:", "Secret key:": "Clef secrète:",
"You have to log in to post messages.": "You have to log in to post messages.", "You have to log in to post messages.": "You have to log in to post messages.",
"You have to log in to post replies.": "You have to log in to post replies.", "You have to log in to post replies.": "You have to log in to post replies.",
@ -2142,7 +2169,8 @@ if(preferredLanguage == "fr"){
"Who's celebrating Twistday": "Who's celebrating Twistday", "Who's celebrating Twistday": "Who's celebrating Twistday",
"Today's luckies:": "Today's luckies:", "Today's luckies:": "Today's luckies:",
"Upcoming ones:": "Upcoming ones:", "Upcoming ones:": "Upcoming ones:",
"twisted again by": "twisted again by", "post_rt_sign_prep": "twisted again by",
"post_rt_time_prep": "at",
"undo": "undo", "undo": "undo",
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.", "Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.",
"Daemon exited...": "Daemon exited...", "Daemon exited...": "Daemon exited...",
@ -2180,6 +2208,7 @@ if(preferredLanguage == "ru"){
"Block generation": "Майнинг блоков ", "Block generation": "Майнинг блоков ",
"busted_oh": "о нет!", "busted_oh": "о нет!",
"busted_avowal": "я пойман на попытке вставить этот подозрительный код здесь", "busted_avowal": "я пойман на попытке вставить этот подозрительный код здесь",
"btn_ok": "Лады́",
"Cancel": "Отмена", "Cancel": "Отмена",
"Confirm": "Несомненно", "Confirm": "Несомненно",
"сonfirm_group_leaving_header": "Подтверждение ухода из группы", "сonfirm_group_leaving_header": "Подтверждение ухода из группы",
@ -2340,6 +2369,8 @@ if(preferredLanguage == "ru"){
"Terminate Daemon:": "Остановить twister:", "Terminate Daemon:": "Остановить twister:",
"Exit": "Выход", "Exit": "Выход",
"Save Changes": "Сохранить изменения", "Save Changes": "Сохранить изменения",
"profile_saved": "Данные профайла сохранены в DHT.",
"profile_not_saved": "Данные профайла не сохранены.",
"Secret key:": "Секретный ключ:", "Secret key:": "Секретный ключ:",
"You have to log in to post messages.": "Войдите, чтобы отправлять сообщения.", "You have to log in to post messages.": "Войдите, чтобы отправлять сообщения.",
"You have to log in to post replies.": "Войдите, чтобы отвечать на сообщения.", "You have to log in to post replies.": "Войдите, чтобы отвечать на сообщения.",
@ -2445,7 +2476,8 @@ if(preferredLanguage == "ru"){
"Who's celebrating Twistday": "Кто празднует Твистодень", "Who's celebrating Twistday": "Кто празднует Твистодень",
"Today's luckies:": "Сегодняшные счастливчики", // няшные, ок? "Today's luckies:": "Сегодняшные счастливчики", // няшные, ок?
"Upcoming ones:": "Намечающиеся вскоре", "Upcoming ones:": "Намечающиеся вскоре",
"twisted again by": "Перепостил", "post_rt_sign_prep": "ретвистит",
"post_rt_time_prep": "в",
"undo": "отменить", "undo": "отменить",
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Вы уверены, что хотите "+ "Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Вы уверены, что хотите "+
"выключить демон?\nTwister клиент перестанет работать.", "выключить демон?\nTwister клиент перестанет работать.",
@ -2486,6 +2518,7 @@ if(preferredLanguage == "de"){
"Block generation": "Block-Generierung ", "Block generation": "Block-Generierung ",
"busted_oh": "Oh nein!", "busted_oh": "Oh nein!",
"busted_avowal": "Ich bin ertappt, habe versucht, hier Schadcode einzugeben!", "busted_avowal": "Ich bin ertappt, habe versucht, hier Schadcode einzugeben!",
"btn_ok": "Okay",
"Cancel": "Abbrechen", "Cancel": "Abbrechen",
"Confirm": "Confirm", "Confirm": "Confirm",
"сonfirm_group_leaving_header": "Confirm group leaving", "сonfirm_group_leaving_header": "Confirm group leaving",
@ -2637,7 +2670,7 @@ if(preferredLanguage == "de"){
"Create this nickname": "Nichnamen erstellen", "Create this nickname": "Nichnamen erstellen",
"Type nickname here": "Nicknamen hier eingeben", "Type nickname here": "Nicknamen hier eingeben",
"Import secret key": "Privaten Schlüssel hier importieren", "Import secret key": "Privaten Schlüssel hier importieren",
"52-characters secret": "52 Zeichen Geheimniss", "52-characters secret": "52 Zeichen Geheimnis",
"With nickname": "Mit Nicknamen", "With nickname": "Mit Nicknamen",
"Import key": "Schlüssel importieren", "Import key": "Schlüssel importieren",
"Client Version:": "Client Version:", "Client Version:": "Client Version:",
@ -2647,6 +2680,8 @@ if(preferredLanguage == "de"){
"Terminate Daemon:": "Daemon beenden:", "Terminate Daemon:": "Daemon beenden:",
"Exit": "Beenden", "Exit": "Beenden",
"Save Changes": "Änderungen speichern", "Save Changes": "Änderungen speichern",
"profile_saved": "Profile data has been saved to DHT.",
"profile_not_saved": "Profile data has been not saved.",
"Secret key:": "Privater Schlüssel:", "Secret key:": "Privater Schlüssel:",
"You have to log in to post messages.": "You have to log in to post messages.", "You have to log in to post messages.": "You have to log in to post messages.",
"You have to log in to post replies.": "You have to log in to post replies.", "You have to log in to post replies.": "You have to log in to post replies.",
@ -2753,7 +2788,8 @@ if(preferredLanguage == "de"){
"Who's celebrating Twistday": "Who's celebrating Twistday", "Who's celebrating Twistday": "Who's celebrating Twistday",
"Today's luckies:": "Die Glücklichen von heute:", "Today's luckies:": "Die Glücklichen von heute:",
"Upcoming ones:": "Demnächst:", "Upcoming ones:": "Demnächst:",
"twisted again by": "twisted again by", "post_rt_sign_prep": "twisted again by",
"post_rt_time_prep": "at",
"undo": "undo", "undo": "undo",
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.", "Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.",
"Daemon exited...": "Daemon exited...", "Daemon exited...": "Daemon exited...",
@ -2789,6 +2825,7 @@ if(preferredLanguage == "ja"){
"Block generation": "ブロック生成", "Block generation": "ブロック生成",
"busted_oh": "oh noes!", "busted_oh": "oh noes!",
"busted_avowal": "I\'m busted trying inject this suspicious stuff here", "busted_avowal": "I\'m busted trying inject this suspicious stuff here",
"btn_ok": "Okay",
"Cancel": "キャンセル", "Cancel": "キャンセル",
"Confirm": "Confirm", "Confirm": "Confirm",
"сonfirm_group_leaving_header": "Confirm group leaving", "сonfirm_group_leaving_header": "Confirm group leaving",
@ -2946,6 +2983,8 @@ if(preferredLanguage == "ja"){
"Terminate Daemon:": "デーモンを終了する:", "Terminate Daemon:": "デーモンを終了する:",
"Exit": "終了", "Exit": "終了",
"Save Changes": "変更を保存", "Save Changes": "変更を保存",
"profile_saved": "Profile data has been saved to DHT.",
"profile_not_saved": "Profile data has been not saved.",
"Secret key:": "シークレットキー:", "Secret key:": "シークレットキー:",
"You have to log in to post messages.": "You have to log in to post messages.", "You have to log in to post messages.": "You have to log in to post messages.",
"You have to log in to post replies.": "You have to log in to post replies.", "You have to log in to post replies.": "You have to log in to post replies.",
@ -3051,7 +3090,8 @@ if(preferredLanguage == "ja"){
"Who's celebrating Twistday": "Who's celebrating Twistday", "Who's celebrating Twistday": "Who's celebrating Twistday",
"Today's luckies:": "Today's luckies:", "Today's luckies:": "Today's luckies:",
"Upcoming ones:": "Upcoming ones:", "Upcoming ones:": "Upcoming ones:",
"twisted again by": "twisted again by", "post_rt_sign_prep": "twisted again by",
"post_rt_time_prep": "at",
"undo": "undo", "undo": "undo",
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.", "Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.",
"Daemon exited...": "Daemon exited...", "Daemon exited...": "Daemon exited...",
@ -3088,6 +3128,7 @@ if(preferredLanguage == "pt-BR"){
"Block generation": "Geração de blocos ", "Block generation": "Geração de blocos ",
"busted_oh": "oh noes!", "busted_oh": "oh noes!",
"busted_avowal": "I\'m busted trying inject this suspicious stuff here", "busted_avowal": "I\'m busted trying inject this suspicious stuff here",
"btn_ok": "Okay",
"Cancel": "Cancelar", "Cancel": "Cancelar",
"Confirm": "Confirm", "Confirm": "Confirm",
"сonfirm_group_leaving_header": "Confirm group leaving", "сonfirm_group_leaving_header": "Confirm group leaving",
@ -3249,6 +3290,8 @@ if(preferredLanguage == "pt-BR"){
"Terminate Daemon:": "Encerrar a execução do Cliente do Twister", "Terminate Daemon:": "Encerrar a execução do Cliente do Twister",
"Exit": "Sair", "Exit": "Sair",
"Save Changes": "Salvar Alterações", "Save Changes": "Salvar Alterações",
"profile_saved": "Profile data has been saved to DHT.",
"profile_not_saved": "Profile data has been not saved.",
"Secret Key": "Chave Secreta", // não existia "Secret Key": "Chave Secreta", // não existia
"Secret key:": "Chave secreta:", "Secret key:": "Chave secreta:",
"You have to log in to post messages.": "You have to log in to post messages.", "You have to log in to post messages.": "You have to log in to post messages.",
@ -3355,7 +3398,8 @@ if(preferredLanguage == "pt-BR"){
"Who's celebrating Twistday": "Who's celebrating Twistday", "Who's celebrating Twistday": "Who's celebrating Twistday",
"Today's luckies:": "Today's luckies:", "Today's luckies:": "Today's luckies:",
"Upcoming ones:": "Upcoming ones:", "Upcoming ones:": "Upcoming ones:",
"twisted again by": "twisted again by", "post_rt_sign_prep": "twisted again by",
"post_rt_time_prep": "at",
"undo": "undo", "undo": "undo",
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.", "Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Are you sure you want to exit the daemon?\nThe Twister client will stop working.",
"Daemon exited...": "Daemon exited...", "Daemon exited...": "Daemon exited...",
@ -3391,6 +3435,7 @@ if(preferredLanguage == "tr"){
"Block generation": "Blok üretimi ", "Block generation": "Blok üretimi ",
"busted_oh": "oh noes!", "busted_oh": "oh noes!",
"busted_avowal": "I\'m busted trying inject this suspicious stuff here", "busted_avowal": "I\'m busted trying inject this suspicious stuff here",
"btn_ok": "Okay",
"Cancel": "İptal", "Cancel": "İptal",
"Confirm": "Confirm", "Confirm": "Confirm",
"сonfirm_group_leaving_header": "Confirm group leaving", "сonfirm_group_leaving_header": "Confirm group leaving",
@ -3550,6 +3595,8 @@ if(preferredLanguage == "tr"){
"Terminate Daemon:": "Servisi Durdur:", "Terminate Daemon:": "Servisi Durdur:",
"Exit": "Çıkış", "Exit": "Çıkış",
"Save Changes": "Değişiklikleri Kaydet", "Save Changes": "Değişiklikleri Kaydet",
"profile_saved": "Profile data has been saved to DHT.",
"profile_not_saved": "Profile data has been not saved.",
"Secret key:": "Gizli anahtar:", "Secret key:": "Gizli anahtar:",
"Options": "Ayarlar", "Options": "Ayarlar",
"Switch to Promoted posts": "Destekli Mesajlara Geç", "Switch to Promoted posts": "Destekli Mesajlara Geç",
@ -3655,7 +3702,8 @@ if(preferredLanguage == "tr"){
"Who's celebrating Twistday": "Twistgünü'nü kutlayanlar", "Who's celebrating Twistday": "Twistgünü'nü kutlayanlar",
"Today's luckies:": "Günün talihlileri:", "Today's luckies:": "Günün talihlileri:",
"Upcoming ones:": "Yakında:", "Upcoming ones:": "Yakında:",
"twisted again by": "yeniden ileten", "post_rt_sign_prep": "yeniden ileten",
"post_rt_time_prep": "at",
"undo": "geri al", "undo": "geri al",
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Hizmeti sonlandırmak istiyor musun?\nTwister istemcisi çalışmayacak.", "Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Hizmeti sonlandırmak istiyor musun?\nTwister istemcisi çalışmayacak.",
"Daemon exited...": "Hizmet sonlandırıldı...", "Daemon exited...": "Hizmet sonlandırıldı...",
@ -3691,6 +3739,7 @@ if(preferredLanguage == "cs"){
"Block generation": "Generování bloků ", "Block generation": "Generování bloků ",
"busted_oh": "oh noes!", "busted_oh": "oh noes!",
"busted_avowal": "I\'m busted trying inject this suspicious stuff here", "busted_avowal": "I\'m busted trying inject this suspicious stuff here",
"btn_ok": "Okay",
"Cancel": "Zrušit", "Cancel": "Zrušit",
"Confirm": "Confirm", "Confirm": "Confirm",
"сonfirm_group_leaving_header": "Confirm group leaving", "сonfirm_group_leaving_header": "Confirm group leaving",
@ -3849,6 +3898,8 @@ if(preferredLanguage == "cs"){
"Terminate Daemon:": "Ukončit server:", "Terminate Daemon:": "Ukončit server:",
"Exit": "Konec", "Exit": "Konec",
"Save Changes": "Uložit změny", "Save Changes": "Uložit změny",
"profile_saved": "Profile data has been saved to DHT.",
"profile_not_saved": "Profile data has been not saved.",
"Secret key:": "Tajný klíč:", "Secret key:": "Tajný klíč:",
"You have to log in to post messages.": "Pro vkládání příspěvků je třeba se přihlásit.", "You have to log in to post messages.": "Pro vkládání příspěvků je třeba se přihlásit.",
"You have to log in to post replies.": "Pro vkládání odpovědí je třeba se přihlásit.", "You have to log in to post replies.": "Pro vkládání odpovědí je třeba se přihlásit.",
@ -3954,7 +4005,8 @@ if(preferredLanguage == "cs"){
"Who's celebrating Twistday": "Who's celebrating Twistday", "Who's celebrating Twistday": "Who's celebrating Twistday",
"Today's luckies:": "Today's luckies:", "Today's luckies:": "Today's luckies:",
"Upcoming ones:": "Upcoming ones:", "Upcoming ones:": "Upcoming ones:",
"twisted again by": "přeposlal(a)", "post_rt_sign_prep": "přeposlal(a)",
"post_rt_time_prep": "at",
"undo": "zpět", "undo": "zpět",
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Skutečně chcete ukončit server?\nTwister tím vypnete.", "Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Skutečně chcete ukončit server?\nTwister tím vypnete.",
"Daemon exited...": "Server ukončen...", "Daemon exited...": "Server ukončen...",

2
js/twister_actions.js

@ -329,7 +329,7 @@ function updateProfileData(profileModalContent, username) {
getFullname( username, profileModalContent.find(".profile-name") ); getFullname( username, profileModalContent.find(".profile-name") );
getLocation( username, profileModalContent.find(".profile-location") ); getLocation( username, profileModalContent.find(".profile-location") );
getWebpage( username, profileModalContent.find(".profile-url") ); getWebpage( username, profileModalContent.find(".profile-url") );
getBio( username, profileModalContent.find(".profile-bio") ); getBioToElem(username, profileModalContent.find('.profile-bio'));
getTox( username, profileModalContent.find(".profile-tox") ); getTox( username, profileModalContent.find(".profile-tox") );
getBitmessage( username, profileModalContent.find(".profile-bitmessage") ); getBitmessage( username, profileModalContent.find(".profile-bitmessage") );
getAvatar( username, profileModalContent.find(".profile-card-photo") ); getAvatar( username, profileModalContent.find(".profile-card-photo") );

4
js/twister_directmsg.js

@ -28,6 +28,10 @@ function processDMsnippet(dmUsers, dmThreadList, forGroup) {
// convert snipped to html and add it to date-sorted list // convert snipped to html and add it to date-sorted list
var dmItem = dmDataToSnippetItem(dmUsers[u][0], u); var dmItem = dmDataToSnippetItem(dmUsers[u][0], u);
if (_newDMsPerUser[u] > 0) {
dmItem.addClass('new')
.find('.messages-qtd').text(_newDMsPerUser[u]).show();
}
var timeDmItem = parseInt(dmItem.attr('data-time')); var timeDmItem = parseInt(dmItem.attr('data-time'));
var existingItems = dmThreadList.children(); var existingItems = dmThreadList.children();
for (var j = 0; j < existingItems.length; j++) { for (var j = 0; j < existingItems.length; j++) {

13
js/twister_formatpost.js

@ -3,8 +3,8 @@
// //
// Format JSON posts and DMs to HTML. // Format JSON posts and DMs to HTML.
var _templatePostRtReference var _templatePostRtReference;
var _templatePostRtBy var _templatePostRtBy;
var _htmlFormatMsgLinkTemplateExternal; var _htmlFormatMsgLinkTemplateExternal;
var _htmlFormatMsgLinkTemplateUser; var _htmlFormatMsgLinkTemplateUser;
var _htmlFormatMsgLinkTemplateHashtag; var _htmlFormatMsgLinkTemplateHashtag;
@ -14,7 +14,7 @@ $(document).ready(function() {
_templatePostRtReference = $('#post-rt-reference-template').children().clone(true); _templatePostRtReference = $('#post-rt-reference-template').children().clone(true);
_templatePostRtReference.find('.post-text') _templatePostRtReference.find('.post-text')
.on('click', {feeder: '.post-rt-reference'}, openConversationClick); .on('click', {feeder: '.post-rt-reference'}, openConversationClick);
_templatePostRtBy = $('#post-retransmited-by-template').children().clone(true); _templatePostRtBy = $('#post-rt-by-template').children().clone(true);
_htmlFormatMsgLinkTemplateExternal = $('#external-page-link-template') _htmlFormatMsgLinkTemplateExternal = $('#external-page-link-template')
if (_htmlFormatMsgLinkTemplateExternal.length) { if (_htmlFormatMsgLinkTemplateExternal.length) {
_htmlFormatMsgLinkTemplateExternal = _htmlFormatMsgLinkTemplateExternal[0].cloneNode(); _htmlFormatMsgLinkTemplateExternal = _htmlFormatMsgLinkTemplateExternal[0].cloneNode();
@ -156,10 +156,13 @@ function postToElem(post, kind, promoted) {
if (userpost.msg) { if (userpost.msg) {
setPostReference(postContext, rt, userpost.sig_rt); setPostReference(postContext, rt, userpost.sig_rt);
} else { } else {
postContext.append(_templatePostRtBy.clone(true)) postContext.append(_templatePostRtBy.clone(true)).addClass('post-rt-by')
.find('.post-retransmited-by') .find('.post-rt-sign .prep').text(polyglot.t('post_rt_sign_prep'))
.siblings('.open-profile-modal')
.attr('href', $.MAL.userUrl(retweeted_by)).text('@' + retweeted_by) .attr('href', $.MAL.userUrl(retweeted_by)).text('@' + retweeted_by)
; ;
postContext.find('.post-rt-time .prep').text(polyglot.t('post_rt_time_prep'))
.siblings('.time').text(timeGmtToText(post.userpost.time));
// let's check original post and grab some possible RT // let's check original post and grab some possible RT
dhtget(username, 'post' + k, 's', dhtget(username, 'post' + k, 's',
function(args, post) { function(args, post) {

10
js/twister_io.js

@ -249,9 +249,13 @@ function getFullname( username, item ){
} }
} }
// get bio and store it in item.text // get bio, format it as post message and store result to elem
function getBio( username, item ){ function getBioToElem(peerAlias, elem) {
getProfileResource( username, "bio", item); getProfileResource(peerAlias, 'bio', undefined,
function (req, ret) {
req.elem.html(htmlFormatMsg(ret).html);
}, {elem: elem}
);
} }
// get tox address and store it in item.text // get tox address and store it in item.text

10
js/twister_timeline.js

@ -192,9 +192,6 @@ function updateTimeline(req, posts) {
function attachPostsToStream(stream, posts, isPromoted) { function attachPostsToStream(stream, posts, isPromoted) {
//console.log('attachPostsToStream:'); //console.log('attachPostsToStream:');
//console.log(posts); //console.log(posts);
function byTimeInDescendingOrder(a, b) {
return (a.time > b.time) ? -1 : 1;
}
var streamItems = stream.children(); var streamItems = stream.children();
var streamPosts = []; var streamPosts = [];
@ -203,7 +200,6 @@ function attachPostsToStream(stream, posts, isPromoted) {
var streamItem = streamItems.eq(i); var streamItem = streamItems.eq(i);
streamPosts.push({item: streamItem, time: parseInt(streamItem.attr('data-time'))}); streamPosts.push({item: streamItem, time: parseInt(streamItem.attr('data-time'))});
} }
//streamPosts.sort(byTimeInDescendingOrder); // currently here is no reason to sort it, it should be ok
for (var i = 0; i < posts.length; i++) { for (var i = 0; i < posts.length; i++) {
//console.log(posts[i]); //console.log(posts[i]);
@ -222,8 +218,7 @@ function attachPostsToStream(stream, posts, isPromoted) {
} else if (intrantPost.time > streamPosts[j].time) { } else if (intrantPost.time > streamPosts[j].time) {
// this post in stream is older, so post must be inserted above // this post in stream is older, so post must be inserted above
intrantPost.item.insertBefore(streamPosts[j].item).show(); intrantPost.item.insertBefore(streamPosts[j].item).show();
streamPosts.push(intrantPost); streamPosts.splice(j, 0, intrantPost);
streamPosts.sort(byTimeInDescendingOrder);
isAttached = true; isAttached = true;
break; break;
} }
@ -231,8 +226,7 @@ function attachPostsToStream(stream, posts, isPromoted) {
} }
if (!isAttached) { if (!isAttached) {
intrantPost.item.appendTo(stream).show(); intrantPost.item.appendTo(stream).show();
streamPosts.push(intrantPost); streamPosts.unshift(intrantPost);
streamPosts.sort(byTimeInDescendingOrder);
} }
} }
} }

73
js/twister_user.js

@ -261,24 +261,59 @@ function loadProfileForEdit() {
}, {} ); }, {} );
} }
function saveProfile(e) function saveProfile(e) {
{ function saveAvatar(req, isProfileDataSaved) {
var profile = {}; dhtput(defaultScreenName, 'avatar', 's',
profile["fullname"] = $(".input-name").val(); req.avatarImgSrc,
profile["bio"] = $(".input-description").val(); defaultScreenName, ++avatarSeqNum,
profile["location"] = $(".input-city").val(); completeProfileSaving, {isProfileDataSaved: isProfileDataSaved}
profile["url"] = $(".input-website").val(); );
var tox = $(".input-tox").val(); }
if( tox.length )
profile["tox"] = tox; function completeProfileSaving(req, isAvatarDataSaved) {
var bitmessage = $(".input-bitmessage").val(); if (req.isProfileDataSaved && isAvatarDataSaved) {
if( bitmessage.length ) clearAvatarAndProfileCache(defaultScreenName);
profile["bitmessage"] = bitmessage; var titleTxt = '';
dhtput( defaultScreenName, "profile", "s", var messageTxt = polyglot.t('profile_saved');
profile, defaultScreenName, ++profileSeqNum ); } else {
var avatarData = $(".profile-card-photo.forEdition").attr("src"); var titleTxt = polyglot.t('error', {error: ''});
dhtput( defaultScreenName, "avatar", "s", var messageTxt = polyglot.t('profile_not_saved');
avatarData, defaultScreenName, ++avatarSeqNum ); }
clearAvatarAndProfileCache(defaultScreenName); confirmPopup(null, {
titleTxt: titleTxt,
messageTxt: messageTxt,
confirmTxt: polyglot.t('btn_ok'),
confirmFunc: $.MAL.enableButton,
confirmFuncArgs: $('.submit-changes'),
closeFunc: 'confirmFunc',
removeCancel: true
});
}
$.MAL.disableButton($('.submit-changes'));
dhtput(defaultScreenName, 'profile', 's',
setObjPropFromElemVal({}, {
fullname: '.input-name',
bio: '.input-description',
location: '.input-city',
url: '.input-website',
tox: '.input-tox',
bitmessage: '.input-bitmessage'
}),
defaultScreenName, ++profileSeqNum,
saveAvatar, {avatarImgSrc: $('.profile-card-photo.forEdition').attr('src')}
);
} }
function setObjPropFromElemVal(object, req) {
var props = Object.getOwnPropertyNames(req); // req's props names will be object's props names
for (var i = 0; i < props.length; i++) {
elem = $(req[props[i]]); // req's props values are elements selectors
if (elem.length && elem.val())
object[props[i]] = elem.val();
}
return object;
}

18
login.html

@ -21,7 +21,7 @@
<script src="js/polyglot.min.js"></script> <script src="js/polyglot.min.js"></script>
<script src="js/interface_localization.js"></script> <script src="js/interface_localization.js"></script>
<link rel="icon" type="image/png" href="img/twister_mini.png" /> <link rel="shortcut icon" type="image/png" href="img/twister_mini.png" />
</head> </head>
<body> <body>
<!-- MENU SUPERIOR INIT --> <!-- MENU SUPERIOR INIT -->
@ -90,6 +90,22 @@
</div> </div>
<!-- TEMPLATE DO MODAL GENÉRICO END --> <!-- TEMPLATE DO MODAL GENÉRICO END -->
<div class="prompt-wrapper">
<div class="modal-header">
<h3></h3>
<span class="modal-close prompt-close">&times;</span>
</div>
<div class="modal-content"></div>
</div>
<div id="confirm-popup-template">
<div class="message"></div>
<div class="modal-buttons">
<button class="confirm"></button>
<button class="cancel"></button>
</div>
</div>
<!-- MODAL DE NEW USER INIT --> <!-- MODAL DE NEW USER INIT -->
<div id="new-user-modal-template"> <div id="new-user-modal-template">
<div class="warning"> <div class="warning">

2
network.html

@ -23,7 +23,7 @@
<script src="js/twister_network.js"></script> <script src="js/twister_network.js"></script>
<script src="js/interface_common.js"></script> <script src="js/interface_common.js"></script>
<link rel="icon" type="image/png" href="img/twister_mini.png" /> <link rel="shortcut icon" type="image/png" href="img/twister_mini.png" />
</head> </head>
<body> <body>

2
options.html

@ -21,6 +21,8 @@
<script src="js/interface_login.js"></script> <script src="js/interface_login.js"></script>
<script src="js/polyglot.min.js"></script> <script src="js/polyglot.min.js"></script>
<script src="js/interface_localization.js"></script> <script src="js/interface_localization.js"></script>
<link rel="shortcut icon" type="image/png" href="img/twister_mini.png" />
</head> </head>
<body> <body>

38
profile-edit.html

@ -23,12 +23,12 @@
<script src="js/interface_common.js"></script> <script src="js/interface_common.js"></script>
<script src="js/interface_profile-edit.js"></script> <script src="js/interface_profile-edit.js"></script>
<link rel="icon" type="image/png" href="img/twister_mini.png" /> <link rel="shortcut icon" type="image/png" href="img/twister_mini.png" />
</head> </head>
<body> <body>
<!-- MENU SUPERIOR INIT --> <!-- MENU SUPERIOR INIT -->
<nav class="userMenu"> <nav class="userMenu">
<ul> <ul>
<li class="userMenu-home"><a href="home.html"> <li class="userMenu-home"><a href="home.html">
@ -36,8 +36,8 @@
<span class="selectable_theme theme_nin menu-news"></span> <span class="selectable_theme theme_nin menu-news"></span>
</a></li> </a></li>
<li class="userMenu-network selectable_theme theme_original theme_nin"><a class="label" href="network.html">Network</a></li> <li class="userMenu-network selectable_theme theme_original theme_nin"><a class="label" href="network.html">Network</a></li>
<li class="userMenu-profile selectable_theme theme_original theme_nin"><a class="label" href="profile-edit.html">Profile</a></li> <li class="userMenu-profile selectable_theme theme_original theme_nin current"><a class="label" href="profile-edit.html">Profile</a></li>
<li class="userMenu-config current"> <li class="userMenu-config">
<a class="userMenu-config-dropdown" href="#"> <a class="userMenu-config-dropdown" href="#">
<div class="config-menu dialog-modal"> <div class="config-menu dialog-modal">
<div class="mini-profile-info selectable_theme theme_original"> <div class="mini-profile-info selectable_theme theme_original">
@ -54,16 +54,13 @@
</a> </a>
</li> </li>
<li class="userMenu-dhtindicator selectable_theme theme_calm"><a href="network.html"></a></li> <li class="userMenu-dhtindicator selectable_theme theme_calm"><a href="network.html"></a></li>
<li class="userMenu-search">
<input type="text" class="userMenu-search-field" placeholder="search">
</li>
</ul> </ul>
</nav> </nav>
<!-- MENU SUPERIOR END --> <!-- MENU SUPERIOR END -->
<div class="wrapper"> <div class="wrapper">
<!-- ÁREA DE PROFILE PHOTO INIT --> <!-- ÁREA DE PROFILE PHOTO INIT -->
<div class="profile-card forEdition"> <div class="profile-card forEdition">
<!-- Coloquei a imagem de fundo do card do usuário como background da div abaixo inline na tag para poder ser alterada dinamicamente --> <!-- Coloquei a imagem de fundo do card do usuário como background da div abaixo inline na tag para poder ser alterada dinamicamente -->
<div class="profile-card-main" style="background: url(img/img.png) no-repeat center center #b43e34;"> <div class="profile-card-main" style="background: url(img/img.png) no-repeat center center #b43e34;">
@ -85,12 +82,27 @@
<div style="font-size:80%;text-align: center;" class="secret-key-container"> <div style="font-size:80%;text-align: center;" class="secret-key-container">
<span class="label">Secret key:</span> <span class="secret-key"></span> <span class="label">Secret key:</span> <span class="secret-key"></span>
</div> </div>
</div> </div>
</div>
<!-- ÁREA DE POSTS END -->
<input type="file" id="avatar-file" name="avatar_files" style="display:none;"/> <input type="file" id="avatar-file" name="avatar_files" style="display:none;"/>
<div id="templates" style="display:none;">
<div class="prompt-wrapper">
<div class="modal-header">
<h3></h3>
<span class="modal-close prompt-close">&times;</span>
</div>
<div class="modal-content"></div>
</div>
<div id="confirm-popup-template">
<div class="message"></div>
<div class="modal-buttons">
<button class="confirm"></button>
<button class="cancel"></button>
</div>
</div>
</div>
</body> </body>
</html> </html>

56
theme_calm/css/style.css

@ -98,6 +98,13 @@ h3
font-size: 14px; font-size: 14px;
color: rgba( 0, 0, 0, .5 ); color: rgba( 0, 0, 0, .5 );
} }
samp {
background-color: #EEE;
padding-left: 2px;
padding-right: 2px;
}
.isFollowing:after { .isFollowing:after {
color: #1a1; color: #1a1;
content: '\2714'; content: '\2714';
@ -959,6 +966,23 @@ textarea.splited-post {
{ {
vertical-align: top; vertical-align: top;
} }
.twister-user .bio a {
font: italic 13px "Open Sans", sans-serif;
text-decoration: none;
color: #b46e67;
-webkit-transition: all 200ms;
-moz-transition: all 200ms;
-ms-transition: all 200ms;
-o-transition: all 200ms;
transition: all 200ms;
}
.twister-user .bio a:hover {
color: #e18881;
opacity: .8;
}
.followers .followers
{ {
font-size: 12px; font-size: 12px;
@ -1276,12 +1300,6 @@ textarea.splited-post {
word-wrap: break-word; word-wrap: break-word;
} }
.post-text samp {
background: #EEE;
padding-left: 2px;
padding-right: 2px;
}
.post-context { .post-context {
font-size: 11px; font-size: 11px;
margin: 2px 16px 4px 60px; margin: 2px 16px 4px 60px;
@ -1365,7 +1383,7 @@ textarea.splited-post {
color: #768fce; color: #768fce;
} }
.post-info a[href^="#profile"], .followers a[href^="#profile"], a[href^="#profile"].post-retransmited-by{ .post-info a[href^="#profile"], .followers a[href^="#profile"], .post-rt-sign a {
color: #43464d; color: #43464d;
-webkit-transition: all 200ms; -webkit-transition: all 200ms;
-moz-transition: all 200ms; -moz-transition: all 200ms;
@ -1374,7 +1392,7 @@ textarea.splited-post {
transition: all 200ms; transition: all 200ms;
} }
.post-info a[href^="#profile"]:hover, .followers a[href^="#profile"]:hover, a[href^="#profile"].post-retransmited-by:hover { .post-info a[href^="#profile"]:hover, .followers a[href^="#profile"]:hover, .post-rt-sign a:hover {
color: #5e8da4; color: #5e8da4;
text-decoration: none; text-decoration: none;
} }
@ -1455,7 +1473,16 @@ textarea.splited-post {
top: 40px; top: 40px;
} }
.post-retransmited-icon { .post-rt-by div {
display: inline;
}
.post-rt-by .prep:before,
.post-rt-by .prep:after {
content: ' ';
}
.post-rt-icon {
display: inline-block; display: inline-block;
width: 25px; width: 25px;
height: 25px; height: 25px;
@ -1901,6 +1928,13 @@ textarea.splited-post {
color: rgba( 0, 0, 0, .4 ); color: rgba( 0, 0, 0, .4 );
} }
.direct-messages-list .post .messages-qtd {
display: none;
top: 8px;
left: 16px;
line-height: 8px;
}
.direct-messages-thread { .direct-messages-thread {
padding: 10px; padding: 10px;
} }
@ -2238,6 +2272,10 @@ textarea.splited-post {
*********** CONFIRM POPUP ************ *********** CONFIRM POPUP ************
**************************************/ **************************************/
.confirm-popup.prompt-wrapper {
margin-top: -80px;
}
.confirm-popup .message { .confirm-popup .message {
text-align: center; text-align: center;
margin: 12px; margin: 12px;

42
theme_nin/css/style.css

@ -56,7 +56,7 @@
font-style: normal; font-style: normal;
} }
/* line 64, ../sass/_fonts.sass */ /* line 64, ../sass/_fonts.sass */
[class^="icon-"]:before, [class*=" icon-"]:before, .extend-icon:before, .userMenu li.userMenu-config > a:before, .post-retransmited-icon:before, .post-reply:before, .post-propagate:before, .post-favorite:before, .post .show-more:before, .mini-profile-actions span:before, ul.userMenu-search-profiles button:before, .mini-profile-indicators .userMenu-connections a:before, .mini-profile-indicators .userMenu-messages a:before, .twister-user-remove:before, .refresh-toptrends:before, .twistday-reminder .refresh:before, .refresh-users:before, .modal-close:before, .mark-all-as-read:before, .modal-back:before, .icon-down-after:after { [class^="icon-"]:before, [class*=" icon-"]:before, .extend-icon:before, .userMenu li.userMenu-config > a:before, .post-rt-icon:before, .post-reply:before, .post-propagate:before, .post-favorite:before, .post .show-more:before, .mini-profile-actions span:before, ul.userMenu-search-profiles button:before, .mini-profile-indicators .userMenu-connections a:before, .mini-profile-indicators .userMenu-messages a:before, .twister-user-remove:before, .refresh-toptrends:before, .twistday-reminder .refresh:before, .refresh-users:before, .modal-close:before, .mark-all-as-read:before, .modal-back:before, .icon-down-after:after {
font-family: "fontello"; font-family: "fontello";
font-style: normal; font-style: normal;
font-weight: normal; font-weight: normal;
@ -198,7 +198,7 @@
/* '' */ /* '' */
/* line 188, ../sass/_fonts.sass */ /* line 188, ../sass/_fonts.sass */
.icon-twistagain:before, .post-retransmited-icon:before, .post-propagate:before { .icon-twistagain:before, .post-rt-icon:before, .post-propagate:before {
content: ""; content: "";
} }
@ -273,6 +273,12 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu,
display: block; display: block;
} }
samp {
background-color: #EEE;
padding-left: 2px;
padding-right: 2px;
}
/* FONTS */ /* FONTS */
/* line 2, ../sass/_utils.sass */ /* line 2, ../sass/_utils.sass */
.clear-fix:after, .userMenu ul:after, .profile-modal .profile-data:after, .profile-card .twister-user-info:after, .forEdition.profile-card:after, .postboard:after, .following:after, .expanded-content:after, .following-list li:after, .twistday-reminder li:after, .mini-following-info:after, .network.singleBlock:after, .options .tab-content:after, .promoted-posts-only:after, .dashboard.right:after, ul.userMenu-search-profiles li:after, .mini-profile .post-area:after, .mini-profile-indicators:after, .profile-data:after, #postboard-top:after, #postboard-top .post-area:after, .who-to-follow ol:after, .toptrends ol:after, .twistday-reminder ol:after, .twister-user:after, .modal-content:after, .modal-header:after, .direct-messages-thread .post:after { .clear-fix:after, .userMenu ul:after, .profile-modal .profile-data:after, .profile-card .twister-user-info:after, .forEdition.profile-card:after, .postboard:after, .following:after, .expanded-content:after, .following-list li:after, .twistday-reminder li:after, .mini-following-info:after, .network.singleBlock:after, .options .tab-content:after, .promoted-posts-only:after, .dashboard.right:after, ul.userMenu-search-profiles li:after, .mini-profile .post-area:after, .mini-profile-indicators:after, .profile-data:after, #postboard-top:after, #postboard-top .post-area:after, .who-to-follow ol:after, .toptrends ol:after, .twistday-reminder ol:after, .twister-user:after, .modal-content:after, .modal-header:after, .direct-messages-thread .post:after {
@ -881,12 +887,6 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu,
padding: 0; padding: 0;
} }
.post-text samp {
background-color: #EEE;
padding-left: 2px;
padding-right: 2px;
}
/* line 138, ../sass/_postboard.sass */ /* line 138, ../sass/_postboard.sass */
.post-context { .post-context {
font-size: 11px; font-size: 11px;
@ -895,8 +895,21 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu,
margin: 2px 8px 4px 62px; margin: 2px 8px 4px 62px;
} }
.post-rt-by {
margin: 0 0 1em;
}
.post-rt-by div {
display: inline;
}
.post-rt-by .prep:before,
.post-rt-by .prep:after {
content: ' ';
}
/* line 146, ../sass/_postboard.sass */ /* line 146, ../sass/_postboard.sass */
.post-retransmited-icon:before { .post-rt-icon:before {
display: block; display: block;
float: left; float: left;
background: #B4C669; background: #B4C669;
@ -911,10 +924,6 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu,
margin-right: 0.4em; margin-right: 0.4em;
} }
.post-context.post-retransmited-by-container {
margin: 0 0 1em;
}
/* line 158, ../sass/_postboard.sass */ /* line 158, ../sass/_postboard.sass */
.mini-screen-name { .mini-screen-name {
font-size: 13px; font-size: 13px;
@ -2905,6 +2914,13 @@ ol.toptrends-list a:hover {
display: none; display: none;
} }
.direct-messages-list .post .messages-qtd {
display: none;
top: -2px;
right: -2px;
font-size: 0.7em;
}
/* line 782, ../sass/style.sass */ /* line 782, ../sass/style.sass */
.direct-messages-list .post:hover:after { .direct-messages-list .post:hover:after {
display: block; display: block;

2
theme_nin/js/theme_option.js

@ -8,7 +8,7 @@ $(function(){
$('.mini-profile-actions span').html(''); $('.mini-profile-actions span').html('');
$.globalEval(postToElem.toString().replace(/postContext.append\(_templatePostRtBy/, $.globalEval(postToElem.toString().replace(/postContext.append\(_templatePostRtBy/,
'postContext.addClass(\'post-retransmited-by-container\').prependTo(postContext.parent()).append(_templatePostRtBy')); 'postContext.prependTo(postContext.parent()).append(_templatePostRtBy'));
$( '.userMenu-home.current a' ).on( 'click', function() { $( '.userMenu-home.current a' ).on( 'click', function() {

17
theme_nin/sass/_commons.sass

@ -1,6 +1,6 @@
* *
outline: none!important outline: none!important
li li
list-style: none list-style: none
@ -15,7 +15,7 @@ html, body
br br
display: block display: block
img img
background: $main-background-color background: $main-background-color
+border-radius(2px) +border-radius(2px)
@ -26,7 +26,7 @@ a
color: $main-color-color color: $main-color-color
text-decoration: none text-decoration: none
p p
padding: 5px 0 padding: 5px 0
@ -36,13 +36,16 @@ h2, h3
letter-spacing: 0.07em letter-spacing: 0.07em
font-weight: 500 font-weight: 500
line-height: 1.8em line-height: 1.8em
samp
background-color: #EEE
padding-left: 2px
padding-right: 2px
textarea, input[type=text] textarea, input[type=text]
font: .95em/1.3em $main-font-family font: .95em/1.3em $main-font-family
font-weight: 400 font-weight: 400
/* isFollowing */ /* isFollowing */
@ -57,7 +60,7 @@ textarea, input[type=text]
line-height: 10px line-height: 10px
&:hover &:hover
text-decoration: none!important text-decoration: none!important
h3 & h3 &
display: none display: none
/************** BUTTONS ************/ /************** BUTTONS ************/
@ -68,7 +71,7 @@ button, a.button
display: inline-block display: inline-block
line-height: 1em line-height: 1em
font-weight: 500 font-weight: 500
margin: 0 margin: 0
float: none float: none
text-shadow: 2px 2px 0 rgba(black,0) text-shadow: 2px 2px 0 rgba(black,0)
+transition-property(background) +transition-property(background)

14
theme_nin/sass/_postboard.sass

@ -138,25 +138,25 @@
word-wrap: break-word word-wrap: break-word
min-height: 25px min-height: 25px
padding: 0 padding: 0
samp
background-color: #EEE
padding-left: 2px
padding-right: 2px
.post-context .post-context
font-size: 11px font-size: 11px
line-height: 11px line-height: 11px
margin: 2px 10px 4px 60px margin: 2px 10px 4px 60px
color: lighten($dark-grey,30%) color: lighten($dark-grey,30%)
&.post-retransmited-by-container
margin: 0 0 1em
.mini-screen-name .mini-screen-name
font-size: 13px font-size: 13px
color: $dark-grey color: $dark-grey
.post-rt-by
margin: 0 0 1em
div
display: inline
.prep:before, .prep:after
content: ' '
.post-retransmited-icon .post-rt-icon
@extend .icon-twistagain @extend .icon-twistagain
@extend .extend-icon @extend .extend-icon
display: block display: block

5
theme_nin/sass/style.sass

@ -847,6 +847,11 @@ ol.toptrends-list
margin: -6px 0 0 0 margin: -6px 0 0 0
color: rgba(0, 0, 0, 0.4) color: rgba(0, 0, 0, 0.4)
display: none display: none
.messages-qtd
display: none
top: -2px
right: -2px
font-size: 0.7em
.direct-messages-list .direct-messages-list
.post:hover:after .post:hover:after

26
tmobile.html

@ -37,7 +37,7 @@
<script src="js/tmobile.js?vr=10"></script> <script src="js/tmobile.js?vr=10"></script>
<script src="js/jpeg_encoder_basic.js"></script> <script src="js/jpeg_encoder_basic.js"></script>
<link rel="icon" type="image/png" href="img/twister_mini.png" /> <link rel="shortcut icon" type="image/png" href="img/twister_mini.png" />
</head> </head>
<body> <body>
@ -82,6 +82,19 @@
color: #555 !important; color: #555 !important;
} }
.post-rt-by {
font-size: 60%;
}
.post-rt-by div {
display: inline;
}
.post-rt-by .prep:before,
.post-rt-by .prep:after {
content: ' ';
}
.post-rt-reference { .post-rt-reference {
background-color: #FAFAFA; background-color: #FAFAFA;
border: 1px solid #ccc; border: 1px solid #ccc;
@ -808,10 +821,13 @@
</div> </div>
</div> </div>
<div id="post-retransmited-by-template"> <div id="post-rt-by-template">
<i class="post-retransmited-icon"></i> <div class="post-rt-sign">
<span style="font-size:60%;">twisted again by</span><span> </span> <span class="prep">twisted again by</span><a class="open-profile-modal"></a>
<a style="font-size:60%;" class="post-retransmited-by open-profile-modal" href=""></a> </div>
<div class="post-rt-time">
<span class="prep">at</span><span class="time"></span>
</div>
</div> </div>
<!-- template for user links in message (open profile modal) --> <!-- template for user links in message (open profile modal) -->

Loading…
Cancel
Save