Browse Source

The Fastest In Town Orchestra. Mess-O-Rama Music Vol. 1: Living Through This

master
Simon Grim 10 years ago
parent
commit
c95e3d14bd
  1. 36
      css/profile.css
  2. 378
      css/style.css
  3. 55
      following.html
  4. 64
      home.html
  5. 1701
      js/interface_common.js
  6. 65
      js/interface_home.js
  7. 1
      js/interface_localization.js
  8. 24
      js/interface_login.js
  9. 23
      js/jQueryPlugins.js
  10. 2
      js/options.js
  11. 16
      js/tmobile.js
  12. 19
      js/twister_actions.js
  13. 93
      js/twister_directmsg.js
  14. 194
      js/twister_following.js
  15. 67
      js/twister_formatpost.js
  16. 37
      login.html
  17. 35
      theme_calm/css/profile.css
  18. 561
      theme_calm/css/style.css
  19. 265
      theme_nin/css/style.css
  20. 14
      theme_nin/js/theme_option.js
  21. 220
      theme_nin/sass/style.sass

36
css/profile.css

@ -55,7 +55,7 @@
} }
.profile-card-main h2 .profile-card-main h2
{ {
color: #fff; color: #fff;
} }
.profile-card-buttons .profile-card-buttons
@ -137,7 +137,7 @@
.forEdition .profile-card-main input:focus, .forEdition .profile-card-main input:focus,
.forEdition .profile-card-photo:hover .forEdition .profile-card-photo:hover
{ {
background: rgba( 0, 0, 0, .3 ); background: rgba( 0, 0, 0, .3 );
} }
.input-description .input-description
{ {
@ -168,23 +168,18 @@
************ PROFILE MODAL *********** ************ PROFILE MODAL ***********
**************************************/ **************************************/
.profile-modal .modal-wrapper .modal-wrapper.profile-modal {
{
width: 580px; width: 580px;
border-radius: 5px; height: 760px;
overflow: hidden; margin: -380px 0 0 -290px;
position: absolute;
top:5%;
height: 90%;
margin-left: -290px;
} }
.profile-modal .modal-content
{ .profile-modal .modal-content {
padding: 3px; height: 730px;
height: 100%;
overflow-y: hidden; overflow-y: hidden;
padding: 3px;
} }
#msngrswr { #msngrswr {
display: none; display: none;
margin-top: 20px; margin-top: 20px;
@ -255,18 +250,17 @@
.profile-modal .profile-bitmessage { .profile-modal .profile-bitmessage {
background: #e3e5ea url(../img/bm.png) center no-repeat; background: #e3e5ea url(../img/bm.png) center no-repeat;
} }
.profile-modal .profile-data
{ .profile-modal .profile-data {
display: inline-block; display: inline-block;
margin-left: -4px;
border-bottom: 0; border-bottom: 0;
} }
.profile-modal .postboard
{ .profile-modal .postboard {
margin-left: 0; margin-left: 0;
padding: 5px 0 5px 0; padding: 5px 0 5px 0;
height: 73%;
} }
.profile-modal .postboard h2 .profile-modal .postboard h2
{ {
width: auto; width: auto;

378
css/style.css

@ -23,8 +23,8 @@ b, u, i, center,
dl, dt, dd, ol, ul, li, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup, figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary, menu, nav, output, ruby, section, summary,
time, mark, audio, video, textarea time, mark, audio, video, textarea
{ {
@ -422,11 +422,11 @@ button.follow:hover, button.unfollow:hover, .following-list button.private:hover
} }
.userMenu-search-sugestions .userMenu-search-sugestions
{ {
border-bottom: solid 1px rgba( 69, 71, 77, .1 ); border-bottom: solid 1px rgba( 69, 71, 77, .1 );
} }
.userMenu-search-sugestions a .userMenu-search-sugestions a
{ {
color: rgba( 0, 0, 0, .7 ); color: rgba( 0, 0, 0, .7 );
padding: 5px 20px; padding: 5px 20px;
font-size: 12px; font-size: 12px;
display: block; display: block;
@ -452,7 +452,7 @@ button.follow:hover, button.unfollow:hover, .following-list button.private:hover
{ {
font-size: 12px; font-size: 12px;
font-weight: bold; font-weight: bold;
color: rgba( 0, 0, 0, .7 ); color: rgba( 0, 0, 0, .7 );
padding: 0 75px 0 15px; padding: 0 75px 0 15px;
} }
/*********************************** /***********************************
@ -486,7 +486,7 @@ button.follow:hover, button.unfollow:hover, .following-list button.private:hover
} }
.following-list .mini-profile-name .following-list .mini-profile-name
{ {
padding: 5px 5px 5px 5px; padding: 5px 5px 5px 5px;
} }
.profile-data .profile-data
{ {
@ -568,12 +568,12 @@ button.follow:hover, button.unfollow:hover, .following-list button.private:hover
} }
.mini-profile-actions ul li + li .mini-profile-actions ul li + li
{ {
margin: 0 2px; margin: 0 2px;
} }
.mini-profile-actions:hover ul li:hover .mini-profile-actions:hover ul li:hover
{ {
background: rgba( 0, 0, 0, .7 ); background: rgba( 0, 0, 0, .7 );
color: #fff; color: #fff;
} }
.mini-profile-info a:hover .mini-profile-info a:hover
{ {
@ -896,11 +896,7 @@ ol.toptrends-list {
background: #e34f42; background: #e34f42;
width: 100%; width: 100%;
} }
.postboard h2.fixed
{
z-index: 2;
border-top: solid 4px #fbf9f6;
}
.postboard-posts .postboard-posts
{ {
position: relative; position: relative;
@ -954,7 +950,7 @@ ol.toptrends-list {
} }
.postboard-posts > .post:after .postboard-posts > .post:after
{ {
content: ""; content: "";
position: absolute; position: absolute;
right: 0; right: 0;
top: 0; top: 0;
@ -1388,55 +1384,49 @@ ol.toptrends-list {
************* POPUP MODAL ************ ************* POPUP MODAL ************
**************************************/ **************************************/
.modal-blackout .modal-wrapper {
{ background: #fff;
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
background: rgba( 0, 0, 0, .6 );
display: none;
z-index: 3; z-index: 3;
} position: fixed;
.modal-blackout.reply .post top: 50%;
{ left: 50%;
background: #ececed;
padding: 10px 15px;
}
.modal-wrapper
{
width: 580px; width: 580px;
border-radius: 5px; height: 720px;
overflow: hidden; overflow: hidden;
position: absolute; margin: -360px 0 0 -290px;
top:10%; border-radius: 5px;
left: 50%;
height: 80%;
margin-left: -290px;
box-shadow: 10px 12px 18px 0px rgba(0,0,0, .3); box-shadow: 10px 12px 18px 0px rgba(0,0,0, .3);
background: rgba( 255, 255,255, 1.0 );
z-index: 3;
}
.modal-content{
height: 100%;
overflow-y: auto;
} }
.modal-header .modal-header {
{ background: #e34f42;
position: relative; position: relative;
height: 30px;
} }
.modal-header h3
{ .modal-header h3 {
color: #fff;
padding: 5px 10px; padding: 5px 10px;
font-weight: bold; font-weight: bold;
background: #e34f42;
color: #fff;
} }
.modal-close
{ .modal-wrapper .modal-content {
background: #fff;
height: 690px;
overflow-y: auto;
}
.modal-wrapper .modal-blackout {
background: rgba(0,0,0, .6);
z-index: -1;
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.modal-close {
position: absolute; position: absolute;
right: 0; right: 0;
top: 0; top: 0;
@ -1445,13 +1435,14 @@ ol.toptrends-list {
color: rgba( 255, 255, 255, .7 ); color: rgba( 255, 255, 255, .7 );
font-weight: bold; font-weight: bold;
border-left: solid 1px rgba( 255, 255, 255, .3 ); border-left: solid 1px rgba( 255, 255, 255, .3 );
transition: all .1s linear; transition: all .1s linear;
} }
.modal-close:hover
{ .modal-close:hover {
color: #fff; color: #fff;
background: rgba( 0, 0, 0, .1 ); background: rgba( 0, 0, 0, .1 );
} }
.modal-back, .modal-back,
.mark-all-as-read { .mark-all-as-read {
position: absolute; position: absolute;
@ -1463,45 +1454,30 @@ ol.toptrends-list {
font-weight: bold; font-weight: bold;
border-left: solid 1px rgba( 255, 255, 255, .3 ); border-left: solid 1px rgba( 255, 255, 255, .3 );
transition: all .1s linear; transition: all .1s linear;
display: none; display: none;
} }
.modal-back:hover, .modal-back:hover,
.mark-all-as-read:hover { .mark-all-as-read:hover {
color: #fff; color: #fff;
background: rgba( 0, 0, 0, .1 ); background: rgba( 0, 0, 0, .1 );
} }
.modal-buttons
{ .modal-wrapper.reply .post {
padding: 10px; background: #ececed;
text-align: right; padding: 10px 15px;
}
.modal-buttons button:last-child
{
padding: 5px 20px;
} }
/************************************* /*************************************
****************** DIRECT MESSAGES MODAL ******** DIRECT MESSAGES MODAL *******
**************************************/ **************************************/
.directMessages .modal-wrapper
{ .direct-messages-list .post {
overflow-y: auto;
}
.directMessages .modal-content
{
height: auto;
}
.directMessages .modal-buttons
{
display: none;
}
.direct-messages-list .post
{
padding: 10px 30px 10px 15px; padding: 10px 30px 10px 15px;
cursor: pointer; cursor: pointer;
} }
.direct-messages-list .post:after
{ .direct-messages-list .post:after {
content: "►"; content: "►";
position: absolute; position: absolute;
right: 10px; right: 10px;
@ -1509,48 +1485,48 @@ ol.toptrends-list {
margin: -6px 0 0 0; margin: -6px 0 0 0;
color: rgba( 0, 0, 0, .4 ); color: rgba( 0, 0, 0, .4 );
} }
.direct-messages-thread
{ .direct-messages-thread {
padding: 10px; padding: 10px;
} }
.direct-messages-thread .post
{ .direct-messages-thread .post {
min-height: 82px; min-height: 82px;
margin-left: 65px; margin-left: 65px;
} }
.direct-messages-thread .post:after, .direct-messages-thread .post:after,
.direct-messages-thread .post:nth-child(2n):after .direct-messages-thread .post:nth-child(2n):after {
{
content: ""; content: "";
width: 1px; width: 1px;
background: transparent; background: transparent;
position: absolute; position: absolute;
top: 25px; top: 25px;
} }
.direct-messages-thread .post:after
{ .direct-messages-thread .post:after {
border-top: solid 10px transparent; border-top: solid 10px transparent;
border-bottom: solid 10px transparent; border-bottom: solid 10px transparent;
border-right: solid 10px #ececed; border-right: solid 10px #ececed;
left: -10px; left: -10px;
} }
.direct-messages-thread .post-text
{ .direct-messages-thread .post-text {
margin: 2px 10px 4px 4px; margin: 2px 10px 4px 4px;
word-wrap: break-word; word-wrap: break-word;
} }
.direct-messages-thread .post-photo
{ .direct-messages-thread .post-photo {
position: absolute; position: absolute;
left: -65px; left: -65px;
} }
.direct-messages-thread .post.sent
{ .direct-messages-thread .post.sent {
margin-right: 60px; margin-right: 60px;
margin-left: 0; margin-left: 0;
} }
.direct-messages-thread .post.sent:after
{ .direct-messages-thread .post.sent:after {
border-top: solid 10px transparent; border-top: solid 10px transparent;
border-bottom: solid 10px transparent; border-bottom: solid 10px transparent;
border-right: none; border-right: none;
@ -1558,186 +1534,174 @@ ol.toptrends-list {
right: -10px; right: -10px;
left: auto; left: auto;
} }
.direct-messages-thread .post.sent .post-text
{ .direct-messages-thread .post.sent .post-text {
margin: 2px 10px 4px 4px; margin: 2px 10px 4px 4px;
} }
.direct-messages-thread .post.sent .post-photo
{ .direct-messages-thread .post.sent .post-photo {
position: absolute; position: absolute;
right: -65px; right: -65px;
left: auto; left: auto;
} }
.mark-all-as-read { .mark-all-as-read {
right: 60px; right: 60px;
} }
.mark-all-as-read:before { .mark-all-as-read:before {
content: '\2714'; content: '\2714';
} }
/************************************* /*************************************
****************** NEW USER MODAL *********** NEW USER MODAL ***********
**************************************/ **************************************/
.new-user .modal-wrapper
{ .new-user.modal-wrapper {
top: 50%;
width: 720px; width: 720px;
height: 400px; height: 580px;
margin: -200px 0 0 -360px; margin: -290px 0 0 -360px;
overflow-x: hidden;
overflow-y: hidden;
} }
.new-user .modal-content
{ .new-user .modal-content {
margin: 10px 10px 10px 10px; height: 550px;
padding: 25px;
} }
.new-user .modal-buttons,
.new-user .modal-close .new-user .modal-close {
{
display: none; display: none;
} }
.new-user .text
{ .new-user .text {
margin: 0 0 15px 0; margin: 0 0 15px 0;
} }
.new-user .emphasis
{ .new-user .emphasis {
font-size: 18px; font-size: 18px;
text-align: center; text-align: center;
} }
.new-user .secret-key
{ .new-user .secret-key {
color: rgba( .5, 0, 0, 1.0 ); color: rgba(.5,0,0, 1.0);
font-weight: bold; font-weight: bold;
} }
/************************************* /*************************************
****************** HASHTAG MODAL ************ HASHTAG MODAL ***********
*************************************/ **************************************/
.hashtag-modal .modal-buttons .hashtag-modal .postboard {
{
display: none;
}
.hashtag-modal .postboard
{
margin-left: 0; margin-left: 0;
} }
/************************************* /*************************************
****************** CONVERSATION MODAL ********* CONVERSATION MODAL *********
*************************************/ **************************************/
.conversation-modal .modal-buttons .conversation-modal .postboard {
{
display: none;
}
.conversation-modal .postboard
{
margin-left: 0; margin-left: 0;
} }
/************************************* /*************************************
****************** FOLLOWING MODAL ********** FOLLOWING MODAL ***********
************************************/ **************************************/
.following-modal .modal-buttons .following-modal ol {
{
display: none;
}
.following-modal ol
{
margin: 5px; margin: 5px;
} }
.following-modal .open-profile-modal:hover
{ .following-modal .open-profile-modal:hover {
text-decoration: none; text-decoration: none;
} }
.following-modal .open-profile-modal img
{ .following-modal .open-profile-modal img {
float: none; float: none;
} }
.following-modal .open-profile-modal span
{ .following-modal .open-profile-modal span {
vertical-align: middle; vertical-align: middle;
} }
.following-modal .open-profile-modal span:hover
{ .following-modal .open-profile-modal span:hover {
text-decoration: underline; text-decoration: underline;
} }
/************************************* /*************************************
******************* WHO TO FOLLOW MODAL ********* WHO TO FOLLOW MODAL ********
*************************************/ **************************************/
.who-to-follow-modal .modal-buttons
{ .who-to-follow-modal ol {
display: none;
}
.who-to-follow-modal ol
{
margin: 5px; margin: 5px;
} }
.who-to-follow-modal .open-profile-modal:hover
{ .who-to-follow-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 {
vertical-align: middle; vertical-align: middle;
} }
.who-to-follow-modal .open-profile-modal span:hover
{ .who-to-follow-modal .open-profile-modal span:hover {
text-decoration: underline; text-decoration: underline;
} }
.who-to-follow-modal .follow
{ .who-to-follow-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 {
vertical-align: bottom; vertical-align: bottom;
} }
.who-to-follow-modal .bio
{ .who-to-follow-modal .bio {
font-size: 12px; font-size: 12px;
color: rgba( 0, 0, 0, .6 ); color: rgba( 0, 0, 0, .6 );
} }
/************************************* /*************************************
****************** POPUP PROMPT ****** ************ POPUP PROMPT ************
**************************************/ **************************************/
.prompt-wrapper .prompt-wrapper {
{
position: fixed;
top: 50%;
left: 50%;
background: #fff; background: #fff;
z-index: 5;
position: fixed;
top: 50%;
left: 50%;
width: 600px;
margin-left: -300px;
box-shadow: 10px 12px 18px 0px rgba(0,0,0, .3); box-shadow: 10px 12px 18px 0px rgba(0,0,0, .3);
z-index: 5;
width: 600px;
margin-left:-300px;
} }
.prompt-wrapper .modal-header h3{ .prompt-wrapper .modal-buttons {
background: #E34F42; padding: 10px;
text-align: right;
}
.prompt-wrapper .modal-buttons button:last-child {
padding: 5px 20px;
} }
/************************************* /*************************************
****** FOLLOWING-CONFIG PROMPT ******* ****** FOLLOWING-CONFIG PROMPT *******
**************************************/ **************************************/
.following-config-modal .following-config-modal.prompt-wrapper {
{
margin-top: -80px; margin-top: -80px;
} }
.following-config-modal .modal-content
{ .following-config-modal .modal-content {
padding: 10px; padding: 10px;
text-align: center; text-align: center;
} }
.following-config-modal .modal-buttons
{ .following-config-modal .modal-buttons {
display: none; display: none;
} }
.following-config-method-buttons
{ .following-config-method-buttons {
padding: 10px; padding: 10px;
} }
@ -1745,15 +1709,15 @@ ol.toptrends-list {
******** RETWIST POSTS PROMPT ******** ******** RETWIST POSTS PROMPT ********
**************************************/ **************************************/
.reTwist .reTwist.prompt-wrapper {
{
margin-top: -100px; margin-top: -100px;
} }
.reTwist .post-expand, .reTwist .post-expand,
.reTwist .post-interactions .reTwist .post-interactions {
{
display: none; display: none;
} }
.reTwist .post { .reTwist .post {
margin: 5px; margin: 5px;
padding: 5px; padding: 5px;
@ -1761,34 +1725,32 @@ ol.toptrends-list {
} }
/************************************* /*************************************
****************** REPLY POSTS PROMPT ********* REPLY POSTS PROMPT *********
**************************************/ **************************************/
.reply .reply.prompt-wrapper {
{
margin-top: -140px; margin-top: -140px;
} }
.reply .modal-buttons
{ .reply .modal-buttons {
display: none; display: none;
} }
.reply .post-expand, .reply .post-expand,
.reply .post-interactions .reply .post-interactions {
{
display: none; display: none;
} }
.reply .textcomplete-wrapper{ .reply .textcomplete-wrapper {
padding-top: 10px; padding-top: 10px;
} }
.reply .textcomplete-wrapper textarea{ .reply .textcomplete-wrapper textarea {
margin: 10px; margin: 10px;
width: 580px; width: 580px;
} }
.reply .post-area-extras .reply .post-area-extras {
{
margin-right: 10px; margin-right: 10px;
} }

55
following.html

@ -37,10 +37,8 @@
<link rel="icon" type="image/png" href="img/twister_mini.png" /> <link rel="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"><span class="selectable_theme theme_original label">Home</span></a></li> <li class="userMenu-home"><a href="home.html"><span class="selectable_theme theme_original label">Home</span></a></li>
@ -78,7 +76,6 @@
<!-- BUSCA --> <!-- BUSCA -->
<li class="userMenu-search"> <li class="userMenu-search">
<input type="text" class="userMenu-search-field" placeholder="search"/> <input type="text" class="userMenu-search-field" placeholder="search"/>
<div class="search-results dialog-modal"> <div class="search-results dialog-modal">
<ul class="userMenu-search-sugestions" style="display: none;"> <ul class="userMenu-search-sugestions" style="display: none;">
<li><a href="#">Fulano</a></li> <li><a href="#">Fulano</a></li>
@ -98,25 +95,17 @@
</li> </li>
</ul> </ul>
</div> </div>
</li> </li>
</ul> </ul>
</nav> </nav>
<!-- MENU SUPERIOR END --> <!-- MENU SUPERIOR END -->
<div class="wrapper"> <div class="wrapper">
<!-- LADO ESQUERDO DE MÓDULOS INIT --> <!-- LADO ESQUERDO DE MÓDULOS INIT -->
<div class="dashboard left"> <div class="dashboard left">
<!-- PROFILE MODULE INIT --> <!-- PROFILE MODULE INIT -->
<div class="module mini-profile selectable_theme theme_nin"> <div class="module mini-profile selectable_theme theme_nin">
<div class="mini-profile-info"> <div class="mini-profile-info">
<!-- THEME NIN added user menu (mentions, messages and edit profile) --> <!-- THEME NIN added user menu (mentions, messages and edit profile) -->
<ul class="mini-profile-indicators selectable_theme theme_nin"> <ul class="mini-profile-indicators selectable_theme theme_nin">
<li class="userMenu-connections"> <li class="userMenu-connections">
@ -129,8 +118,6 @@
<a href="profile-edit.html" title="Edit profile"><span>Edit profile</span></a> <a href="profile-edit.html" title="Edit profile"><span>Edit profile</span></a>
</li> </li>
</ul> </ul>
<div class="mini-profile-photo"><img src="img/grayed_avatar_placeholder_24.png" alt="user-photo"/></div> <div class="mini-profile-photo"><img src="img/grayed_avatar_placeholder_24.png" alt="user-photo"/></div>
<a href="#" class="mini-profile-name open-profile-modal"></a> <a href="#" class="mini-profile-name open-profile-modal"></a>
<span class="mini-profile-view">View</span> <span class="mini-profile-view">View</span>
@ -140,13 +127,11 @@
<li class="current"><a href="following.html" class="open-following-page"><span class="following-count">&nbsp;</span><span class="label">Following</span></a></li> <li class="current"><a href="following.html" class="open-following-page"><span class="following-count">&nbsp;</span><span class="label">Following</span></a></li>
<li><a href="#" class="open-followers"><span class="followers-count">&nbsp;</span><span class="label">Followers</span> *</a></li> <li><a href="#" class="open-followers"><span class="followers-count">&nbsp;</span><span class="label">Followers</span> *</a></li>
</ul> </ul>
</div> </div>
<!-- PROFILE MODULE INIT --> <!-- PROFILE MODULE INIT -->
</div> </div>
<!-- LADO ESQUERDO DE MÓDULOS INIT -->
<!-- LADO ESQUERDO DE MÓDULOS INIT -->
<div class="following"> <div class="following">
<h2 class="header-bold"> Following </h2> <h2 class="header-bold"> Following </h2>
@ -196,13 +181,10 @@
</div> </div>
</div> </div>
<!-- LADO ESQUERDO DE MÓDULOS END --> <!-- LADO ESQUERDO DE MÓDULOS END -->
</div> </div>
<!-- TEMPLATES INIT --> <!-- TEMPLATES INIT -->
<div id="templates" style="display:none;"> <div id="templates" style="display:none;">
<!-- TEMPLATE DE WHO-TO-FOLLOW SUGGESTION --> <!-- TEMPLATE DE WHO-TO-FOLLOW SUGGESTION -->
<li id="follow-suggestion-template" class="twister-user"> <li id="follow-suggestion-template" class="twister-user">
<div class=""> <div class="">
@ -288,33 +270,25 @@
<!-- template for user links in message (open profile modal) --> <!-- template for user links in message (open profile modal) -->
<a id="hashtag-link-template" class="open-hashtag-modal"></a> <a id="hashtag-link-template" class="open-hashtag-modal"></a>
<!-- template para ir dentro de avatar-row --> <!-- template para ir dentro de avatar-row -->
<a id="avatar-row-template" class="open-profile-modal" href=""> <a id="avatar-row-template" class="open-profile-modal" href="">
<img class="size24" src="img/grayed_avatar_placeholder_24.png" alt="user-photo"/> <img class="size24" src="img/grayed_avatar_placeholder_24.png" alt="user-photo"/>
<span class="user-name-tooltip"></span> <span class="user-name-tooltip"></span>
</a> </a>
<li class="descendant module post"> <li class="descendant module post">
</li> </li>
<!-- TEMPLATE INVÓLUCRO DO POST EXPANDIDO END --> <!-- TEMPLATE INVÓLUCRO DO POST EXPANDIDO END -->
<!-- TEMPLATE DO MODAL GENÉRICO INIT --> <!-- TEMPLATE DO MODAL GENÉRICO INIT -->
<div class="modal-blackout cancel"> <div class="modal-wrapper">
<div class="modal-wrapper">
<div class="modal-header"> <div class="modal-header">
<h3></h3> <h3></h3>
<span id="closeModal" class="modal-close cancel">&times;</span> <span id="closeModal" class="modal-close cancel">&times;</span>
<span class="modal-back">&lt;</span> <span class="modal-back" onClick="history.back();">&lt;</span>
<span class="mark-all-as-read"></span> <span class="mark-all-as-read"></span>
</div> </div>
<div class="modal-content"></div> <div class="modal-content"></div>
<div class="modal-buttons"> <div class="modal-blackout cancel"></div>
<button class="modal-cancel cancel">Cancel</button>
<button class="modal-propagate">Retransmit</button>
</div>
</div>
</div> </div>
<!-- TEMPLATE DO MODAL GENÉRICO END --> <!-- TEMPLATE DO MODAL GENÉRICO END -->
@ -371,7 +345,6 @@
<p class="post-text"></p> <p class="post-text"></p>
</li> </li>
<div class="messages-thread-template"> <div class="messages-thread-template">
<ol class="direct-messages-thread"> <ol class="direct-messages-thread">
<!-- use "dm-chat-template" here --> <!-- use "dm-chat-template" here -->
@ -397,7 +370,6 @@
</div> </div>
<!-- MODAL DE DIRECT MESSAGES INIT --> <!-- MODAL DE DIRECT MESSAGES INIT -->
<!-- MODAL DE PROFILE --> <!-- MODAL DE PROFILE -->
<div id="profile-modal-template"> <div id="profile-modal-template">
<!-- ÁREA DE PROFILE PHOTO INIT --> <!-- ÁREA DE PROFILE PHOTO INIT -->
@ -457,10 +429,8 @@
</div> </div>
<!-- MODAL DE PROFILE END --> <!-- MODAL DE PROFILE END -->
<!-- MODAL DE HASHTAGS --> <!-- MODAL DE HASHTAGS -->
<div id="hashtag-modal-template"> <div id="hashtag-modal-template">
<!-- ÁREA DE POSTS INIT --> <!-- ÁREA DE POSTS INIT -->
<div class="postboard"> <div class="postboard">
<h2> <h2>
@ -468,10 +438,8 @@
<!-- o botão de novas postagens deve ser ocultado quando o usuário clicá-lo via javascript --> <!-- o botão de novas postagens deve ser ocultado quando o usuário clicá-lo via javascript -->
<button class="postboard-news" style="display:none;"></button> <button class="postboard-news" style="display:none;"></button>
</h2> </h2>
<ol id="profile-posts" class="postboard-posts"> <ol id="profile-posts" class="postboard-posts">
</ol> </ol>
</div> </div>
<!-- ÁREA DE POSTS END --> <!-- ÁREA DE POSTS END -->
</div> </div>
@ -497,28 +465,23 @@
</div> </div>
</li> </li>
</ol> </ol>
<!-- ÁREA DE FOLLOWERS END --> <!-- ÁREA DE FOLLOWERS END -->
</div> </div>
<!-- MODAL DE FOLLOWING END --> <!-- MODAL DE FOLLOWING END -->
<!-- MODAL OF FOLLOWING CONFIG --> <!-- MODAL OF FOLLOWING CONFIG -->
<div id="following-config-modal-template"> <div id="following-config-modal-template">
<!-- ÁREA OF FOLLOWING METHOD --> <!-- ÁREA OF FOLLOWING METHOD -->
<div class="following-config-modal-content" data-screen-name=""> <div class="following-config-modal-content" data-screen-name="">
<h2><span class="following-config-method-message">Which way do you want to follow</span> <span class="following-screen-name">@<b></b></span>:</h2> <h2><span class="following-config-method-message">Which way do you want to follow</span> <span class="following-screen-name">@<b></b></span>:</h2>
<div class="following-config-method-buttons"> <div class="following-config-method-buttons">
<button class="public-following">Public</button> <button class="public-following">Public</button>
<button class="public-following private">Private</button> <button class="public-following private">Private</button>
</div> </div>
</div> </div>
<!-- ÁREA OF FOLLOWING METHOD END --> <!-- ÁREA OF FOLLOWING METHOD END -->
</div> </div>
<!-- MODAL OF FOLLOWING CONFIG END --> <!-- MODAL OF FOLLOWING CONFIG END -->
</div> </div>
<!-- TEMPLATES END --> <!-- TEMPLATES END -->

64
home.html

@ -35,9 +35,7 @@
<link rel="icon" type="image/png" href="img/twister_mini.png" /> <link rel="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>
@ -80,7 +78,6 @@
<!-- BUSCA --> <!-- BUSCA -->
<li class="userMenu-search"> <li class="userMenu-search">
<input type="text" class="userMenu-search-field" placeholder="search"/> <input type="text" class="userMenu-search-field" placeholder="search"/>
<div class="search-results dialog-modal"> <div class="search-results dialog-modal">
<ul class="userMenu-search-sugestions" style="display: none;"> <ul class="userMenu-search-sugestions" style="display: none;">
<li><a href="#">Fulano</a></li> <li><a href="#">Fulano</a></li>
@ -100,20 +97,14 @@
</li> </li>
</ul> </ul>
</div> </div>
</li> </li>
</ul> </ul>
</nav> </nav>
<!-- MENU SUPERIOR END --> <!-- MENU SUPERIOR END -->
<div class="wrapper"> <div class="wrapper">
<!-- LADO ESQUERDO DE MÓDULOS INIT --> <!-- LADO ESQUERDO DE MÓDULOS INIT -->
<div class="dashboard left"> <div class="dashboard left">
<!-- PROFILE MODULE --> <!-- PROFILE MODULE -->
<div class="module mini-profile"> <div class="module mini-profile">
<div class="mini-profile-info"> <div class="mini-profile-info">
@ -153,14 +144,13 @@
</div> </div>
<!-- WHO TO FOLLOW MODULE --> <!-- WHO TO FOLLOW MODULE -->
<div class="module who-to-follow"></div> <div class="module who-to-follow" style="display: none;"></div>
<!-- TOP TRENDS MODULE --> <!-- TOP TRENDS MODULE -->
<div class="module toptrends"></div> <div class="module toptrends" style="display: none;"></div>
<!-- TWISTDAY REMINDER MODULE --> <!-- TWISTDAY REMINDER MODULE -->
<div class="module twistday-reminder"></div> <div class="module twistday-reminder" style="display: none;"></div>
</div> </div>
<!-- LADO ESQUERDO DE MÓDULOS END --> <!-- LADO ESQUERDO DE MÓDULOS END -->
@ -193,24 +183,20 @@
</div> </div>
<!-- END postboard-top --> <!-- END postboard-top -->
<ol id="posts" class="postboard-posts"> <ol id="posts" class="postboard-posts">
<!-- use "post-template" here --> <!-- use "post-template" here -->
</ol> </ol>
<div class="postboard-loading" style="display: none;"> <div class="postboard-loading" style="display: none;">
<div></div> <div></div>
</div> </div>
</div> </div>
<!-- ÁREA DE POSTS END --> <!-- ÁREA DE POSTS END -->
<div class="dashboard right"></div> <div class="dashboard right"></div>
</div> </div>
<!-- TEMPLATES INIT --> <!-- TEMPLATES INIT -->
<div id="templates" style="display:none;"> <div id="templates" style="display:none;">
<!-- TEMPLATE DE WHO-TO-FOLLOW MODULE --> <!-- TEMPLATE DE WHO-TO-FOLLOW MODULE -->
<div id="who-to-follow-template"> <div id="who-to-follow-template">
<div> <div>
@ -223,7 +209,7 @@
<!-- use "follow-suggestion-template" here --> <!-- use "follow-suggestion-template" here -->
</ol> </ol>
</div> </div>
<div class="loading-roller" style="display: none;"> <div class="loading-roller">
<div></div> <div></div>
</div> </div>
</div> </div>
@ -236,7 +222,7 @@
<a class="refresh-toptrends">Refresh</a> <a class="refresh-toptrends">Refresh</a>
<ol class="toptrends-list"></ol> <ol class="toptrends-list"></ol>
</div> </div>
<div class="loading-roller" style="display: none;"> <div class="loading-roller">
<div></div> <div></div>
</div> </div>
</div> </div>
@ -260,7 +246,7 @@
</ol> </ol>
</div> </div>
</div> </div>
<div class="loading-roller" style="display: none;"> <div class="loading-roller">
<div></div> <div></div>
</div> </div>
</div> </div>
@ -307,12 +293,12 @@
</div> </div>
</li> </li>
<!-- TEMPLATE DA OL INVÓLUCRO DAS LIST ELEMENTS DO POST EXPANDIDO INIT --> <!-- TEMPLATE DA OL INVÓLUCRO DAS LIST ELEMENTS DO POST EXPANDIDO INIT -->
<ol class="expanded-post"> <ol class="expanded-post">
</ol> </ol>
<!-- TEMPLATE DA OL INVÓLUCRO DAS LIST ELEMENTS DO POST EXPANDIDO END --> <!-- TEMPLATE DA OL INVÓLUCRO DAS LIST ELEMENTS DO POST EXPANDIDO END -->
<!-- TEMPLATE DOS 3 TIPOS DE LI DO POST EXPANDIDO INIT --> <!-- TEMPLATE DOS 3 TIPOS DE LI DO POST EXPANDIDO INIT -->
<li class="ancestor module post"> <li class="ancestor module post">
</li> </li>
@ -372,8 +358,6 @@
<!-- template for user links in message (open profile modal) --> <!-- template for user links in message (open profile modal) -->
<a id="hashtag-link-template" class="open-hashtag-modal"></a> <a id="hashtag-link-template" class="open-hashtag-modal"></a>
<!-- template para ir dentro de avatar-row --> <!-- template para ir dentro de avatar-row -->
<a id="avatar-row-template" class="open-profile-modal" href=""> <a id="avatar-row-template" class="open-profile-modal" href="">
<img class="size24" src="img/grayed_avatar_placeholder_24.png" alt="user-photo"/> <img class="size24" src="img/grayed_avatar_placeholder_24.png" alt="user-photo"/>
@ -385,20 +369,15 @@
<!-- TEMPLATE INVÓLUCRO DO POST EXPANDIDO END --> <!-- TEMPLATE INVÓLUCRO DO POST EXPANDIDO END -->
<!-- TEMPLATE DO MODAL GENÉRICO INIT --> <!-- TEMPLATE DO MODAL GENÉRICO INIT -->
<div class="modal-blackout cancel"> <div class="modal-wrapper">
<div class="modal-wrapper">
<div class="modal-header"> <div class="modal-header">
<h3></h3> <h3></h3>
<span id="closeModal" class="modal-close cancel">&times;</span> <span id="closeModal" class="modal-close cancel">&times;</span>
<span class="modal-back" onClick="history.back();">&lt;</span> <span class="modal-back" onClick="history.back();">&lt;</span>
<span class="mark-all-as-read"></span> <span class="mark-all-as-read"></span>
</div> </div>
<div class="modal-content"></div> <div class="modal-content"></div>
<div class="modal-buttons"> <div class="modal-blackout cancel"></div>
<button class="modal-cancel cancel">Cancel</button>
<button class="modal-propagate">Retransmit</button>
</div>
</div>
</div> </div>
<!-- TEMPLATE DO MODAL GENÉRICO END --> <!-- TEMPLATE DO MODAL GENÉRICO END -->
@ -455,7 +434,6 @@
<p class="post-text"></p> <p class="post-text"></p>
</li> </li>
<div class="messages-thread-template"> <div class="messages-thread-template">
<ol class="direct-messages-thread"> <ol class="direct-messages-thread">
<!-- use "dm-chat-template" here --> <!-- use "dm-chat-template" here -->
@ -481,7 +459,6 @@
</div> </div>
<!-- MODAL DE DIRECT MESSAGES INIT --> <!-- MODAL DE DIRECT MESSAGES INIT -->
<!-- MODAL DE PROFILE --> <!-- MODAL DE PROFILE -->
<div id="profile-modal-template"> <div id="profile-modal-template">
<!-- ÁREA DE PROFILE PHOTO INIT --> <!-- ÁREA DE PROFILE PHOTO INIT -->
@ -532,19 +509,15 @@
<!-- o botão de novas postagens deve ser ocultado quando o usuário clicá-lo via javascript --> <!-- o botão de novas postagens deve ser ocultado quando o usuário clicá-lo via javascript -->
<button class="postboard-news" style="display:none;"></button> <button class="postboard-news" style="display:none;"></button>
</h2> </h2>
<ol id="profile-posts" class="postboard-posts"> <ol id="profile-posts" class="postboard-posts">
</ol> </ol>
</div> </div>
<!-- ÁREA DE POSTS END --> <!-- ÁREA DE POSTS END -->
</div> </div>
<!-- MODAL DE PROFILE END --> <!-- MODAL DE PROFILE END -->
<!-- MODAL DE HASHTAGS --> <!-- MODAL DE HASHTAGS -->
<div id="hashtag-modal-template"> <div id="hashtag-modal-template">
<!-- ÁREA DE POSTS INIT --> <!-- ÁREA DE POSTS INIT -->
<div class="postboard"> <div class="postboard">
<h2> <h2>
@ -552,10 +525,8 @@
<!-- o botão de novas postagens deve ser ocultado quando o usuário clicá-lo via javascript --> <!-- o botão de novas postagens deve ser ocultado quando o usuário clicá-lo via javascript -->
<button class="postboard-news" style="display:none;"></button> <button class="postboard-news" style="display:none;"></button>
</h2> </h2>
<ol id="profile-posts" class="postboard-posts"> <ol id="profile-posts" class="postboard-posts">
</ol> </ol>
<div class="postboard-loading" style="display: none;"> <div class="postboard-loading" style="display: none;">
<div></div> <div></div>
</div> </div>
@ -584,28 +555,23 @@
</div> </div>
</li> </li>
</ol> </ol>
<!-- ÁREA DE FOLLOWERS END --> <!-- ÁREA DE FOLLOWERS END -->
</div> </div>
<!-- MODAL DE FOLLOWING END --> <!-- MODAL DE FOLLOWING END -->
<!-- MODAL OF FOLLOWING CONFIG --> <!-- MODAL OF FOLLOWING CONFIG -->
<div id="following-config-modal-template"> <div id="following-config-modal-template">
<!-- ÁREA OF FOLLOWING METHOD --> <!-- ÁREA OF FOLLOWING METHOD -->
<div class="following-config-modal-content" data-screen-name=""> <div class="following-config-modal-content" data-screen-name="">
<h2><span class="following-config-method-message">Which way do you want to follow</span> <span class="following-screen-name">@<b></b></span>:</h2> <h2><span class="following-config-method-message">Which way do you want to follow</span> <span class="following-screen-name">@<b></b></span>:</h2>
<div class="following-config-method-buttons"> <div class="following-config-method-buttons">
<button class="public-following">Public</button> <button class="public-following">Public</button>
<button class="public-following private">Private</button> <button class="public-following private">Private</button>
</div> </div>
</div> </div>
<!-- ÁREA OF FOLLOWING METHOD END --> <!-- ÁREA OF FOLLOWING METHOD END -->
</div> </div>
<!-- MODAL OF FOLLOWING CONFIG END --> <!-- MODAL OF FOLLOWING CONFIG END -->
</div> </div>
<!-- TEMPLATES END --> <!-- TEMPLATES END -->

1701
js/interface_common.js

File diff suppressed because it is too large Load Diff

65
js/interface_home.js

@ -46,8 +46,7 @@ var InterfaceFunctions = function() {
//$("span.screen-name").text('@' + user); //$("span.screen-name").text('@' + user);
var $miniProfile = $(".mini-profile"); var $miniProfile = $(".mini-profile");
if(!defaultScreenName) if (!defaultScreenName) {
{
$(".userMenu-profile > a").text(polyglot.t("Login")); $(".userMenu-profile > a").text(polyglot.t("Login"));
$(".userMenu-profile > a").attr("href","login.html"); $(".userMenu-profile > a").attr("href","login.html");
$(".post-area-new > textarea").attr("placeholder",polyglot.t("You have to log in to post messages.")); $(".post-area-new > textarea").attr("placeholder",polyglot.t("You have to log in to post messages."));
@ -64,9 +63,7 @@ var InterfaceFunctions = function() {
$(".dropdown-menu-following").attr("href","#"); $(".dropdown-menu-following").attr("href","#");
$(".dropdown-menu-following").bind("click", function() $(".dropdown-menu-following").bind("click", function()
{ alert(polyglot.t("You are not following anyone because you are not logged in."))} ); { alert(polyglot.t("You are not following anyone because you are not logged in."))} );
} } else {
else
{
$miniProfile.find("a.mini-profile-name").attr("href",$.MAL.userUrl(defaultScreenName)); $miniProfile.find("a.mini-profile-name").attr("href",$.MAL.userUrl(defaultScreenName));
$miniProfile.find("a.open-profile-modal").attr("href",$.MAL.userUrl(defaultScreenName)); $miniProfile.find("a.open-profile-modal").attr("href",$.MAL.userUrl(defaultScreenName));
$miniProfile.find(".mini-profile-name").text(defaultScreenName); $miniProfile.find(".mini-profile-name").text(defaultScreenName);
@ -103,7 +100,7 @@ var InterfaceFunctions = function() {
$(window) $(window)
.on("eventFollow", function(e, user) { .on("eventFollow", function(e, user) {
$(".following-count").text(followingUsers.length-1); $(".following-count").text(followingUsers.length-1);
setTimeout('requestTimelineUpdate("latest",postsPerRefresh,["'+user+'"],promotedPostsOnly)', 1000); setTimeout(requestTimelineUpdate, 1000, 'latest', postsPerRefresh, [user], promotedPostsOnly);
}) })
.on("eventUnfollow", function(e, user) { .on("eventUnfollow", function(e, user) {
$(".following-count").text(followingUsers.length-1); $(".following-count").text(followingUsers.length-1);
@ -113,21 +110,27 @@ var InterfaceFunctions = function() {
$( this ).remove(); $( this ).remove();
}); });
}); });
if ($.Options.WhoToFollow.val === 'enable')
initWhoToFollow();
else
killInterfaceModule('who-to-follow');
if ($.Options.TwistdayReminder.val === 'enable')
initTwistdayReminder();
else
killInterfaceModule('twistday-reminder');
} }
if ($.Options.TopTrends.val === 'enable') if ($.Options.TopTrends.val === 'enable')
initTopTrends(); initTopTrends();
else else
killInterfaceModule('toptrends'); killInterfaceModule('toptrends');
if ($.Options.TwistdayReminder.val === 'enable')
initTwistdayReminder();
else
killInterfaceModule('twistday-reminder');
} }
} }
function initTopTrends() { function initTopTrends() {
var $tt = initInterfaceModule('toptrends'); var $tt = initInterfaceModule('toptrends');
if ($tt.length) { if ($tt.length) {
var $ttRefresh = $tt.find('.refresh-toptrends'); var $ttRefresh = $tt.find('.refresh-toptrends');
$ttRefresh.on('click', updateTrendingHashtags); $ttRefresh.on('click', updateTrendingHashtags);
@ -138,6 +141,7 @@ function initTopTrends() {
function updateTrendingHashtags() { function updateTrendingHashtags() {
var $module = $('.module.toptrends'); var $module = $('.module.toptrends');
var $list = $module.find('.toptrends-list'); var $list = $module.find('.toptrends-list');
if ($list.length) { if ($list.length) {
$list.empty().hide(); $list.empty().hide();
$module.find('.refresh-toptrends').hide(); $module.find('.refresh-toptrends').hide();
@ -183,8 +187,35 @@ function updateTrendingHashtags() {
} }
} }
function initWhoToFollow() {
var wtf = initInterfaceModule('who-to-follow');
if (wtf.length) {
var wtfRefresh = wtf.find('.refresh-users');
wtfRefresh.on('click', refreshWhoToFollow);
setTimeout(function() {wtfRefresh.click();}, 100);
//wtf.find('.view-all-users').on('click', function() {window.location.hash = '#whotofollow';});
}
}
function refreshWhoToFollow() {
var module = $('.module.who-to-follow');
var list = module.find('.follow-suggestions');
if (list.length) {
list.empty().hide();
module.find('.refresh-users').hide();
module.find('.loading-roller').show();
getRandomFollowSuggestion();
getRandomFollowSuggestion();
getRandomFollowSuggestion();
}
}
function initTwistdayReminder() { function initTwistdayReminder() {
var $module = initInterfaceModule('twistday-reminder'); var $module = initInterfaceModule('twistday-reminder');
if ($module.length) { if ($module.length) {
var $moduleRefresh = $module.find('.refresh'); var $moduleRefresh = $module.find('.refresh');
$moduleRefresh.on('click', refreshTwistdayReminder); $moduleRefresh.on('click', refreshTwistdayReminder);
@ -197,6 +228,7 @@ function initTwistdayReminder() {
function refreshTwistdayReminder() { function refreshTwistdayReminder() {
var $module = $('.module.twistday-reminder'); var $module = $('.module.twistday-reminder');
var $list = $module.find('.list'); var $list = $module.find('.list');
if ($list.length) { if ($list.length) {
$module.find('.refresh').hide(); $module.find('.refresh').hide();
$module.find('.loading-roller').show(); $module.find('.loading-roller').show();
@ -291,14 +323,3 @@ function refreshTwistdayReminder() {
//*********************************************** //***********************************************
var interfaceFunctions = new InterfaceFunctions; var interfaceFunctions = new InterfaceFunctions;
$( document ).ready( interfaceFunctions.init ); $( document ).ready( interfaceFunctions.init );
//função no window que fixa o header das postagens
function fixDiv()
{
var $cache = $('.postboard h2');
if ($(window).scrollTop() > 26)
$cache.addClass( "fixed" );
else
$cache.removeClass( "fixed" );
}
$(window).scroll(fixDiv);

1
js/interface_localization.js

@ -51,6 +51,7 @@ if(preferredLanguage == "en"){
"Detailed information": "Detailed information", "Detailed information": "Detailed information",
"DHT network down.": "DHT network down.", "DHT network down.": "DHT network down.",
"Direct Messages": "Direct Messages", "Direct Messages": "Direct Messages",
"direct_messages_with": "Direct messages with %{username}",
"Disable": "Disable", "Disable": "Disable",
"Display mentions to @": "Display mentions to @", "Display mentions to @": "Display mentions to @",
"Display retransmissions": "Display retransmissions", "Display retransmissions": "Display retransmissions",

24
js/interface_login.js

@ -1,27 +1,19 @@
// interface_login.js // interface_login.js
// 2013 Miguel Freitas // 2013 Miguel Freitas
function processCreateUser(username, secretKey) { function processCreateUser(username, secretKey) {
defaultScreenName = username; defaultScreenName = username;
if(defaultScreenName) { if (defaultScreenName)
saveScreenName(); saveScreenName();
}
var newUserClass = "new-user";
openModal( newUserClass );
//título do modal
$( "." + newUserClass + " h3" ).text( polyglot.t("propagating_nickname", { username: username }) );
var modalContent = $("." + newUserClass + " .modal-content");
var templateContent = $( "#new-user-modal-template" ).children().clone(true);
templateContent.appendTo(modalContent);
$( "." + newUserClass + " .secret-key" ).text(secretKey); openModal({
classAdd: 'new-user',
content: $('#new-user-modal-template').children().clone(true),
title: polyglot.t('propagating_nickname', {username: username})
})
.content.find('.secret-key').text(secretKey);
sendNewUserTransaction( username, processSendnewusertransaction ); sendNewUserTransaction(username, processSendnewusertransaction);
} }
function processSendnewusertransaction() { function processSendnewusertransaction() {

23
js/jQueryPlugins.js

@ -1,3 +1,23 @@
// following replacement of the native setTimeout() and setInterval()
// enables the passage of the 'this' object through the JavaScript timers
// and enables the HTML5 standard passage of arbitrary arguments to the
// callback functions of timers in IE9 and other old browsers (like some of mobile ones).
// see https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout#A_possible_solution
var __nativeST__ = window.setTimeout, __nativeSI__ = window.setInterval;
window.setTimeout = function (vCallback, nDelay) { // additional arguments will be passed
var oThis = this, aArgs = Array.prototype.slice.call(arguments, 2);
return __nativeST__(vCallback instanceof Function ?
function () {vCallback.apply(oThis, aArgs);} : vCallback, nDelay);
};
window.setInterval = function (vCallback, nDelay) { // additional arguments will be passed
var oThis = this, aArgs = Array.prototype.slice.call(arguments, 2);
return __nativeSI__(vCallback instanceof Function ?
function () {vCallback.apply(oThis, aArgs);} : vCallback, nDelay);
};
// bind callback function for event of clicking outside of element
(function(jQuery) { (function(jQuery) {
jQuery.fn.clickoutside = function(callback) { jQuery.fn.clickoutside = function(callback) {
var outside = 1, self = $(this); var outside = 1, self = $(this);
@ -13,10 +33,11 @@
} }
})(jQuery); })(jQuery);
// get caret position
(function($) { (function($) {
$.fn.caret = function(pos) { $.fn.caret = function(pos) {
var target = this[0]; var target = this[0];
var isContentEditable = target.contentEditable === 'true'; var isContentEditable = target.contentEditable === 'true';
//get //get
if (arguments.length == 0) { if (arguments.length == 0) {
//HTML5 //HTML5

2
js/options.js

@ -350,4 +350,4 @@ function checkForNumeric(elem) {
$(elem).next('span').text(polyglot.t('only positive numbers!')); $(elem).next('span').text(polyglot.t('only positive numbers!'));
return false; return false;
} }
}; }

16
js/tmobile.js

@ -55,7 +55,7 @@ function initializeTwister( redirectNetwork, redirectLogin, cbFunc, cbArg ) {
initMentionsCount(); initMentionsCount();
initDMsCount(); initDMsCount();
twisterFollowingO = TwisterFollowing(defaultScreenName); twisterFollowingO = TwisterFollowing(defaultScreenName);
twisterInitialized = true; twisterInitialized = true;
if( cbFunc ) if( cbFunc )
cbFunc(cbArg); cbFunc(cbArg);
@ -282,7 +282,7 @@ var router=new $.mobile.Router(
$("#dmchat textarea").val(""); $("#dmchat textarea").val("");
dmConvo.html(""); dmConvo.html("");
installDMSendClick(); installDMSendClick();
$.mobile.showPageLoadingMsg(); $.mobile.showPageLoadingMsg();
dmChatUser = user; dmChatUser = user;
requestDmConversation(dmConvo,user); requestDmConversation(dmConvo,user);
@ -302,7 +302,7 @@ var router=new $.mobile.Router(
}, },
}, { }, {
defaultHandler: function(type, ui, page) { defaultHandler: function(type, ui, page) {
console.log("Default handler called due to unknown route (" console.log("Default handler called due to unknown route ("
+ type + ", " + ui + ", " + page + ")" ); + type + ", " + ui + ", " + page + ")" );
console.log(ui); console.log(ui);
console.log(page); console.log(page);
@ -325,8 +325,8 @@ function installPostboardClick() {
$(".post a").unbind('click').click(function(e) { $(".post a").unbind('click').click(function(e) {
e.stopPropagation(); e.stopPropagation();
// stopPropagation is supposed to be enough, but in Android the // stopPropagation is supposed to be enough, but in Android the
// default action is not called so we reimplement it here as a hack. // default action is not called so we reimplement it here as a hack.
e.preventDefault(); e.preventDefault();
$.mobile.showPageLoadingMsg(); $.mobile.showPageLoadingMsg();
@ -419,7 +419,7 @@ function installRetransmitConfirmClick() {
function installCreateUserClick() { function installCreateUserClick() {
$( ".create-user").unbind('click').click( function(e) { $( ".create-user").unbind('click').click( function(e) {
createUserClick( function(username, secretKey) { createUserClick( function(username, secretKey) {
defaultScreenName = username; defaultScreenName = username;
if(defaultScreenName) { if(defaultScreenName) {
saveScreenName(); saveScreenName();
@ -439,7 +439,7 @@ function installUserSearchHandler() {
function installProfileEditHandlers() { function installProfileEditHandlers() {
$(".profile-card-photo.forEdition").click( function() { $('#avatar-file').click(); } ); $(".profile-card-photo.forEdition").click( function() { $('#avatar-file').click(); } );
$("#avatar-file").bind( "change", handleAvatarFileSelectMobile); $("#avatar-file").bind( "change", handleAvatarFileSelectMobile);
$(".submit-changes").click( function() { $(".submit-changes").click( function() {
saveProfile(); saveProfile();
setTimeout( function() {$.MAL.goHome();}, 1000); setTimeout( function() {$.MAL.goHome();}, 1000);
} ); } );
@ -515,7 +515,7 @@ function encode_utf8(s) {
var ua = navigator.userAgent; var ua = navigator.userAgent;
if( ua.indexOf("Android") >= 0 ) if( ua.indexOf("Android") >= 0 )
{ {
var androidversion = parseFloat(ua.slice(ua.indexOf("Android")+8)); var androidversion = parseFloat(ua.slice(ua.indexOf("Android")+8));
if (androidversion < 3.0) if (androidversion < 3.0)
{ {
return unescape(encodeURIComponent(s)); return unescape(encodeURIComponent(s));

19
js/twister_actions.js

@ -159,7 +159,7 @@ function requestPost(containerToAppend,username,resource,cbFunc,cbArgs){
function(args, postFromJson) { function(args, postFromJson) {
if( postFromJson ) { if( postFromJson ) {
console.log(postFromJson); //console.log(postFromJson);
appendPostToContainer(postFromJson,args.containerToAppend); appendPostToContainer(postFromJson,args.containerToAppend);
@ -318,23 +318,18 @@ function updateProfilePosts(postsView, username, useGetposts) {
}); });
} }
function updateFollowingData(followingModalContent, username) {
followingModalContent.find(".following-screen-name b").text(username);
loadFollowingIntoList( username, $(followingModalContent[1]) );
}
function clearHashtagProcessed() { function clearHashtagProcessed() {
_hashtagProcessedMap = {}; _hashtagProcessedMap = {};
_hashtagPendingPosts = []; _hashtagPendingPosts = [];
} }
function requestHashtag(postboard,hashtag,resource, timeoutArgs) { function requestHashtag(postboard, hashtag, resource, timeoutArgs) {
postboard.closest("div").find(".postboard-loading").show(); postboard.closest("div").find(".postboard-loading").show();
dhtget( hashtag, resource, "m", dhtget(hashtag, resource, "m",
function(args, data) { function(args, data) {processHashtag(args.postboard, args.hashtag, data);},
processHashtag(args.postboard, args.hashtag, data); {postboard:postboard,hashtag:hashtag},
}, {postboard:postboard,hashtag:hashtag}, timeoutArgs
timeoutArgs); );
} }
function processHashtag(postboard, hashtag, data) { function processHashtag(postboard, hashtag, data) {

93
js/twister_directmsg.js

@ -45,21 +45,8 @@ function processDMsnippet(dmUsers, dmThreadList) {
$.MAL.dmThreadListLoaded(); $.MAL.dmThreadListLoaded();
} }
function openDmConversation(dm_screenname, dmTitleName, dmConversation) {
if( dm_screenname.length && dm_screenname[0] === '*' )
getGroupChatName( dm_screenname, dmTitleName );
else
getFullname( dm_screenname, dmTitleName );
dmConversation.attr("data-dm-screen-name", dm_screenname);
var dmConvo = dmConversation.find(".direct-messages-thread");
dmConvo.empty();
requestDmConversationModal(dmConvo,dm_screenname);
}
function requestDmConversationModal(dmConvo,dm_screenname) { function requestDmConversationModal(dmConvo,dm_screenname) {
if( dmConvo.parents(".modal-blackout").css("display") == 'none' ) if( dmConvo.parents(".modal-wrapper").css("display") == 'none' )
return; return;
requestDmConversation(dmConvo,dm_screenname); requestDmConversation(dmConvo,dm_screenname);
@ -146,59 +133,57 @@ function newDirectMsg(msg, dm_screenname) {
} }
} }
//dispara o modal de direct messages // dispara o modal de direct messages
function directMessagesPopup() function directMessagesPopup() {
{ if (!defaultScreenName) {
if(!defaultScreenName) alert(polyglot.t('You have to log in to use direct messages.'));
{
alert(polyglot.t("You have to log in to use direct messages."));
return; return;
} }
var directMessagesClass = "directMessages";
openModal( directMessagesClass );
var directMessagesContent = $( ".direct-messages-template" ).html(); modal = openModal({
$( directMessagesContent ).clone().appendTo( ".directMessages .modal-content" ); classAdd: 'directMessages',
content: $('.direct-messages-template').children().clone(),
//título do modal title: polyglot.t('Direct Messages')
$( ".directMessages h3" ).text( polyglot.t("Direct Messages") ); });
requestDMsnippetList($(".directMessages").find(".direct-messages-list")); requestDMsnippetList(modal.content.find('.direct-messages-list'));
$('.mark-all-as-read').css('display', 'inline');
$('.mark-all-as-read').attr('title', polyglot.t("Mark all as read"));
$('.mark-all-as-read').on('click', function() { modal.self.find('.mark-all-as-read')
for (var k in _newDMsPerUser) { .css('display', 'inline')
_newDMsPerUser[k] = 0; .attr('title', polyglot.t('Mark all as read'))
} .on('click', function() {
saveDMsToStorage(); for (var k in _newDMsPerUser) {
$.MAL.updateNewDMsUI(getNewDMsCount()); _newDMsPerUser[k] = 0;
}); }
saveDMsToStorage();
$.MAL.updateNewDMsUI(getNewDMsCount());
})
;
} }
function openDmWithUserModal(dm_screenname) function openDmWithUserModal(dm_screenname) {
{ if (!defaultScreenName) {
if(!defaultScreenName){ alert(polyglot.t('You have to log in to use direct messages.'));
alert(polyglot.t("You have to log in to use direct messages."));
return; return;
} }
var directMessagesClass = "directMessages"; modal = openModal({
openModal( directMessagesClass ); classAdd: 'directMessages',
content: $('.messages-thread-template').children().clone(),
title: polyglot.t('direct_messages_with', {username: '<span>' + dm_screenname + '</span>'})
});
modal.self.attr('data-dm-screen-name', dm_screenname);
//para poder exibir a thread selecionada... if (dm_screenname.length && dm_screenname[0] === '*')
var retweetContent = $( ".messages-thread-template" ).html(); getGroupChatName(dm_screenname, modal.self.find('.modal-header h3 span'));
$( retweetContent ).clone().appendTo( ".directMessages .modal-content" ).hide().fadeIn( "fast" ); else
getFullname(dm_screenname, modal.self.find('.modal-header h3 span'));
var dmTitle = $( ".directMessages h3" ); requestDmConversationModal(modal.self.find('.direct-messages-thread').empty(), dm_screenname);
dmTitle.html(polyglot.t("Direct messages with") + " <span></span>");
dmTitle = dmTitle.find("span");
var dmConversation = $(".directMessages");
openDmConversation(dm_screenname, dmTitle, dmConversation);
var $dmForm = $( ".dm-form-template" ).children().clone(true); $('.dm-form-template').children().clone()
$dmForm.addClass("open"); .addClass('open').appendTo(modal.content).fadeIn('fast');
$dmForm.appendTo( ".directMessages .modal-wrapper" ).hide().fadeIn( "fast" );
} }

194
js/twister_following.js

@ -262,7 +262,7 @@ function loadFollowingIntoList( username, html_list ) {
html_list.html(""); html_list.html("");
$.each(following, function(i, following_user){ $.each(following, function(i, following_user){
var following_user_li = $( "#following-by-user-template" ).children().clone(true); var following_user_li = $( "#following-by-user-template" ).children().clone(true);
// link follower to profile page // link follower to profile page
$(following_user_li.children()[0]).attr("data-screen-name", following_user); $(following_user_li.children()[0]).attr("data-screen-name", following_user);
$(following_user_li.children()[0]).attr("href", $.MAL.userUrl(following_user)); $(following_user_li.children()[0]).attr("href", $.MAL.userUrl(following_user));
@ -421,51 +421,39 @@ function isPublicFollowing(user) {
// check if following list is empty // check if following list is empty
function followingEmptyOrMyself() { function followingEmptyOrMyself() {
if( followingUsers.length == 0 || return (!followingUsers.length || (followingUsers.length === 1 && followingUsers[0] === defaultScreenName))
followingUsers.length == 1 && followingUsers[0] == defaultScreenName )
return true;
else
return false;
} }
// 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.
function getRandomFollowSuggestion(cbFunc, cbArg) { function getRandomFollowSuggestion() {
if (followingEmptyOrMyself())
if( followingEmptyOrMyself() ) {
cbFunc(cbArg, null, null);
return; return;
}
var i = parseInt( Math.random() * followingUsers.length );
if ( (i < followingUsers.length && followingUsers[i] == defaultScreenName) || var i = Math.floor(Math.random() * followingUsers.length); // Math.floor(Math.random() * (max - min + 1)) + min for getting inclusive random from min to max; our min and max are 0 and followingUsers.length - 1
typeof(twisterFollowingO) === 'undefined' || while (followingUsers[i] === defaultScreenName)
typeof(twisterFollowingO.followingsFollowings[followingUsers[i]]) === 'undefined') { i = Math.floor(Math.random() * followingUsers.length);
setTimeout(function() {getRandomFollowSuggestion(cbFunc, cbArg);}, 500); if (typeof twisterFollowingO === 'undefined' ||
return; typeof twisterFollowingO.followingsFollowings[followingUsers[i]] === 'undefined') {
setTimeout(getRandomFollowSuggestion, 500);
return;
} }
if( i < followingUsers.length ) { var suggested = false;
var suggested = false; var j = Math.floor(Math.random() * twisterFollowingO.followingsFollowings[followingUsers[i]].following.length);
var j = parseInt( Math.random() * twisterFollowingO.followingsFollowings[followingUsers[i]]["following"].length ); 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]);
cbFunc(cbArg, 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; }
}
}
if( !suggested ) {
cbFunc(cbArg, null, null);
}
} else {
cbFunc(cbArg, null, null);
} }
if (!suggested)
setTimeout(getRandomFollowSuggestion, 500);
} }
function whoFollows(username) { function whoFollows(username) {
@ -555,46 +543,38 @@ function showFollowingUsers(){
if( followingUsers[i] == defaultScreenName ) { if( followingUsers[i] == defaultScreenName ) {
resItem.find("button").hide(); resItem.find("button").hide();
} }
resItem.prependTo($followingList); resItem.prependTo($followingList);
toggleFollowButton(followingUsers[i], true) toggleFollowButton(followingUsers[i], true)
} }
$.MAL.followingListLoaded(); $.MAL.followingListLoaded();
} }
function processSuggestion(arg, suggestion, followedBy) { function processWhoToFollowSuggestion(suggestion, followedBy) {
if( suggestion ) { if (suggestion) {
var $module = $('.module.who-to-follow'); 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)
item.removeAttr("id"); .removeAttr('id');
item.find(".twister-user-info").attr("data-screen-name", suggestion);
item.find(".twister-user-name").attr("href", $.MAL.userUrl(suggestion)); item.find('.twister-user-info').attr('data-screen-name', suggestion);
item.find(".twister-by-user-name").attr("href", $.MAL.userUrl(followedBy)); item.find('.twister-user-name').attr('href', $.MAL.userUrl(suggestion));
item.find(".twister-user-tag").text("@" + suggestion); item.find('.twister-by-user-name').attr('href', $.MAL.userUrl(followedBy));
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));
//getFullname(suggestion,item.find(".twister-user")); item.find('.twister-user-remove').on('click', function() {
var $spanFollowedBy = item.find(".followed-by");
$spanFollowedBy.text(followedBy);
getFullname(followedBy,$spanFollowedBy);
item.find('.twister-user-remove').bind("click", function() {
item.remove(); item.remove();
getRandomFollowSuggestion(processSuggestion); getRandomFollowSuggestion();
}); });
$list.append(item).show(); list.append(item).show();
$module.find('.refresh-users').show(); module.find('.refresh-users').show();
$module.find('.loading-roller').hide(); module.find('.loading-roller').hide();
} else { } else
setTimeout(function(){ console.warn('nothing to proceed: no twisters to follow was suggested');
getRandomFollowSuggestion(processSuggestion);
}, 100);
}
} }
function closeSearchDialog() function closeSearchDialog()
@ -607,9 +587,9 @@ function closeSearchDialog()
function userSearchKeypress(event) { function userSearchKeypress(event) {
var partialName = $(".userMenu-search-field").val().toLowerCase(); var partialName = $(".userMenu-search-field").val().toLowerCase();
var searchResults = $(".search-results"); var searchResults = $(".search-results");
if ( partialName.substr( 0, 1 ) == '#' ) { if ( partialName.substr( 0, 1 ) == '#' ) {
if(searchResults.is(":visible")) if(searchResults.is(":visible"))
searchResults.slideUp( "fast" ); searchResults.slideUp( "fast" );
@ -694,37 +674,28 @@ function processDropdownUserResults(partialName, results){
_searchingPartialUsers = ""; _searchingPartialUsers = "";
} }
function newFollowingConfigModal(username) {
var FollowingConfigContent = $("#following-config-modal-template").children().clone(true);
FollowingConfigContent.closest(".following-config-modal-content").attr("data-screen-name", username)
FollowingConfigContent.find(".following-config-method-message").text(polyglot.t("Which way do you want to follow"))
FollowingConfigContent.find(".following-screen-name b").text(username);
return FollowingConfigContent;
}
function userClickFollow(e) { function userClickFollow(e) {
e.stopPropagation(); e.stopPropagation();
e.preventDefault(); e.preventDefault();
var $userInfo = $(e.target).closest("[data-screen-name]"); if (!defaultScreenName) {
var username = $userInfo.attr("data-screen-name"); alert(polyglot.t('You have to log in to follow users.'));
return;
if(!defaultScreenName)
{
alert(polyglot.t("You have to log in to follow users."));
return;
} }
var FollowingConfigClass = "following-config-modal"; var username = $(e.target).closest('[data-screen-name]').attr('data-screen-name');
openPrompt( FollowingConfigClass ); var content = $('#following-config-modal-template').children().clone(true);
var FollowingConfigContent = newFollowingConfigModal(username); content.closest('.following-config-modal-content').attr('data-screen-name', username);
FollowingConfigContent.appendTo("." +FollowingConfigClass +" .modal-content"); content.find('.following-config-method-message').text(polyglot.t('Which way do you want to follow'));
content.find('.following-screen-name b').text(username);
//título do modal openModal({
$("." +FollowingConfigClass +" h3").text(polyglot.t("Following config")); classBase: '.prompt-wrapper',
classAdd: 'following-config-modal',
content: content,
title: polyglot.t('Following config')
});
} }
function initUserSearch() { function initUserSearch() {
@ -733,14 +704,15 @@ function initUserSearch() {
$userSearchField.bind( "click", userSearchKeypress ); $userSearchField.bind( "click", userSearchKeypress );
$(".userMenu-search").clickoutside( closeSearchDialog ); $(".userMenu-search").clickoutside( closeSearchDialog );
$("button.follow").bind( "click", userClickFollow ); // following stuff should be moved to special function
$('button.follow').on('click', userClickFollow);
$(".following-config-method-buttons .public-following").bind( "click", setFollowingMethod ); $('.following-config-method-buttons .public-following')
$(".following-config-method-buttons .public-following").click( function() { .on('click', function(e) {
closePrompt(); setFollowingMethod(e);
// delay reload so dhtput may do it's job closeModalHandler('.prompt-wrapper');
window.setTimeout("loadModalFromHash();",500); window.setTimeout(loadModalFromHash, 500); // delay reload so dhtput may do it's job
}); })
;
} }
function followingListPublicCheckbox(e) { function followingListPublicCheckbox(e) {
@ -761,22 +733,16 @@ function followingListPublicCheckbox(e) {
follow(username, publicFollow); follow(username, publicFollow);
} }
function setFollowingMethod(e) { function setFollowingMethod(event) {
e.stopPropagation(); var button = $(event.target);
var username = button.closest('.following-config-modal-content').attr('data-screen-name');
var $this = $(this);
var username = $this.closest(".following-config-modal-content").attr("data-screen-name");
var publicFollow = false;
if( !$this.hasClass("private") ) { follow(username,
publicFollow = true; (button.hasClass('private')) ? false : true, // is folowing public
} toggleFollowButton, username, true // last two are args for toggleFollowButton()
//console.log("start following @" +username +" by method "+publicFollow);
follow(username, publicFollow,
(function() {
toggleFollowButton(this, true);
}).bind(username)
); );
event.stopPropagation();
} }
@ -892,12 +858,14 @@ var InterfaceFunctions = function()
}, {cbFunc:cbFunc, cbArg:cbArg}); }, {cbFunc:cbFunc, cbArg:cbArg});
} }
} }
}; };
//*********************************************** //***********************************************
//******************* INIT ************** //******************* INIT **************
//*********************************************** //***********************************************
var interfaceFunctions = new InterfaceFunctions; if (!/\/home.html$/i.test(document.location)) { // FIXME we're doing it wrong, interfaceFunctions declaration should be inside interface common
$( document ).ready( interfaceFunctions.init ); var interfaceFunctions = new InterfaceFunctions;
$(document).ready(interfaceFunctions.init);
}

67
js/twister_formatpost.js

@ -93,14 +93,13 @@ function postToElem( post, kind, promoted ) {
elem.find('.post-text').html(htmlFormatMsg(msg, mentions)); elem.find('.post-text').html(htmlFormatMsg(msg, mentions));
postData.attr('data-text-mentions', mentions); postData.attr('data-text-mentions', mentions);
var replyTo = []; var replyTo = '';
if( n !== defaultScreenName ) if( n !== defaultScreenName )
replyTo.push(['@', n, ' '].join('')); replyTo += '@' + n + ' ';
for (var i = 0; i < mentions.length; i++) { for (var i = 0; i < mentions.length; i++) {
if (mentions[i] !== n && mentions[i] !== defaultScreenName) if (mentions[i] !== n && mentions[i] !== defaultScreenName)
replyTo.push(['@', mentions[i], ' '].join('')); replyTo += '@' + mentions[i] + ' ';
} }
replyTo = replyTo.join('');
var postTextArea = elem.find('.post-area-new textarea'); var postTextArea = elem.find('.post-area-new textarea');
postTextArea.attr('data-reply-to', replyTo); postTextArea.attr('data-reply-to', replyTo);
@ -166,8 +165,8 @@ function dmDataToSnippetItem(dmData, remoteUser) {
// format dmdata (returned by getdirectmsgs) to display in conversation thread // format dmdata (returned by getdirectmsgs) to display in conversation thread
function dmDataToConversationItem(dmData, localUser, remoteUser) { function dmDataToConversationItem(dmData, localUser, remoteUser) {
var from = (dmData.from && dmData.from.length && dmData.from.charCodeAt(0)) var from = (dmData.from && dmData.from.length && dmData.from.charCodeAt(0))
? dmData.from ? dmData.from
: (dmData.fromMe ? localUser : remoteUser); : (dmData.fromMe ? localUser : remoteUser);
var classDm = dmData.fromMe ? "sent" : "received"; var classDm = dmData.fromMe ? "sent" : "received";
var dmItem = $("#dm-chat-template").clone(true); var dmItem = $("#dm-chat-template").clone(true);
@ -183,8 +182,8 @@ function dmDataToConversationItem(dmData, localUser, remoteUser) {
// convert message text to html, featuring @users and links formating. // convert message text to html, featuring @users and links formating.
function htmlFormatMsg(msg, mentions) { function htmlFormatMsg(msg, mentions) {
function htmlMention(str, pre) { function htmlMention(str) {
str = str.replace(new RegExp(['^', pre, '@'].join('')), '').toLowerCase(); str = str.slice(1, str.length).toLowerCase();
mentions.push(str); // FIXME feel the pain of the scope chain mentions.push(str); // FIXME feel the pain of the scope chain
@ -193,63 +192,61 @@ function htmlFormatMsg(msg, mentions) {
html.push($('#msg-user-link-template')[0].outerHTML html.push($('#msg-user-link-template')[0].outerHTML
.replace(/\bid\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('id') .replace(/\bid\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('id')
//.replace(/\bhref\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('href') //.replace(/\bhref\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('href')
.replace(/<a\s+(?=[^>]*?\bclass\s*=\s*"(?=[^"]*?\bopen-profile-modal\b))/ig, ['<a href="', $.MAL.userUrl(str), '" '].join('')) // $().closest('a.open-profile-modal').attr('href', $.MAL.userUrl(username)) .replace(/<a\s+(?=[^>]*?\bclass\s*=\s*"(?=[^"]*?\bopen-profile-modal\b))/ig, '<a href="' + $.MAL.userUrl(str) + '" ') // $().closest('a.open-profile-modal').attr('href', $.MAL.userUrl(username))
.replace(/(<a\s+(?=[^>]*?\bclass\s*=\s*"(?=[^"]*?\bopen-profile-modal\b))[^]*?>)[^]*?(<\/a>)/ig, [pre, '$1@', str, '$2'].join('')) // $().closest('a.open-profile-modal').text('@'+username) .replace(/(<a\s+(?=[^>]*?\bclass\s*=\s*"(?=[^"]*?\bopen-profile-modal\b))[^]*?>)[^]*?(<\/a>)/ig, '$1@' + str + '$2') // $().closest('a.open-profile-modal').text('@'+username)
); );
return ['>', html.length - 1, '<'].join(''); return '>' + (html.length - 1).toString() + '<';
} }
function htmlHashtag(str, pre) { function htmlHashtag(str) {
str = str.replace(new RegExp(['^', pre, '#'].join('')), ''); str = str.slice(1, str.length);
html.push($('#hashtag-link-template')[0].outerHTML html.push($('#hashtag-link-template')[0].outerHTML
.replace(/\bid\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('id') .replace(/\bid\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('id')
//.replace(/\bhref\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('href') //.replace(/\bhref\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('href')
.replace(/<a\s+(?=[^>]*?\bclass\s*=\s*"(?=[^"]*?\bopen-hashtag-modal\b))/ig, ['<a href="', $.MAL.hashtagUrl(str.toLowerCase()), '" '].join('')) // $().closest('a.open-profile-modal').attr('href', $.MAL.hashtagUrl(hashtag)) .replace(/<a\s+(?=[^>]*?\bclass\s*=\s*"(?=[^"]*?\bopen-hashtag-modal\b))/ig, '<a href="' + $.MAL.hashtagUrl(str.toLowerCase()) + '" ') // $().closest('a.open-profile-modal').attr('href', $.MAL.hashtagUrl(hashtag))
.replace(/(<a\s+(?=[^>]*?\bclass\s*=\s*"(?=[^"]*?\bopen-hashtag-modal\b))[^]*?>)[^]*?(<\/a>)/ig, [pre, '$1#', str, '$2'].join('')) // $().closest('a.open-profile-modal').text('#'+hashtag) .replace(/(<a\s+(?=[^>]*?\bclass\s*=\s*"(?=[^"]*?\bopen-hashtag-modal\b))[^]*?>)[^]*?(<\/a>)/ig, '$1#' + str + '$2') // $().closest('a.open-profile-modal').text('#'+hashtag)
); );
return ['>', html.length - 1, '<'].join(''); return '>' + (html.length - 1).toString() + '<';
} }
function htmlHttp(str) { function htmlHttp(str) {
html.push($('#external-page-link-template')[0].outerHTML html.push($('#external-page-link-template')[0].outerHTML
.replace(/\bid\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('id') .replace(/\bid\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('id')
//.replace(/\bhref\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('href') //.replace(/\bhref\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('href')
.replace(/<a\s+/ig, ['<a href="', proxyURL(str), '" '].join('')) // $().closest('a').attr('href', proxyURL(url)) .replace(/<a\s+/ig, '<a href="' + proxyURL(str) + '" ') // $().closest('a').attr('href', proxyURL(url))
.replace(/(<a\s+[^]*?>)[^]*?(<\/a>)/ig, ['$1', str, '$2'].join('')) // $().closest('a').text(url) .replace(/(<a\s+[^]*?>)[^]*?(<\/a>)/ig, '$1' + str + '$2') // $().closest('a').text(url)
); );
return ['>', html.length - 1, '<'].join(''); return '>' + (html.length - 1).toString() + '<';
} }
function htmlEmail(str, pre) { function htmlEmail(str) {
str = str.replace(new RegExp(['^', pre].join('')), '');
html.push($('#external-page-link-template')[0].outerHTML html.push($('#external-page-link-template')[0].outerHTML
.replace(/\bid\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('id') .replace(/\bid\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('id')
//.replace(/\bhref\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('href') //.replace(/\bhref\s*=\s*"[^]*?"+/ig, '') // $().removeAttr('href')
.replace(/<a\s+/ig, ['<a href="mailto:', str.toLowerCase(), '" '].join('')) // $().closest('a').attr('href', 'mailto:'+url) .replace(/<a\s+/ig, '<a href="mailto:' + str.toLowerCase() + '" ') // $().closest('a').attr('href', 'mailto:'+url)
.replace(/(<a\s+[^]*?>)[^]*?(<\/a>)/ig, [pre, '$1', str, '$2'].join('')) // $().closest('a').text(url) .replace(/(<a\s+[^]*?>)[^]*?(<\/a>)/ig, '$1' + str + '$2') // $().closest('a').text(url)
); );
return ['>', html.length - 1, '<'].join(''); return '>' + (html.length - 1).toString() + '<';
} }
function htmlSplitCounter(str) { function htmlSplitCounter(str) {
html.push(['<span class="splited-post-counter">', str, '</span>'].join('')); html.push('<span class="splited-post-counter">' + str + '</span>');
return ['>', html.length - 1, '<'].join(''); return '>' + (html.length - 1).toString() + '<';
} }
var html = []; var html = [];
return _formatText(escapeHtmlEntities(msg) return _formatText(escapeHtmlEntities(msg)
.replace(/(^|[^\/]\B(?!\S*:\/\/\S*@))@\w+\b/g, htmlMention) .replace(/\bhttps?:\/\/[^>\s]+/ig, htmlHttp)
.replace(/(^|[^<\/]\B(?!\S*:\/\/\S*#))#[^#\\\/\.,:;\?\!\*\[\]\(\)\{\}\^\|%'"\u201C\u201D\u2026\u2014\u4E00\u3002\uFF0C\uFF1A\uFF1F\uFF01\u3010\u3011>\s]+/g, htmlHashtag) // unicode escaped stuff is '“”…—一。,:?!【】' for our chinese friends .replace(/[^<\s]+@\S+\.[^>\s]+/g, htmlEmail) // should be pretty slow monstrous RegExp here to handle it in accordance with RFC but twisters just gonna avoid text_without_spaces@text_with_._but_without spaces to not get it like email address
.replace(/\bhttps?:\/\/\S[^>\s]+/ig, htmlHttp) .replace(/@\w+\b/g, htmlMention)
.replace(/([^<\/])\b(?!\S*:\/\/\S*@)\S+@\S+\.\S[^>\s]+/g, htmlEmail) .replace(/#[^#\\\/\.,:;\?\!\*\[\]\(\)\{\}\^\|%'"\u201C\u201D\u2026\u2014\u4E00\u3002\uFF0C\uFF1A\uFF1F\uFF01\u3010\u3011>\s]+/g, htmlHashtag) // unicode escaped stuff is '“”…—一。,:?!【】' for our chinese friends
.replace(/\(\d{1,2}\/\d{1,2}\)$/, htmlSplitCounter) .replace(/\(\d{1,2}\/\d{1,2}\)$/, htmlSplitCounter)
.replace(/>(\d+)</g, function(candy, core) {return html[core]}) .replace(/>(\d+)</g, function(candy, core) {return html[core]})
); );
@ -258,12 +255,12 @@ function htmlFormatMsg(msg, mentions) {
function proxyURL(url) { function proxyURL(url) {
var proxyOpt = $.Options.useProxy.val; var proxyOpt = $.Options.useProxy.val;
if (proxyOpt !== 'disable' && !$.Options.useProxyForImgOnly.val) { if (proxyOpt !== 'disable' && !$.Options.useProxyForImgOnly.val) {
// proxy alternatives may be added to options page // proxy alternatives may be added to options page FIXME currently not; and we need more fresh proxies
if (proxyOpt === 'ssl-proxy-my-addr') { if (proxyOpt === 'ssl-proxy-my-addr') {
url = ['https://ssl-proxy.my-addr.org/myaddrproxy.php/', url = 'https://ssl-proxy.my-addr.org/myaddrproxy.php/' +
url.substring(0, url.indexOf(':')), url.substr(url.indexOf('/') + 1)].join(''); url.substring(0, url.indexOf(':')) + url.substr(url.indexOf('/') + 1);
} else if (proxyOpt === 'anonymouse') } else if (proxyOpt === 'anonymouse')
url = ['http://anonymouse.org/cgi-bin/anon-www.cgi/', url].join(''); url = 'http://anonymouse.org/cgi-bin/anon-www.cgi/' + url;
} }
return url; return url;

37
login.html

@ -31,10 +31,8 @@
<link rel="icon" type="image/png" href="img/twister_mini.png" /> <link rel="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"><span class="selectable_theme theme_original label">Home</span></a></li> <li class="userMenu-home"><a href="home.html"><span class="selectable_theme theme_original label">Home</span></a></li>
@ -42,20 +40,14 @@
<li class="userMenu-profile current"><a class="label" href="login.html">Login</a></li> <li class="userMenu-profile current"><a class="label" href="login.html">Login</a></li>
<li class="userMenu-config"> <li class="userMenu-config">
</li> </li>
</ul> </ul>
</nav> </nav>
<!-- MENU SUPERIOR END --> <!-- MENU SUPERIOR END -->
<div class="wrapper"> <div class="wrapper">
<!-- LADO ESQUERDO DE MÓDULOS INIT -->
<!-- LADO ESQUERDO DE MÓDULOS INIT -->
<div class="login"> <div class="login">
<h2 class="header-bold"> twister login </h2> <h2 class="header-bold"> twister login </h2>
<div class="module"> <div class="module">
<p> <span>Existing local users</span> </p> <p> <span>Existing local users</span> </p>
<div> <div>
@ -64,9 +56,7 @@
<button class="login-local-username">Login</button> <button class="login-local-username">Login</button>
</div> </div>
</div> </div>
<!-- <span> Or... </span> -->
<!-- <span> Or... </span> -->
<div class="module"> <div class="module">
<p> <span>Create a new user</span> </p> <p> <span>Create a new user</span> </p>
<div> <div>
@ -78,9 +68,7 @@
<button class="create-user disabled" disable="true">Create this nickname</button> <button class="create-user disabled" disable="true">Create this nickname</button>
</div> </div>
</div> </div>
<!-- <span> Or... </span> --> <!-- <span> Or... </span> -->
<div class="module"> <div class="module">
<div> <div>
<p> <span>Import secret key</span> </p> <p> <span>Import secret key</span> </p>
@ -94,29 +82,19 @@
<button class="import-secret-key disabled" disable="true">Import key</button> <button class="import-secret-key disabled" disable="true">Import key</button>
</div> </div>
</div> </div>
</div> </div>
<!-- LADO ESQUERDO DE MÓDULOS END --> <!-- LADO ESQUERDO DE MÓDULOS END -->
</div> </div>
<!-- TEMPLATES INIT --> <!-- TEMPLATES INIT -->
<div id="templates" style="display:none;"> <div id="templates" style="display:none;">
<!-- TEMPLATE DO MODAL GENÉRICO INIT --> <!-- TEMPLATE DO MODAL GENÉRICO INIT -->
<div class="modal-blackout"> <div class="modal-wrapper">
<div class="modal-wrapper">
<div class="modal-header"> <div class="modal-header">
<h3></h3> <h3></h3>
<span id="closeModal" class="modal-close cancel">&times;</span>
</div> </div>
<div class="modal-content"></div> <div class="modal-content"></div>
<div class="modal-buttons"> <div class="modal-blackout"></div>
<button class="modal-cancel cancel">Cancel</button>
<button class="modal-propagate">Retransmit</button>
</div>
</div>
</div> </div>
<!-- TEMPLATE DO MODAL GENÉRICO END --> <!-- TEMPLATE DO MODAL GENÉRICO END -->
@ -150,10 +128,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- TEMPLATES END --> <!-- TEMPLATES END -->
</body> </body>
</html> </html>

35
theme_calm/css/profile.css

@ -137,7 +137,7 @@
} }
.forEdition .profile-card-main input:hover .forEdition .profile-card-main input:hover
{ {
background: rgba( 255, 255, 255, .7 ); background: rgba( 255, 255, 255, .7 );
} }
.forEdition .profile-card-photo:hover{ .forEdition .profile-card-photo:hover{
background: #9096a5; background: #9096a5;
@ -223,25 +223,21 @@
************ PROFILE MODAL *********** ************ PROFILE MODAL ***********
**************************************/ **************************************/
.profile-modal .modal-wrapper .modal-wrapper.profile-modal {
{
width: 580px; width: 580px;
border-radius: 5px; height: 760px;
overflow: hidden; margin: -380px 0 0 -290px;
position: absolute; }
top:5%;
height: 90%;
margin-left: -290px;
.profile-modal .modal-content {
height: 730px;
overflow-y: hidden;
padding: 3px;
} }
.profile-modal .modal-header, .profile-modal .profile-card { .profile-modal .modal-header, .profile-modal .profile-card {
z-index: 1; z-index: 1;
} }
.profile-modal .modal-content
{
padding: 3px;
height: 100%;
}
.profile-modal h1.profile-name { .profile-modal h1.profile-name {
color: #43464d; color: #43464d;
} }
@ -325,18 +321,17 @@
.profile-modal .profile-bitmessage { .profile-modal .profile-bitmessage {
background: #e3e5ea url(../img/bm.png) center no-repeat; background: #e3e5ea url(../img/bm.png) center no-repeat;
} }
.profile-modal .profile-data
{ .profile-modal .profile-data {
display: inline-block; display: inline-block;
margin-left: -4px;
border-bottom: 0; border-bottom: 0;
} }
.profile-modal .postboard
{ .profile-modal .postboard {
margin-left: 0; margin-left: 0;
padding: 5px 0 5px 0; padding: 5px 0 5px 0;
height: 73%;
} }
.profile-modal .postboard h2 { .profile-modal .postboard h2 {
width: auto; width: auto;
} }

561
theme_calm/css/style.css

@ -34,8 +34,8 @@ b, u, i, center,
dl, dt, dd, ol, ul, li, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup, figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary, menu, nav, output, ruby, section, summary,
time, mark, audio, video, textarea time, mark, audio, video, textarea
{ {
@ -458,7 +458,7 @@ input.userMenu-search-field:focus::-ms-input-placeholder {
{ {
border: solid 1px rgba( 69, 71, 77, .1 ); border: solid 1px rgba( 69, 71, 77, .1 );
background: #f3f5fb; background: #f3f5fb;
} }
.dashboard .module { .dashboard .module {
margin: 0 0 3%; margin: 0 0 3%;
@ -535,7 +535,7 @@ input.userMenu-search-field:focus::-ms-input-placeholder {
} }
.userMenu-search-profiles li:hover span .userMenu-search-profiles li:hover span
{ {
color: #fff; color: #fff;
} }
.userMenu-search-profiles button .userMenu-search-profiles button
{ {
@ -555,11 +555,11 @@ input.userMenu-search-field:focus::-ms-input-placeholder {
} }
.userMenu-search-sugestions .userMenu-search-sugestions
{ {
border-bottom: solid 1px rgba( 69, 71, 77, .1 ); border-bottom: solid 1px rgba( 69, 71, 77, .1 );
} }
.userMenu-search-sugestions a .userMenu-search-sugestions a
{ {
color: rgba( 0, 0, 0, .7 ); color: rgba( 0, 0, 0, .7 );
padding: 5px 20px; padding: 5px 20px;
font-size: 12px; font-size: 12px;
display: block; display: block;
@ -585,7 +585,7 @@ input.userMenu-search-field:focus::-ms-input-placeholder {
{ {
font-size: 12px; font-size: 12px;
font-weight: bold; font-weight: bold;
color: rgba( 0, 0, 0, .7 ); color: rgba( 0, 0, 0, .7 );
padding: 0 75px 0 15px; padding: 0 75px 0 15px;
} }
/*********************************** /***********************************
@ -699,12 +699,12 @@ input.userMenu-search-field:focus::-ms-input-placeholder {
} }
.mini-profile-actions ul li + li .mini-profile-actions ul li + li
{ {
margin: 0 2px; margin: 0 2px;
} }
.mini-profile-actions:hover ul li:hover .mini-profile-actions:hover ul li:hover
{ {
background: rgba( 0, 0, 0, .7 ); background: rgba( 0, 0, 0, .7 );
color: #fff; color: #fff;
} }
.mini-profile-info a:hover .mini-profile-info a:hover
{ {
@ -796,7 +796,7 @@ textarea.splited-post {
font: 17px/34px "Open Sans Condensed"; font: 17px/34px "Open Sans Condensed";
border-radius: 2px; border-radius: 2px;
opacity: 1; opacity: 1;
-webkit-transition: all 200ms; -webkit-transition: all 200ms;
-moz-transition: all 200ms; -moz-transition: all 200ms;
-ms-transition: all 200ms; -ms-transition: all 200ms;
@ -812,7 +812,7 @@ textarea.splited-post {
font: 17px/34px "Open Sans Condensed", Symbola; font: 17px/34px "Open Sans Condensed", Symbola;
border-radius: 2px; border-radius: 2px;
opacity: 1; opacity: 1;
-webkit-transition: all 200ms; -webkit-transition: all 200ms;
-moz-transition: all 200ms; -moz-transition: all 200ms;
-ms-transition: all 200ms; -ms-transition: all 200ms;
@ -823,7 +823,7 @@ textarea.splited-post {
.post-submit:hover, .dm-submit:hover, .undo-unicode:hover { .post-submit:hover, .dm-submit:hover, .undo-unicode:hover {
color: #fff; color: #fff;
opacity: .9; opacity: .9;
} }
.directMessages .dm-submit { .directMessages .dm-submit {
margin-right: 55px; margin-right: 55px;
@ -1077,11 +1077,7 @@ textarea.splited-post {
background: #7691ce; background: #7691ce;
border-radius: 2px; border-radius: 2px;
} }
.postboard h2.fixed
{
z-index: 2;
border-top: solid 4px #fbf9f6;
}
.postboard a.promoted-posts-only { .postboard a.promoted-posts-only {
display: inline-block; display: inline-block;
padding: 0 15px; padding: 0 15px;
@ -1110,7 +1106,7 @@ textarea.splited-post {
.postboard-posts li:first-child { .postboard-posts li:first-child {
border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0;
} }
.postboard-news { .postboard-news {
float: right; float: right;
background: rgba( 0, 0, 0, .2 ); background: rgba( 0, 0, 0, .2 );
border: none; border: none;
@ -1153,7 +1149,7 @@ textarea.splited-post {
} }
.postboard-posts > .post:after .postboard-posts > .post:after
{ {
content: ""; content: "";
position: absolute; position: absolute;
right: 0; right: 0;
top: 0; top: 0;
@ -1745,67 +1741,52 @@ textarea.splited-post {
} }
/************************************* /*************************************
****************** POPUP PROMPT ****** ************* POPUP MODAL ************
**************************************/ **************************************/
.prompt-wrapper .modal-wrapper {
{ background: #fff;
z-index: 3;
position: fixed; position: fixed;
top: 50%; top: 50%;
left: 50%; left: 50%;
background: rgba( 255, 255,255, 1.0 ); width: 580px;
box-shadow: 0 0 30px rgba( 0, 0, 0, .6 ); height: 720px;
z-index: 5; overflow: hidden;
width: 600px; margin: -360px 0 0 -290px;
margin-left:-300px; border-radius: 0 0 4px 4px;
box-shadow: 0 0 30px rgba(0,0,0, .6);
} }
.prompt-wrapper .modal-header h3{ .modal-header {
background: #7691CE; background: #7691ce;
position: relative;
height: 30px;
} }
/************************************* .modal-header h3 {
**************************** POPUP MODAL color: #fff;
**************************************/ padding: 5px 10px;
.modal-blackout font-weight: bold;
{ }
.modal-wrapper .modal-content {
background: #fff;
height: 690px;
overflow-y: auto;
}
.modal-wrapper .modal-blackout {
background: rgba(0,0,0, .6);
z-index: -1;
position: fixed; position: fixed;
width: 100%;
height: 100%;
left: 0; left: 0;
top: 0; top: 0;
background: rgba( 0, 0, 0, .6 ); width: 100%;
display: none; height: 100%;
z-index: 3;
}
.modal-blackout.reply .post
{
background: #ececed;
padding: 10px 15px;
}
.modal-wrapper
{
position: absolute;
top: 50%;
left: 50%;
background: rgba( 255, 255, 255, 1.0 );
box-shadow: 0 0 30px rgba( 0, 0, 0, .6 );
border-radius: 0 0 4px 4px;
} }
.modal-header
{
position: relative;
} .modal-close {
.modal-header h3
{
padding: 5px;
font-weight: bold;
background: #7691CE;
color: #fff;
}
.modal-close
{
position: absolute; position: absolute;
right: 0; right: 0;
top: 0; top: 0;
@ -1814,13 +1795,14 @@ textarea.splited-post {
color: rgba( 255, 255, 255, .7 ); color: rgba( 255, 255, 255, .7 );
font-weight: bold; font-weight: bold;
border-left: solid 1px rgba( 255, 255, 255, .3 ); border-left: solid 1px rgba( 255, 255, 255, .3 );
transition: all .1s linear; transition: all .1s linear;
} }
.modal-close:hover
{ .modal-close:hover {
color: #fff; color: #fff;
background: rgba( 0, 0, 0, .1 ); background: rgba( 0, 0, 0, .1 );
} }
.modal-back, .modal-back,
.mark-all-as-read { .mark-all-as-read {
position: absolute; position: absolute;
@ -1832,128 +1814,30 @@ textarea.splited-post {
font-weight: bold; font-weight: bold;
border-left: solid 1px rgba( 255, 255, 255, .3 ); border-left: solid 1px rgba( 255, 255, 255, .3 );
transition: all .1s linear; transition: all .1s linear;
display: none; display: none;
} }
.modal-back:hover, .modal-back:hover,
.mark-all-as-read:hover { .mark-all-as-read:hover {
color: #fff; color: #fff;
background: rgba( 0, 0, 0, .1 ); background: rgba( 0, 0, 0, .1 );
} }
.modal-buttons
{
padding: 10px;
text-align: right;
}
.modal-buttons button:last-child
{
padding: 5px 20px;
}
/************************************* .modal-wrapper.reply .post {
****** FOLLOWING-CONFIG PROMPT ******* background: #ececed;
**************************************/ padding: 10px 15px;
.following-config-modal
{
margin-top: -80px;
}
.following-config-modal .modal-content
{
padding: 10px;
text-align: center;
}
.following-config-modal .modal-buttons
{
display: none;
}
.following-config-method-buttons
{
padding: 10px;
}
/*************************************
******** RETWIST POSTS PROMPT ********
**************************************/
.reTwist
{
margin-top: -100px;
}
.reTwist .post-expand,
.reTwist .post-interactions
{
display: none;
}
.reTwist .post {
margin: 5px;
padding: 5px;
min-height: 68px;
}
/*************************************
****************** REPLY POSTS PROMPT
**************************************/
.reply
{
margin-top: -140px;
}
.reply .modal-buttons
{
display: none;
}
.reply .post-expand,
.reply .post-interactions
{
display: none;
}
.reply .textcomplete-wrapper{
padding-top: 10px;
}
.reply .textcomplete-wrapper textarea{
margin: 10px;
width: 580px;
}
.reply .post-area-extras
{
margin-right: 10px;
}
.reply .post {
margin: 10px;
padding: 5px;
min-height: 68px;
} }
/************************************* /*************************************
****************** DIRECT MESSAGES MODAL ******** DIRECT MESSAGES MODAL *******
**************************************/ **************************************/
.directMessages .modal-wrapper
{
width: 540px;
height: 470px;
margin: -200px 0 0 -280px;
overflow-x: hidden;
}
.directMessages .modal-content
{
overflow-y: auto;
}
.directMessages .modal-buttons .direct-messages-list .post {
{
display: none;
}
.direct-messages-list .post
{
padding: 10px 30px 10px 15px; padding: 10px 30px 10px 15px;
cursor: pointer; cursor: pointer;
} }
.direct-messages-list .post:after
{ .direct-messages-list .post:after {
content: "►"; content: "►";
position: absolute; position: absolute;
right: 10px; right: 10px;
@ -1961,48 +1845,48 @@ textarea.splited-post {
margin: -6px 0 0 0; margin: -6px 0 0 0;
color: rgba( 0, 0, 0, .4 ); color: rgba( 0, 0, 0, .4 );
} }
.direct-messages-thread
{ .direct-messages-thread {
padding: 10px; padding: 10px;
} }
.direct-messages-thread .post
{ .direct-messages-thread .post {
min-height: 82px; min-height: 82px;
margin-left: 65px; margin-left: 65px;
} }
.direct-messages-thread .post:after, .direct-messages-thread .post:after,
.direct-messages-thread .post:nth-child(2n):after .direct-messages-thread .post:nth-child(2n):after {
{
content: ""; content: "";
width: 1px; width: 1px;
background: transparent; background: transparent;
position: absolute; position: absolute;
top: 25px; top: 25px;
} }
.direct-messages-thread .post:after
{ .direct-messages-thread .post:after {
border-top: solid 10px transparent; border-top: solid 10px transparent;
border-bottom: solid 10px transparent; border-bottom: solid 10px transparent;
border-right: solid 10px #ececed; border-right: solid 10px #ececed;
left: -10px; left: -10px;
} }
.direct-messages-thread .post-text
{ .direct-messages-thread .post-text {
margin: 2px 10px 4px 4px; margin: 2px 10px 4px 4px;
word-wrap: break-word; word-wrap: break-word;
} }
.direct-messages-thread .post-photo
{ .direct-messages-thread .post-photo {
position: absolute; position: absolute;
left: -65px; left: -65px;
} }
.direct-messages-thread .post.sent
{ .direct-messages-thread .post.sent {
margin-right: 60px; margin-right: 60px;
margin-left: 0; margin-left: 0;
} }
.direct-messages-thread .post.sent:after
{ .direct-messages-thread .post.sent:after {
border-top: solid 10px transparent; border-top: solid 10px transparent;
border-bottom: solid 10px transparent; border-bottom: solid 10px transparent;
border-right: none; border-right: none;
@ -2010,206 +1894,253 @@ textarea.splited-post {
right: -10px; right: -10px;
left: auto; left: auto;
} }
.direct-messages-thread .post.sent .post-text
{ .direct-messages-thread .post.sent .post-text {
margin: 2px 10px 4px 4px; margin: 2px 10px 4px 4px;
} }
.direct-messages-thread .post.sent .post-photo
{ .direct-messages-thread .post.sent .post-photo {
position: absolute; position: absolute;
right: -65px; right: -65px;
left: auto; left: auto;
} }
.direct-messages-thread li.message { .direct-messages-thread li.message {
cursor: auto; cursor: auto;
} }
.direct-messages-thread li.message:hover { .direct-messages-thread li.message:hover {
background: none; background: none;
} }
.mark-all-as-read { .mark-all-as-read {
right: 60px; right: 60px;
} }
.mark-all-as-read:before { .mark-all-as-read:before {
content: '\2714'; content: '\2714';
} }
/************************************* /*************************************
****************** NEW USER MODAL *********** NEW USER MODAL ***********
**************************************/ **************************************/
.new-user .modal-wrapper
{ .new-user.modal-wrapper {
top: 50%;
width: 720px; width: 720px;
height: 400px; height: 580px;
margin: -200px 0 0 -360px; margin: -290px 0 0 -360px;
overflow-x: hidden;
overflow-y: hidden;
} }
.new-user .modal-content
{ .new-user .modal-content {
margin: 10px 10px 10px 10px; height: 550px;
padding: 25px;
} }
.new-user .modal-buttons,
.new-user .modal-close .new-user .modal-close {
{
display: none; display: none;
} }
.new-user .text
{ .new-user .text {
margin: 0 0 15px 0; margin: 0 0 15px 0;
} }
.new-user .emphasis
{ .new-user .emphasis {
font-size: 18px; font-size: 18px;
text-align: center; text-align: center;
} }
.new-user .secret-key
{ .new-user .secret-key {
color: rgba( .5, 0, 0, 1.0 ); color: rgba(.5,0,0, 1.0);
font-weight: bold; font-weight: bold;
} }
/************************************* /*************************************
****************** HASHTAG MODAL ************ HASHTAG MODAL ***********
**************************************/ **************************************/
.hashtag-modal .modal-wrapper
{ .hashtag-modal .postboard {
width: 560px;
height: 470px;
margin: -200px 0 0 -280px;
overflow: hidden;
}
.hashtag-modal .modal-content
{
overflow-y: auto;
height: 440px;
}
.hashtag-modal .modal-buttons
{
display: none;
}
.hashtag-modal .postboard
{
margin-left: 0; margin-left: 0;
} }
.hashtag-modal .postboard h2 { .hashtag-modal .postboard h2 {
width: 100%; width: 100%;
padding-left: 10px; padding-left: 10px;
} }
/************************************* /*************************************
****************** CONVERSATION MODAL ********* CONVERSATION MODAL *********
**************************************/ **************************************/
.conversation-modal .modal-wrapper
{ .conversation-modal .postboard {
position: absolute;
width: 560px;
height: 80%;
top: 10%;
margin: 0 0 0 -330px;
overflow: hidden;
}
.conversation-modal .modal-content
{
overflow-y: auto;
height: 90%;
}
.conversation-modal .modal-buttons
{
display: none;
}
.conversation-modal .postboard
{
margin-left: 0; margin-left: 0;
} }
/************************************* /*************************************
****************** FOLLOWING MODAL ********** FOLLOWING MODAL ***********
**************************************/ **************************************/
.following-modal .modal-wrapper
{ .following-modal .modal-content {
width: 560px;
height: 470px;
margin: -200px 0 0 -280px;
overflow-x: hidden;
}
.following-modal .modal-content
{
padding: 15px; padding: 15px;
height: 400px;
overflow-y: auto;
} }
.following-modal .modal-buttons
{ .following-modal ol {
display: none;
}
.following-modal ol
{
margin: 5px; margin: 5px;
} }
.following-modal .open-profile-modal:hover
{ .following-modal .open-profile-modal:hover {
text-decoration: none; text-decoration: none;
} }
.following-modal .open-profile-modal img
{ .following-modal .open-profile-modal img {
float: none; float: none;
} }
.following-modal .open-profile-modal span
{ .following-modal .open-profile-modal span {
vertical-align: middle; vertical-align: middle;
} }
.following-modal .open-profile-modal span:hover
{ .following-modal .open-profile-modal span:hover {
text-decoration: underline; text-decoration: underline;
} }
/************************************* /*************************************
******************* WHO TO FOLLOW MODAL ********* WHO TO FOLLOW MODAL ********
**************************************/ **************************************/
.who-to-follow-modal .modal-wrapper
{ .who-to-follow-modal .modal-content {
width: 560px;
height: 470px;
margin: -200px 0 0 -280px;
overflow-x: hidden;
}
.who-to-follow-modal .modal-content
{
padding: 15px; padding: 15px;
height: 400px;
overflow-y: auto;
} }
.who-to-follow-modal .modal-buttons
{ .who-to-follow-modal ol {
display: none;
}
.who-to-follow-modal ol
{
margin: 5px; margin: 5px;
} }
.who-to-follow-modal .open-profile-modal:hover
{ .who-to-follow-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 {
vertical-align: middle; vertical-align: middle;
} }
.who-to-follow-modal .open-profile-modal span:hover
{ .who-to-follow-modal .open-profile-modal span:hover {
text-decoration: underline; text-decoration: underline;
} }
.who-to-follow-modal .follow
{ .who-to-follow-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 {
vertical-align: bottom; vertical-align: bottom;
} }
.who-to-follow-modal .bio
{ .who-to-follow-modal .bio {
font-size: 12px; font-size: 12px;
color: rgba( 0, 0, 0, .6 ); color: rgba( 0, 0, 0, .6 );
} }
/*************************************
************ POPUP PROMPT ************
**************************************/
.prompt-wrapper {
background: rgba(255,255,255, 1.0);
z-index: 5;
position: fixed;
top: 50%;
left: 50%;
width: 600px;
margin-left: -300px;
box-shadow: 0 0 30px rgba(0,0,0, .6);
}
.prompt-wrapper .modal-buttons {
padding: 10px;
text-align: right;
}
.prompt-wrapper .modal-buttons button:last-child {
padding: 5px 20px;
}
/*************************************
****** FOLLOWING-CONFIG PROMPT *******
**************************************/
.following-config-modal.prompt-wrapper {
margin-top: -80px;
}
.following-config-modal .modal-content {
padding: 10px;
text-align: center;
}
.following-config-modal .modal-buttons {
display: none;
}
.following-config-method-buttons {
padding: 10px;
}
/*************************************
******** RETWIST POSTS PROMPT ********
**************************************/
.reTwist.prompt-wrapper {
margin-top: -100px;
}
.reTwist .post-expand,
.reTwist .post-interactions {
display: none;
}
.reTwist .post {
margin: 5px;
padding: 5px;
min-height: 68px;
}
/*************************************
********* REPLY POSTS PROMPT *********
**************************************/
.reply.prompt-wrapper {
margin-top: -140px;
}
.reply .modal-buttons {
display: none;
}
.reply .post-expand,
.reply .post-interactions {
display: none;
}
.reply .textcomplete-wrapper {
padding-top: 10px;
}
.reply .textcomplete-wrapper textarea {
margin: 10px;
width: 580px;
}
.reply .post-area-extras {
margin-right: 10px;
}
.reply .post {
margin: 10px;
padding: 5px;
min-height: 68px;
}
/************************************* /*************************************
**************** LOADER ************** **************** LOADER **************
**************************************/ **************************************/

265
theme_nin/css/style.css

@ -390,22 +390,22 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu,
} }
/************************************* /*************************************
******************* PROFILE MODAL ************ PROFILE MODAL ***********
************************************** */ **************************************/
/* line 17, ../sass/_profile.sass */ /* line 17, ../sass/_profile.sass */
.profile-modal .modal-wrapper { .modal-wrapper.profile-modal {
top: 50%;
width: 980px; width: 980px;
max-width: 98%; max-width: 98%;
position: absolute;
top: 50%;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
height: 550px; height: 550px;
margin: -275px 0 0 -490px; margin: -275px 0 0 -490px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
} }
/* line 25, ../sass/_profile.sass */ /* line 25, ../sass/_profile.sass */
.profile-modal .modal-wrapper h3 { .modal-wrapper.profile-modal h3 {
display: none; display: none;
} }
/* line 28, ../sass/_profile.sass */ /* line 28, ../sass/_profile.sass */
@ -644,12 +644,6 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu,
color: #B4C669; color: #B4C669;
} }
/* line 217, ../sass/_profile.sass */
.profile-modal .modal-buttons {
display: none;
/* EDITION PROFILE */
}
/* line 222, ../sass/_profile.sass */ /* line 222, ../sass/_profile.sass */
.forEdition.profile-card { .forEdition.profile-card {
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
@ -1411,7 +1405,7 @@ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu,
} }
/* line 227, ../sass/_following.sass */ /* line 227, ../sass/_following.sass */
.following-modal .modal-wrapper { .modal-wrapper.following-modal {
width: 200px; width: 200px;
} }
/* line 229, ../sass/_following.sass */ /* line 229, ../sass/_following.sass */
@ -2580,49 +2574,41 @@ ol.toptrends-list a:hover {
cursor: pointer; cursor: pointer;
} }
/*********** POPUP PROMPT ************ */ /************ POPUP MODAL ************/
/* line 558, ../sass/style.sass */
.prompt-wrapper { /* line 580, ../sass/style.sass */
position: fixed; .modal-wrapper {
top: 50%; background: white;
left: 50%; clear: both;
background: white; z-index: 3;
box-shadow: 0 0 30px rgba(0, 0, 0, 0.6); position: fixed;
z-index: 5; top: 50%;
width: 600px; left: 50%;
margin-left: -300px; overflow: hidden;
} }
/*********** POPUP MODAL ************* */
/* line 570, ../sass/style.sass */ /* line 570, ../sass/style.sass */
.modal-blackout { .modal-blackout {
position: fixed; background: rgba(170,170,170, 0.8);
width: 100%; z-index: -1;
height: 100%; position: fixed;
left: 0; left: 0;
top: 0; top: 0;
background: rgba(170, 170, 170, 0.8); width: 100%;
display: none; height: 100%;
z-index: 3;
} }
/* line 580, ../sass/style.sass */ /* line 588, ../sass/style.sass */
.modal-wrapper { .modal-content {
position: absolute; background: #f3f2f1;
top: 50%; padding: 20px;
left: 50%;
overflow: hidden;
} }
/* line 585, ../sass/style.sass */ /* line 585, ../sass/style.sass */
.modal-wrapper .post-area-new { .modal-wrapper .post-area-new {
padding: 10px; padding: 10px;
} }
/* line 588, ../sass/style.sass */
.modal-content {
background: #f3f2f1;
padding: 20px;
}
/* line 592, ../sass/style.sass */ /* line 592, ../sass/style.sass */
.modal-content .postboard h2 { .modal-content .postboard h2 {
position: fixed; position: fixed;
@ -2725,80 +2711,79 @@ ol.toptrends-list a:hover {
display: none; display: none;
} }
/* line 677, ../sass/style.sass */ /*********** POPUP PROMPT ************/
.modal-buttons {
padding: 10px; /* line 558, ../sass/style.sass */
text-align: right; .prompt-wrapper {
position: fixed;
top: 50%;
left: 50%;
background: white;
box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
z-index: 5;
width: 600px;
margin-left: -300px;
} }
/************ FOLLOWING-CONFIG MODAL ********* */ .prompt-wrapper .modal-buttons {
/* line 685, ../sass/style.sass */ padding: 10px;
.following-config-modal h2 { text-align: right;
text-transform: none; }
.prompt-wrapper .modal-buttons button:last-child {
padding: 5px 20px;
} }
/* line 687, ../sass/style.sass */
.following-config-modal .modal-wrapper { /****** FOLLOWING-CONFIG PROMPT ******/
top: 43%;
left: 25%; .following-config-modal.prompt-wrapper {
width: 50%; margin-top: -100px;
} }
/* line 691, ../sass/style.sass */
.following-config-modal .modal-content { .following-config-modal .modal-content {
padding: 10px; padding: 10px;
text-align: center; text-align: center;
background-color: white;
} }
/* line 695, ../sass/style.sass */
.following-config-modal .modal-buttons { .following-config-modal .modal-buttons {
display: none; display: none;
} }
/* line 697, ../sass/style.sass */ .following-config-modal h2 {
.following-config-method-buttons { text-transform: none;
padding: 10px;
} }
/****** FOLLOWING-CONFIG PROMPT ***** */ .following-config-method-buttons {
/* line 699, ../sass/style.sass */
.following-config-modal
{
margin-top: -100px;
}
.following-config-modal .modal-content
{
padding: 10px; padding: 10px;
text-align: center;
}
.following-config-modal .modal-buttons
{
display: none;
} }
.following-config-method-buttons .public-following { .following-config-method-buttons .public-following {
background-color: #B4C669; background-color: #B4C669;
margin: 0px 2px; margin: 0px 2px;
padding: 6px 16px; padding: 6px 16px;
} }
/********** RETWIST POSTS PROMPT ********* */ /********** RETWIST POSTS PROMPT **********/
/* line 705, ../sass/style.sass */ /* line 705, ../sass/style.sass */
.reTwist.prompt-wrapper { .reTwist.prompt-wrapper {
margin-top: -110px; margin-top: -110px;
} }
.reTwist .modal-content .reTwist .modal-content {
{
padding: 20px 15px; padding: 20px 15px;
} }
.reTwist button.modal-propagate
{ .reTwist button.modal-propagate {
background-color: #B4C669; background-color: #B4C669;
} }
/* line 709, ../sass/style.sass */ /* line 709, ../sass/style.sass */
.reTwist .post-expand, .reTwist .post-interactions { .reTwist .post-expand, .reTwist .post-interactions {
display: none; display: none;
} }
/********* REPLY POSTS MODAL************** */ /********* REPLY POSTS PROMPT ***************/
/* line 715, ../sass/style.sass */ /* line 715, ../sass/style.sass */
.reply.prompt-wrapper { .reply.prompt-wrapper {
margin-top: -110px; margin-top: -110px;
@ -2813,37 +2798,36 @@ ol.toptrends-list a:hover {
} }
/****** DIRECT MESSAGES MODAL********* */ /****** DIRECT MESSAGES MODAL********* */
/* line 727, ../sass/style.sass */
.directMessages .post-area-new {
display: none;
padding: 20px;
z-index: 5;
background: #E2E1DE;
}
/* line 734, ../sass/style.sass */
.directMessages .post-area-new .modal-header h3 span {
display: inline !important;
}
/* line 736, ../sass/style.sass */ /* line 736, ../sass/style.sass */
.directMessages .modal-wrapper { .modal-wrapper.directMessages {
width: 520px;
height: 490px;
top: 10%; top: 10%;
margin: 0 0 0 -260px; width: 520px;
height: 600px;
overflow-x: hidden; overflow-x: hidden;
margin: 0 0 0 -260px;
} }
/* line 743, ../sass/style.sass */ /* line 743, ../sass/style.sass */
.directMessages .modal-content { .directMessages .modal-content {
width: 520px;
height: 560px;
overflow-y: auto; overflow-y: auto;
height: 300px; box-sizing: border-box;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
box-sizing: border-box;
width: 520px;
} }
/* line 750, ../sass/style.sass */
.directMessages .modal-buttons { /* line 727, ../sass/style.sass */
.directMessages .post-area-new {
display: none; display: none;
margin: 0 -20px;
padding: 20px;
z-index: 5;
background: #E2E1DE;
}
/* line 734, ../sass/style.sass */
.directMessages .post-area-new .modal-header h3 span {
display: inline !important;
} }
/* line 752, ../sass/style.sass */ /* line 752, ../sass/style.sass */
.directMessages .post-photo { .directMessages .post-photo {
@ -2970,21 +2954,19 @@ ol.toptrends-list a:hover {
} }
/********* NEW USER MODAL************* */ /********* NEW USER MODAL************* */
/* line 861, ../sass/style.sass */
.new-user .modal-wrapper { .new-user.modal-wrapper {
width: 640px; width: 720px;
height: 600px; height: 580px;
top: 10%; margin: -290px 0 0 -360px;
margin: 0 0 0 -320px;
overflow-x: hidden;
overflow-y: hidden;
} }
/* line 868, ../sass/style.sass */
.new-user .modal-content { .new-user .modal-content {
margin: 10px 10px 10px 10px; padding: 25px;
} }
/* line 870, ../sass/style.sass */ /* line 870, ../sass/style.sass */
.new-user .modal-buttons, .new-user .modal-close { .new-user .modal-close {
display: none; display: none;
} }
/* line 872, ../sass/style.sass */ /* line 872, ../sass/style.sass */
@ -3006,22 +2988,19 @@ ol.toptrends-list a:hover {
/******** HASHTAG MODAL********** */ /******** HASHTAG MODAL********** */
/* line 884, ../sass/style.sass */ /* line 884, ../sass/style.sass */
.hashtag-modal .modal-wrapper { .modal-wrapper.hashtag-modal {
top: 10%;
width: 520px; width: 520px;
height: 600px; height: 600px;
top: 10%;
margin: 0 0 0 -260px;
overflow: hidden; overflow: hidden;
margin: 0 0 0 -260px;
} }
/* line 890, ../sass/style.sass */ /* line 890, ../sass/style.sass */
.hashtag-modal .modal-content { .hashtag-modal .modal-content {
overflow-y: auto; overflow-y: auto;
height: 500px; height: 500px;
} }
/* line 893, ../sass/style.sass */
.hashtag-modal .modal-buttons {
display: none;
}
/* line 895, ../sass/style.sass */ /* line 895, ../sass/style.sass */
.hashtag-modal .postboard { .hashtag-modal .postboard {
padding: 0; padding: 0;
@ -3029,24 +3008,20 @@ ol.toptrends-list a:hover {
/****** CONVERSATION MODAL********** */ /****** CONVERSATION MODAL********** */
/* line 901, ../sass/style.sass */ /* line 901, ../sass/style.sass */
.conversation-modal .modal-wrapper { .modal-wrapper.conversation-modal {
position: absolute; background: white;
top: 10%;
width: 520px; width: 520px;
height: 575px; height: 575px;
top: 10%;
margin: 0 0 0 -260px;
overflow: hidden; overflow: hidden;
background: white; margin: 0 0 0 -260px;
} }
/* line 909, ../sass/style.sass */ /* line 909, ../sass/style.sass */
.conversation-modal .modal-content { .conversation-modal .modal-content {
overflow-y: auto; overflow-y: auto;
height: 90%; height: 90%;
} }
/* line 912, ../sass/style.sass */
.conversation-modal .modal-buttons {
display: none;
}
/* line 914, ../sass/style.sass */ /* line 914, ../sass/style.sass */
.conversation-modal .postboard { .conversation-modal .postboard {
padding: 0; padding: 0;
@ -3054,12 +3029,12 @@ ol.toptrends-list a:hover {
/****** FOLLOWING MODAL****** */ /****** FOLLOWING MODAL****** */
/* line 920, ../sass/style.sass */ /* line 920, ../sass/style.sass */
.following-modal .modal-wrapper { .modal-wrapper.following-modal {
width: 520px;
top: 10%; top: 10%;
width: 520px;
height: 400px; height: 400px;
margin: 0 0 0 -260px;
overflow-x: hidden; overflow-x: hidden;
margin: 0 0 0 -260px;
} }
/* line 926, ../sass/style.sass */ /* line 926, ../sass/style.sass */
.following-modal .modal-content { .following-modal .modal-content {
@ -3067,10 +3042,7 @@ ol.toptrends-list a:hover {
overflow-y: auto; overflow-y: auto;
padding: 0; padding: 0;
} }
/* line 930, ../sass/style.sass */
.following-modal .modal-buttons {
display: none;
}
/* line 932, ../sass/style.sass */ /* line 932, ../sass/style.sass */
.following-modal ol { .following-modal ol {
margin: 5px; margin: 5px;
@ -3082,12 +3054,12 @@ ol.toptrends-list a:hover {
/******* WHO TO FOLLOW MODAL****** */ /******* WHO TO FOLLOW MODAL****** */
/* line 943, ../sass/style.sass */ /* line 943, ../sass/style.sass */
.who-to-follow-modal .modal-wrapper { .modal-wrapper.who-to-follow-modal {
width: 520px;
top: 50%; top: 50%;
width: 520px;
height: 555px; height: 555px;
margin: -275px 0 0 -260px;
overflow-x: hidden; overflow-x: hidden;
margin: -275px 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 {
@ -3095,10 +3067,7 @@ ol.toptrends-list a:hover {
height: 480px; height: 480px;
overflow-y: auto; overflow-y: auto;
} }
/* line 953, ../sass/style.sass */
.who-to-follow-modal .modal-buttons {
display: none;
}
/* line 955, ../sass/style.sass */ /* line 955, ../sass/style.sass */
.who-to-follow-modal ol { .who-to-follow-modal ol {
margin: 5px; margin: 5px;
@ -3313,9 +3282,9 @@ ul.dropdown-menu .active, ul.dropdown-menu .active a {
} }
@media (max-width: 900px) { @media (max-width: 900px) {
/* line 21, ../sass/_responsive.sass */ /* line 21, ../sass/_responsive.sass */
.profile-modal .modal-wrapper { .modal-wrapper.profile-modal {
margin-left: 0;
left: 1%; left: 1%;
margin-left: 0;
} }
} }
@media (max-width: 600px) { @media (max-width: 600px) {

14
theme_nin/js/theme_option.js

@ -30,13 +30,13 @@ $(function(){
$('#postboard-top').addClass(promotedPostsOnly ? "hide" : "show"); $('#postboard-top').addClass(promotedPostsOnly ? "hide" : "show");
}); });
$(window).scroll(function(){ $(window).scroll((function(){
posScroll = $(document).scrollTop(); if ($(document).scrollTop() >= 250) {
if(posScroll >= 250) if (this.css('display') === 'none')
$('.left .post-area-new').slideDown(300); this.slideDown(300);
else } else if (this.css('display') === 'block')
$('.left .post-area-new').slideUp(150); this.slideUp(150);
}); }).bind($('.left .post-area-new')));
$(".userMenu-search-profiles .follow") $(".userMenu-search-profiles .follow")
.on("eventToggleFollow", function() { .on("eventToggleFollow", function() {

220
theme_nin/sass/style.sass

@ -15,14 +15,14 @@
.promoted-posts-only .promoted-posts-only
margin: 0 0 margin: 0 0
@extend .clear-fix @extend .clear-fix
float: right float: right
li li
cursor: pointer cursor: pointer
display: inline-block display: inline-block
margin: 0 0 0 5px margin: 0 0 0 5px
@ -55,7 +55,7 @@
min-height: 100% min-height: 100%
.dashboard .dashboard
&.left, &.right &.left, &.right
width: $column-width width: $column-width
position: fixed position: fixed
top: 0 top: 0
@ -87,13 +87,13 @@
.direct-messages, .dropdown-menu-item .direct-messages, .dropdown-menu-item
display: block display: block
padding: 10px padding: 10px
ul.userMenu-search-profiles ul.userMenu-search-profiles
width: 100% width: 100%
padding: 0 padding: 0
background: white background: white
li li
float: none float: none
display: block display: block
padding: 5px 10px padding: 5px 10px
@ -108,7 +108,7 @@ ul.userMenu-search-profiles
.mini-profile-photo .mini-profile-photo
width: 30px width: 30px
height: 30px height: 30px
margin: 0 10px 0 0 margin: 0 10px 0 0
float: left float: left
.mini-profile-info .mini-profile-info
width: 100% width: 100%
@ -170,7 +170,7 @@ ul.userMenu-search-profiles
position: relative position: relative
text-align: center text-align: center
background: $bloc-background-color background: $bloc-background-color
a.button a.button
background: $main-color-light background: $main-color-light
margin: 1em auto margin: 1em auto
.post-area .post-area
@ -198,7 +198,7 @@ ul.userMenu-search-profiles
float: left float: left
font-size: .8em font-size: .8em
position: relative position: relative
padding: 0 padding: 0
a a
position: relative position: relative
color: $dark-grey color: $dark-grey
@ -208,7 +208,7 @@ ul.userMenu-search-profiles
padding: 1em 0 padding: 1em 0
&:hover &:hover
background-color: white background-color: white
&:before &:before
font-size: 2.2em font-size: 2.2em
display: block!important display: block!important
@ -237,7 +237,7 @@ ul.userMenu-search-profiles
font-size: .8em font-size: .8em
font-weight: 700 font-weight: 700
border-radius: 2px border-radius: 2px
.mini-profile-view .mini-profile-view
display: none display: none
@ -299,7 +299,7 @@ ul.userMenu-search-profiles
.mini-profile-info a:hover .mini-profile-info a:hover
text-decoration: none text-decoration: none
.who-follow .who-follow
display: block display: block
position: absolute position: absolute
bottom: 50px bottom: 50px
@ -309,7 +309,7 @@ ul.userMenu-search-profiles
background: lighten($background-light, 5%) background: lighten($background-light, 5%)
z-index: 10 z-index: 10
+transition(all .2s linear) +transition(all .2s linear)
.show-more-followers .show-more-followers
font-weight: 700 font-weight: 700
display: block display: block
@ -323,13 +323,13 @@ ul.userMenu-search-profiles
line-height: 12px line-height: 12px
&.isFollowing:after &.isFollowing:after
display: none display: none
&:after &:after
content: '·' content: '·'
font-weight: 900 font-weight: 900
color: $main-color-dark color: $main-color-dark
margin-left: 1px margin-left: 1px
/***************** POST AREA ***************/ /***************** POST AREA ***************/
@ -354,7 +354,7 @@ ul.userMenu-search-profiles
&:focus &:focus
border-bottom: solid 2px $color-green border-bottom: solid 2px $color-green
#postboard-top #postboard-top
clear: both clear: both
position: relative position: relative
@extend .clear-fix @extend .clear-fix
@ -363,9 +363,9 @@ ul.userMenu-search-profiles
padding: 10px 10px 5px 10px padding: 10px 10px 5px 10px
background: white background: white
overflow: hidden overflow: hidden
&.hide &.hide
display: none!important display: none!important
&.show &.show
display: block display: block
.profile-photo .profile-photo
@ -375,7 +375,7 @@ ul.userMenu-search-profiles
width: 48px width: 48px
height: 48px height: 48px
overflow: hidden overflow: hidden
img img
width: 100% width: 100%
.post-area .post-area
overflow: hidden overflow: hidden
@ -423,7 +423,7 @@ textarea.splited-post
padding-right: 3px padding-right: 3px
&.warn &.warn
color: #ff0000 color: #ff0000
@ -435,11 +435,11 @@ textarea.splited-post
&.module &.module
width: inherit width: inherit
margin-bottom: 20px margin-bottom: 20px
small small
display: none display: none
h3 h3
float: left float: left
ol ol
@extend .clear-fix @extend .clear-fix
clear: both clear: both
.twister-user-info .twister-user-info
@ -609,38 +609,28 @@ ol.toptrends-list
&.hover &.hover
cursor: pointer cursor: pointer
/*********** POPUP PROMPT *************/
.prompt-wrapper
position: fixed
top: 50%
left: 50%
background: rgba( 255, 255,255, 1.0 )
box-shadow: 0 0 30px rgba( 0, 0, 0, .6 )
z-index: 5
width: 600px
margin-left: -300px
/*********** POPUP MODAL **************/ /*********** POPUP MODAL **************/
.modal-blackout
position: fixed
width: 100%
height: 100%
left: 0
top: 0
background: rgba($main-color-light, 0.8)
display: none
z-index: 3
.modal-wrapper .modal-wrapper
position: absolute background: white
z-index: 3
position: fixed
top: 50% top: 50%
left: 50% left: 50%
overflow: hidden overflow: hidden
.post-area-new .post-area-new
padding: 10px padding: 10px
.modal-content .modal-blackout
background: rgba($main-color-light, 0.8)
z-index: -1
position: fixed
left: 0
top: 0
width: 100%
height: 100%
.modal-content
@extend .clear-fix @extend .clear-fix
background: $background-light background: $background-light
padding: 20px padding: 20px
@ -651,7 +641,7 @@ ol.toptrends-list
margin-left: -60px margin-left: -60px
width: 100px width: 100px
width: $postboard-modal-width width: $postboard-modal-width
span span
display: none display: none
.postboard-news .postboard-news
line-height: 30px line-height: 30px
@ -662,7 +652,7 @@ ol.toptrends-list
display: block display: block
padding: 0 20px padding: 0 20px
color: white color: white
+text-shadow(1px 1px 1px rgba(black, .1)) +text-shadow(1px 1px 1px rgba(black, .1))
background: $main-color-color background: $main-color-color
@ -693,7 +683,7 @@ ol.toptrends-list
color: rgba(white, 0.7) color: rgba(white, 0.7)
&:hover &:hover
color: white color: white
b b
display: none display: none
.mark-all-as-read .mark-all-as-read
@ -726,30 +716,37 @@ ol.toptrends-list
color: rgba(white, 0.7) color: rgba(white, 0.7)
&:hover &:hover
color: white color: white
b b
display: none display: none
.modal-buttons /*********** POPUP PROMPT *************/
padding: 10px
text-align: right
.prompt-wrapper
background: rgba( 255, 255,255, 1.0 )
z-index: 5
position: fixed
top: 50%
left: 50%
width: 600px
margin-left: -300px
box-shadow: 0 0 30px rgba( 0, 0, 0, .6 )
.modal-buttons
padding: 10px
text-align: right
button:last-child
padding: 5px 20px;
/************ FOLLOWING-CONFIG MODAL **********/ /************ FOLLOWING-CONFIG MODAL **********/
.following-config-modal .prompt-wrapper.following-config-modal
margin-top: -100px margin-top: -100px
h2
text-transform: none
.modal-wrapper
top: 43%
left: 25%
width: 50%
.modal-content .modal-content
padding: 10px padding: 10px
text-align: center text-align: center
background-color: white
.modal-buttons .modal-buttons
display: none display: none
h2
text-transform: none
.following-config-method-buttons .following-config-method-buttons
.public-following .public-following
background-color: $color-green background-color: $color-green
@ -758,7 +755,7 @@ ol.toptrends-list
/************ RETWIST POSTS MODAL **********/ /************ RETWIST POSTS MODAL **********/
.reTwist .prompt-wrapper.reTwist
&.prompt-wrapper &.prompt-wrapper
margin-top: -110px margin-top: -110px
.modal-content .modal-content
@ -771,7 +768,7 @@ ol.toptrends-list
/********* REPLY POSTS MODAL***************/ /********* REPLY POSTS MODAL***************/
.reply .prompt-wrapper.reply
&.prompt-wrapper &.prompt-wrapper
margin-top: -110px margin-top: -110px
.modal-buttons, .post-expand, .post-interactions .modal-buttons, .post-expand, .post-interactions
@ -781,9 +778,15 @@ ol.toptrends-list
/****** DIRECT MESSAGES MODAL**********/ /****** DIRECT MESSAGES MODAL**********/
.directMessages .modal-wrapper.directMessages
top: 10%
width: $postboard-modal-width
height: 490px
overflow-x: hidden
margin: 0 0 0 0-($postboard-modal-width/2)
.post-area-new .post-area-new
display: none display: none
margin: 0 -20px
padding: 20px padding: 20px
z-index: 5 z-index: 5
background: $main-background-color background: $main-background-color
@ -791,22 +794,14 @@ ol.toptrends-list
.modal-header .modal-header
h3 span h3 span
display: inline!important display: inline!important
.modal-wrapper
width: $postboard-modal-width
height: 490px
top: 10%
margin: 0 0 0 0-($postboard-modal-width/2)
overflow-x: hidden
.modal-content .modal-content
overflow-y: auto overflow-y: auto
height: 300px height: 300px
+box-sizing(border-box) +box-sizing(border-box)
width: $postboard-modal-width width: $postboard-modal-width
.modal-buttons
display: none
.post-photo .post-photo
height: 48px height: 48px
width: 48px width: 48px
@ -915,17 +910,13 @@ ol.toptrends-list
/********* NEW USER MODAL**************/ /********* NEW USER MODAL**************/
.new-user .modal-wrapper.new-user
.modal-wrapper width: 720px
width: 640px height: 580px
height: 600px margin: -290px 0 0 -360px
top: 10%
margin: 0 0 0 -320px
overflow-x: hidden
overflow-y: hidden
.modal-content .modal-content
margin: 10px 10px 10px 10px padding: 25px
.modal-buttons, .modal-close .modal-close
display: none display: none
.text .text
margin: 0 0 15px 0 margin: 0 0 15px 0
@ -940,55 +931,45 @@ ol.toptrends-list
/******** HASHTAG MODAL***********/ /******** HASHTAG MODAL***********/
.hashtag-modal .modal-wrapper.hashtag-modal
.modal-wrapper top: 10%
width: $postboard-modal-width width: $postboard-modal-width
height: 600px height: 600px
top: 10% overflow: hidden
margin: 0 0 0 0-($postboard-modal-width/2) margin: 0 0 0 0-($postboard-modal-width/2)
overflow: hidden
.modal-content .modal-content
overflow-y: auto overflow-y: auto
height: 500px height: 500px
.modal-buttons
display: none
.postboard .postboard
padding: 0 padding: 0
/****** CONVERSATION MODAL***********/ /****** CONVERSATION MODAL***********/
.conversation-modal .modal-wrapper.conversation-modal
.modal-wrapper background: white
position: absolute top: 10%
width: $postboard-modal-width width: $postboard-modal-width
height: 575px height: 575px
top: 10% overflow: hidden
margin: 0 0 0 0-($postboard-modal-width/2) margin: 0 0 0 0-($postboard-modal-width/2)
overflow: hidden
background: white
.modal-content .modal-content
overflow-y: auto overflow-y: auto
height: 90% height: 90%
.modal-buttons
display: none
.postboard .postboard
padding: 0 padding: 0
/****** FOLLOWING MODAL*******/ /****** FOLLOWING MODAL*******/
.following-modal .modal-wrapper.following-modal
.modal-wrapper top: 10%
width: $postboard-modal-width width: $postboard-modal-width
top: 10% height: 400px
height: 400px overflow-x: hidden
margin: 0 0 0 0-($postboard-modal-width/2) margin: 0 0 0 0-($postboard-modal-width/2)
overflow-x: hidden
.modal-content .modal-content
height: 300px height: 300px
overflow-y: auto overflow-y: auto
padding: 0 padding: 0
.modal-buttons
display: none
ol ol
margin: 5px margin: 5px
.open-profile-modal .open-profile-modal
@ -999,19 +980,16 @@ ol.toptrends-list
/******* WHO TO FOLLOW MODAL*******/ /******* WHO TO FOLLOW MODAL*******/
.who-to-follow-modal .modal-wrapper.who-to-follow-modal
.modal-wrapper top: 50%
width: $postboard-modal-width width: $postboard-modal-width
top: 50% height: 555px
height: 555px overflow-x: hidden
margin: -275px 0 0 0-($postboard-modal-width/2) margin: -275px 0 0 0-($postboard-modal-width/2)
overflow-x: hidden
.modal-content .modal-content
padding: 15px padding: 15px
height: 480px height: 480px
overflow-y: auto overflow-y: auto
.modal-buttons
display: none
ol ol
margin: 5px margin: 5px
.open-profile-modal .open-profile-modal

Loading…
Cancel
Save