Canvas Documentation
Bubble Best Practices
v6.0
v6.0
  • Introduction
  • Key Features
  • What's New
  • Canvas Design System Figma File
  • CANVAS FUNCTIONALITY
    • Getting Started
    • Branding & Design
    • Marketing Pages
    • Page
    • Bubble Pages & Blocks
    • Roles & Permissions
    • Menus & Navigation
    • Data & Workflows
    • Emails & Alerts
      • Mail merge terms
    • Miscellaneous
      • Setting up two factor authentication
      • Cookie and consent banner
      • Setting your password policy
      • Set up Payment info on Account page
      • Loading screen
      • Configuring multiple languages
      • Customizing your app's portal page colors
    • Reference
      • Pages
        • Index
        • Product homepage
        • Marketplace homepage
        • SaaS homepage
        • About us
        • Pricing
        • Admin Portal
        • Account
          • Account deletion
        • Login
        • Legal
        • Reset Password
        • 404
      • Reusable elements
        • Header
        • Footer
        • Signup & Log in
        • Cookies Permission
        • Widgets
          • App security
          • Header Widgets
          • Workflow Widgets
        • Admin Portal
          • Admin analytics
          • Admin email & templates
          • Admin header & footer
          • Admin legal popups
          • Admin branding, setup checklist, and settings
          • Admin options app variables
        • Menu Focus Elements
        • Sidebar tab
      • Data types
      • Option Sets
      • Backend Workflows
      • Design standards
        • Manually Building UI
  • Canvas library
    • Updating asset RG data source
    • UI Patterns
      • Simple Dashboard Page
      • Product Marketplace Dashboard Page
      • Labor Marketplace Profile Page
      • Social Network Profile Page
      • Simple Events Search Page
      • Events Search Page
      • Ecommerce Search Page
      • Labor Marketplace Search Page
    • Page templates
      • Basic Bubble Marketing Page
      • Chat Messenger Page
      • Form Builder Page
      • Centered Profile Page
      • Left-Justified Profile Page
      • Standard page
      • Toggle Tabs Page
      • Menu Page
      • Mobile Menu Page
      • Video List Page
      • Horizontal Tabs Portal / Dashboard Page
      • Standard Portal / Dashboard Page
      • Simple Portal / Dashboard Page with Icons
      • Double Sidebar Portal Page Template
      • Search Page
      • Map Search Page with Toggle and Filters
      • Floating Map Search Page
      • Search Bar Page
      • Multi-Step Page With Progress Bar
      • Standard Multi-Step Process Page
      • Multi-Step Process Page with Sidebar
      • Gallery Profile or Product Page
      • Sidebar Profile Page with Tabs
      • 2-Column Menu Tabs Page
      • 2-Column Checkout Page
      • 2-Column Video Chat Page
      • Vertical Multi-Step Page Template
    • Blocks
      • Pagination
      • Monthly Calendar Scheduling Widget
      • No Reply Comments Thread
      • Nested Comments Thread (with Like and Reply)
      • Placeholder Group
      • List with Circular Progress Bar Repeating Group
      • Top Input Chat Widget
      • Bottom Input Chat Widget
      • Toggle Tabs Group
      • Single-Select or Multi-Select Pill Tabs Group
      • Settings Group
      • Order Confirmation Group
      • To-Do List Repeating Group
      • Title Group with Button and Filters
      • Product Details Group With Progress Bar
      • Listing details with Icons and Menu Focus Group
      • Week Daily Availability Group
      • Frequently Asked Questions (FAQ) Repeating Group
      • Dismissible Module
      • Video Group
      • About Group
      • Add to Cart Group
      • Full Width Map with Directions Link
      • Location Module (Map and Directions)
      • Drag and Drop Repeating Group
      • Infinite Columns Horizontal Scroll Data Table with Fixed First Column (Repeating Group)
      • Nested Data Table (Repeating Group)
      • Standard Data Table (Repeating Group)
      • Standard Data Table (Table Element)
      • Mobile-Friendly Data Table (Repeating Group)
      • Mobile-Friendly Data Table (Table Element)
      • Infinite Columns Horizontal Scroll Data Table (Repeating Group)
      • Infinite Columns Horizontal Scroll Data Table (Table Element)
      • Activity Feed
      • Social Feed
      • Nested Repeating Group
      • Advanced Form Inputs Group
      • Reviews with Ratings Summary and Images
      • Reviews Repeating Group with User Images
      • Reviews (Text Only) Repeating Group
      • Standard Repeating Group with Image
      • Search Bar Group
      • Listing Details Group
      • Post Group with Upvoting UI
      • Large Chart Dashboard Widget
      • Chart With Key Metrics Dashboard Widget
      • 2-Column Table and Key Metrics Dashboard Widgets
      • 2-Column Large Metrics Dashboard Widgets
      • 4-Column Large Metrics Dashboard Widgets
      • Main Image with Thumbnails
      • Centered Profile Block
      • Left-justified Profile Block
      • Tile Image Gallery and Popup
      • Image Feed with Nested Comments Thread
      • 1-Column Standard Form Inputs Group
      • 2-Column Slideshow Tiles Repeating Group
      • 2-Column Repeating Group (Text, Link, Image, and Description)
      • 2-Column Repeating Group (Link, Text, and Button)
      • 2-Column Repeating Group with Actions
      • 2-Column Grid Tiles Repeating Group
      • 2-Column Form Group
      • 4-Column Tiles Repeating Group
      • Expiration timer
    • Popups
      • Edit Drawer
      • Map Location Details Drawer
      • Details and Comments Drawer
      • Confirmation Popup
      • Message Popup
      • Image Popup
      • Video Popup
      • Vertical Scroll Popup
      • Permissions popup
      • Multimedia Slideshow Popup
      • Edit Popup
      • Standard Form Popup
      • Subscribe Popup
      • Feedback / Contact Popup
      • Details Popup
      • Add List Popup
      • Advanced Form Popup
      • Rating Popup
      • Toggle Tabs Popup
      • Share Popup
      • Multi-Step Popup
      • Invoice Popup
      • Stripe Credit Card Purchase Popup
      • View Profile Popup
      • Send Message Popup
      • Multi-Select Pill Tabs Popup
      • Net Promoter Score (NPS) Popup
      • Pricing Plans Popup
    • Reusables
      • Multimage uploader
      • Sidebar_icontab
      • Doublesidebar_tab
Powered by GitBook
On this page
  • Overview
  • Structure
  • How to set up

Was this helpful?

  1. Canvas library
  2. Blocks

Image Feed with Nested Comments Thread

PreviousTile Image Gallery and PopupNext1-Column Standard Form Inputs Group

Was this helpful?

Overview

This fully-responsive block is designed to display image posts with a label and the ability to favorite, like Instagram or Facebook. It includes a comments section where users can comment or like a post.

Structure

When this block is added to a page, it is placed within a group called Blocks container 860 (do not rename) on the page. This group contains the responsive settings for all blocks.

  • imagefeed This reusable element contains all of the logic and UI for the Instagram-like feed. It contains three main groups:

    • Group Main feed content This group displays the post content. RepeatingGroup Posts stores the data for these posts (you will have to change the repeating group data source as it is currently set to a placeholder dummy data source). The main UI components in this group include the following:

      • Clicking on the menufocusgroup_template reusable element will reveal a menu dropdown with a list of options (). You should uncheck the box for This page is visible on page load for Group Inner more post options and add a conditional statement to the group that says When parent group's post's creator is current user, then this element is visible.

      • Clicking on Group Inner comment post icon will show/hide Group Collapsible parent message input_comment and allow you to comment on the post.

      • By default, each post only displays the 3 most recent comments. Clicking on Group Inner view all comments will load all comments on that post.

      • Clicking on Text Parent reply will show/hide Group Collapsible child message input_comment and allow you to comment on a parent comment.

      • If the parent comment has no User likes then clicking on Text Parent like or Group Parent like_comment will like the comment (add current user to the Comment's User likes count). If the parent comment has 1 or more likes, then clicking on Text Parent like will show a popup with a list of User likes on that Comment. Clicking on Group Parent like_comment will remove the current user from the parent comment's User likes count. Similar workflows apply to Text Child like and Group Child like_comment as well.

      • Entering a message in MultilineInput Child reply and clicking on Button Child POST will post the comment and nest it under a parent comment. If the user is not logged in, then clicking Button Child POST will trigger a log in popup.

      • Entering a message in MultilineInput Parent reply and clicking on Button Parent POST will post the comment as a parent comment. If the user is not logged in, then clicking Button Parent POST will trigger a log in popup.

    • Popup Likes This popup displays a list of users that have liked a comment. All user information is displayed in RepeatingGroup User likes.

    • Popup Hidden Variables This popup includes various variables that are referenced in workflows or conditionals on the page.

      • var - Website object - This group stores the Website object (e.g., app name, primary color, and etc.)

      • var - RepeatingGroup t-Comment MASTER - This group stores a list of Comments (where the parent comment is empty). It is used in the logic to display the 3 most recent parent comments and to show all post comments.

      • var - load all comments? - This group stores a yes or no field (it is not located in the popup because it needs to be referenced in the repeating group cell). This variable is used in the logic to determine when to show all post comments.

      • var - dummy - This is a placeholder variable group. You can store any data here by updating the data type and data source of the group.

      For more information on how to use hidden variables, click .

How to set up

  • Update the data source of RepeatingGroup Posts as it is currently set to a Dummy data source. Link your newly created Post data type to the Comment data type. You could do this either by:

    • Adding a list Comments as a field to the post data type or

      • You will have to update all comments repeating groups' data source to Current cell's post's list of comments. For parent comment, add filter for when parent comment is empty. For child comment, add filter for when parent comment is parent group's comment.

    • Adding a Post as a field to the comments data type in the database

      • You will have to update all comments repeating groups' data source to include a filter for Post equals parent group's post.

  • Add a workflow to Group Inner like post icon for liking/unliking a post.

  • Add a workflow to Group Inner forward post icon for forwarding a post.

  • Add a workflow to Group Inner bookmark icon for bookmarking a post.

  • Updating the workflows for Button Child POST and Button Parent POST to ensure that the comments are associated with the corresponding Post.

  • Showing or hiding Group Inner more post options. You might want this group to only be visible to users if they are the creator of the post.

  • Updating text content in Popup Likes.

more details here
here