Copy to Clipboard
<%= javascript_tag do %>
window.addEventListener('DOMContentLoaded', () => {
const desktopOnly = document.querySelectorAll('.desktop-only')
const mobileOnly = document.querySelectorAll('.mobile-only')
const textInput = document.querySelector('.text-input-flex-item')
const trendingImages = document.querySelectorAll('.trending-image')
const postImageDesktop = document.querySelector('.post-image-desktop')
const postImageMobile = document.querySelector('.post-image-mobile')
const bodyContainer = document.querySelector('.body-container')
const viewSize = () => {
if (window.innerWidth < 1385) {
desktopOnly.forEach((element) => element.style.display = 'none')
mobileOnly.forEach((element) => element.style.display = '')
bodyContainer.style.flexBasis = ''
textInput.style.flexBasis = '60%'
bodyContainer.style.marginRight = '8px'
bodyContainer.style.marginLeft = '8px'
postImageMobile.style.width = '100%'
} else {
mobileOnly.forEach((element) => element.style.display = 'none')
desktopOnly.forEach((element) => element.style.display = '')
bodyContainer.style.flexBasis = '65%'
postImageDesktop.style.width = '75%'
postImageDesktop.style.display = 'block'
postImageDesktop.style.margin = 'auto'
}
trendingImages.forEach((element) => element.style.width = '100%')
}
viewSize()
window.addEventListener('resize', () => viewSize())
})
<% end %>
<% trending_stories = [
{
header_color: "category_1",
header_text: "Finance",
image_url: "https://p-a6fbdk.t4.n0.cdn.getcloudapp.com/items/jkuYZ6rB/readit_image_1.png",
card_text: "IRS will allow employers to match their employees' student loan...",
icon: "dollar-sign",
variant: "green",
sub_readit: "r/PersonalFinance and more"
}, {
header_color: "category_2",
header_text: "World News",
image_url: "https://p-a6fbdk.t4.n0.cdn.getcloudapp.com/items/wbuK75AO/readit_image_2.png",
card_text: "Hong Kong democrat Ted Hui confirms he will go into exile...",
icon: "globe",
variant: "yellow",
sub_readit: "r/WorldNews and more"
}, {
header_color: "category_3",
header_text: "Space",
image_url: "https://p-a6fbdk.t4.n0.cdn.getcloudapp.com/items/geuooly9/readit_image_3.png",
card_text: "Relaxing Inside the Space Station's Window to the World...",
icon: "space-shuttle",
variant: "blue",
sub_readit: "r/Space and more"
}, {
header_color: "category_4",
header_text: "Tech",
image_url: "https://p-a6fbdk.t4.n0.cdn.getcloudapp.com/items/WnulJpwd/readit_image_4.png",
card_text: "MIT programmed AI that can design its own robots...",
icon: "microchip",
variant: "royal",
sub_readit: "r/Technology and more"
}
] %>
<% communities = [
{ sub_readit: "r/Fishing", variant: "teal", icon: "fish" },
{ sub_readit: "r/Outdoors", variant: "green", icon: "trees" },
{ sub_readit: "r/MostBeautiful", variant: "yellow", icon: "sun" },
{ sub_readit: "r/Camping", variant: "red", icon: "campfire" },
{ sub_readit: "r/Homestead", variant: "blue", icon: "farm" },
] %>
<% trending_communities = [
{ sub_readit: "r/Food", variant: "blue", icon: "utensils", members: "1,239,257 members" },
{ sub_readit: "r/Gaming", variant: "red", icon: "gamepad", members: "4,125,270 members" },
{ sub_readit: "r/aww", variant: "yellow", icon: "paw", members: "2,037,816 members" },
{ sub_readit: "r/Movies", variant: "royal", icon: "camera-movie", members: "1,392,777 members" },
{ sub_readit: "r/GraphicDesign", variant: "purple", icon: "pencil-paintbrush", members: "28,270 members" },
] %>
<%# Start header bar %>
<%= pb_rails("background", props: { background_color: "white", padding_left: "md", padding_y: "xs" }) do %>
<%= pb_rails("flex", props: { classname: "flex-container", spacing: "between", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("icon_circle", props: { icon: "robot", variant: "royal", size: "md" }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("title", props: { classname: "desktop-only", margin_left: "xs", size: 2, text: "readit" }) %>
<% end %>
<% end %>
<% end %>
<%= pb_rails("flex/flex_item", props: { classname: "text-input-flex-item", fixed_size: "30%" }) do %>
<%= pb_rails("text_input", props: { margin_top: "sm", placeholder: "Search" }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("button", props: { classname: "desktop-only", margin_right: "sm", text: "Log In", variant: "secondary" }) %>
<%= pb_rails("button", props: { classname: "desktop-only", margin_right: "sm", text: "Sign Up" }) %>
<%= pb_rails("button", props: { margin_right: "md", padding: "none", variant: "link" }) do %>
<%= pb_rails("icon", props: { icon: "user" }) %>
<%= pb_rails("icon", props: { icon: "caret-down" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# End header bar %>
<%= pb_rails("flex", props: { horizontal: "center" }) do %>
<%= pb_rails("flex/flex_item", props: { classname: "body-container" }) do %>
<%# Start trending today %>
<%= pb_rails("caption", props: { padding_bottom: "xs", padding_top: "sm", text: "Trending Today" }) %>
<%= pb_rails("layout", props: { layout: "collection", header: true }) do %>
<%= pb_rails("layout/body") do %>
<% trending_stories.each do |story| %>
<%= pb_rails("card", props: { padding: "none" }) do %>
<%= pb_rails("card/card_header", props: { padding: "sm", header_color: story[:header_color] }) do %>
<%= pb_rails("caption", props: { dark: true, text: story[:header_text] }) %>
<% end %>
<%= pb_rails("card/card_body", props: { padding: "none" }) do %>
<%= pb_rails("image", props: {
classname: "trending-image",
url: story[:image_url]
}) %>
<%= pb_rails("body", props: {
padding: "xs",
padding_y: "none",
text: story[:card_text]
}) %>
<%= pb_rails("flex", props: { classname: "flex-container", padding: "xs", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("icon_circle", props: { icon: story[:icon], size: "xs", variant: story[:variant] }) %>
<% end %>
<%= pb_rails("flex/flex_item", props: { margin_left: "xs" }) do %>
<%= pb_rails("caption", props: { size: 'xs', text: story[:sub_readit] }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# End trending today %>
<%# Start Popular Posts %>
<%= pb_rails("caption", props: { padding_bottom: "xs", padding_top: "sm", text: "Popular Posts" }) %>
<div class="mobile-only">
<%# Mobile nav %>
<%= pb_rails("card", props: { padding: "none" }) do %>
<%= pb_rails("nav", props: { orientation: "vertical"}) do %>
<%= pb_rails("nav/item", props: { active: true, icon_left: "rocket", link: "#", text: "Best" }) %>
<%= pb_rails("nav/item", props: { icon_left: "fire", text: "Hot", link: "#", }) %>
<%= pb_rails("nav/item", props: { icon_left: "star", text: "New ", link: "#" }) %>
<%= pb_rails("nav/item", props: { icon_left: "chart-line", text: "Top", link: "#" }) %>
<% end %>
<% end %>
<%# Mobile post 1 %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "none" }) do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item", props: { padding: "sm" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("icon_circle", props: { icon: "lightbulb-on", size: "xs", variant: "yellow" }) %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, text: "r/LifeProTips" }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: "• Posted by u/xhuljanomuca" }) %>
<% end %>
<%= pb_rails("body", props: {
padding_right: "md",
padding_top: "xs",
text: "LPT: If you ever need a program you want for free (for example a video/photo editor) don’t search "\
"for “free,” search for “open source” to avoid limited trial versions, adverts and malware",
}) %>
<%= pb_rails("pill", props: { margin_top: "sm",text: "Computers", variant: "primary" }) %>
<%= pb_rails("flex", props: { padding_top: "sm" }) do %>
<%= pb_rails("icon_value", props: { icon: "comment-alt", text: "1.4k Comments" }) %>
<%= pb_rails("icon_value", props: { icon: "share", margin_left: "sm", text: "Share" }) %>
<%= pb_rails("icon_value", props: { icon: "folder-plus", margin_left: "sm", text: "Save" }) %>
<%= pb_rails("icon_value", props: { icon: "ellipsis-h", margin_left: "sm", text: "" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# Mobile post 2 %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "none" }) do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item", props: { fixed_size: "100%", padding: "sm" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("icon_circle", props: { icon: "camera", size: "xs", variant: "blue" }) %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, tag: "h4", text: "r/Pics" }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: "• Posted by u/stephenmckeon" }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("flex", props: { margin_bottom: "sm", padding_top: "xs", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("body", props: { text: "Foggy morning." }) %>
<% end %>
<%= pb_rails("flex/flex_item", props: { margin_left: "xs" }) do %>
<%= pb_rails("pill", props: { text: "OC", variant: "success" }) %>
<% end %>
<% end %>
<% end %>
<%= pb_rails("image", props: {
classname: "post-image-mobile",
url: "https://p-a6fbdk.t4.n0.cdn.getcloudapp.com/items/d5uPEJbY/readit_image_5.png"
}) %>
<%= pb_rails("flex", props: { padding_top: "sm" }) do %>
<%= pb_rails("icon_value", props: { icon: "comment-alt", text: "112 Comments" }) %>
<%= pb_rails("icon_value", props: { icon: "share", margin_left: "sm", text: "Share" }) %>
<%= pb_rails("icon_value", props: { icon: "folder-plus", margin_left: "sm", text: "Save" }) %>
<%= pb_rails("icon_value", props: { icon: "ellipsis-h", margin_left: "sm", text: "" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# Mobile post 3 %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "none" }) do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item", props: { padding: "sm" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("icon_circle", props: { icon: "browser", variant: "purple", size: "xs" }) %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, tag: "h4", text: "r/WebDesign" }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: "• Posted by u/creativebloq" }) %>
<% end %>
<%= pb_rails("title", props: { padding_right: "md", padding_top: "xs", size: 4, text: "Use white space!" }) %>
<%= pb_rails("body", props: {
padding_top: "sm",
text: "It seems to be the hardest concept for developers to grasp: the biggest benefit to having the proper amount of "\
"white space is giving the user a break. Breaks are important for processing information, especially when there's "\
"a fair amount to process. It's why we have paragraphs and sentences instead of just a single, long block of running text."
}) %>
<%= pb_rails("body", props: {
padding_top: "sm",
text: "The key is to ensure that white space has a relationship with other objects on the page, including the other space. "\
"If you have a single column of white space, make sure there's another single column of white space around to balance it."
}) %>
<%= pb_rails("body", props: {
color: "light",
padding_top: "sm",
text: "For vertical space, just use fractions of the body font size. I tend to keep things simple and use a scale of .25, "\
"but there are several other scales that you can use."
}) %>
<%= pb_rails("body", props: {
padding_top: "sm",
color: "lighter",
text: "For example, if the body font size is 16px(1em): 4, 8, 12, 16, 20, 24, 28, 32, 40, 48. "\
"This allows for choosing font sizes by simply moving up and down the scale as I want larger or smaller type..."
}) %>
<%= pb_rails("flex", props: { padding_top: "sm" }) do %>
<%= pb_rails("icon_value", props: { icon: "comment-alt", text: "32 Comments" }) %>
<%= pb_rails("icon_value", props: { icon: "share", margin_left: "sm", text: "Share" }) %>
<%= pb_rails("icon_value", props: { icon: "folder-plus", margin_left: "sm", text: "Save" }) %>
<%= pb_rails("icon_value", props: { icon: "ellipsis-h", margin_left: "sm", text: "" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
</div>
<div class="desktop-only">
<%= pb_rails("layout", props: { position: "right", size: "xl" }) do %>
<%= pb_rails("layout/body") do %>
<%# Desktop nav bar %>
<%= pb_rails("card", props: { padding: "none" }) do %>
<%= pb_rails("flex", props: { spacing: "between" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("flex") do %>
<%= pb_rails("nav", props: { orientation: "horizontal"}) do %>
<%= pb_rails("nav/item", props: { active: true, icon_left: "rocket", link: "#", text: "Best" }) %>
<%= pb_rails("nav/item", props: { icon_left: "fire", text: "Hot", link: "#", }) %>
<%= pb_rails("nav/item", props: { icon_left: "star", text: "New ", link: "#" }) %>
<%= pb_rails("nav/item", props: { icon_left: "chart-line", text: "Top", link: "#" }) %>
<% end %>
<%= pb_rails("button", props: { margin_top: "xs", variant: "link" }) do %>
<%= pb_rails("icon", props: { icon: "ellipsis-h" }) %>
<% end %>
<% end %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("button", props: { margin_top: "xs", padding_right: "md", variant: "link" }) do %>
<%= pb_rails("icon", props: { icon: "th-large" }) %>
<%= pb_rails("icon", props: { icon: "caret-down" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# Desktop post 1 %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "none" }) do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item", props: { margin_left: "sm", margin_top: "sm" }) do %>
<%= pb_rails("icon", props: { icon: "arrow-alt-up", margin_left: "xs", size: "1x" }) %>
<%= pb_rails("title", props: { margin: "xs", margin_left: "none", size: 4, text: "66.2k" }) %>
<%= pb_rails("icon", props: { icon: "arrow-alt-down", margin_left: "xs", size: "1x" }) %>
<% end %>
<%= pb_rails("flex/flex_item", props: { padding_x: "xs", padding_y: "sm" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("icon_circle", props: { icon: "lightbulb-on", size: "xs", variant: "yellow" }) %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, text: "r/LifeProTips" }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: "• Posted by u/xhuljanomuca 1 month ago" }) %>
<% end %>
<%= pb_rails("body", props: {
padding_right: "md",
padding_top: "xs",
text: "LPT: If you ever need a program you want for free (for example a video/photo editor) don’t search "\
"for “free,” search for “open source” to avoid limited trial versions, adverts and malware",
}) %>
<%= pb_rails("pill", props: { margin_top: "sm",text: "Computers", variant: "primary" }) %>
<%= pb_rails("flex", props: { padding_top: "sm" }) do %>
<%= pb_rails("icon_value", props: { icon: "comment-alt", text: "1.4k Comments" }) %>
<%= pb_rails("icon_value", props: { icon: "share", margin_left: "sm", text: "Share" }) %>
<%= pb_rails("icon_value", props: { icon: "folder-plus", margin_left: "sm", text: "Save" }) %>
<%= pb_rails("icon_value", props: { icon: "ellipsis-h", margin_left: "sm", text: "" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# Desktop post 2 %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "none" }) do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item", props: { margin_left: "sm", margin_top: "sm" }) do %>
<%= pb_rails("icon", props: { icon: "arrow-alt-up", margin_left: "xs", size: "1x" }) %>
<%= pb_rails("title", props: { margin: "xs", margin_left: "none", size: 4, text: "8297" }) %>
<%= pb_rails("icon", props: { icon: "arrow-alt-down", margin_left: "xs", size: "1x" }) %>
<% end %>
<%= pb_rails("flex/flex_item", props: { fixed_size: "85%", padding_x: "xs", padding_y: "sm" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("icon_circle", props: { icon: "camera", size: "xs", variant: "blue" }) %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, tag: "h4", text: "r/Pics" }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: "• Posted by u/stephenmckeon 13 hours ago" }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("flex", props: { padding_top: "xs", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("body", props: { text: "Foggy morning." }) %>
<% end %>
<%= pb_rails("flex/flex_item", props: { margin_left: "xs" }) do %>
<%= pb_rails("pill", props: { text: "OC", variant: "success" }) %>
<% end %>
<% end %>
<% end %>
<%= pb_rails("flex", props: { horizontal: "center", margin_top: "sm" }) do %>
<%= pb_rails("image", props: {
classname: "post-image-desktop",
url: "https://p-a6fbdk.t4.n0.cdn.getcloudapp.com/items/d5uPEJbY/readit_image_5.png"
}) %>
<% end %>
<%= pb_rails("flex", props: { padding_top: "sm" }) do %>
<%= pb_rails("icon_value", props: { icon: "comment-alt", text: "112 Comments" }) %>
<%= pb_rails("icon_value", props: { icon: "share", margin_left: "sm", text: "Share" }) %>
<%= pb_rails("icon_value", props: { icon: "folder-plus", margin_left: "sm", text: "Save" }) %>
<%= pb_rails("icon_value", props: { icon: "ellipsis-h", margin_left: "sm", text: "" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# Desktop post 3 %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "none" }) do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item", props: { margin_left: "sm", margin_top: "sm" }) do %>
<%= pb_rails("icon", props: { icon: "arrow-alt-up", margin_left: "xs", size: "1x" }) %>
<%= pb_rails("title", props: { margin: "xs", margin_left: "none", size: 4, text: "467" }) %>
<%= pb_rails("icon", props: { icon: "arrow-alt-down", margin_left: "xs", size: "1x" }) %>
<% end %>
<%= pb_rails("flex/flex_item", props: { padding_left: "xs", padding_right: "xl", padding_y: "sm" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("icon_circle", props: { icon: "browser", variant: "purple", size: "xs" }) %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, tag: "h4", text: "r/WebDesign" }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: "• Posted by u/creativebloq 1 week ago" }) %>
<% end %>
<%= pb_rails("title", props: { padding_right: "md", padding_top: "xs", size: 4, text: "Use white space!" }) %>
<%= pb_rails("body", props: {
padding_top: "sm",
text: "It seems to be the hardest concept for developers to grasp: the biggest benefit to having the proper amount of "\
"white space is giving the user a break. Breaks are important for processing information, especially when there's "\
"a fair amount to process. It's why we have paragraphs and sentences instead of just a single, long block of running text."
}) %>
<%= pb_rails("body", props: {
padding_top: "sm",
text: "The key is to ensure that white space has a relationship with other objects on the page, including the other space. "\
"If you have a single column of white space, make sure there's another single column of white space around to balance it."
}) %>
<%= pb_rails("body", props: {
color: "light",
padding_top: "sm",
text: "For vertical space, just use fractions of the body font size. I tend to keep things simple and use a scale of .25, "\
"but there are several other scales that you can use."
}) %>
<%= pb_rails("body", props: {
padding_top: "sm",
color: "lighter",
text: "For example, if the body font size is 16px(1em): 4, 8, 12, 16, 20, 24, 28, 32, 40, 48. "\
"This allows for choosing font sizes by simply moving up and down the scale as I want larger or smaller type..."
}) %>
<%= pb_rails("flex", props: { padding_top: "sm" }) do %>
<%= pb_rails("icon_value", props: { icon: "comment-alt", text: "32 Comments" }) %>
<%= pb_rails("icon_value", props: { icon: "share", margin_left: "sm", text: "Share" }) %>
<%= pb_rails("icon_value", props: { icon: "folder-plus", margin_left: "sm", text: "Save" }) %>
<%= pb_rails("icon_value", props: { icon: "ellipsis-h", margin_left: "sm", text: "" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# Start side bar (desktop only) %>
<%= pb_rails("background", props: { background_color: "light" }) do %>
<%= pb_rails("layout/sidebar", props: { margin_left: "md" }) do %>
<%# Communities card %>
<%= pb_rails("card", props: { header: true, padding: "none", shadow: "deeper" }) do %>
<%= pb_rails("card/card_header", props: { padding: "xs", header_color: "category_1" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("body", props: { padding: "xs", padding_right: "sm", classname: "dark" }) do %>
<%= pb_rails("icon", props: { icon: "tree-large", size: "4x" }) %>
<% end %>
<%= pb_rails("body", props: {
classname: "dark",
margin: "xs",
margin_right: "sm",
text: "Outdoor communities — they're really out there",
}) %>
<% end %>
<% end %>
<% communities.each do |community| %>
<%= pb_rails("flex", props: { padding: "xs", padding_left: "sm", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("icon_circle", props: { icon: community[:icon], size: "sm", variant: community[:variant] }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, text: community[:sub_readit] }) %>
<% end %>
<% end %>
<%= pb_rails("section_separator") unless community == communities.last %>
<% end %>
<%= pb_rails("layout/body", props: { padding_x: "sm" }) do %>
<%= pb_rails("button", props: { full_width: true, margin_top: "xs", text: "VIEW ALL" }) %>
<%= pb_rails("flex", props: { padding_y: "sm", spacing: "between" }) do %>
<%= pb_rails("badge", props: { text: "Top", variant: "neutral", padding: "xs" }) %>
<%= pb_rails("badge", props: { text: "Near You", variant: "neutral", padding: "xs" }) %>
<%= pb_rails("badge", props: { text: "Aww", variant: "neutral", padding: "xs" }) %>
<%= pb_rails("badge", props: { text: "Fitness", variant: "neutral", padding: "xs" }) %>
<% end %>
<% end %>
<% end %>
<%# Readit premium card %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "xs", shadow: "deeper" }) do %>
<%= pb_rails("flex", props: { margin: "xs", spacing: "between", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("icon", props: { icon: "shield-alt", margin_right: "sm", size: "2x" }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("title", props: { size: 4, text: "Readit Premium" }) %>
<%= pb_rails("caption", props: { size: "xs", text: "The best Readit experience, with monthly Coins" }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("button", props: { padding_x: "sm", text: "TRY NOW", variant: "secondary" }) %>
<% end %>
<% end %>
<% end %>
<%# Trending communities card %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "sm", shadow: "deeper" }) do %>
<%= pb_rails("title", props: { padding: "xs", size: 4, text: "Trending Communities" }) %>
<% trending_communities.each do |community| %>
<%= pb_rails("flex", props: { padding_y: "xs", spacing: "between", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("icon_circle", props: { icon: community[:icon], size: "sm", variant: community[:variant] }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, text: community[:sub_readit] }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: community[:members] }) %>
<% end %>
<% end %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("button", props: { text: "JOIN", variant: "secondary" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# End side bar (desktop only) %>
<% end %>
</div>
<%# End Popular Posts %>
<% end %>
<% end %>
<%= javascript_tag do %>
window.addEventListener('DOMContentLoaded', () => {
const desktopOnly = document.querySelectorAll('.desktop-only')
const mobileOnly = document.querySelectorAll('.mobile-only')
const textInput = document.querySelector('.text-input-flex-item')
const trendingImages = document.querySelectorAll('.trending-image')
const postImageDesktop = document.querySelector('.post-image-desktop')
const postImageMobile = document.querySelector('.post-image-mobile')
const bodyContainer = document.querySelector('.body-container')
const viewSize = () => {
if (window.innerWidth < 1385) {
desktopOnly.forEach((element) => element.style.display = 'none')
mobileOnly.forEach((element) => element.style.display = '')
bodyContainer.style.flexBasis = ''
textInput.style.flexBasis = '60%'
bodyContainer.style.marginRight = '8px'
bodyContainer.style.marginLeft = '8px'
postImageMobile.style.width = '100%'
} else {
mobileOnly.forEach((element) => element.style.display = 'none')
desktopOnly.forEach((element) => element.style.display = '')
bodyContainer.style.flexBasis = '65%'
postImageDesktop.style.width = '75%'
postImageDesktop.style.display = 'block'
postImageDesktop.style.margin = 'auto'
}
trendingImages.forEach((element) => element.style.width = '100%')
}
viewSize()
window.addEventListener('resize', () => viewSize())
})
<% end %>
<% trending_stories = [
{
header_color: "category_1",
header_text: "Finance",
image_url: "https://p-a6fbdk.t4.n0.cdn.getcloudapp.com/items/jkuYZ6rB/readit_image_1.png",
card_text: "IRS will allow employers to match their employees' student loan...",
icon: "dollar-sign",
variant: "green",
sub_readit: "r/PersonalFinance and more"
}, {
header_color: "category_2",
header_text: "World News",
image_url: "https://p-a6fbdk.t4.n0.cdn.getcloudapp.com/items/wbuK75AO/readit_image_2.png",
card_text: "Hong Kong democrat Ted Hui confirms he will go into exile...",
icon: "globe",
variant: "yellow",
sub_readit: "r/WorldNews and more"
}, {
header_color: "category_3",
header_text: "Space",
image_url: "https://p-a6fbdk.t4.n0.cdn.getcloudapp.com/items/geuooly9/readit_image_3.png",
card_text: "Relaxing Inside the Space Station's Window to the World...",
icon: "space-shuttle",
variant: "blue",
sub_readit: "r/Space and more"
}, {
header_color: "category_4",
header_text: "Tech",
image_url: "https://p-a6fbdk.t4.n0.cdn.getcloudapp.com/items/WnulJpwd/readit_image_4.png",
card_text: "MIT programmed AI that can design its own robots...",
icon: "microchip",
variant: "royal",
sub_readit: "r/Technology and more"
}
] %>
<% communities = [
{ sub_readit: "r/Fishing", variant: "teal", icon: "fish" },
{ sub_readit: "r/Outdoors", variant: "green", icon: "trees" },
{ sub_readit: "r/MostBeautiful", variant: "yellow", icon: "sun" },
{ sub_readit: "r/Camping", variant: "red", icon: "campfire" },
{ sub_readit: "r/Homestead", variant: "blue", icon: "farm" },
] %>
<% trending_communities = [
{ sub_readit: "r/Food", variant: "blue", icon: "utensils", members: "1,239,257 members" },
{ sub_readit: "r/Gaming", variant: "red", icon: "gamepad", members: "4,125,270 members" },
{ sub_readit: "r/aww", variant: "yellow", icon: "paw", members: "2,037,816 members" },
{ sub_readit: "r/Movies", variant: "royal", icon: "camera-movie", members: "1,392,777 members" },
{ sub_readit: "r/GraphicDesign", variant: "purple", icon: "pencil-paintbrush", members: "28,270 members" },
] %>
<%# Start header bar %>
<%= pb_rails("background", props: { background_color: "white", padding_left: "md", padding_y: "xs" }) do %>
<%= pb_rails("flex", props: { classname: "flex-container", spacing: "between", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("icon_circle", props: { icon: "robot", variant: "royal", size: "md" }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("title", props: { classname: "desktop-only", margin_left: "xs", size: 2, text: "readit" }) %>
<% end %>
<% end %>
<% end %>
<%= pb_rails("flex/flex_item", props: { classname: "text-input-flex-item", fixed_size: "30%" }) do %>
<%= pb_rails("text_input", props: { margin_top: "sm", placeholder: "Search" }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("button", props: { classname: "desktop-only", margin_right: "sm", text: "Log In", variant: "secondary" }) %>
<%= pb_rails("button", props: { classname: "desktop-only", margin_right: "sm", text: "Sign Up" }) %>
<%= pb_rails("button", props: { margin_right: "md", padding: "none", variant: "link" }) do %>
<%= pb_rails("icon", props: { icon: "user" }) %>
<%= pb_rails("icon", props: { icon: "caret-down" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# End header bar %>
<%= pb_rails("flex", props: { horizontal: "center" }) do %>
<%= pb_rails("flex/flex_item", props: { classname: "body-container" }) do %>
<%# Start trending today %>
<%= pb_rails("caption", props: { padding_bottom: "xs", padding_top: "sm", text: "Trending Today" }) %>
<%= pb_rails("layout", props: { layout: "collection", header: true }) do %>
<%= pb_rails("layout/body") do %>
<% trending_stories.each do |story| %>
<%= pb_rails("card", props: { padding: "none" }) do %>
<%= pb_rails("card/card_header", props: { padding: "sm", header_color: story[:header_color] }) do %>
<%= pb_rails("caption", props: { dark: true, text: story[:header_text] }) %>
<% end %>
<%= pb_rails("card/card_body", props: { padding: "none" }) do %>
<%= pb_rails("image", props: {
classname: "trending-image",
url: story[:image_url]
}) %>
<%= pb_rails("body", props: {
padding: "xs",
padding_y: "none",
text: story[:card_text]
}) %>
<%= pb_rails("flex", props: { classname: "flex-container", padding: "xs", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("icon_circle", props: { icon: story[:icon], size: "xs", variant: story[:variant] }) %>
<% end %>
<%= pb_rails("flex/flex_item", props: { margin_left: "xs" }) do %>
<%= pb_rails("caption", props: { size: 'xs', text: story[:sub_readit] }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# End trending today %>
<%# Start Popular Posts %>
<%= pb_rails("caption", props: { padding_bottom: "xs", padding_top: "sm", text: "Popular Posts" }) %>
<div class="mobile-only">
<%# Mobile nav %>
<%= pb_rails("card", props: { padding: "none" }) do %>
<%= pb_rails("nav", props: { orientation: "vertical"}) do %>
<%= pb_rails("nav/item", props: { active: true, icon_left: "rocket", link: "#", text: "Best" }) %>
<%= pb_rails("nav/item", props: { icon_left: "fire", text: "Hot", link: "#", }) %>
<%= pb_rails("nav/item", props: { icon_left: "star", text: "New ", link: "#" }) %>
<%= pb_rails("nav/item", props: { icon_left: "chart-line", text: "Top", link: "#" }) %>
<% end %>
<% end %>
<%# Mobile post 1 %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "none" }) do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item", props: { padding: "sm" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("icon_circle", props: { icon: "lightbulb-on", size: "xs", variant: "yellow" }) %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, text: "r/LifeProTips" }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: "• Posted by u/xhuljanomuca" }) %>
<% end %>
<%= pb_rails("body", props: {
padding_right: "md",
padding_top: "xs",
text: "LPT: If you ever need a program you want for free (for example a video/photo editor) don’t search "\
"for “free,” search for “open source” to avoid limited trial versions, adverts and malware",
}) %>
<%= pb_rails("pill", props: { margin_top: "sm",text: "Computers", variant: "primary" }) %>
<%= pb_rails("flex", props: { padding_top: "sm" }) do %>
<%= pb_rails("icon_value", props: { icon: "comment-alt", text: "1.4k Comments" }) %>
<%= pb_rails("icon_value", props: { icon: "share", margin_left: "sm", text: "Share" }) %>
<%= pb_rails("icon_value", props: { icon: "folder-plus", margin_left: "sm", text: "Save" }) %>
<%= pb_rails("icon_value", props: { icon: "ellipsis-h", margin_left: "sm", text: "" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# Mobile post 2 %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "none" }) do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item", props: { fixed_size: "100%", padding: "sm" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("icon_circle", props: { icon: "camera", size: "xs", variant: "blue" }) %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, tag: "h4", text: "r/Pics" }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: "• Posted by u/stephenmckeon" }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("flex", props: { margin_bottom: "sm", padding_top: "xs", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("body", props: { text: "Foggy morning." }) %>
<% end %>
<%= pb_rails("flex/flex_item", props: { margin_left: "xs" }) do %>
<%= pb_rails("pill", props: { text: "OC", variant: "success" }) %>
<% end %>
<% end %>
<% end %>
<%= pb_rails("image", props: {
classname: "post-image-mobile",
url: "https://p-a6fbdk.t4.n0.cdn.getcloudapp.com/items/d5uPEJbY/readit_image_5.png"
}) %>
<%= pb_rails("flex", props: { padding_top: "sm" }) do %>
<%= pb_rails("icon_value", props: { icon: "comment-alt", text: "112 Comments" }) %>
<%= pb_rails("icon_value", props: { icon: "share", margin_left: "sm", text: "Share" }) %>
<%= pb_rails("icon_value", props: { icon: "folder-plus", margin_left: "sm", text: "Save" }) %>
<%= pb_rails("icon_value", props: { icon: "ellipsis-h", margin_left: "sm", text: "" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# Mobile post 3 %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "none" }) do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item", props: { padding: "sm" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("icon_circle", props: { icon: "browser", variant: "purple", size: "xs" }) %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, tag: "h4", text: "r/WebDesign" }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: "• Posted by u/creativebloq" }) %>
<% end %>
<%= pb_rails("title", props: { padding_right: "md", padding_top: "xs", size: 4, text: "Use white space!" }) %>
<%= pb_rails("body", props: {
padding_top: "sm",
text: "It seems to be the hardest concept for developers to grasp: the biggest benefit to having the proper amount of "\
"white space is giving the user a break. Breaks are important for processing information, especially when there's "\
"a fair amount to process. It's why we have paragraphs and sentences instead of just a single, long block of running text."
}) %>
<%= pb_rails("body", props: {
padding_top: "sm",
text: "The key is to ensure that white space has a relationship with other objects on the page, including the other space. "\
"If you have a single column of white space, make sure there's another single column of white space around to balance it."
}) %>
<%= pb_rails("body", props: {
color: "light",
padding_top: "sm",
text: "For vertical space, just use fractions of the body font size. I tend to keep things simple and use a scale of .25, "\
"but there are several other scales that you can use."
}) %>
<%= pb_rails("body", props: {
padding_top: "sm",
color: "lighter",
text: "For example, if the body font size is 16px(1em): 4, 8, 12, 16, 20, 24, 28, 32, 40, 48. "\
"This allows for choosing font sizes by simply moving up and down the scale as I want larger or smaller type..."
}) %>
<%= pb_rails("flex", props: { padding_top: "sm" }) do %>
<%= pb_rails("icon_value", props: { icon: "comment-alt", text: "32 Comments" }) %>
<%= pb_rails("icon_value", props: { icon: "share", margin_left: "sm", text: "Share" }) %>
<%= pb_rails("icon_value", props: { icon: "folder-plus", margin_left: "sm", text: "Save" }) %>
<%= pb_rails("icon_value", props: { icon: "ellipsis-h", margin_left: "sm", text: "" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
</div>
<div class="desktop-only">
<%= pb_rails("layout", props: { position: "right", size: "xl" }) do %>
<%= pb_rails("layout/body") do %>
<%# Desktop nav bar %>
<%= pb_rails("card", props: { padding: "none" }) do %>
<%= pb_rails("flex", props: { spacing: "between" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("flex") do %>
<%= pb_rails("nav", props: { orientation: "horizontal"}) do %>
<%= pb_rails("nav/item", props: { active: true, icon_left: "rocket", link: "#", text: "Best" }) %>
<%= pb_rails("nav/item", props: { icon_left: "fire", text: "Hot", link: "#", }) %>
<%= pb_rails("nav/item", props: { icon_left: "star", text: "New ", link: "#" }) %>
<%= pb_rails("nav/item", props: { icon_left: "chart-line", text: "Top", link: "#" }) %>
<% end %>
<%= pb_rails("button", props: { margin_top: "xs", variant: "link" }) do %>
<%= pb_rails("icon", props: { icon: "ellipsis-h" }) %>
<% end %>
<% end %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("button", props: { margin_top: "xs", padding_right: "md", variant: "link" }) do %>
<%= pb_rails("icon", props: { icon: "th-large" }) %>
<%= pb_rails("icon", props: { icon: "caret-down" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# Desktop post 1 %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "none" }) do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item", props: { margin_left: "sm", margin_top: "sm" }) do %>
<%= pb_rails("icon", props: { icon: "arrow-alt-up", margin_left: "xs", size: "1x" }) %>
<%= pb_rails("title", props: { margin: "xs", margin_left: "none", size: 4, text: "66.2k" }) %>
<%= pb_rails("icon", props: { icon: "arrow-alt-down", margin_left: "xs", size: "1x" }) %>
<% end %>
<%= pb_rails("flex/flex_item", props: { padding_x: "xs", padding_y: "sm" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("icon_circle", props: { icon: "lightbulb-on", size: "xs", variant: "yellow" }) %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, text: "r/LifeProTips" }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: "• Posted by u/xhuljanomuca 1 month ago" }) %>
<% end %>
<%= pb_rails("body", props: {
padding_right: "md",
padding_top: "xs",
text: "LPT: If you ever need a program you want for free (for example a video/photo editor) don’t search "\
"for “free,” search for “open source” to avoid limited trial versions, adverts and malware",
}) %>
<%= pb_rails("pill", props: { margin_top: "sm",text: "Computers", variant: "primary" }) %>
<%= pb_rails("flex", props: { padding_top: "sm" }) do %>
<%= pb_rails("icon_value", props: { icon: "comment-alt", text: "1.4k Comments" }) %>
<%= pb_rails("icon_value", props: { icon: "share", margin_left: "sm", text: "Share" }) %>
<%= pb_rails("icon_value", props: { icon: "folder-plus", margin_left: "sm", text: "Save" }) %>
<%= pb_rails("icon_value", props: { icon: "ellipsis-h", margin_left: "sm", text: "" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# Desktop post 2 %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "none" }) do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item", props: { margin_left: "sm", margin_top: "sm" }) do %>
<%= pb_rails("icon", props: { icon: "arrow-alt-up", margin_left: "xs", size: "1x" }) %>
<%= pb_rails("title", props: { margin: "xs", margin_left: "none", size: 4, text: "8297" }) %>
<%= pb_rails("icon", props: { icon: "arrow-alt-down", margin_left: "xs", size: "1x" }) %>
<% end %>
<%= pb_rails("flex/flex_item", props: { fixed_size: "85%", padding_x: "xs", padding_y: "sm" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("icon_circle", props: { icon: "camera", size: "xs", variant: "blue" }) %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, tag: "h4", text: "r/Pics" }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: "• Posted by u/stephenmckeon 13 hours ago" }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("flex", props: { padding_top: "xs", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("body", props: { text: "Foggy morning." }) %>
<% end %>
<%= pb_rails("flex/flex_item", props: { margin_left: "xs" }) do %>
<%= pb_rails("pill", props: { text: "OC", variant: "success" }) %>
<% end %>
<% end %>
<% end %>
<%= pb_rails("flex", props: { horizontal: "center", margin_top: "sm" }) do %>
<%= pb_rails("image", props: {
classname: "post-image-desktop",
url: "https://p-a6fbdk.t4.n0.cdn.getcloudapp.com/items/d5uPEJbY/readit_image_5.png"
}) %>
<% end %>
<%= pb_rails("flex", props: { padding_top: "sm" }) do %>
<%= pb_rails("icon_value", props: { icon: "comment-alt", text: "112 Comments" }) %>
<%= pb_rails("icon_value", props: { icon: "share", margin_left: "sm", text: "Share" }) %>
<%= pb_rails("icon_value", props: { icon: "folder-plus", margin_left: "sm", text: "Save" }) %>
<%= pb_rails("icon_value", props: { icon: "ellipsis-h", margin_left: "sm", text: "" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# Desktop post 3 %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "none" }) do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item", props: { margin_left: "sm", margin_top: "sm" }) do %>
<%= pb_rails("icon", props: { icon: "arrow-alt-up", margin_left: "xs", size: "1x" }) %>
<%= pb_rails("title", props: { margin: "xs", margin_left: "none", size: 4, text: "467" }) %>
<%= pb_rails("icon", props: { icon: "arrow-alt-down", margin_left: "xs", size: "1x" }) %>
<% end %>
<%= pb_rails("flex/flex_item", props: { padding_left: "xs", padding_right: "xl", padding_y: "sm" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("icon_circle", props: { icon: "browser", variant: "purple", size: "xs" }) %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, tag: "h4", text: "r/WebDesign" }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: "• Posted by u/creativebloq 1 week ago" }) %>
<% end %>
<%= pb_rails("title", props: { padding_right: "md", padding_top: "xs", size: 4, text: "Use white space!" }) %>
<%= pb_rails("body", props: {
padding_top: "sm",
text: "It seems to be the hardest concept for developers to grasp: the biggest benefit to having the proper amount of "\
"white space is giving the user a break. Breaks are important for processing information, especially when there's "\
"a fair amount to process. It's why we have paragraphs and sentences instead of just a single, long block of running text."
}) %>
<%= pb_rails("body", props: {
padding_top: "sm",
text: "The key is to ensure that white space has a relationship with other objects on the page, including the other space. "\
"If you have a single column of white space, make sure there's another single column of white space around to balance it."
}) %>
<%= pb_rails("body", props: {
color: "light",
padding_top: "sm",
text: "For vertical space, just use fractions of the body font size. I tend to keep things simple and use a scale of .25, "\
"but there are several other scales that you can use."
}) %>
<%= pb_rails("body", props: {
padding_top: "sm",
color: "lighter",
text: "For example, if the body font size is 16px(1em): 4, 8, 12, 16, 20, 24, 28, 32, 40, 48. "\
"This allows for choosing font sizes by simply moving up and down the scale as I want larger or smaller type..."
}) %>
<%= pb_rails("flex", props: { padding_top: "sm" }) do %>
<%= pb_rails("icon_value", props: { icon: "comment-alt", text: "32 Comments" }) %>
<%= pb_rails("icon_value", props: { icon: "share", margin_left: "sm", text: "Share" }) %>
<%= pb_rails("icon_value", props: { icon: "folder-plus", margin_left: "sm", text: "Save" }) %>
<%= pb_rails("icon_value", props: { icon: "ellipsis-h", margin_left: "sm", text: "" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# Start side bar (desktop only) %>
<%= pb_rails("background", props: { background_color: "light" }) do %>
<%= pb_rails("layout/sidebar", props: { margin_left: "md" }) do %>
<%# Communities card %>
<%= pb_rails("card", props: { header: true, padding: "none", shadow: "deeper" }) do %>
<%= pb_rails("card/card_header", props: { padding: "xs", header_color: "category_1" }) do %>
<%= pb_rails("flex", props: { vertical: "center" }) do %>
<%= pb_rails("body", props: { padding: "xs", padding_right: "sm", classname: "dark" }) do %>
<%= pb_rails("icon", props: { icon: "tree-large", size: "4x" }) %>
<% end %>
<%= pb_rails("body", props: {
classname: "dark",
margin: "xs",
margin_right: "sm",
text: "Outdoor communities — they're really out there",
}) %>
<% end %>
<% end %>
<% communities.each do |community| %>
<%= pb_rails("flex", props: { padding: "xs", padding_left: "sm", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("icon_circle", props: { icon: community[:icon], size: "sm", variant: community[:variant] }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, text: community[:sub_readit] }) %>
<% end %>
<% end %>
<%= pb_rails("section_separator") unless community == communities.last %>
<% end %>
<%= pb_rails("layout/body", props: { padding_x: "sm" }) do %>
<%= pb_rails("button", props: { full_width: true, margin_top: "xs", text: "VIEW ALL" }) %>
<%= pb_rails("flex", props: { padding_y: "sm", spacing: "between" }) do %>
<%= pb_rails("badge", props: { text: "Top", variant: "neutral", padding: "xs" }) %>
<%= pb_rails("badge", props: { text: "Near You", variant: "neutral", padding: "xs" }) %>
<%= pb_rails("badge", props: { text: "Aww", variant: "neutral", padding: "xs" }) %>
<%= pb_rails("badge", props: { text: "Fitness", variant: "neutral", padding: "xs" }) %>
<% end %>
<% end %>
<% end %>
<%# Readit premium card %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "xs", shadow: "deeper" }) do %>
<%= pb_rails("flex", props: { margin: "xs", spacing: "between", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("icon", props: { icon: "shield-alt", margin_right: "sm", size: "2x" }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("title", props: { size: 4, text: "Readit Premium" }) %>
<%= pb_rails("caption", props: { size: "xs", text: "The best Readit experience, with monthly Coins" }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("button", props: { padding_x: "sm", text: "TRY NOW", variant: "secondary" }) %>
<% end %>
<% end %>
<% end %>
<%# Trending communities card %>
<%= pb_rails("card", props: { margin_top: "sm", padding: "sm", shadow: "deeper" }) do %>
<%= pb_rails("title", props: { padding: "xs", size: 4, text: "Trending Communities" }) %>
<% trending_communities.each do |community| %>
<%= pb_rails("flex", props: { padding_y: "xs", spacing: "between", vertical: "center" }) do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("flex") do %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("icon_circle", props: { icon: community[:icon], size: "sm", variant: community[:variant] }) %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("title", props: { margin_left: "xs", size: 4, text: community[:sub_readit] }) %>
<%= pb_rails("body", props: { color: "light", margin_left: "xs", text: community[:members] }) %>
<% end %>
<% end %>
<% end %>
<%= pb_rails("flex/flex_item") do %>
<%= pb_rails("button", props: { text: "JOIN", variant: "secondary" }) %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<%# End side bar (desktop only) %>
<% end %>
</div>
<%# End Popular Posts %>
<% end %>
<% end %>