Browse Source

new users module

readme-update
erqan 8 years ago
parent
commit
8893d79eed
  1. 29
      css/style.css
  2. 19
      home.html
  3. 43
      js/interface_common.js
  4. 28
      js/interface_home.js
  5. 39
      js/interface_localization.js
  6. 4
      js/options.js
  7. 62
      js/twister_following.js
  8. 65
      js/twister_network.js
  9. 11
      options.html
  10. 29
      theme_calm/css/style.css
  11. 41
      theme_nin/css/style.css

29
css/style.css

@ -843,13 +843,13 @@ textarea.splited-post {
/*********************************** /***********************************
********************* WHO TO FOLLOW ********************* WHO TO FOLLOW
***********************************/ ***********************************/
.who-to-follow .who-to-follow,
{ .new-users {
padding: 10px; padding: 10px;
margin-bottom: 10px; margin-bottom: 10px;
} }
.who-to-follow h3 .who-to-follow h3,
{ .new-users h3 {
display: inline; display: inline;
} }
.twister-user .twister-user
@ -1943,32 +1943,39 @@ ol.toptrends-list {
********* WHO TO FOLLOW MODAL ******** ********* WHO TO FOLLOW MODAL ********
**************************************/ **************************************/
.who-to-follow-modal ol { .who-to-follow-modal ol,
.new-users-modal ol {
margin: 5px; margin: 5px;
} }
.who-to-follow-modal .open-profile-modal:hover { .who-to-follow-modal .open-profile-modal:hover,
.new-users-modal .open-profile-modal:hover {
text-decoration: none; text-decoration: none;
} }
.who-to-follow-modal .open-profile-modal span { .who-to-follow-modal .open-profile-modal span,
.new-users-modal .open-profile-modal span {
vertical-align: middle; vertical-align: middle;
} }
.who-to-follow-modal .open-profile-modal span:hover { .who-to-follow-modal .open-profile-modal span:hover,
.new-users-modal .open-profile-modal span:hover {
text-decoration: underline; text-decoration: underline;
} }
.who-to-follow-modal .follow { .who-to-follow-modal .follow,
.new-users-modal .follow {
float: right; float: right;
margin: -30px 10px 0 10px; margin: -30px 10px 0 10px;
} }
.who-to-follow-modal .twister-user-info span { .who-to-follow-modal .twister-user-info span,
.new-users-modal .twister-user-info span {
vertical-align: bottom; vertical-align: bottom;
} }
.who-to-follow-modal .bio { .who-to-follow-modal .bio,
.new-users-modal .bio {
font-size: 12px; font-size: 12px;
color: rgba( 0, 0, 0, .6 ); color: rgba( 0, 0, 0, .6 );
} }

19
home.html

@ -146,6 +146,8 @@
<!-- TWISTDAY REMINDER MODULE --> <!-- TWISTDAY REMINDER MODULE -->
<div class="module twistday-reminder" style="display: none;"></div> <div class="module twistday-reminder" style="display: none;"></div>
<div class="module new-users" style="display: none;"></div>
</div> </div>
<!-- LADO ESQUERDO DE MÓDULOS END --> <!-- LADO ESQUERDO DE MÓDULOS END -->
@ -227,6 +229,23 @@
</div> </div>
</div> </div>
<!-- TEMPLATE OF NEW-USERS MODULE -->
<div id="new-users-template">
<div>
<h3 class="label">New Users</h3>
<small>.</small>
<a class="refresh-users">Refresh</a>
<small>.</small>
<a class="view-all-users" href="#newusers">View All</a>
<ol class="follow-suggestions">
<!-- use "follow-suggestion-template" here -->
</ol>
</div>
<div class="loading-roller">
<div></div>
</div>
</div>
<!-- TEMPLATE DE TOP TRENDS MODULE --> <!-- TEMPLATE DE TOP TRENDS MODULE -->
<div id="toptrends-template"> <div id="toptrends-template">
<div> <div>

43
js/interface_common.js

@ -741,22 +741,7 @@ function fillWhoToFollowModal(list, hlist, start) {
if (followingUsers.indexOf(utf) < 0 && list.indexOf(utf) < 0) { if (followingUsers.indexOf(utf) < 0 && list.indexOf(utf) < 0) {
list.push(utf); list.push(utf);
var item = itemTmp.clone(true); processWhoToFollowSuggestion(hlist, utf, followingUsers[i]);
item.find('.twister-user-info').attr('data-screen-name', utf);
item.find('.twister-user-name').attr('href', $.MAL.userUrl(utf));
item.find('.twister-by-user-name').attr('href', $.MAL.userUrl(followingUsers[i]));
item.find('.twister-user-tag').text('@' + utf);
getAvatar(utf, item.find('.twister-user-photo'));
getFullname(utf, item.find('.twister-user-full'));
getBioToElem(utf, item.find('.bio'));
getFullname(followingUsers[i], item.find('.followed-by').text(followingUsers[i]));
getStatusTime(utf, item.find('.latest-activity .time'));
item.find('.twister-user-remove').remove();
hlist.append(item);
} }
} }
} }
@ -782,12 +767,32 @@ function openWhoToFollowModal() {
modal.content.on('scroll', function() { modal.content.on('scroll', function() {
if (modal.content.scrollTop() >= hlist.height() - modal.content.height() - 20) { if (modal.content.scrollTop() >= hlist.height() - modal.content.height() - 20) {
if (!fillWhoToFollowModal(tmplist, hlist, tmplist.length)) if (!fillWhoToFollowModal(tmplist, modal.self, tmplist.length))
modal.content.off('scroll'); modal.content.off('scroll');
} }
}); });
fillWhoToFollowModal(tmplist, hlist, 0); fillWhoToFollowModal(tmplist, modal.self, 0);
}
function openNewUsersModal() {
var modal = openModal({
classAdd: 'new-users-modal',
title: polyglot.t('New Users')
});
var hlist = $('<ol class="follow-suggestions"></ol>')
.appendTo(modal.content);
var count = 10;
modal.content.on('scroll', function() {
if (modal.content.scrollTop() >= hlist.height() - modal.content.height() - 20) {
!getLastNUsers(5, count, modal.self);
count += 10;
}
});
getLastNUsers(10, 0, modal.self);
} }
function openModalUriShortener() function openModalUriShortener()
@ -1237,6 +1242,8 @@ function loadModalFromHash() {
openWhoToFollowModal(); openWhoToFollowModal();
else if (hashstring === '#/uri-shortener') else if (hashstring === '#/uri-shortener')
openModalUriShortener(); openModalUriShortener();
else if (hashstring === '#newusers')
openNewUsersModal();
} }
function initHashWatching() { function initHashWatching() {

28
js/interface_home.js

@ -100,6 +100,11 @@ var InterfaceFunctions = function() {
else else
killInterfaceModule('who-to-follow'); killInterfaceModule('who-to-follow');
if ($.Options.NewUsers.val === 'enable')
initNewUsers();
else
killInterfaceModule('new-users');
if ($.Options.TwistdayReminder.val === 'enable') if ($.Options.TwistdayReminder.val === 'enable')
initTwistdayReminder(); initTwistdayReminder();
else else
@ -200,6 +205,29 @@ function refreshWhoToFollow() {
} }
} }
function initNewUsers() {
var nus = initInterfaceModule('new-users');
if (nus.length) {
var nusRefresh = nus.find('.refresh-users');
nusRefresh.on('click', refreshNewUsers);
setTimeout(function() {nusRefresh.click();}, 100);
}
}
function refreshNewUsers() {
var module = $('.module.new-users');
var list = module.find('.follow-suggestions');
if (list.length) {
list.empty().hide();
module.find('.refresh-users').hide();
module.find('.loading-roller').show();
getLastNUsers(3, 0, module);
}
}
function initTwistdayReminder() { function initTwistdayReminder() {
var $module = initInterfaceModule('twistday-reminder'); var $module = initInterfaceModule('twistday-reminder');

39
js/interface_localization.js

@ -372,7 +372,8 @@ if(preferredLanguage == "en"){
"Favorites": "Favorites", "Favorites": "Favorites",
"You have to log in to favorite messages.": "You have to log in to favorite messages.", "You have to log in to favorite messages.": "You have to log in to favorite messages.",
"fav_this": "Is it for you only?", "fav_this": "Is it for you only?",
"Last activity": "Last activity" "Last activity": "Last activity",
"New Users": "New Users"
}; };
} }
if(preferredLanguage == "es"){ if(preferredLanguage == "es"){
@ -717,7 +718,8 @@ if(preferredLanguage == "es"){
"Favorites": "Favorites", "Favorites": "Favorites",
"You have to log in to favorite messages.": "You have to log in to favorite messages.", "You have to log in to favorite messages.": "You have to log in to favorite messages.",
"fav_this": "Is it for you only?", "fav_this": "Is it for you only?",
"Last activity": "Last activity" "Last activity": "Last activity",
"New Users": "New Users"
}; };
} }
@ -1061,7 +1063,8 @@ if(preferredLanguage == "uk"){
"Favorites": "Favorites", "Favorites": "Favorites",
"You have to log in to favorite messages.": "You have to log in to favorite messages.", "You have to log in to favorite messages.": "You have to log in to favorite messages.",
"fav_this": "Is it for you only?", "fav_this": "Is it for you only?",
"Last activity": "Last activity" "Last activity": "Last activity",
"New Users": "New Users"
}; };
} }
@ -1410,7 +1413,8 @@ if(preferredLanguage == "zh-CN"){
"Favorites": "Favorites", "Favorites": "Favorites",
"You have to log in to favorite messages.": "You have to log in to favorite messages.", "You have to log in to favorite messages.": "You have to log in to favorite messages.",
"fav_this": "Is it for you only?", "fav_this": "Is it for you only?",
"Last activity": "Last activity" "Last activity": "Last activity",
"New Users": "New Users"
}; };
} }
@ -1756,7 +1760,8 @@ if(preferredLanguage == "nl"){
"Favorites": "Favorites", "Favorites": "Favorites",
"You have to log in to favorite messages.": "You have to log in to favorite messages.", "You have to log in to favorite messages.": "You have to log in to favorite messages.",
"fav_this": "Is it for you only?", "fav_this": "Is it for you only?",
"Last activity": "Last activity" "Last activity": "Last activity",
"New Users": "New Users"
}; };
} }
@ -2100,7 +2105,8 @@ if(preferredLanguage == "it"){
"Favorites": "Favorites", "Favorites": "Favorites",
"You have to log in to favorite messages.": "You have to log in to favorite messages.", "You have to log in to favorite messages.": "You have to log in to favorite messages.",
"fav_this": "Is it for you only?", "fav_this": "Is it for you only?",
"Last activity": "Last activity" "Last activity": "Last activity",
"New Users": "New Users"
}; };
} }
@ -2445,7 +2451,8 @@ if(preferredLanguage == "fr"){
"users_favs": "Favorites of @%{username}", "users_favs": "Favorites of @%{username}",
"Favorites": "Favorites", "Favorites": "Favorites",
"You have to log in to favorite messages.": "You have to log in to favorite messages.", "You have to log in to favorite messages.": "You have to log in to favorite messages.",
"Last activity": "Last activity" "Last activity": "Last activity",
"New Users": "New Users"
}; };
} }
@ -2797,7 +2804,8 @@ if(preferredLanguage == "ru"){
"Favorites": "Favorites", "Favorites": "Favorites",
"You have to log in to favorite messages.": "You have to log in to favorite messages.", "You have to log in to favorite messages.": "You have to log in to favorite messages.",
"fav_this": "Is it for you only?", "fav_this": "Is it for you only?",
"Last activity": "Last activity" "Last activity": "Last activity",
"New Users": "New Users"
}; };
} }
@ -3145,7 +3153,8 @@ if(preferredLanguage == "de"){
"Favorites": "Favorites", "Favorites": "Favorites",
"You have to log in to favorite messages.": "You have to log in to favorite messages.", "You have to log in to favorite messages.": "You have to log in to favorite messages.",
"fav_this": "Is it for you only?", "fav_this": "Is it for you only?",
"Last activity": "Last activity" "Last activity": "Last activity",
"New Users": "New Users"
}; };
} }
@ -3488,7 +3497,8 @@ if(preferredLanguage == "ja"){
"Favorites": "Favorites", "Favorites": "Favorites",
"You have to log in to favorite messages.": "You have to log in to favorite messages.", "You have to log in to favorite messages.": "You have to log in to favorite messages.",
"fav_this": "Is it for you only?", "fav_this": "Is it for you only?",
"Last activity": "Last activity" "Last activity": "Last activity",
"New Users": "New Users"
}; };
} }
@ -3837,7 +3847,8 @@ if(preferredLanguage == "pt-BR"){
"Favorites": "Favorites", "Favorites": "Favorites",
"You have to log in to favorite messages.": "You have to log in to favorite messages.", "You have to log in to favorite messages.": "You have to log in to favorite messages.",
"fav_this": "Is it for you only?", "fav_this": "Is it for you only?",
"Last activity": "Last activity" "Last activity": "Last activity",
"New Users": "New Users"
}; };
} }
@ -4182,7 +4193,8 @@ if(preferredLanguage == "tr"){
"Favorites": "Favoriler", "Favorites": "Favoriler",
"You have to log in to favorite messages.": "İletileri favorine eklemek için giriş yapmalısın.", "You have to log in to favorite messages.": "İletileri favorine eklemek için giriş yapmalısın.",
"fav_this": "Sana özel mi?", "fav_this": "Sana özel mi?",
"Last activity": "Son etkinlik" "Last activity": "Son etkinlik",
"New Users": "Yeni Kullanıcılar"
}; };
} }
@ -4530,7 +4542,8 @@ if(preferredLanguage == "cs"){
"Favorites": "Favorites", "Favorites": "Favorites",
"You have to log in to favorite messages.": "You have to log in to favorite messages.", "You have to log in to favorite messages.": "You have to log in to favorite messages.",
"fav_this": "Is it for you only?", "fav_this": "Is it for you only?",
"Last activity": "Last activity" "Last activity": "Last activity",
"New Users": "New Users"
}; };
} }

4
js/options.js

@ -41,6 +41,10 @@ function twisterOptions() {
name: 'WhoToFollow', name: 'WhoToFollow',
valDefault: 'enable' valDefault: 'enable'
}); });
this.add({
name: 'NewUsers',
valDefault: 'enable'
});
this.add({ this.add({
name: 'TwistdayReminder', name: 'TwistdayReminder',
valDefault: 'enable', valDefault: 'enable',

62
js/twister_following.js

@ -15,6 +15,8 @@ var _searchKeypressTimer = undefined;
var _lastSearchUsersResults = []; var _lastSearchUsersResults = [];
var _lastSearchUsersResultsRemovedFromDHTgetQueue = true; var _lastSearchUsersResultsRemovedFromDHTgetQueue = true;
var _lastLoadFromDhtTime = 0; var _lastLoadFromDhtTime = 0;
var _lastProcessedBlock = -1;
var knownNewUsers = [];
var twisterFollowingO = undefined; var twisterFollowingO = undefined;
@ -427,6 +429,36 @@ function followingEmptyOrMyself() {
return (!followingUsers.length || (followingUsers.length === 1 && followingUsers[0] === defaultScreenName)) return (!followingUsers.length || (followingUsers.length === 1 && followingUsers[0] === defaultScreenName))
} }
function getLastNUsers(n,offset,module) {
for (var i = offset; i < knownNewUsers.length && i < offset + n; i++)
processWhoToFollowSuggestion(module, knownNewUsers[i]);
if (knownNewUsers.length >= n + offset)
return;
if (_lastProcessedBlock == -1)
requestBestBlock(processBlockUsers, {n: n, offset: offset, module: module});
else
requestNthBlock(_lastProcessedBlock - 1, processBlockUsers, {n: n, offset: offset, module: module});
}
function processBlockUsers(block, users){
_lastProcessedBlock = block.height;
if (knownNewUsers.length + block.usernames.length < users.n + users.offset)
setTimeout(function(){requestBlock(block.previousblockhash, processBlockUsers, users);}, 100);
for (var i = 0; i < block.usernames.length; i++) {
if (knownNewUsers.indexOf(block.usernames[i]) == -1) {
processWhoToFollowSuggestion(users.module, block.usernames[i]);
knownNewUsers.push(block.usernames[i]);
if (knownNewUsers.length >= users.n + users.offset)
break;
}
}
}
// randomly choose a user we follow, get "following1" from him and them // randomly choose a user we follow, get "following1" from him and them
// choose a suggestion from their list. this function could be way better, but // choose a suggestion from their list. this function could be way better, but
// that's about the simplest we may get to start with. // that's about the simplest we may get to start with.
@ -446,10 +478,11 @@ function getRandomFollowSuggestion() {
var suggested = false; var suggested = false;
var j = Math.floor(Math.random() * twisterFollowingO.followingsFollowings[followingUsers[i]].following.length); var j = Math.floor(Math.random() * twisterFollowingO.followingsFollowings[followingUsers[i]].following.length);
var module = $('.module.who-to-follow');
for( ; j < twisterFollowingO.followingsFollowings[followingUsers[i]].following.length; j++ ) { for( ; j < twisterFollowingO.followingsFollowings[followingUsers[i]].following.length; j++ ) {
if( followingUsers.indexOf(twisterFollowingO.followingsFollowings[followingUsers[i]].following[j]) < 0 && if( followingUsers.indexOf(twisterFollowingO.followingsFollowings[followingUsers[i]].following[j]) < 0 &&
_followSuggestions.indexOf(twisterFollowingO.followingsFollowings[followingUsers[i]].following[j]) < 0) { _followSuggestions.indexOf(twisterFollowingO.followingsFollowings[followingUsers[i]].following[j]) < 0) {
processWhoToFollowSuggestion(twisterFollowingO.followingsFollowings[followingUsers[i]].following[j], followingUsers[i]); processWhoToFollowSuggestion(module, twisterFollowingO.followingsFollowings[followingUsers[i]].following[j], followingUsers[i]);
_followSuggestions.push(twisterFollowingO.followingsFollowings[followingUsers[i]].following[j]); _followSuggestions.push(twisterFollowingO.followingsFollowings[followingUsers[i]].following[j]);
suggested = true; suggested = true;
break; break;
@ -501,26 +534,37 @@ function getWhoFollows(peerAlias, elem) {
; ;
} }
function processWhoToFollowSuggestion(suggestion, followedBy) { function processWhoToFollowSuggestion(module, suggestion, followedBy) {
if (suggestion) { if (suggestion) {
var module = $('.module.who-to-follow');
var list = module.find('.follow-suggestions'); var list = module.find('.follow-suggestions');
var item = $('#follow-suggestion-template').clone(true) var item = $('#follow-suggestion-template').clone(true)
.removeAttr('id'); .removeAttr('id');
item.find('.twister-user-info').attr('data-screen-name', suggestion); item.find('.twister-user-info').attr('data-screen-name', suggestion);
item.find('.twister-user-name').attr('href', $.MAL.userUrl(suggestion)); item.find('.twister-user-name').attr('href', $.MAL.userUrl(suggestion));
item.find('.twister-by-user-name').attr('href', $.MAL.userUrl(followedBy));
item.find('.twister-user-tag').text('@' + suggestion); item.find('.twister-user-tag').text('@' + suggestion);
getAvatar(suggestion, item.find('.twister-user-photo')); getAvatar(suggestion, item.find('.twister-user-photo'));
getFullname(followedBy, item.find('.followed-by').text(followedBy));
getStatusTime(suggestion, item.find('.latest-activity .time')); getStatusTime(suggestion, item.find('.latest-activity .time'));
item.find('.twister-user-remove').on('click', function() { if (module.hasClass('who-to-follow') || module.hasClass('who-to-follow-modal')) {
item.remove(); item.find('.twister-by-user-name').attr('href', $.MAL.userUrl(followedBy));
getRandomFollowSuggestion(); getFullname(followedBy, item.find('.followed-by').text(followedBy));
}); item.find('.twister-user-remove').on('click', function () {
item.remove();
getRandomFollowSuggestion();
});
}
else if (module.hasClass('new-users') || module.hasClass('new-users-modal')){
item.find('.followers').remove();
item.find('.twister-user-remove').remove();
}
if (module.hasClass('modal-wrapper')) {
getFullname(suggestion, item.find('.twister-user-full'));
getBioToElem(suggestion, item.find('.bio'));
item.find('.twister-user-remove').remove();
}
list.append(item).show(); list.append(item).show();
module.find('.refresh-users').show(); module.find('.refresh-users').show();

65
js/twister_network.js

@ -146,46 +146,59 @@ function requestBestBlock(cbFunc, cbArg) {
}, {}); }, {});
} }
function requestNthBlock(n, cbFunc, cbArg) {
twisterRpc("getblockhash", [n],
function(args, hash) {
requestBlock(hash, args.cbFunc, args.cbArg);
}, {cbFunc:cbFunc, cbArg:cbArg},
function(args, ret) {
console.log("getblockhash error");
}, {});
}
function requestBlock(hash, cbFunc, cbArg) { function requestBlock(hash, cbFunc, cbArg) {
twisterRpc("getblock", [hash], twisterRpc("getblock", [hash],
function(args, block) { function(args, block) {
twisterdLastBlockTime = block.time; //twisterdLastBlockTime = block.time;
$(".last-block-time").text( timeGmtToText(twisterdLastBlockTime) ); //$(".last-block-time").text( timeGmtToText(twisterdLastBlockTime) );
if( args.cbFunc ) if( args.cbFunc )
args.cbFunc(args.cbArg); args.cbFunc(block, args.cbArg);
}, {cbFunc:cbFunc, cbArg:cbArg}, }, {cbFunc:cbFunc, cbArg:cbArg},
function(args, ret) { function(args, ret) {
console.log("requestBlock error"); console.log("requestBlock error");
}, {}); }, {});
} }
function networkUpdate(cbFunc, cbArg) { function networkUpdate(cbFunc, cbArg) {
requestNetInfo(function () { requestNetInfo(function () {
requestBestBlock(function(args) { requestBestBlock(function(block, args) {
var curTime = new Date().getTime() / 1000;
if( twisterdConnections ) { twisterdLastBlockTime = block.time;
if( twisterdLastBlockTime > curTime + 3600 ) { $(".last-block-time").text( timeGmtToText(twisterdLastBlockTime) );
$.MAL.setNetworkStatusMsg(polyglot.t("Last block is ahead of your computer time, check your clock."), false);
twisterdConnectedAndUptodate = false; var curTime = new Date().getTime() / 1000;
} else if( twisterdLastBlockTime > curTime - (2 * 3600) ) { if (twisterdConnections) {
if( twisterDhtNodes ) { if (twisterdLastBlockTime > curTime + 3600) {
$.MAL.setNetworkStatusMsg(polyglot.t("Block chain is up-to-date, twister is ready to use!"), true); $.MAL.setNetworkStatusMsg(polyglot.t("Last block is ahead of your computer time, check your clock."), false);
twisterdConnectedAndUptodate = true; twisterdConnectedAndUptodate = false;
} else { } else if (twisterdLastBlockTime > curTime - (2 * 3600)) {
$.MAL.setNetworkStatusMsg(polyglot.t("DHT network down."), false); if (twisterDhtNodes) {
twisterdConnectedAndUptodate = true; $.MAL.setNetworkStatusMsg(polyglot.t("Block chain is up-to-date, twister is ready to use!"), true);
} twisterdConnectedAndUptodate = true;
} else { } else {
var daysOld = (curTime - twisterdLastBlockTime) / (3600*24); $.MAL.setNetworkStatusMsg(polyglot.t("DHT network down."), false);
$.MAL.setNetworkStatusMsg(polyglot.t("downloading_block_chain", { days: daysOld.toFixed(2) }), false); twisterdConnectedAndUptodate = true;
// don't alarm user if blockchain is just a little bit behind }
twisterdConnectedAndUptodate = (daysOld < 2); } else {
var daysOld = (curTime - twisterdLastBlockTime) / (3600 * 24);
$.MAL.setNetworkStatusMsg(polyglot.t("downloading_block_chain", {days: daysOld.toFixed(2)}), false);
// don't alarm user if blockchain is just a little bit behind
twisterdConnectedAndUptodate = (daysOld < 2);
}
} }
} if (args.cbFunc)
if( args.cbFunc ) args.cbFunc(args.cbArg);
args.cbFunc(args.cbArg)
}, {cbFunc:cbFunc, cbArg:cbArg} ); }, {cbFunc:cbFunc, cbArg:cbArg} );
}); });
} }

11
options.html

@ -353,6 +353,17 @@
</form> </form>
</div> </div>
</div> </div>
<div class="module">
<p class="label label-h"> New Users </p>
<div class="container">
<form>
<select id="NewUsers">
<option value="enable">Enable</option>
<option value="disable">Disable</option>
</select>
</form>
</div>
</div>
<div class="module"> <div class="module">
<p class="label label-h"> Twistday Reminder </p> <p class="label label-h"> Twistday Reminder </p>
<div class="container"> <div class="container">

29
theme_calm/css/style.css

@ -1024,12 +1024,12 @@ textarea.splited-post {
/*********************************** /***********************************
********************* WHO TO FOLLOW ********************* WHO TO FOLLOW
***********************************/ ***********************************/
.who-to-follow .who-to-follow,
{ .new-users {
padding: 10px; padding: 10px;
} }
.who-to-follow h3 .who-to-follow h3,
{ .new-users h3 {
display: inline; display: inline;
} }
.twister-user .twister-user
@ -2345,19 +2345,23 @@ textarea.splited-post {
********* WHO TO FOLLOW MODAL ******** ********* WHO TO FOLLOW MODAL ********
**************************************/ **************************************/
.who-to-follow-modal .modal-content { .who-to-follow-modal .modal-content,
.new-users-modal .modal-content {
padding: 15px; padding: 15px;
} }
.who-to-follow-modal ol { .who-to-follow-modal ol,
.new-users-modal ol {
margin: 5px; margin: 5px;
} }
.who-to-follow-modal .open-profile-modal:hover { .who-to-follow-modal .open-profile-modal:hover,
.new-users-modal .open-profile-modal span:hover {
text-decoration: none; text-decoration: none;
} }
.who-to-follow-modal .open-profile-modal span { .who-to-follow-modal .open-profile-modal span,
.new-users-modal .open-profile-modal span {
vertical-align: middle; vertical-align: middle;
} }
@ -2365,16 +2369,19 @@ textarea.splited-post {
text-decoration: underline; text-decoration: underline;
} }
.who-to-follow-modal .follow { .who-to-follow-modal .follow,
.new-users-modal .follow {
float: right; float: right;
margin: -30px 10px 0 10px; margin: -30px 10px 0 10px;
} }
.who-to-follow-modal .twister-user-info span { .who-to-follow-modal .twister-user-info span,
.new-users-modal .twister-user-info span {
vertical-align: bottom; vertical-align: bottom;
} }
.who-to-follow-modal .bio { .who-to-follow-modal .bio,
.new-users-modal .bio {
font-size: 12px; font-size: 12px;
color: rgba( 0, 0, 0, .6 ); color: rgba( 0, 0, 0, .6 );
} }

41
theme_nin/css/style.css

@ -2159,27 +2159,32 @@ textarea.splited-post {
/******** WHO TO FOLLOW ********/ /******** WHO TO FOLLOW ********/
/* line 411, ../sass/style.sass */ /* line 411, ../sass/style.sass */
.who-to-follow.module { .who-to-follow.module,
.new-users.module {
width: inherit; width: inherit;
margin-bottom: 20px; margin-bottom: 20px;
} }
/* line 414, ../sass/style.sass */ /* line 414, ../sass/style.sass */
.who-to-follow small { .who-to-follow small,
.new-users small {
display: none; display: none;
} }
/* line 416, ../sass/style.sass */ /* line 416, ../sass/style.sass */
.who-to-follow h3 { .who-to-follow h3,
.new-users h3 {
float: left; float: left;
} }
/* line 418, ../sass/style.sass */ /* line 418, ../sass/style.sass */
.who-to-follow ol { .who-to-follow ol,
.new-users ol {
clear: both; clear: both;
} }
.who-to-follow .twister-user-info { .who-to-follow .twister-user-info,
.new-users .twister-user-info {
margin-top: 8px; margin-top: 8px;
} }
@ -3130,45 +3135,53 @@ ol.toptrends-list a:hover {
/******* WHO TO FOLLOW MODAL****** */ /******* WHO TO FOLLOW MODAL****** */
/* line 943, ../sass/style.sass */ /* line 943, ../sass/style.sass */
.modal-wrapper.who-to-follow-modal { .modal-wrapper.who-to-follow-modal,
.modal-wrapper.new-users-modal {
width: 520px; width: 520px;
height: 580px; height: 580px;
margin: -290px 0 0 -260px; margin: -290px 0 0 -260px;
} }
/* line 949, ../sass/style.sass */ /* line 949, ../sass/style.sass */
.who-to-follow-modal .modal-content { .who-to-follow-modal .modal-content,
.new-users-modal .modal-content {
padding: 15px; padding: 15px;
} }
/* line 955, ../sass/style.sass */ /* line 955, ../sass/style.sass */
.who-to-follow-modal ol { .who-to-follow-modal ol,
.new-users-modal ol {
margin: 5px; margin: 5px;
} }
/* line 958, ../sass/style.sass */ /* line 958, ../sass/style.sass */
.who-to-follow-modal .open-profile-modal:hover { .who-to-follow-modal .open-profile-modal:hover,
.new-users-modal .open-profile-modal:hover {
text-decoration: none; text-decoration: none;
} }
/* line 960, ../sass/style.sass */ /* line 960, ../sass/style.sass */
.who-to-follow-modal .twister-user { .who-to-follow-modal .twister-user,
position: relative; .new-users-modal .twister-user {
position: relative;
padding: 5px; padding: 5px;
} }
/* line 963, ../sass/style.sass */ /* line 963, ../sass/style.sass */
.who-to-follow-modal .twister-user-photo { .who-to-follow-modal .twister-user-photo,
.new-users-modal .twister-user-photo {
position: relative; position: relative;
left: 0; left: 0;
float: left; float: left;
display: block; display: block;
} }
/* line 968, ../sass/style.sass */ /* line 968, ../sass/style.sass */
.who-to-follow-modal .twister-user-info { .who-to-follow-modal .twister-user-info,
.new-users-modal .twister-user-info {
position: relative; position: relative;
margin-top: 4px; margin-top: 4px;
padding-left: 70px; padding-left: 70px;
width: auto; width: auto;
} }
/* line 972, ../sass/style.sass */ /* line 972, ../sass/style.sass */
.who-to-follow-modal .bio { .who-to-follow-modal .bio,
.new-users-modal .bio {
color: rgba(0, 0, 0, 0.6); color: rgba(0, 0, 0, 0.6);
font-style: italic; font-style: italic;
} }

Loading…
Cancel
Save