mirror of
https://github.com/twisterarmy/twister-html.git
synced 2025-03-13 05:51:03 +00:00
Merge pull request #129 from digital-dreamer/guest-mode
Guest mode – browse without registration
This commit is contained in:
commit
2c4027bb7a
@ -53,7 +53,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a class="dropdown-menu-item" href="options.html">Options</a>
|
<a class="dropdown-menu-item" href="options.html">Options</a>
|
||||||
<a class="dropdown-menu-item" href="profile-edit.html">Setup account</a>
|
<a class="dropdown-menu-item" href="profile-edit.html">Setup account</a>
|
||||||
<a class="dropdown-menu-item" href="following.html">Following users</a>
|
<a class="dropdown-menu-item dropdown-menu-following" href="following.html">Following users</a>
|
||||||
<a class="dropdown-menu-item" href="network.html">Network config</a>
|
<a class="dropdown-menu-item" href="network.html">Network config</a>
|
||||||
<a class="dropdown-menu-item" href="login.html">Change user</a>
|
<a class="dropdown-menu-item" href="login.html">Change user</a>
|
||||||
<a class="dropdown-menu-item promoted-posts-only" href="#">Switch to Promoted posts</a>
|
<a class="dropdown-menu-item promoted-posts-only" href="#">Switch to Promoted posts</a>
|
||||||
@ -118,8 +118,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<ul class="module profile-data">
|
<ul class="module profile-data">
|
||||||
<li><a href="#" class="open-profile-modal"><span class="posts-count"> </span><span class="label">Posts</span></a></li>
|
<li><a href="#" class="open-profile-modal"><span class="posts-count"> </span><span class="label">Posts</span></a></li>
|
||||||
<li><a href="following.html"><span class="following-count"> </span><span class="label">Following</span></a></li>
|
<li><a href="following.html" class="open-following-page"><span class="following-count"> </span><span class="label">Following</span></a></li>
|
||||||
<li><a href="#"><span class="followers-count"> </span><span class="label">Followers</span> *</a></li>
|
<li><a href="#" class="open-followers"><span class="followers-count"> </span><span class="label">Followers</span> *</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div class="post-area">
|
<div class="post-area">
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
// Profile, mentions and hashtag modal
|
// Profile, mentions and hashtag modal
|
||||||
// Post actions: submit, count characters
|
// Post actions: submit, count characters
|
||||||
|
|
||||||
|
var preventSlide = false;
|
||||||
|
|
||||||
//dispara o modal genérico
|
//dispara o modal genérico
|
||||||
//o modalClass me permite fazer tratamentos específicos de CSS para cada modal
|
//o modalClass me permite fazer tratamentos específicos de CSS para cada modal
|
||||||
function openModal( modalClass )
|
function openModal( modalClass )
|
||||||
@ -103,6 +105,12 @@ function openProfileModal(e)
|
|||||||
|
|
||||||
var $this = $( this );
|
var $this = $( this );
|
||||||
var username = $.MAL.urlToUser( $this.attr("href") );
|
var username = $.MAL.urlToUser( $this.attr("href") );
|
||||||
|
|
||||||
|
if(!username)
|
||||||
|
{
|
||||||
|
alert(polyglot.t("You don't have any profile because you are not logged in."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var profileModalClass = "profile-modal";
|
var profileModalClass = "profile-modal";
|
||||||
openModal( profileModalClass );
|
openModal( profileModalClass );
|
||||||
@ -169,6 +177,11 @@ function openMentionsModal(e)
|
|||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
|
if(!defaultScreenName)
|
||||||
|
{
|
||||||
|
alert(polyglot.t("No one can mention you because you are not logged in."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
// reuse the same hashtag modal to show mentions
|
// reuse the same hashtag modal to show mentions
|
||||||
var hashtagModalClass = "hashtag-modal";
|
var hashtagModalClass = "hashtag-modal";
|
||||||
openModal( hashtagModalClass );
|
openModal( hashtagModalClass );
|
||||||
@ -224,6 +237,13 @@ function openFollowingModal(e)
|
|||||||
//dispara o modal de retweet
|
//dispara o modal de retweet
|
||||||
var reTwistPopup = function( e )
|
var reTwistPopup = function( e )
|
||||||
{
|
{
|
||||||
|
if(!defaultScreenName)
|
||||||
|
{
|
||||||
|
preventSlide=true;
|
||||||
|
alert(polyglot.t("You have to log in to retransmit messages."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var reTwistClass = "reTwist";
|
var reTwistClass = "reTwist";
|
||||||
openModal( reTwistClass );
|
openModal( reTwistClass );
|
||||||
|
|
||||||
@ -296,7 +316,15 @@ var postExpandFunction = function( e, postLi )
|
|||||||
var $postsRelated = postLi.find(".related");
|
var $postsRelated = postLi.find(".related");
|
||||||
|
|
||||||
var openClass = "open";
|
var openClass = "open";
|
||||||
if( !postLi.hasClass( openClass ) ) {
|
|
||||||
|
//This is used in "guest mode", when user gets an alert that he can't reply or retransmit
|
||||||
|
//when not logged in. Otherwise, this click would also be understood as a command to open/close
|
||||||
|
//the post, which would look weird.
|
||||||
|
if(preventSlide)
|
||||||
|
{
|
||||||
|
preventSlide=false;
|
||||||
|
}
|
||||||
|
else if( !postLi.hasClass( openClass ) ) {
|
||||||
originalPost.detach();
|
originalPost.detach();
|
||||||
postLi.empty();
|
postLi.empty();
|
||||||
postLi.addClass( openClass );
|
postLi.addClass( openClass );
|
||||||
@ -347,6 +375,12 @@ var postExpandFunction = function( e, postLi )
|
|||||||
|
|
||||||
var postReplyClick = function( e )
|
var postReplyClick = function( e )
|
||||||
{
|
{
|
||||||
|
if(!defaultScreenName)
|
||||||
|
{
|
||||||
|
preventSlide=true;
|
||||||
|
alert(polyglot.t("You have to log in to post replies."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
var post = $(this).closest(".post");
|
var post = $(this).closest(".post");
|
||||||
if( !post.hasClass( "original" ) ) {
|
if( !post.hasClass( "original" ) ) {
|
||||||
replyInitPopup(e, post);
|
replyInitPopup(e, post);
|
||||||
|
@ -31,24 +31,56 @@ var InterfaceFunctions = function()
|
|||||||
}
|
}
|
||||||
|
|
||||||
function initHome(cbFunc, cbArg) {
|
function initHome(cbFunc, cbArg) {
|
||||||
if( !defaultScreenName ) {
|
|
||||||
alert(polyglot.t("username_undefined"));
|
|
||||||
$.MAL.goLogin();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
checkNetworkStatusAndAskRedirect();
|
checkNetworkStatusAndAskRedirect();
|
||||||
|
|
||||||
//$("span.screen-name").text('@' + user);
|
//$("span.screen-name").text('@' + user);
|
||||||
var $miniProfile = $(".mini-profile");
|
var $miniProfile = $(".mini-profile");
|
||||||
$miniProfile.find("a.mini-profile-name").attr("href",$.MAL.userUrl(defaultScreenName));
|
if(!defaultScreenName)
|
||||||
$miniProfile.find("a.open-profile-modal").attr("href",$.MAL.userUrl(defaultScreenName));
|
{
|
||||||
$miniProfile.find(".mini-profile-name").text(defaultScreenName);
|
$(".userMenu-profile > a").text(polyglot.t("Login"));
|
||||||
getFullname( defaultScreenName, $miniProfile.find(".mini-profile-name") );
|
$(".userMenu-profile > a").attr("href","login.html");
|
||||||
getAvatar( defaultScreenName, $miniProfile.find(".mini-profile-photo").find("img") );
|
$(".post-area-new > textarea").attr("placeholder",polyglot.t("You have to log in to post messages."));
|
||||||
getPostsCount( defaultScreenName, $miniProfile.find(".posts-count") );
|
$(".post-area-new > textarea").attr("disabled","true");
|
||||||
getFollowers( defaultScreenName, $miniProfile.find(".followers-count") );
|
$miniProfile.find(".mini-profile-name").text("guest");
|
||||||
|
$miniProfile.find(".posts-count").text("0");
|
||||||
|
$miniProfile.find(".following-count").text("0");
|
||||||
|
$miniProfile.find(".followers-count").text("0");
|
||||||
|
$miniProfile.find("a.open-following-page").attr("href","#");
|
||||||
|
$miniProfile.find("a.open-following-page").bind("click", function()
|
||||||
|
{ alert(polyglot.t("You are not following anyone because you are not logged in."))} );
|
||||||
|
$miniProfile.find("a.open-followers").bind("click", function()
|
||||||
|
{ alert(polyglot.t("You don't have any followers because you are not logged in."))} );
|
||||||
|
$(".dropdown-menu-following").attr("href","#");
|
||||||
|
$(".dropdown-menu-following").bind("click", function()
|
||||||
|
{ alert(polyglot.t("You are not following anyone because you are not logged in."))} );
|
||||||
|
twisterRpc("gettrendinghashtags", [10],
|
||||||
|
function(args, ret) {
|
||||||
|
for( var i = 0; i < ret.length; i++ ) {
|
||||||
|
|
||||||
|
var $li = $("<li>");
|
||||||
|
var hashtagLinkTemplate = $("#hashtag-link-template").clone(true);
|
||||||
|
hashtagLinkTemplate.removeAttr("id");
|
||||||
|
hashtagLinkTemplate.attr("href",$.MAL.hashtagUrl(ret[i]));
|
||||||
|
hashtagLinkTemplate.text("#"+ret[i]);
|
||||||
|
$li.append(hashtagLinkTemplate);
|
||||||
|
$(".toptrends-list").append($li);
|
||||||
|
}
|
||||||
|
}, {},
|
||||||
|
function(args, ret) {
|
||||||
|
console.log("Error with gettrendinghashtags. Older twister daemon?");
|
||||||
|
}, {});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$miniProfile.find("a.mini-profile-name").attr("href",$.MAL.userUrl(defaultScreenName));
|
||||||
|
$miniProfile.find("a.open-profile-modal").attr("href",$.MAL.userUrl(defaultScreenName));
|
||||||
|
$miniProfile.find(".mini-profile-name").text(defaultScreenName);
|
||||||
|
getFullname( defaultScreenName, $miniProfile.find(".mini-profile-name") );
|
||||||
|
getAvatar( defaultScreenName, $miniProfile.find(".mini-profile-photo").find("img") );
|
||||||
|
getPostsCount( defaultScreenName, $miniProfile.find(".posts-count") );
|
||||||
|
getFollowers( defaultScreenName, $miniProfile.find(".followers-count") );
|
||||||
|
|
||||||
loadFollowing( function(args) {
|
loadFollowing( function(args) {
|
||||||
$(".mini-profile .following-count").text(followingUsers.length-1);
|
$(".mini-profile .following-count").text(followingUsers.length-1);
|
||||||
requestLastHave();
|
requestLastHave();
|
||||||
setInterval("requestLastHave()", 1000);
|
setInterval("requestLastHave()", 1000);
|
||||||
@ -89,6 +121,7 @@ var InterfaceFunctions = function()
|
|||||||
if( args.cbFunc )
|
if( args.cbFunc )
|
||||||
args.cbFunc(args.cbArg);
|
args.cbFunc(args.cbArg);
|
||||||
}, {cbFunc:cbFunc, cbArg:cbArg});
|
}, {cbFunc:cbFunc, cbArg:cbArg});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,7 +165,16 @@ if(preferredLanguage == "en"){
|
|||||||
"Terminate Daemon:": "Terminate Daemon:",
|
"Terminate Daemon:": "Terminate Daemon:",
|
||||||
"Exit": "Exit",
|
"Exit": "Exit",
|
||||||
"Save Changes": "Save Changes",
|
"Save Changes": "Save Changes",
|
||||||
"Secret key:": "Secret key:"
|
"Secret key:": "Secret key:",
|
||||||
|
"You have to log in to post messages.": "You have to log in to post messages.",
|
||||||
|
"You have to log in to post replies.": "You have to log in to post replies.",
|
||||||
|
"You have to log in to retransmit messages.": "You have to log in to retransmit messages.",
|
||||||
|
"You have to log in to use direct messages.": "You have to log in to use direct messages.",
|
||||||
|
"You have to log in to follow users.": "You have to log in to follow users.",
|
||||||
|
"You are not following anyone because you are not logged in.": "You are not following anyone because you are not logged in.",
|
||||||
|
"You don't have any followers because you are not logged in.": "You don't have any followers because you are not logged in.",
|
||||||
|
"No one can mention you because you are not logged in.": "No one can mention you because you are not logged in.",
|
||||||
|
"You don't have any profile because you are not logged in.": "You don't have any profile because you are not logged in."
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
if(preferredLanguage == "es"){
|
if(preferredLanguage == "es"){
|
||||||
|
@ -22,7 +22,7 @@ function initProfileEdit() {
|
|||||||
|
|
||||||
initUser( function() {
|
initUser( function() {
|
||||||
if( !defaultScreenName ) {
|
if( !defaultScreenName ) {
|
||||||
alert("Username undefined, login required.");
|
alert(polyglot.t("username_undefined"));
|
||||||
$.MAL.goLogin();
|
$.MAL.goLogin();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -110,6 +110,11 @@ function newDirectMsg(msg, dm_screenname) {
|
|||||||
//dispara o modal de direct messages
|
//dispara o modal de direct messages
|
||||||
function directMessagesPopup()
|
function directMessagesPopup()
|
||||||
{
|
{
|
||||||
|
if(!defaultScreenName)
|
||||||
|
{
|
||||||
|
alert(polyglot.t("You have to log in to use direct messages."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
var directMessagesClass = "directMessages";
|
var directMessagesClass = "directMessages";
|
||||||
openModal( directMessagesClass );
|
openModal( directMessagesClass );
|
||||||
|
|
||||||
@ -140,6 +145,11 @@ function hideDmSnippetShowDmThread()
|
|||||||
|
|
||||||
function directMessagesWithUserPopup()
|
function directMessagesWithUserPopup()
|
||||||
{
|
{
|
||||||
|
if(!defaultScreenName)
|
||||||
|
{
|
||||||
|
alert(polyglot.t("You have to log in to use direct messages."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
var $userInfo = $(this).closest("[data-screen-name]");
|
var $userInfo = $(this).closest("[data-screen-name]");
|
||||||
var dm_screenname = $userInfo.attr("data-screen-name");
|
var dm_screenname = $userInfo.attr("data-screen-name");
|
||||||
openDmWithUserModal( dm_screenname );
|
openDmWithUserModal( dm_screenname );
|
||||||
|
@ -437,6 +437,12 @@ function userClickFollow(e) {
|
|||||||
var $this = $(this);
|
var $this = $(this);
|
||||||
var $userInfo = $this.closest("[data-screen-name]");
|
var $userInfo = $this.closest("[data-screen-name]");
|
||||||
var username = $userInfo.attr("data-screen-name");
|
var username = $userInfo.attr("data-screen-name");
|
||||||
|
|
||||||
|
if(!defaultScreenName)
|
||||||
|
{
|
||||||
|
alert(polyglot.t("You have to log in to follow users."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
follow(username, true, function() {
|
follow(username, true, function() {
|
||||||
// delay reload so dhtput may do it's job
|
// delay reload so dhtput may do it's job
|
||||||
|
@ -90,7 +90,14 @@ function postToElem( post, kind ) {
|
|||||||
replyTo += "@" + mentions[i] + " ";
|
replyTo += "@" + mentions[i] + " ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elem.find(".post-area-new textarea").attr("placeholder", polyglot.t("reply_to", { fullname: replyTo })+ "...");
|
if(!defaultScreenName)
|
||||||
|
{
|
||||||
|
elem.find(".post-area-new textarea").attr("placeholder", polyglot.t("You have to log in to post replies."));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
elem.find(".post-area-new textarea").attr("placeholder", polyglot.t("reply_to", { fullname: replyTo })+ "...");
|
||||||
|
}
|
||||||
elem.find(".post-area-new textarea").attr("data-reply-to",replyTo);
|
elem.find(".post-area-new textarea").attr("data-reply-to",replyTo);
|
||||||
postData.attr("data-reply-to",replyTo);
|
postData.attr("data-reply-to",replyTo);
|
||||||
|
|
||||||
|
@ -265,6 +265,11 @@ function initInterfaceNetwork() {
|
|||||||
initDMsCount();
|
initDMsCount();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$(".userMenu-profile > a").text(polyglot.t("Login"));
|
||||||
|
$(".userMenu-profile > a").attr("href","login.html");
|
||||||
|
}
|
||||||
});
|
});
|
||||||
networkUpdate();
|
networkUpdate();
|
||||||
setInterval("networkUpdate()", 2000);
|
setInterval("networkUpdate()", 2000);
|
||||||
|
@ -204,7 +204,7 @@ function processReceivedPosts(req, posts)
|
|||||||
// request timeline update for a given list of users
|
// request timeline update for a given list of users
|
||||||
function requestTimelineUpdate(mode, count, timelineUsers, getspam)
|
function requestTimelineUpdate(mode, count, timelineUsers, getspam)
|
||||||
{
|
{
|
||||||
if( _refreshInProgress )
|
if( _refreshInProgress || !defaultScreenName)
|
||||||
return;
|
return;
|
||||||
$.MAL.postboardLoading();
|
$.MAL.postboardLoading();
|
||||||
_refreshInProgress = true;
|
_refreshInProgress = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user