         stackView.spacing = 8
         stackView.translatesAutoresizingMaskIntoConstraints = false
         return stackView
+    }()
+
+    lazy var disclosureHorizontalStack: UIStackView = {
+        let stackView = UIStackView()
+        stackView.axis = .horizontal
+        stackView.distribution = .fill
+        stackView.alignment = .top
+        stackView.spacing = 8
+        stackView.translatesAutoresizingMaskIntoConstraints = false
+        return stackView
+    }()
+
+    lazy var subscribeButton: UIButton = {
+        let button = UIButton()
+        button.titleLabel?.font = UIFont.wmf_scaledSystemFont(forTextStyle: .subheadline, weight: .semibold, size: 15)
+        button.titleLabel?.adjustsFontForContentSizeCategory = true
+        button.translatesAutoresizingMaskIntoConstraints = false
+        button.setTitleColor(UIColor.black, for: .normal)
+        button.setImage(UIImage(systemName: "bell"), for: .normal)
+        button.tintColor = .black
+
+        let inset: CGFloat = 2
+        button.contentEdgeInsets = UIEdgeInsets(top: 0, left: inset, bottom: 0, right: inset)
+        button.imageEdgeInsets = UIEdgeInsets(top: 0, left: -inset, bottom: 0, right: inset)
+        button.titleEdgeInsets = UIEdgeInsets(top: 0, left: inset, bottom: 0, right: -inset)
+
+        button.setContentCompressionResistancePriority(.required, for: .vertical)
+
+        return button
+    }()
+
+    lazy var disclosureButton: UIButton = {
+        let button = UIButton()
+        button.translatesAutoresizingMaskIntoConstraints = false
+        button.setImage(UIImage(systemName: "chevron.down"), for: .normal)
+        button.tintColor = .black
+        button.setContentCompressionResistancePriority(.required, for: .vertical)
+        return button
+    }()
+
+    lazy var disclosureCenterSpacer: UIView = {
+        let view = UIView()
+        view.translatesAutoresizingMaskIntoConstraints = false
+        let widthConstraint = view.widthAnchor.constraint(equalToConstant: 99999)
+        widthConstraint.priority = .defaultLow
+        widthConstraint.isActive = true
+        return view
     }()
 
     lazy var topicTitleTextView: UITextView = {

        return label
    }()

    lazy var centerSpacer: UIView = {
        let view = UIView()
        view.translatesAutoresizingMaskIntoConstraints = false
        let widthConstraint = view.widthAnchor.constraint(equalToConstant: 99999)

        repliesStack.addArrangedSubview(repliesImageView)
        repliesStack.addArrangedSubview(repliesCountLabel)

        metadataHorizontalStack.addArrangedSubview(timestampLabel)
        metadataHorizontalStack.addArrangedSubview(variableMetadataCenterSpacer)
        metadataHorizontalStack.addArrangedSubview(activeUsersStack)
        metadataHorizontalStack.addArrangedSubview(metadataSpacer)
        metadataHorizontalStack.addArrangedSubview(repliesStack)

        NSLayoutConstraint.activate([
            stackView.topAnchor.constraint(equalTo: topAnchor),
            stackView.leadingAnchor.constraint(equalTo: leadingAnchor),
            stackView.trailingAnchor.constraint(equalTo: trailingAnchor),
            stackView.bottomAnchor.constraint(equalTo: bottomAnchor)
