1+ const localStorage = window . sessionStorage ;
2+ const hasClickedDiscordLoad = localStorage . getItem ( "hasClickedDiscordLoad" ) ;
13
2- document . getElementById ( "load-invite-button" ) . addEventListener ( "click" , function ( e ) {
4+ if ( hasClickedDiscordLoad ) {
5+ document . getElementById ( "load-invite-button" ) . parentElement . style = "display: none" ;
36 loadAllInvites ( ) ;
4- document . getElementById ( "load-invite-button" ) . parentElement . style = "display: none" ;
7+ }
8+
9+ document . getElementById ( "load-invite-button" ) . addEventListener ( "click" , function ( e ) {
10+ loadAllInvites ( ) ;
11+ document . getElementById ( "load-invite-button" ) . parentElement . style = "display: none" ;
512} )
613
7- function loadAllInvites ( ) {
14+ function loadAllInvites ( ) {
815 const invites = document . getElementsByClassName ( "invite" ) ;
9- for ( const element of invites ) {
16+ for ( const element of invites ) {
1017 const url = element . getAttribute ( "invite-url" ) ;
1118 loadInvite ( url , element ) ;
1219 }
20+ localStorage . setItem ( "hasClickedDiscordLoad" , "true" ) ;
1321}
1422
1523/**
1624 *
1725 * @param {string } inviteUrl
1826 * @param {HTMLElement } inviteElement
1927 */
20- function loadInvite ( inviteUrl , inviteElement ) {
21- const url = 'https://discord.com/api/v10/invites/' + inviteUrl + '?with_counts=true' ;
28+ function loadInvite ( inviteUrl , inviteElement ) {
29+
30+ if ( hasClickedDiscordLoad ) {
31+ const id = localStorage . getItem ( `${ inviteUrl } _id` ) ;
32+ const name = localStorage . getItem ( `${ inviteUrl } _name` ) ;
33+ const gicon = localStorage . getItem ( `${ inviteUrl } _gicon` )
34+ const gsplash = localStorage . getItem ( `${ inviteUrl } _gsplash` )
35+ const onlinecount = localStorage . getItem ( `${ inviteUrl } _onlinecount` )
36+ const membercount = localStorage . getItem ( `${ inviteUrl } _membercount` )
37+
38+ //Create Element
39+ const icon = inviteElement . getElementsByClassName ( "server-icon" ) [ 0 ] ;
40+ const splash = inviteElement . getElementsByClassName ( "splash" ) [ 0 ] ;
41+ const discordTitle = inviteElement . getElementsByClassName ( "discord-title" ) [ 0 ] ;
42+ const discordOnline = inviteElement . getElementsByClassName ( "discord-online" ) [ 0 ] ;
43+ const discordMembers = inviteElement . getElementsByClassName ( "discord-member" ) [ 0 ] ;
44+
45+ discordTitle . innerHTML = name ;
46+ discordOnline . innerHTML = onlinecount + " Online" ;
47+ discordMembers . innerHTML = membercount + " Members"
48+
49+
50+ if ( gsplash != "null" ) {
51+ splash . src = "https://cdn.discordapp.com/splashes/" + id + "/" + gsplash + ".png?size=480"
52+ splash . style = "display: block" ;
53+ }
54+
55+ let fileExtension = ".png" ;
56+ if ( gicon . includes ( "a_" ) ) {
57+ fileExtension = ".gif" ;
58+ }
59+
60+ icon . src = "https://cdn.discordapp.com/icons/" + id + "/" + gicon + fileExtension + "?size=128" ;
61+
62+ return
63+ }
64+
65+ const url = 'https://discord.com/api/v10/invites/' + inviteUrl + '?with_counts=true' ;
2266 fetch ( url )
2367 . then ( response => response . json ( ) )
2468 . then ( json => {
25- if ( json . code == 10006 ) {
26- const discordTitle = inviteElement . getElementsByClassName ( "discord-title" ) [ 0 ] ;
27- discordTitle . innerHTML = json . message ;
69+ if ( json . code == 10006 ) {
70+ const discordTitle = inviteElement . getElementsByClassName ( "discord-title" ) [ 0 ] ;
71+ discordTitle . innerHTML = json . message ;
2872 return ;
2973 }
3074
@@ -39,27 +83,34 @@ function loadInvite(inviteUrl, inviteElement){
3983 const name = json . guild . name ;
4084 const onlinecount = json . approximate_presence_count . toLocaleString ( ) ;
4185 const membercount = json . approximate_member_count . toLocaleString ( ) ;
42-
43- let fileExtension = ".png" ;
44- if ( gicon . includes ( "a_" ) ) {
45- fileExtension = ".gif" ;
86+
87+ let fileExtension = ".png" ;
88+ if ( gicon . includes ( "a_" ) ) {
89+ fileExtension = ".gif" ;
4690 }
4791
4892 icon . src = "https://cdn.discordapp.com/icons/" + id + "/" + gicon + fileExtension + "?size=128" ;
4993
50-
51- const discordTitle = inviteElement . getElementsByClassName ( "discord-title" ) [ 0 ] ;
52- const discordOnline = inviteElement . getElementsByClassName ( "discord-online" ) [ 0 ] ;
53- const discordMembers = inviteElement . getElementsByClassName ( "discord-member" ) [ 0 ] ;
54-
55- discordTitle . innerHTML = name ;
56- discordOnline . innerHTML = onlinecount + " Online" ;
57- discordMembers . innerHTML = membercount + " Members"
58-
59-
60- if ( gsplash != null ) {
61- splash . src = "https://cdn.discordapp.com/splashes/" + id + "/" + gsplash + ".png?size=480"
94+
95+ const discordTitle = inviteElement . getElementsByClassName ( "discord-title" ) [ 0 ] ;
96+ const discordOnline = inviteElement . getElementsByClassName ( "discord-online" ) [ 0 ] ;
97+ const discordMembers = inviteElement . getElementsByClassName ( "discord-member" ) [ 0 ] ;
98+
99+ discordTitle . innerHTML = name ;
100+ discordOnline . innerHTML = onlinecount + " Online" ;
101+ discordMembers . innerHTML = membercount + " Members"
102+
103+
104+ if ( gsplash != null ) {
105+ splash . src = "https://cdn.discordapp.com/splashes/" + id + "/" + gsplash + ".png?size=480"
62106 splash . style = "display: block" ;
63107 }
108+
109+ localStorage . setItem ( `${ inviteUrl } _id` , id ) ;
110+ localStorage . setItem ( `${ inviteUrl } _name` , name ) ;
111+ localStorage . setItem ( `${ inviteUrl } _gicon` , gicon )
112+ localStorage . setItem ( `${ inviteUrl } _gsplash` , gsplash )
113+ localStorage . setItem ( `${ inviteUrl } _onlinecount` , onlinecount )
114+ localStorage . setItem ( `${ inviteUrl } _membercount` , membercount )
64115 } ) ;
65- }
116+ }
0 commit comments