Index: sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-moderators.php
===================================================================
--- sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-moderators.php	(revision 9262)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-moderators.php	(date 1573318970386)
@@ -468,8 +468,16 @@
 
 		$permalink = $this->get_permalink( $post->ID );
 
+		$classes = array();
+
+		if ( bbp_is_topic( $r['post_id'] ) ) {
+			$classes[] = 'bbp-topic-archive-link';
+		} else {
+			$classes[] = 'bbp-reply-archive-link';
+		}
+
 		$url = esc_url( wp_nonce_url( add_query_arg( $query_args, $permalink ), 'toggle-post-archive_' . $user_id . '_' . $post->ID ) );
-		return sprintf( "<a href='%s'>%s</a>", $url, esc_html( $text ) );
+		return sprintf( "<a href='%s' class='%s'>%s</a>", $url, esc_attr( implode( ' ', $classes ) ), esc_html( $text ) );
 	}
 
 	public function is_post_archived( $post_id ) {
Index: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-support/js/forums.js
===================================================================
--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-support/js/forums.js	(revision 9262)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-support/js/forums.js	(date 1573321674461)
@@ -4,4 +4,31 @@
 		$( '[type="submit"]', $(this) ).prop( 'disabled', 'disabled' );
 	});
 
+	function wporg_bbp_ajax_moderator_action( link, element, type ) {
+		$.get(
+			link
+		).done( function() {
+			element.fadeOut( 250, function() {
+				$( this ).html( '<div class="bbp-template-notice">' + wporgSupport.strings[ type ] + '</div>' );
+			} ).fadeIn( 250 );
+		} ).error( function() {
+			element.fadeOut( 250, function() {
+				$( '.bbp-topic-content', $( this ) ).prepend( '<div class="bbp-template-notice">' + wporgSupport.strings.action_failed + '</div>' );
+			} ).fadeIn( 250 );
+		} );
+	}
+
+	$( '.bbp-topic-approve-link, .bbp-post-approve-link', 'body.bbp-view-pending, body.bbp-view-spam' ).click( function( e ) {
+		e.preventDefault();
+		wporg_bbp_ajax_moderator_action( $( this ).attr( 'href' ), $( this ).closest( '.bbp-body' ), 'approve' );
+	} );
+	$( '.bbp-topic-spam-link, .bbp-post-spam-link', 'body.bbp-view-pending, body.bbp-view-spam' ).click( function( e ) {
+		e.preventDefault();
+		wporg_bbp_ajax_moderator_action( $( this ).attr( 'href' ), $( this ).closest( '.bbp-body' ), 'spam' );
+	} );
+	$( '.bbp-topic-archive-link, .bbp-post-archive-link', 'body.bbp-view-pending, body.bbp-view-spam' ).click( function( e ) {
+		e.preventDefault();
+		wporg_bbp_ajax_moderator_action( $( this ).attr( 'href' ), $( this ).closest( '.bbp-body' ), 'archive' );
+	} );
+
 } )( window.jQuery );
Index: sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-support/functions.php
===================================================================
--- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-support/functions.php	(revision 9262)
+++ sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-support/functions.php	(date 1573321188678)
@@ -24,6 +24,19 @@
 
 	wp_enqueue_script( 'wporg-support-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20181209', true );
 	wp_enqueue_script( 'wporg-support-forums', get_template_directory_uri() . '/js/forums.js', array( 'jquery' ), '20180801', true );
+
+	wp_localize_script(
+		'wporg-support-forums',
+		'wporgSupport',
+		array(
+			'strings' => array(
+				'approve'       => __( 'The approval status of this post has been changed.', 'wporg-forums' ),
+				'spam'          => __( 'The spam status of this post has been changed.', 'wporg-forums' ),
+				'archive'       => __( 'The archive status of this post has been changed.', 'wporg-forums' ),
+				'action_failed' => __( 'Unable to complete the requested action, please try again.', 'wporg-forums' ),
+			),
+		)
+	);
 }
 add_action( 'wp_enqueue_scripts', 'wporg_support_scripts' );
 
@@ -165,6 +178,24 @@
 }
 add_filter( 'body_class', 'wporg_support_body_class' );
 
+/**
+ * Exten the bbPress body class when applicable.
+ */
+function wporg_support_bbp_body_class( $classes ) {
+	global $wp_query;
+
+	// If this is a single view, we will add a custom rule for it.
+	if ( ! empty( $wp_query->bbp_is_view ) && ( true === $wp_query->bbp_is_view ) ) {
+		$single_view = 'bbp-view-' . $wp_query->get( 'bbp_view' );
+		if ( ! in_array( $single_view, $classes ) ) {
+			$classes[] = $single_view;
+		}
+	}
+
+	return $classes;
+}
+add_filter( 'bbp_body_class', 'wporg_support_bbp_body_class' );
+
 /**
  * Change the amount of words allowed in excerpts on archive listings.
  *
