mirror of
https://github.com/twisterarmy/twister-html.git
synced 2025-03-13 05:51:03 +00:00
Merge branch 'blaster'
This commit is contained in:
commit
b6bedbbe48
119
README.md
119
README.md
@ -1,77 +1,106 @@
|
||||
twister-html
|
||||
============
|
||||
|
||||
HTML interface for [Twister](http://twister.net.co) [(github)](https://github.com/miguelfreitas/twister-core).
|
||||
To use it, clone this repo under ~/.twister/html like this:
|
||||
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:
|
||||
|
||||
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
|
||||
----------
|
||||
|
||||
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
|
||||
git clone git@github.com:yournickname/twister-html.git ~/.twister/html
|
||||
cd ~/.twister/html
|
||||
# CREATE A NEW BRANCH, specific to the fix you're implementing
|
||||
git checkout -b my-fix
|
||||
# ... make your changes ...
|
||||
# commit and push
|
||||
git commit -m "Fixing #1234 - bad foobarizer" && git push
|
||||
# Now open a pull request from branch my-fix to miguelfreitas:master on github.
|
||||
# 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
|
||||
git fetch upstream
|
||||
git checkout master
|
||||
git merge upstream/master # you should get a fast-forward message here
|
||||
git push
|
||||
1. After forking, clone your repo:
|
||||
|
||||
rm -rf ~/.twister/html # in case you already have it cloned from not your repo
|
||||
git clone git@github.com:YOURNICKNAME/twister-html.git ~/.twister/html
|
||||
cd ~/.twister/html
|
||||
|
||||
2. Switch to 'blaster' branch:
|
||||
|
||||
git checkout blaster
|
||||
|
||||
3. CREATE A NEW BRANCH, specific to the fix you're implementing:
|
||||
|
||||
git checkout -b my-awesome-fix
|
||||
|
||||
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
|
||||
------------
|
||||
|
||||
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
|
||||
git clone git@github.com:YOURNICKNAME/twister-html.git ~/.twister/html
|
||||
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:
|
||||
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").
|
||||
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
|
||||
3. Add a new wordset block after existing ones:
|
||||
|
||||
|
||||
if(preferredLanguage == "tlh"){
|
||||
polyglot.locale("tlh");
|
||||
if (preferredLanguage === 'tlh') {
|
||||
polyglot.locale('tlh');
|
||||
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
|
||||
|
||||
5. commit & push
|
||||
|
||||
5. Commit & push:
|
||||
|
||||
git commit -m "Klingon translation"
|
||||
git push
|
||||
|
||||
3. When opening the pull request on github. For any help, ping @toyg.
|
||||
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.
|
||||
|
||||
For any help ping `@tasty` in twister.
|
||||
|
@ -19,12 +19,12 @@
|
||||
<script src="js/twister_network.js"></script>
|
||||
<script src="js/interface_common.js"></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>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- MENU SUPERIOR INIT -->
|
||||
|
||||
<!-- MENU SUPERIOR INIT -->
|
||||
<nav class="userMenu">
|
||||
</nav>
|
||||
<!-- MENU SUPERIOR END -->
|
||||
|
@ -80,6 +80,13 @@ h3
|
||||
font-size: 14px;
|
||||
color: rgba( 0, 0, 0, .5 );
|
||||
}
|
||||
|
||||
samp {
|
||||
background-color: #F0EFCC;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
.clearfix:before,
|
||||
.clearfix:after
|
||||
{
|
||||
@ -779,6 +786,11 @@ textarea.splited-post {
|
||||
{
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.twister-user .bio a {
|
||||
color: #e34f42;
|
||||
}
|
||||
|
||||
.followers
|
||||
{
|
||||
font-size: 12px;
|
||||
@ -1068,12 +1080,6 @@ ol.toptrends-list {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.post-text samp {
|
||||
background-color: #F0EFCC;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
.post-context {
|
||||
font-size: 11px;
|
||||
margin: 2px 16px 4px 60px;
|
||||
@ -1091,7 +1097,16 @@ ol.toptrends-list {
|
||||
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;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
@ -1528,6 +1543,13 @@ ol.toptrends-list {
|
||||
color: rgba( 0, 0, 0, .4 );
|
||||
}
|
||||
|
||||
.direct-messages-list .post .messages-qtd {
|
||||
display: none;
|
||||
top: 8px;
|
||||
left: 16px;
|
||||
line-height: 8px;
|
||||
}
|
||||
|
||||
.direct-messages-thread {
|
||||
padding: 10px;
|
||||
}
|
||||
@ -1842,6 +1864,10 @@ ol.toptrends-list {
|
||||
*********** CONFIRM POPUP ************
|
||||
**************************************/
|
||||
|
||||
.confirm-popup.prompt-wrapper {
|
||||
margin-top: -80px;
|
||||
}
|
||||
|
||||
.confirm-popup .message {
|
||||
text-align: center;
|
||||
margin: 12px;
|
||||
|
@ -27,7 +27,7 @@
|
||||
<script src="js/interface_common.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>
|
||||
<body>
|
||||
<!-- MENU SUPERIOR INIT -->
|
||||
@ -276,10 +276,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="post-retransmited-by-template">
|
||||
<i class="post-retransmited-icon"></i>
|
||||
<span>twisted again by</span><span> </span>
|
||||
<a class="post-retransmited-by open-profile-modal" href=""></a>
|
||||
<div id="post-rt-by-template">
|
||||
<i class="post-rt-icon"></i>
|
||||
<div class="post-rt-sign">
|
||||
<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>
|
||||
|
||||
<!-- template for user links in message (open profile modal) -->
|
||||
@ -373,6 +377,7 @@
|
||||
</div>
|
||||
<!-- o texto do post (restrição de caracteres?) -->
|
||||
<p class="post-text"></p>
|
||||
<div class="messages-qtd">0</div>
|
||||
</li>
|
||||
|
||||
<div class="messages-thread-template">
|
||||
|
15
home.html
15
home.html
@ -29,7 +29,7 @@
|
||||
<script src="js/interface_home.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>
|
||||
<body>
|
||||
<!-- MENU SUPERIOR INIT -->
|
||||
@ -367,10 +367,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="post-retransmited-by-template">
|
||||
<i class="post-retransmited-icon"></i>
|
||||
<span>twisted again by</span><span> </span>
|
||||
<a class="post-retransmited-by open-profile-modal" href=""></a>
|
||||
<div id="post-rt-by-template">
|
||||
<i class="post-rt-icon"></i>
|
||||
<div class="post-rt-sign">
|
||||
<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>
|
||||
|
||||
<!-- template for user links in message (open profile modal) -->
|
||||
@ -465,6 +469,7 @@
|
||||
</div>
|
||||
<!-- o texto do post (restrição de caracteres?) -->
|
||||
<p class="post-text"></p>
|
||||
<div class="messages-qtd">0</div>
|
||||
</li>
|
||||
|
||||
<div class="messages-thread-template">
|
||||
|
18
index.html
18
index.html
@ -1,11 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
|
||||
<title>twister</title>
|
||||
|
||||
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no"/>
|
||||
|
||||
<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-1.3.2.min.js"></script>
|
||||
|
||||
<link rel="icon" type="image/png" href="img/twister_mini.png" />
|
||||
</head>
|
||||
<body>
|
||||
<link rel="shortcut icon" type="image/png" href="img/twister_mini.png" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="index" data-role="page">
|
||||
<div data-role="header" data-position="fixed" data-nobackbtn="true">
|
||||
@ -29,5 +29,5 @@
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -66,7 +66,8 @@ function closeModalHandler(classBase) {
|
||||
}
|
||||
|
||||
function confirmPopup(event, req) {
|
||||
event.stopPropagation();
|
||||
if (event && event.stopPropagation)
|
||||
event.stopPropagation();
|
||||
|
||||
var modal = openModal({
|
||||
classBase: '.prompt-wrapper',
|
||||
@ -79,38 +80,66 @@ function confirmPopup(event, req) {
|
||||
modal.content.find('.message').text(req.messageTxt);
|
||||
|
||||
var btn = modal.content.find('.confirm');
|
||||
if (req.confirmTxt)
|
||||
btn.text(req.confirmTxt);
|
||||
else
|
||||
btn.text(polyglot.t('Confirm'));
|
||||
if (req.confirmFunc) {
|
||||
btn.on('click', function () {
|
||||
closePrompt();
|
||||
req.confirmFunc(req.confirmFuncArgs);
|
||||
});
|
||||
} else
|
||||
btn.on('click', closePrompt);
|
||||
|
||||
if (req.removeConfirm)
|
||||
btn.remove();
|
||||
else {
|
||||
if (req.confirmTxt)
|
||||
btn.text(req.confirmTxt);
|
||||
else
|
||||
btn.text(polyglot.t('Confirm'));
|
||||
if (req.confirmFunc) {
|
||||
btn.on('click', function () {
|
||||
closePrompt();
|
||||
req.confirmFunc(req.confirmFuncArgs);
|
||||
});
|
||||
} else
|
||||
btn.on('click', closePrompt);
|
||||
}
|
||||
var btn = modal.content.find('.cancel');
|
||||
if (req.cancelTxt)
|
||||
btn.text(req.cancelTxt);
|
||||
else
|
||||
btn.text(polyglot.t('Cancel'));
|
||||
if (req.cancelFunc) {
|
||||
btn.on('click', function () {
|
||||
closePrompt();
|
||||
req.cancelFunc(req.cancelFuncArgs);
|
||||
});
|
||||
} else
|
||||
btn.on('click', closePrompt);
|
||||
if (req.removeCancel)
|
||||
btn.remove();
|
||||
else {
|
||||
if (req.cancelTxt)
|
||||
btn.text(req.cancelTxt);
|
||||
else
|
||||
btn.text(polyglot.t('Cancel'));
|
||||
if (req.cancelFunc) {
|
||||
btn.on('click', function () {
|
||||
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) {
|
||||
networkUpdate(function(args) {
|
||||
if (!twisterdConnectedAndUptodate) {
|
||||
var redirect = window.confirm(polyglot.t('switch_to_network'));
|
||||
if (redirect)
|
||||
$.MAL.goNetwork();
|
||||
confirmPopup(null, {
|
||||
messageTxt: polyglot.t('switch_to_network'),
|
||||
confirmFunc: $.MAL.goNetwork
|
||||
});
|
||||
} else {
|
||||
if (args.cbFunc)
|
||||
args.cbFunc(args.cbArg);
|
||||
@ -172,7 +201,7 @@ function openGroupProfileModalWithNameHandler(groupAlias) {
|
||||
|
||||
getAvatar(ret.members[i], item.find('.twister-user-photo'));
|
||||
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'));
|
||||
@ -314,7 +343,7 @@ function fillWhoToFollowModal(list, hlist, start) {
|
||||
|
||||
getAvatar(utf, item.find('.twister-user-photo'));
|
||||
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]));
|
||||
|
||||
item.find('.twister-user-remove').remove();
|
||||
|
@ -106,9 +106,10 @@ var InterfaceFunctions = function() {
|
||||
$('.mini-profile .following-count').text(followingUsers.length - 1);
|
||||
$('.wrapper .postboard .post').each( function() {
|
||||
var elem = $(this);
|
||||
if ((elem.find('[data-screen-name="' + user + '"]').length && !elem.find(".post-retransmited-by").text())
|
||||
|| elem.find(".post-retransmited-by").text() === '@'+user)
|
||||
elem.remove();
|
||||
if ((elem.find('[data-screen-name="' + user + '"]').length
|
||||
&& !elem.find(".post-rt-by .open-profile-modal").text())
|
||||
|| elem.find(".post-rt-by .open-profile-modal").text() === '@' + user)
|
||||
elem.remove();
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -43,6 +43,7 @@ if(preferredLanguage == "en"){
|
||||
"Block generation": "Block generation ",
|
||||
"busted_oh": "oh noes!",
|
||||
"busted_avowal": "I\'m busted trying inject this suspicious stuff here",
|
||||
"btn_ok": "Okay",
|
||||
"Cancel": "Cancel",
|
||||
"Confirm": "Confirm",
|
||||
"сonfirm_group_leaving_header": "Confirm group leaving",
|
||||
@ -203,6 +204,8 @@ if(preferredLanguage == "en"){
|
||||
"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.",
|
||||
@ -308,7 +311,8 @@ if(preferredLanguage == "en"){
|
||||
"Who's celebrating Twistday": "Who's celebrating Twistday",
|
||||
"Today's luckies:": "Today's luckies:",
|
||||
"Upcoming ones:": "Upcoming ones:",
|
||||
"twisted again by": "twisted again by",
|
||||
"post_rt_sign_prep": "twisted again by",
|
||||
"post_rt_time_prep": "at",
|
||||
"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.",
|
||||
"Daemon exited...": "Daemon exited...",
|
||||
@ -360,6 +364,7 @@ if(preferredLanguage == "es"){
|
||||
"Block generation": "Generación de bloques ",
|
||||
"busted_oh": "oh noes!",
|
||||
"busted_avowal": "I\'m busted trying inject this suspicious stuff here",
|
||||
"btn_ok": "Okay",
|
||||
"Cancel": "Cancelar",
|
||||
"Confirm": "Confirm",
|
||||
"сonfirm_group_leaving_header": "Confirm group leaving",
|
||||
@ -520,6 +525,8 @@ if(preferredLanguage == "es"){
|
||||
"Terminate Daemon:": "Terminar Demonio:",
|
||||
"Exit": "Salir",
|
||||
"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:",
|
||||
"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.",
|
||||
@ -625,7 +632,8 @@ if(preferredLanguage == "es"){
|
||||
"Who's celebrating Twistday": "Who's celebrating Twistday",
|
||||
"Today's luckies:": "Today's luckies:",
|
||||
"Upcoming ones:": "Upcoming ones:",
|
||||
"twisted again by": "twisted again by",
|
||||
"post_rt_sign_prep": "twisted again by",
|
||||
"post_rt_time_prep": "at",
|
||||
"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.",
|
||||
"Daemon exited...": "Daemon exited...",
|
||||
@ -661,6 +669,7 @@ if(preferredLanguage == "uk"){
|
||||
"Block generation": "Генерація блоку ",
|
||||
"busted_oh": "oh noes!",
|
||||
"busted_avowal": "I\'m busted trying inject this suspicious stuff here",
|
||||
"btn_ok": "Okay",
|
||||
"Cancel": "Відміна",
|
||||
"Confirm": "Confirm",
|
||||
"сonfirm_group_leaving_header": "Confirm group leaving",
|
||||
@ -818,6 +827,8 @@ if(preferredLanguage == "uk"){
|
||||
"Terminate Daemon:": "Зупинити Twister:",
|
||||
"Exit": "Вихід",
|
||||
"Save Changes": "Зберегти зміни",
|
||||
"profile_saved": "Profile data has been saved to DHT.",
|
||||
"profile_not_saved": "Profile data has been not saved.",
|
||||
"Secret key:": "Секретний ключ:",
|
||||
"You have to log in to post messages.": "Ви повинні увійти для публікації повідомлень.",
|
||||
"You have to log in to post replies.": "Ви повинні увійти для публікації відповідей.",
|
||||
@ -923,7 +934,8 @@ if(preferredLanguage == "uk"){
|
||||
"Who's celebrating Twistday": "Річницю святкує",
|
||||
"Today's luckies:": "Сьогоднішні щасливчики:",
|
||||
"Upcoming ones:": "Найближчим часом:",
|
||||
"twisted again by": "ретвіст від",
|
||||
"post_rt_sign_prep": "ретвіст від",
|
||||
"post_rt_time_prep": "at",
|
||||
"undo": "відмінити",
|
||||
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Ви впевнені, що бажаєте завершити роботу? \n\nКлієнт Twister буде зупинено допоки ви не запустите його знову.",
|
||||
"Daemon exited...": "Twister заверив роботу...",
|
||||
@ -961,6 +973,7 @@ if(preferredLanguage == "zh-CN"){
|
||||
"Block generation": "区块生成器",
|
||||
"busted_oh": "噢,阻挡!",
|
||||
"busted_avowal": "系统检测到此用户试图在这里注入恶意代码",
|
||||
"btn_ok": "Okay",
|
||||
"Cancel": "取消",
|
||||
"Confirm": "Confirm",
|
||||
"сonfirm_group_leaving_header": "Confirm group leaving",
|
||||
@ -1120,6 +1133,8 @@ if(preferredLanguage == "zh-CN"){
|
||||
"Terminate Daemon:": "终止后台进程:",
|
||||
"Exit": "退出",
|
||||
"Save Changes": "保存更改",
|
||||
"profile_saved": "Profile data has been saved to DHT.",
|
||||
"profile_not_saved": "Profile data has been not saved.",
|
||||
"Secret key:": "私钥:",
|
||||
"You have to log in to post messages.": "你必须登录才能发送信息。",
|
||||
"You have to log in to post replies.": "你必须登录才能发送回复。",
|
||||
@ -1225,7 +1240,8 @@ if(preferredLanguage == "zh-CN"){
|
||||
"Who's celebrating Twistday": "谁在庆祝自己的Twistday周年纪念日",
|
||||
"Today's luckies:": "今天的幸运用户:",
|
||||
"Upcoming ones:": "即将到来的幸运用户:",
|
||||
"twisted again by": "转推由",
|
||||
"post_rt_sign_prep": "转推由",
|
||||
"post_rt_time_prep": "at",
|
||||
"undo": "撤销",
|
||||
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "你确定要退出后台进程?\nTwister 客户端将停止工作。",
|
||||
"Daemon exited...": "后台进程已退出...",
|
||||
@ -1278,6 +1294,7 @@ if(preferredLanguage == "nl"){
|
||||
"Block generation": "Block productie",
|
||||
"busted_oh": "oh noes!",
|
||||
"busted_avowal": "I\'m busted trying inject this suspicious stuff here",
|
||||
"btn_ok": "Okay",
|
||||
"Cancel": "Annuleren",
|
||||
"Confirm": "Confirm",
|
||||
"сonfirm_group_leaving_header": "Confirm group leaving",
|
||||
@ -1438,6 +1455,8 @@ if(preferredLanguage == "nl"){
|
||||
"Terminate Daemon:": "Daemon beëindigen",
|
||||
"Exit": "Beëindigen",
|
||||
"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:",
|
||||
"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.",
|
||||
@ -1543,7 +1562,8 @@ if(preferredLanguage == "nl"){
|
||||
"Who's celebrating Twistday": "Who's celebrating Twistday",
|
||||
"Today's luckies:": "Today's luckies:",
|
||||
"Upcoming ones:": "Upcoming ones:",
|
||||
"twisted again by": "twisted again by",
|
||||
"post_rt_sign_prep": "twisted again by",
|
||||
"post_rt_time_prep": "at",
|
||||
"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.",
|
||||
"Daemon exited...": "Daemon exited...",
|
||||
@ -1579,6 +1599,7 @@ if(preferredLanguage == "it"){
|
||||
"Block generation": "Generatore di blocchi:",
|
||||
"busted_oh": "oh noes!",
|
||||
"busted_avowal": "I\'m busted trying inject this suspicious stuff here",
|
||||
"btn_ok": "Okay",
|
||||
"Cancel": "Cancella",
|
||||
"Confirm": "Confirm",
|
||||
"сonfirm_group_leaving_header": "Confirm group leaving",
|
||||
@ -1736,6 +1757,8 @@ if(preferredLanguage == "it"){
|
||||
"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.",
|
||||
@ -1841,7 +1864,8 @@ if(preferredLanguage == "it"){
|
||||
"Who's celebrating Twistday": "Who's celebrating Twistday",
|
||||
"Today's luckies:": "Today's luckies:",
|
||||
"Upcoming ones:": "Upcoming ones:",
|
||||
"twisted again by": "twisted again by",
|
||||
"post_rt_sign_prep": "twisted again by",
|
||||
"post_rt_time_prep": "at",
|
||||
"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.",
|
||||
"Daemon exited...": "Daemon exited...",
|
||||
@ -1877,6 +1901,7 @@ if(preferredLanguage == "fr"){
|
||||
"Block generation": "Production de blocs",
|
||||
"busted_oh": "oh noes!",
|
||||
"busted_avowal": "I\'m busted trying inject this suspicious stuff here",
|
||||
"btn_ok": "Okay",
|
||||
"Cancel": "Annuler",
|
||||
"Confirm": "Confirm",
|
||||
"сonfirm_group_leaving_header": "Confirm group leaving",
|
||||
@ -2037,6 +2062,8 @@ if(preferredLanguage == "fr"){
|
||||
"Terminate Daemon:": "Tuer le démon:",
|
||||
"Exit": "Quitter",
|
||||
"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:",
|
||||
"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.",
|
||||
@ -2142,7 +2169,8 @@ if(preferredLanguage == "fr"){
|
||||
"Who's celebrating Twistday": "Who's celebrating Twistday",
|
||||
"Today's luckies:": "Today's luckies:",
|
||||
"Upcoming ones:": "Upcoming ones:",
|
||||
"twisted again by": "twisted again by",
|
||||
"post_rt_sign_prep": "twisted again by",
|
||||
"post_rt_time_prep": "at",
|
||||
"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.",
|
||||
"Daemon exited...": "Daemon exited...",
|
||||
@ -2180,6 +2208,7 @@ if(preferredLanguage == "ru"){
|
||||
"Block generation": "Майнинг блоков ",
|
||||
"busted_oh": "о нет!",
|
||||
"busted_avowal": "я пойман на попытке вставить этот подозрительный код здесь",
|
||||
"btn_ok": "Лады́",
|
||||
"Cancel": "Отмена",
|
||||
"Confirm": "Несомненно",
|
||||
"сonfirm_group_leaving_header": "Подтверждение ухода из группы",
|
||||
@ -2340,6 +2369,8 @@ if(preferredLanguage == "ru"){
|
||||
"Terminate Daemon:": "Остановить twister:",
|
||||
"Exit": "Выход",
|
||||
"Save Changes": "Сохранить изменения",
|
||||
"profile_saved": "Данные профайла сохранены в DHT.",
|
||||
"profile_not_saved": "Данные профайла не сохранены.",
|
||||
"Secret key:": "Секретный ключ:",
|
||||
"You have to log in to post messages.": "Войдите, чтобы отправлять сообщения.",
|
||||
"You have to log in to post replies.": "Войдите, чтобы отвечать на сообщения.",
|
||||
@ -2445,7 +2476,8 @@ if(preferredLanguage == "ru"){
|
||||
"Who's celebrating Twistday": "Кто празднует Твистодень",
|
||||
"Today's luckies:": "Сегодняшные счастливчики", // няшные, ок?
|
||||
"Upcoming ones:": "Намечающиеся вскоре",
|
||||
"twisted again by": "Перепостил",
|
||||
"post_rt_sign_prep": "ретвистит",
|
||||
"post_rt_time_prep": "в",
|
||||
"undo": "отменить",
|
||||
"Are you sure you want to exit the daemon?\nThe Twister client will stop working.": "Вы уверены, что хотите "+
|
||||
"выключить демон?\nTwister клиент перестанет работать.",
|
||||
@ -2486,6 +2518,7 @@ if(preferredLanguage == "de"){
|
||||
"Block generation": "Block-Generierung ",
|
||||
"busted_oh": "Oh nein!",
|
||||
"busted_avowal": "Ich bin ertappt, habe versucht, hier Schadcode einzugeben!",
|
||||
"btn_ok": "Okay",
|
||||
"Cancel": "Abbrechen",
|
||||
"Confirm": "Confirm",
|
||||
"сonfirm_group_leaving_header": "Confirm group leaving",
|
||||
@ -2637,7 +2670,7 @@ if(preferredLanguage == "de"){
|
||||
"Create this nickname": "Nichnamen erstellen",
|
||||
"Type nickname here": "Nicknamen hier eingeben",
|
||||
"Import secret key": "Privaten Schlüssel hier importieren",
|
||||
"52-characters secret": "52 Zeichen Geheimniss",
|
||||
"52-characters secret": "52 Zeichen Geheimnis",
|
||||
"With nickname": "Mit Nicknamen",
|
||||
"Import key": "Schlüssel importieren",
|
||||
"Client Version:": "Client Version:",
|
||||
@ -2647,6 +2680,8 @@ if(preferredLanguage == "de"){
|
||||
"Terminate Daemon:": "Daemon beenden:",
|
||||
"Exit": "Beenden",
|
||||
"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:",
|
||||
"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.",
|
||||
@ -2753,7 +2788,8 @@ if(preferredLanguage == "de"){
|
||||
"Who's celebrating Twistday": "Who's celebrating Twistday",
|
||||
"Today's luckies:": "Die Glücklichen von heute:",
|
||||
"Upcoming ones:": "Demnächst:",
|
||||
"twisted again by": "twisted again by",
|
||||
"post_rt_sign_prep": "twisted again by",
|
||||
"post_rt_time_prep": "at",
|
||||
"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.",
|
||||
"Daemon exited...": "Daemon exited...",
|
||||
@ -2789,6 +2825,7 @@ if(preferredLanguage == "ja"){
|
||||
"Block generation": "ブロック生成",
|
||||
"busted_oh": "oh noes!",
|
||||
"busted_avowal": "I\'m busted trying inject this suspicious stuff here",
|
||||
"btn_ok": "Okay",
|
||||
"Cancel": "キャンセル",
|
||||
"Confirm": "Confirm",
|
||||
"сonfirm_group_leaving_header": "Confirm group leaving",
|
||||
@ -2946,6 +2983,8 @@ if(preferredLanguage == "ja"){
|
||||
"Terminate Daemon:": "デーモンを終了する:",
|
||||
"Exit": "終了",
|
||||
"Save Changes": "変更を保存",
|
||||
"profile_saved": "Profile data has been saved to DHT.",
|
||||
"profile_not_saved": "Profile data has been not saved.",
|
||||
"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.",
|
||||
@ -3051,7 +3090,8 @@ if(preferredLanguage == "ja"){
|
||||
"Who's celebrating Twistday": "Who's celebrating Twistday",
|
||||
"Today's luckies:": "Today's luckies:",
|
||||
"Upcoming ones:": "Upcoming ones:",
|
||||
"twisted again by": "twisted again by",
|
||||
"post_rt_sign_prep": "twisted again by",
|
||||
"post_rt_time_prep": "at",
|
||||
"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.",
|
||||
"Daemon exited...": "Daemon exited...",
|
||||
@ -3088,6 +3128,7 @@ if(preferredLanguage == "pt-BR"){
|
||||
"Block generation": "Geração de blocos ",
|
||||
"busted_oh": "oh noes!",
|
||||
"busted_avowal": "I\'m busted trying inject this suspicious stuff here",
|
||||
"btn_ok": "Okay",
|
||||
"Cancel": "Cancelar",
|
||||
"Confirm": "Confirm",
|
||||
"с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",
|
||||
"Exit": "Sair",
|
||||
"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:",
|
||||
"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",
|
||||
"Today's luckies:": "Today's luckies:",
|
||||
"Upcoming ones:": "Upcoming ones:",
|
||||
"twisted again by": "twisted again by",
|
||||
"post_rt_sign_prep": "twisted again by",
|
||||
"post_rt_time_prep": "at",
|
||||
"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.",
|
||||
"Daemon exited...": "Daemon exited...",
|
||||
@ -3391,6 +3435,7 @@ if(preferredLanguage == "tr"){
|
||||
"Block generation": "Blok üretimi ",
|
||||
"busted_oh": "oh noes!",
|
||||
"busted_avowal": "I\'m busted trying inject this suspicious stuff here",
|
||||
"btn_ok": "Okay",
|
||||
"Cancel": "İptal",
|
||||
"Confirm": "Confirm",
|
||||
"сonfirm_group_leaving_header": "Confirm group leaving",
|
||||
@ -3550,6 +3595,8 @@ if(preferredLanguage == "tr"){
|
||||
"Terminate Daemon:": "Servisi Durdur:",
|
||||
"Exit": "Çıkış",
|
||||
"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:",
|
||||
"Options": "Ayarlar",
|
||||
"Switch to Promoted posts": "Destekli Mesajlara Geç",
|
||||
@ -3655,7 +3702,8 @@ if(preferredLanguage == "tr"){
|
||||
"Who's celebrating Twistday": "Twistgünü'nü kutlayanlar",
|
||||
"Today's luckies:": "Günün talihlileri:",
|
||||
"Upcoming ones:": "Yakında:",
|
||||
"twisted again by": "yeniden ileten",
|
||||
"post_rt_sign_prep": "yeniden ileten",
|
||||
"post_rt_time_prep": "at",
|
||||
"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.",
|
||||
"Daemon exited...": "Hizmet sonlandırıldı...",
|
||||
@ -3691,6 +3739,7 @@ if(preferredLanguage == "cs"){
|
||||
"Block generation": "Generování bloků ",
|
||||
"busted_oh": "oh noes!",
|
||||
"busted_avowal": "I\'m busted trying inject this suspicious stuff here",
|
||||
"btn_ok": "Okay",
|
||||
"Cancel": "Zrušit",
|
||||
"Confirm": "Confirm",
|
||||
"сonfirm_group_leaving_header": "Confirm group leaving",
|
||||
@ -3849,6 +3898,8 @@ if(preferredLanguage == "cs"){
|
||||
"Terminate Daemon:": "Ukončit server:",
|
||||
"Exit": "Konec",
|
||||
"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íč:",
|
||||
"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.",
|
||||
@ -3954,7 +4005,8 @@ if(preferredLanguage == "cs"){
|
||||
"Who's celebrating Twistday": "Who's celebrating Twistday",
|
||||
"Today's luckies:": "Today's luckies:",
|
||||
"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",
|
||||
"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...",
|
||||
|
@ -329,7 +329,7 @@ function updateProfileData(profileModalContent, username) {
|
||||
getFullname( username, profileModalContent.find(".profile-name") );
|
||||
getLocation( username, profileModalContent.find(".profile-location") );
|
||||
getWebpage( username, profileModalContent.find(".profile-url") );
|
||||
getBio( username, profileModalContent.find(".profile-bio") );
|
||||
getBioToElem(username, profileModalContent.find('.profile-bio'));
|
||||
getTox( username, profileModalContent.find(".profile-tox") );
|
||||
getBitmessage( username, profileModalContent.find(".profile-bitmessage") );
|
||||
getAvatar( username, profileModalContent.find(".profile-card-photo") );
|
||||
|
@ -28,6 +28,10 @@ function processDMsnippet(dmUsers, dmThreadList, forGroup) {
|
||||
|
||||
// convert snipped to html and add it to date-sorted list
|
||||
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 existingItems = dmThreadList.children();
|
||||
for (var j = 0; j < existingItems.length; j++) {
|
||||
|
@ -3,8 +3,8 @@
|
||||
//
|
||||
// Format JSON posts and DMs to HTML.
|
||||
|
||||
var _templatePostRtReference
|
||||
var _templatePostRtBy
|
||||
var _templatePostRtReference;
|
||||
var _templatePostRtBy;
|
||||
var _htmlFormatMsgLinkTemplateExternal;
|
||||
var _htmlFormatMsgLinkTemplateUser;
|
||||
var _htmlFormatMsgLinkTemplateHashtag;
|
||||
@ -14,7 +14,7 @@ $(document).ready(function() {
|
||||
_templatePostRtReference = $('#post-rt-reference-template').children().clone(true);
|
||||
_templatePostRtReference.find('.post-text')
|
||||
.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')
|
||||
if (_htmlFormatMsgLinkTemplateExternal.length) {
|
||||
_htmlFormatMsgLinkTemplateExternal = _htmlFormatMsgLinkTemplateExternal[0].cloneNode();
|
||||
@ -156,10 +156,13 @@ function postToElem(post, kind, promoted) {
|
||||
if (userpost.msg) {
|
||||
setPostReference(postContext, rt, userpost.sig_rt);
|
||||
} else {
|
||||
postContext.append(_templatePostRtBy.clone(true))
|
||||
.find('.post-retransmited-by')
|
||||
postContext.append(_templatePostRtBy.clone(true)).addClass('post-rt-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)
|
||||
;
|
||||
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
|
||||
dhtget(username, 'post' + k, 's',
|
||||
function(args, post) {
|
||||
|
@ -249,9 +249,13 @@ function getFullname( username, item ){
|
||||
}
|
||||
}
|
||||
|
||||
// get bio and store it in item.text
|
||||
function getBio( username, item ){
|
||||
getProfileResource( username, "bio", item);
|
||||
// get bio, format it as post message and store result to elem
|
||||
function getBioToElem(peerAlias, elem) {
|
||||
getProfileResource(peerAlias, 'bio', undefined,
|
||||
function (req, ret) {
|
||||
req.elem.html(htmlFormatMsg(ret).html);
|
||||
}, {elem: elem}
|
||||
);
|
||||
}
|
||||
|
||||
// get tox address and store it in item.text
|
||||
|
@ -192,9 +192,6 @@ function updateTimeline(req, posts) {
|
||||
function attachPostsToStream(stream, posts, isPromoted) {
|
||||
//console.log('attachPostsToStream:');
|
||||
//console.log(posts);
|
||||
function byTimeInDescendingOrder(a, b) {
|
||||
return (a.time > b.time) ? -1 : 1;
|
||||
}
|
||||
|
||||
var streamItems = stream.children();
|
||||
var streamPosts = [];
|
||||
@ -203,7 +200,6 @@ function attachPostsToStream(stream, posts, isPromoted) {
|
||||
var streamItem = streamItems.eq(i);
|
||||
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++) {
|
||||
//console.log(posts[i]);
|
||||
@ -222,8 +218,7 @@ function attachPostsToStream(stream, posts, isPromoted) {
|
||||
} else if (intrantPost.time > streamPosts[j].time) {
|
||||
// this post in stream is older, so post must be inserted above
|
||||
intrantPost.item.insertBefore(streamPosts[j].item).show();
|
||||
streamPosts.push(intrantPost);
|
||||
streamPosts.sort(byTimeInDescendingOrder);
|
||||
streamPosts.splice(j, 0, intrantPost);
|
||||
isAttached = true;
|
||||
break;
|
||||
}
|
||||
@ -231,8 +226,7 @@ function attachPostsToStream(stream, posts, isPromoted) {
|
||||
}
|
||||
if (!isAttached) {
|
||||
intrantPost.item.appendTo(stream).show();
|
||||
streamPosts.push(intrantPost);
|
||||
streamPosts.sort(byTimeInDescendingOrder);
|
||||
streamPosts.unshift(intrantPost);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -261,24 +261,59 @@ function loadProfileForEdit() {
|
||||
}, {} );
|
||||
}
|
||||
|
||||
function saveProfile(e)
|
||||
{
|
||||
var profile = {};
|
||||
profile["fullname"] = $(".input-name").val();
|
||||
profile["bio"] = $(".input-description").val();
|
||||
profile["location"] = $(".input-city").val();
|
||||
profile["url"] = $(".input-website").val();
|
||||
var tox = $(".input-tox").val();
|
||||
if( tox.length )
|
||||
profile["tox"] = tox;
|
||||
var bitmessage = $(".input-bitmessage").val();
|
||||
if( bitmessage.length )
|
||||
profile["bitmessage"] = bitmessage;
|
||||
dhtput( defaultScreenName, "profile", "s",
|
||||
profile, defaultScreenName, ++profileSeqNum );
|
||||
var avatarData = $(".profile-card-photo.forEdition").attr("src");
|
||||
dhtput( defaultScreenName, "avatar", "s",
|
||||
avatarData, defaultScreenName, ++avatarSeqNum );
|
||||
clearAvatarAndProfileCache(defaultScreenName);
|
||||
function saveProfile(e) {
|
||||
function saveAvatar(req, isProfileDataSaved) {
|
||||
dhtput(defaultScreenName, 'avatar', 's',
|
||||
req.avatarImgSrc,
|
||||
defaultScreenName, ++avatarSeqNum,
|
||||
completeProfileSaving, {isProfileDataSaved: isProfileDataSaved}
|
||||
);
|
||||
}
|
||||
|
||||
function completeProfileSaving(req, isAvatarDataSaved) {
|
||||
if (req.isProfileDataSaved && isAvatarDataSaved) {
|
||||
clearAvatarAndProfileCache(defaultScreenName);
|
||||
var titleTxt = '';
|
||||
var messageTxt = polyglot.t('profile_saved');
|
||||
} else {
|
||||
var titleTxt = polyglot.t('error', {error: ''});
|
||||
var messageTxt = polyglot.t('profile_not_saved');
|
||||
}
|
||||
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
18
login.html
@ -21,7 +21,7 @@
|
||||
<script src="js/polyglot.min.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>
|
||||
<body>
|
||||
<!-- MENU SUPERIOR INIT -->
|
||||
@ -90,6 +90,22 @@
|
||||
</div>
|
||||
<!-- TEMPLATE DO MODAL GENÉRICO END -->
|
||||
|
||||
<div class="prompt-wrapper">
|
||||
<div class="modal-header">
|
||||
<h3></h3>
|
||||
<span class="modal-close prompt-close">×</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 -->
|
||||
<div id="new-user-modal-template">
|
||||
<div class="warning">
|
||||
|
@ -23,7 +23,7 @@
|
||||
<script src="js/twister_network.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>
|
||||
|
||||
<body>
|
||||
|
@ -21,6 +21,8 @@
|
||||
<script src="js/interface_login.js"></script>
|
||||
<script src="js/polyglot.min.js"></script>
|
||||
<script src="js/interface_localization.js"></script>
|
||||
|
||||
<link rel="shortcut icon" type="image/png" href="img/twister_mini.png" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
@ -23,12 +23,12 @@
|
||||
<script src="js/interface_common.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>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- MENU SUPERIOR INIT -->
|
||||
|
||||
<!-- MENU SUPERIOR INIT -->
|
||||
<nav class="userMenu">
|
||||
<ul>
|
||||
<li class="userMenu-home"><a href="home.html">
|
||||
@ -36,8 +36,8 @@
|
||||
<span class="selectable_theme theme_nin menu-news"></span>
|
||||
</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-config current">
|
||||
<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">
|
||||
<a class="userMenu-config-dropdown" href="#">
|
||||
<div class="config-menu dialog-modal">
|
||||
<div class="mini-profile-info selectable_theme theme_original">
|
||||
@ -54,16 +54,13 @@
|
||||
</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>
|
||||
</nav>
|
||||
<!-- MENU SUPERIOR END -->
|
||||
|
||||
|
||||
<div class="wrapper">
|
||||
<!-- ÁREA DE PROFILE PHOTO INIT -->
|
||||
<!-- ÁREA DE PROFILE PHOTO INIT -->
|
||||
<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 -->
|
||||
<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">
|
||||
<span class="label">Secret key:</span> <span class="secret-key"></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- ÁREA DE POSTS END -->
|
||||
|
||||
</div>
|
||||
|
||||
<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">×</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>
|
||||
</html>
|
||||
|
@ -98,6 +98,13 @@ h3
|
||||
font-size: 14px;
|
||||
color: rgba( 0, 0, 0, .5 );
|
||||
}
|
||||
|
||||
samp {
|
||||
background-color: #EEE;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
.isFollowing:after {
|
||||
color: #1a1;
|
||||
content: '\2714';
|
||||
@ -959,6 +966,23 @@ textarea.splited-post {
|
||||
{
|
||||
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
|
||||
{
|
||||
font-size: 12px;
|
||||
@ -1276,12 +1300,6 @@ textarea.splited-post {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.post-text samp {
|
||||
background: #EEE;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
.post-context {
|
||||
font-size: 11px;
|
||||
margin: 2px 16px 4px 60px;
|
||||
@ -1365,7 +1383,7 @@ textarea.splited-post {
|
||||
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;
|
||||
-webkit-transition: all 200ms;
|
||||
-moz-transition: all 200ms;
|
||||
@ -1374,7 +1392,7 @@ textarea.splited-post {
|
||||
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;
|
||||
text-decoration: none;
|
||||
}
|
||||
@ -1455,7 +1473,16 @@ textarea.splited-post {
|
||||
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;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
@ -1901,6 +1928,13 @@ textarea.splited-post {
|
||||
color: rgba( 0, 0, 0, .4 );
|
||||
}
|
||||
|
||||
.direct-messages-list .post .messages-qtd {
|
||||
display: none;
|
||||
top: 8px;
|
||||
left: 16px;
|
||||
line-height: 8px;
|
||||
}
|
||||
|
||||
.direct-messages-thread {
|
||||
padding: 10px;
|
||||
}
|
||||
@ -2238,6 +2272,10 @@ textarea.splited-post {
|
||||
*********** CONFIRM POPUP ************
|
||||
**************************************/
|
||||
|
||||
.confirm-popup.prompt-wrapper {
|
||||
margin-top: -80px;
|
||||
}
|
||||
|
||||
.confirm-popup .message {
|
||||
text-align: center;
|
||||
margin: 12px;
|
||||
|
@ -56,7 +56,7 @@
|
||||
font-style: normal;
|
||||
}
|
||||
/* 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-style: normal;
|
||||
font-weight: normal;
|
||||
@ -198,7 +198,7 @@
|
||||
|
||||
/* '' */
|
||||
/* 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: "";
|
||||
}
|
||||
|
||||
@ -273,6 +273,12 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu,
|
||||
display: block;
|
||||
}
|
||||
|
||||
samp {
|
||||
background-color: #EEE;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
/* FONTS */
|
||||
/* 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 {
|
||||
@ -881,12 +887,6 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu,
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.post-text samp {
|
||||
background-color: #EEE;
|
||||
padding-left: 2px;
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
/* line 138, ../sass/_postboard.sass */
|
||||
.post-context {
|
||||
font-size: 11px;
|
||||
@ -895,8 +895,21 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu,
|
||||
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 */
|
||||
.post-retransmited-icon:before {
|
||||
.post-rt-icon:before {
|
||||
display: block;
|
||||
float: left;
|
||||
background: #B4C669;
|
||||
@ -911,10 +924,6 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu,
|
||||
margin-right: 0.4em;
|
||||
}
|
||||
|
||||
.post-context.post-retransmited-by-container {
|
||||
margin: 0 0 1em;
|
||||
}
|
||||
|
||||
/* line 158, ../sass/_postboard.sass */
|
||||
.mini-screen-name {
|
||||
font-size: 13px;
|
||||
@ -2905,6 +2914,13 @@ ol.toptrends-list a:hover {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.direct-messages-list .post .messages-qtd {
|
||||
display: none;
|
||||
top: -2px;
|
||||
right: -2px;
|
||||
font-size: 0.7em;
|
||||
}
|
||||
|
||||
/* line 782, ../sass/style.sass */
|
||||
.direct-messages-list .post:hover:after {
|
||||
display: block;
|
||||
|
@ -8,7 +8,7 @@ $(function(){
|
||||
$('.mini-profile-actions span').html('');
|
||||
|
||||
$.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() {
|
||||
|
@ -1,6 +1,6 @@
|
||||
*
|
||||
outline: none!important
|
||||
|
||||
|
||||
li
|
||||
list-style: none
|
||||
|
||||
@ -15,7 +15,7 @@ html, body
|
||||
br
|
||||
display: block
|
||||
|
||||
img
|
||||
img
|
||||
background: $main-background-color
|
||||
+border-radius(2px)
|
||||
|
||||
@ -26,7 +26,7 @@ a
|
||||
color: $main-color-color
|
||||
text-decoration: none
|
||||
|
||||
p
|
||||
p
|
||||
padding: 5px 0
|
||||
|
||||
|
||||
@ -36,13 +36,16 @@ h2, h3
|
||||
letter-spacing: 0.07em
|
||||
font-weight: 500
|
||||
line-height: 1.8em
|
||||
|
||||
|
||||
samp
|
||||
background-color: #EEE
|
||||
padding-left: 2px
|
||||
padding-right: 2px
|
||||
|
||||
|
||||
textarea, input[type=text]
|
||||
font: .95em/1.3em $main-font-family
|
||||
font-weight: 400
|
||||
|
||||
|
||||
/* isFollowing */
|
||||
|
||||
@ -57,7 +60,7 @@ textarea, input[type=text]
|
||||
line-height: 10px
|
||||
&:hover
|
||||
text-decoration: none!important
|
||||
h3 &
|
||||
h3 &
|
||||
display: none
|
||||
|
||||
/************** BUTTONS ************/
|
||||
@ -68,7 +71,7 @@ button, a.button
|
||||
display: inline-block
|
||||
line-height: 1em
|
||||
font-weight: 500
|
||||
margin: 0
|
||||
margin: 0
|
||||
float: none
|
||||
text-shadow: 2px 2px 0 rgba(black,0)
|
||||
+transition-property(background)
|
||||
|
@ -138,25 +138,25 @@
|
||||
word-wrap: break-word
|
||||
min-height: 25px
|
||||
padding: 0
|
||||
samp
|
||||
background-color: #EEE
|
||||
padding-left: 2px
|
||||
padding-right: 2px
|
||||
|
||||
.post-context
|
||||
font-size: 11px
|
||||
line-height: 11px
|
||||
margin: 2px 10px 4px 60px
|
||||
color: lighten($dark-grey,30%)
|
||||
&.post-retransmited-by-container
|
||||
margin: 0 0 1em
|
||||
|
||||
.mini-screen-name
|
||||
font-size: 13px
|
||||
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 .extend-icon
|
||||
display: block
|
||||
|
@ -847,6 +847,11 @@ ol.toptrends-list
|
||||
margin: -6px 0 0 0
|
||||
color: rgba(0, 0, 0, 0.4)
|
||||
display: none
|
||||
.messages-qtd
|
||||
display: none
|
||||
top: -2px
|
||||
right: -2px
|
||||
font-size: 0.7em
|
||||
|
||||
.direct-messages-list
|
||||
.post:hover:after
|
||||
|
26
tmobile.html
26
tmobile.html
@ -37,7 +37,7 @@
|
||||
<script src="js/tmobile.js?vr=10"></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>
|
||||
<body>
|
||||
|
||||
@ -82,6 +82,19 @@
|
||||
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 {
|
||||
background-color: #FAFAFA;
|
||||
border: 1px solid #ccc;
|
||||
@ -808,10 +821,13 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="post-retransmited-by-template">
|
||||
<i class="post-retransmited-icon"></i>
|
||||
<span style="font-size:60%;">twisted again by</span><span> </span>
|
||||
<a style="font-size:60%;" class="post-retransmited-by open-profile-modal" href=""></a>
|
||||
<div id="post-rt-by-template">
|
||||
<div class="post-rt-sign">
|
||||
<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>
|
||||
|
||||
<!-- template for user links in message (open profile modal) -->
|
||||
|
Loading…
x
Reference in New Issue
Block a user