File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -32,6 +32,8 @@ import {ProgessiveDecodeJSON} from "./utils/progessiveLoad.js";
3232import { MarkDown } from "./markdown.js" ;
3333import { Command } from "./interactions/commands.js" ;
3434import { Hover } from "./hover.js" ;
35+ import { ReportMenu } from "./reporting/report.js" ;
36+ import { getDeveloperSettings } from "./utils/storage/devSettings.js" ;
3537export async function makeInviteMenu ( inviteMenu : Options , guild : Guild , url : string ) {
3638 const invDiv = document . createElement ( "div" ) ;
3739 const bansp = ProgessiveDecodeJSON < invitejson [ ] > ( url , {
@@ -311,6 +313,20 @@ class Guild extends SnowFlake {
311313 navigator . clipboard . writeText ( this . id ) ;
312314 } ,
313315 ) ;
316+ Guild . contextmenu . addButton (
317+ ( ) => I18n . guild . report ( ) ,
318+ async function ( ) {
319+ const menu = await ReportMenu . makeReport ( "guild" , this . localuser , { guild : this } ) ;
320+ menu ?. spawnMenu ( ) ;
321+ } ,
322+ {
323+ visible : function ( ) {
324+ const settings = getDeveloperSettings ( ) ;
325+ return this . properties . owner_id !== this . localuser . user . id && settings . reportSystem ;
326+ } ,
327+ color : "red" ,
328+ } ,
329+ ) ;
314330 //TODO mute guild button
315331 }
316332 get muted ( ) {
Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ import {
1515 reportPut ,
1616 reportTypes ,
1717 reportUserPut ,
18+ reportGuildPut ,
1819} from "./types.js" ;
1920interface InfoMap {
2021 message ?: Message ;
@@ -127,6 +128,17 @@ export class ReportMenu {
127128 realBody = m ;
128129 break ;
129130 }
131+ case "guild" : {
132+ const guild = this . infoMap . guild ;
133+ if ( ! guild ) throw new Error ( "Guild expected" ) ;
134+ const m : reportGuildPut = {
135+ ...obj ,
136+ name : "guild" ,
137+ guild_id : guild . id ,
138+ } ;
139+ realBody = m ;
140+ break ;
141+ }
130142 }
131143 const res = await fetch ( this . postback_url , {
132144 method : "POST" ,
@@ -480,6 +492,26 @@ class ReportElement {
480492 div . append ( span ) ;
481493 break ;
482494 }
495+ case "text" : {
496+ const h4 = document . createElement ( "h4" ) ;
497+ h4 . textContent = json . data . header ;
498+ const p = document . createElement ( "p" ) ;
499+ p . textContent = json . data . body ;
500+ div . append ( h4 , p ) ;
501+ break ;
502+ }
503+ case "guild_preview" : {
504+ const guild = map . guild ;
505+ if ( ! guild ) return ;
506+ const guildDiv = document . createElement ( "div" ) ;
507+ guildDiv . classList . add ( "flexltr" ) ;
508+ guildDiv . append ( guild . generateGuildIcon ( false ) ) ;
509+ const title = document . createElement ( "h4" ) ;
510+ title . textContent = guild . properties . name ;
511+ guildDiv . append ( title ) ;
512+ div . append ( guildDiv ) ;
513+ break ;
514+ }
483515 default :
484516 console . log ( json ) ;
485517 div . textContent = this . json . type ;
Original file line number Diff line number Diff line change @@ -259,7 +259,7 @@ interface reportGuildDirPut extends reportPut {
259259 guild_id : string ;
260260 name : "guild_directory_entry" ;
261261}
262- interface reportGuildPut extends reportPut {
262+ export interface reportGuildPut extends reportPut {
263263 guild_id : string ;
264264 name : "guild" ;
265265}
Original file line number Diff line number Diff line change 247247 "owner" : " Find the owner" ,
248248 "permission" : " Permissions:"
249249 },
250+ "report" :" Report Guild" ,
250251 "admins" : " Find Admins" ,
251252 "all" : " all" ,
252253 "banReason" : " Ban reason: $1" ,
You can’t perform that action at this time.
0 commit comments