Forráskód Böngészése

fix sever selector links

Markus-Rost 4 éve
szülő
commit
df721afe7c
6 módosított fájl, 28 hozzáadás és 16 törlés
  1. 13 7
      dashboard/guilds.js
  2. 3 1
      dashboard/index.html
  3. 3 1
      dashboard/login.html
  4. 3 3
      dashboard/oauth.js
  5. 5 4
      dashboard/src/index.css
  6. 1 0
      dashboard/util.js

+ 13 - 7
dashboard/guilds.js

@@ -72,7 +72,7 @@ function dashboard_guilds(res, state, reqURL) {
 			let guild = settings.guilds.isMember.get(id);
 			$('head title').text(`${guild.name} – ` + $('head title').text());
 			res.setHeader('Set-Cookie', [`guild="${id}"; HttpOnly; Path=/`]);
-			$('<a>').text(`${guild.permissions}`).appendTo('#text');
+			$('<a>').text(`${guild.permissions}`).appendTo('#text .description');
 		}
 		else if ( settings.guilds.notMember.has(id) ) {
 			$(`.guild#${id}`).addClass('selected');
@@ -84,15 +84,15 @@ function dashboard_guilds(res, state, reqURL) {
 				permissions: defaultPermissions,
 				guild_id: id, state
 			} );
-			$('<a>').attr('href', url).text(guild.permissions).appendTo('#text');
+			$('<a>').attr('href', url).text(guild.permissions).appendTo('#text .description');
 		}
 		else {
-			$('<p>').text('You are missing the <code>MANAGE_GUILD</code> permission.').appendTo('#text');
+			$('#text .description').text('You are missing the <code>MANAGE_GUILD</code> permission.');
 		}
 	}
 	else {
 		$('#channellist').empty();
-		$('<div>').text('This is a list of all servers you can change settings on. Please select a server:').appendTo('#text');
+		$('#text .description').text('This is a list of all servers you can change settings on. Please select a server:');
 		if ( settings.guilds.isMember.size ) {
 			$('<h2 id="with-wikibot">').text('Server with Wiki-Bot').appendTo('#text');
 			$('<a class="channel">').attr('href', '#with-wikibot').append(
@@ -105,7 +105,7 @@ function dashboard_guilds(res, state, reqURL) {
 					( guild.icon ? 
 						$('<img class="avatar">').attr('src', `${guild.icon}?size=256`).attr('alt', guild.name)
 					 : $('<div class="avatar noicon">').text(guild.acronym) ),
-					$('<div class="server-name">').text(guild.name)
+					$('<div class="server-name description">').text(guild.name)
 				).appendTo('.server-selector#isMember');
 			} );
 		}
@@ -121,11 +121,17 @@ function dashboard_guilds(res, state, reqURL) {
 					( guild.icon ? 
 						$('<img class="avatar">').attr('src', `${guild.icon}?size=256`).attr('alt', guild.name)
 					 : $('<div class="avatar noicon">').text(guild.acronym) ),
-					$('<div class="server-name">').text(guild.name)
+					$('<div class="server-name description">').text(guild.name)
 				).appendTo('.server-selector#notMember');
 			} );
 		}
-		$('#channellist:empty').remove();
+		if ( !settings.guilds.count ) {
+			$('#text .description').text('You currently don\'t have the MANAGE_SERVER permission on any servers, are you logged into the correct account?');
+			$('<a class="channel">').attr('href', '/logout').append(
+				$('<img>').attr('src', '/src/channel.svg'),
+				$('<div>').text('Switch accounts')
+			).appendTo('#channellist');
+		}
 	}
 	let body = $.html();
 	res.writeHead(200, {'Content-Length': body.length});

+ 3 - 1
dashboard/index.html

@@ -13,7 +13,9 @@
 	<link rel="stylesheet" type="text/css" href="/src/index.css">
 </head>
 <body>
-	<div id="text"></div>
+	<div id="text">
+		<div class="description"></div>
+	</div>
 	<div id="navbar">
 		<div style="width: 150px;"></div>
 		<a id="support" href="https://discord.gg/v77RTk5" target="_blank" alt="Support server">

+ 3 - 1
dashboard/login.html

@@ -13,7 +13,9 @@
 	<link rel="stylesheet" type="text/css" href="/src/index.css">
 </head>
 <body>
-	<div id="text"></div>
+	<div id="text">
+		<div class="description"></div>
+	</div>
 	<div id="navbar">
 		<div style="width: 150px;"></div>
 		<a id="support" href="https://discord.gg/v77RTk5" target="_blank" alt="Support server">

+ 3 - 3
dashboard/oauth.js

@@ -63,7 +63,7 @@ function dashboard_login(res, state, action) {
 		prompt: 'none', state
 	} );
 	$('.channel#login').attr('href', url);
-	$('<a>').attr('href', url).text('Login').appendTo('#text');
+	$('<a>').attr('href', url).text('Login').appendTo('#text .description');
 	let body = $.html();
 	res.writeHead(responseCode, {
 		'Set-Cookie': [`wikibot="${state}"; HttpOnly`],
@@ -133,7 +133,7 @@ function dashboard_oauth(res, state, searchParams, lastGuild) {
 							`embed/avatars/${user.discriminator % 5}.png` ) + '?size=64',
 						locale: user.locale
 					},
-					guilds: {isMember, notMember}
+					guilds: {count: guilds.length, isMember, notMember}
 				});
 				res.writeHead(302, {
 					Location: ( lastGuild ? '/guild/' + lastGuild : '/' ),
@@ -191,7 +191,7 @@ function dashboard_refresh(res, state, returnLocation = '/') {
 				if ( guild ) isMember.set(guilds[i].id, guilds[i]);
 				else notMember.set(guilds[i].id, guilds[i]);
 			} );
-			settings.guilds = {isMember, notMember};
+			settings.guilds = {count: guilds.length, isMember, notMember};
 			res.writeHead(302, {Location: returnLocation});
 			return res.end();
 		}, error => {

+ 5 - 4
dashboard/src/index.css

@@ -25,10 +25,12 @@ a[alt]:hover:after {
 	border-radius: 4px;
 	padding: 8px;
 }
-#text a {
+.description a,
+a .description {
 	color: #00b0f4;
 }
-#text a:hover {
+.description a:hover,
+a:hover .description {
 	text-decoration: underline;
 }
 #text {
@@ -58,10 +60,9 @@ a[alt]:hover:after {
 	width: 200px;
 	margin: 5px;
 }
-.server-selector .server:hover {
+.server:hover {
 	background: rgba(0,0,0,0.3);
 	filter: brightness(1.2);
-	text-decoration: none;
 }
 .server .avatar {
 	border-radius: 10%;

+ 1 - 0
dashboard/util.js

@@ -14,6 +14,7 @@ const db = new sqlite3.Database( './wikibot.db', mode, dberror => {
  * @property {String} access_token
  * @property {User} user
  * @property {Object} guilds
+ * @property {Number} guilds.count
  * @property {Map<String, Guild>} guilds.isMember
  * @property {Map<String, Guild>} guilds.notMember
  */