(invite: invitejson)
| 41 | const bansp = ProgessiveDecodeJSON<invitejson[]>(url, { |
| 42 | headers: guild.headers, |
| 43 | }); |
| 44 | const createInviteHTML = (invite: invitejson) => { |
| 45 | const div = document.createElement("div"); |
| 46 | div.classList.add("templateMiniBox"); |
| 47 | |
| 48 | const edit = document.createElement("button"); |
| 49 | edit.textContent = I18n.edit(); |
| 50 | |
| 51 | const code = document.createElement("span"); |
| 52 | code.textContent = invite.code; |
| 53 | |
| 54 | const used = document.createElement("span"); |
| 55 | used.textContent = I18n.invite.used(invite.uses + ""); |
| 56 | |
| 57 | edit.onclick = () => { |
| 58 | const opt = inviteMenu.addSubOptions(invite.code); |
| 59 | const inviter = new User(invite.inviter, guild.localuser); |
| 60 | |
| 61 | opt.addMDText( |
| 62 | new MarkDown( |
| 63 | window.location.origin + |
| 64 | "/invite/" + |
| 65 | invite.code + |
| 66 | "?" + |
| 67 | new URLSearchParams([["instance", guild.localuser.instanceString()]]), |
| 68 | undefined, |
| 69 | ), |
| 70 | ); |
| 71 | |
| 72 | opt.addText(I18n.invite.used(invite.uses + "")); |
| 73 | if (invite.max_uses !== 0) opt.addText(I18n.invite.maxUses(invite.max_uses + "")); |
| 74 | |
| 75 | const channel = guild.channels.find((_) => _.id == invite.channel_id); |
| 76 | if (channel) { |
| 77 | opt.addText(I18n.invite.forChannel(channel.name)); |
| 78 | } |
| 79 | |
| 80 | opt.addText(I18n.invite.createdAt(new Date(invite.created_at).toLocaleDateString(I18n.lang))); |
| 81 | |
| 82 | let expires = I18n.invite.never(); |
| 83 | if (invite.expires_at) { |
| 84 | expires = new Date(invite.expires_at).toLocaleDateString(I18n.lang); |
| 85 | } |
| 86 | opt.addText(I18n.invite.expires(expires)); |
| 87 | |
| 88 | opt.addText(I18n.webhooks.createdBy()); |
| 89 | opt.addHTMLArea(inviter.createWidget(guild)); |
| 90 | |
| 91 | opt.addButtonInput("", I18n.delete(), async () => { |
| 92 | if ( |
| 93 | ( |
| 94 | await fetch(guild.info.api + "/invites/" + invite.code, { |
| 95 | method: "DELETE", |
| 96 | headers: guild.headers, |
| 97 | }) |
| 98 | ).ok |
| 99 | ) { |
| 100 | invsArr = invsArr.filter((_) => _ !== invite); |
no test coverage detected