{"componentChunkName":"component---src-templates-post-js","path":"/create-listing-card-react","result":{"data":{"markdownRemark":{"html":"<p>In this post we will make a tour card that will allow us to display all our listings.</p>\n<p>Create a <code class=\"language-text\">cards</code> directory and create <code class=\"language-text\">ListingCard.js</code> file:</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">import</span> React <span class=\"token keyword\">from</span> <span class=\"token string\">\"react\"</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> Rate <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">\"antd\"</span>\n<span class=\"token keyword\">import</span> BodyOne <span class=\"token keyword\">from</span> <span class=\"token string\">\"../typography/BodyOne\"</span>\n<span class=\"token keyword\">import</span> PropTypes <span class=\"token keyword\">from</span> <span class=\"token string\">\"prop-types\"</span>\n<span class=\"token keyword\">import</span> <span class=\"token string\">\"antd/dist/antd.css\"</span>\n\n<span class=\"token keyword\">const</span> <span class=\"token function-variable function\">ListingCard</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token parameter\"><span class=\"token punctuation\">{</span>\n  listingTitle<span class=\"token punctuation\">,</span>\n  listingLocation<span class=\"token punctuation\">,</span>\n  price<span class=\"token punctuation\">,</span>\n  rating<span class=\"token punctuation\">,</span>\n  coverPhoto<span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span></span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">(</span>\n  <span class=\"token operator\">&lt;</span><span class=\"token operator\">></span>\n    <span class=\"token operator\">&lt;</span>div className<span class=\"token operator\">=</span><span class=\"token string\">\"rounded-px w-card h-auto shadow-lg-card cursor-pointer\"</span><span class=\"token operator\">></span>\n      <span class=\"token operator\">&lt;</span>img src<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span>coverPhoto<span class=\"token punctuation\">}</span> className<span class=\"token operator\">=</span><span class=\"token string\">\"w-full h-48 rounded-t-px\"</span> alt<span class=\"token operator\">=</span><span class=\"token string\">\"cover\"</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n      <span class=\"token operator\">&lt;</span>div className<span class=\"token operator\">=</span><span class=\"token string\">\"flex flex-col p-2\"</span><span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>div className<span class=\"token operator\">=</span><span class=\"token string\">\"flex flex-col mt-2 \"</span><span class=\"token operator\">></span>\n          <span class=\"token operator\">&lt;</span>BodyOne className<span class=\"token operator\">=</span><span class=\"token string\">\"text-lg\"</span><span class=\"token operator\">></span><span class=\"token punctuation\">{</span>listingTitle<span class=\"token punctuation\">}</span><span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>BodyOne<span class=\"token operator\">></span>\n          <span class=\"token operator\">&lt;</span>BodyOne className<span class=\"token operator\">=</span><span class=\"token string\">\"text-sm text-grey\"</span><span class=\"token operator\">></span><span class=\"token punctuation\">{</span>listingLocation<span class=\"token punctuation\">}</span><span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>BodyOne<span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>div<span class=\"token operator\">></span>\n\n        <span class=\"token operator\">&lt;</span>BodyOne className<span class=\"token operator\">=</span><span class=\"token string\">\" text-lg mt-8 text-green-dark\"</span><span class=\"token operator\">></span>$<span class=\"token punctuation\">{</span>price<span class=\"token punctuation\">}</span><span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>BodyOne<span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span>Rate disabled defaultValue<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span>rating<span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n      <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>div<span class=\"token operator\">></span>\n    <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>div<span class=\"token operator\">></span>\n  <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span><span class=\"token operator\">></span>\n<span class=\"token punctuation\">)</span>\n\nListingCard<span class=\"token punctuation\">.</span>propTypes <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span>\n  listingTitle<span class=\"token operator\">:</span> PropTypes<span class=\"token punctuation\">.</span>string<span class=\"token punctuation\">,</span>\n  listingLocation<span class=\"token operator\">:</span> PropTypes<span class=\"token punctuation\">.</span>string<span class=\"token punctuation\">,</span>\n  price<span class=\"token operator\">:</span> PropTypes<span class=\"token punctuation\">.</span>string<span class=\"token punctuation\">,</span>\n  rating<span class=\"token operator\">:</span> PropTypes<span class=\"token punctuation\">.</span>number<span class=\"token punctuation\">,</span>\n  coverPhoto<span class=\"token operator\">:</span> PropTypes<span class=\"token punctuation\">.</span>string<span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> ListingCard</code></pre></div>\n<p>🎡 We have a <code class=\"language-text\">div</code> that we have given a <code class=\"language-text\">border-radius</code> and <code class=\"language-text\">box-shadow</code> that has width and height set to auto.</p>\n<p>🎡 It takes props called <code class=\"language-text\">listingTitle</code>, <code class=\"language-text\">listingLocation</code>, <code class=\"language-text\">price</code>, <code class=\"language-text\">rating</code> and <code class=\"language-text\">coverPhoto</code>.</p>\n<p>Next off we need to add Ant Design because we will use it's tabs and rating components.</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">$ <span class=\"token function\">yarn</span> <span class=\"token function\">add</span> antd</code></pre></div>\n<p>Once you're done, it will look like this:</p>\n<p><img src=\"/uploads/tourcard.png\" alt=\"tour-card\"></p>","frontmatter":{"date":"July 16, 2020","path":"/create-listing-card-react","title":"Create Listing Card","postnumber":42}}},"pageContext":{"previous":{"node":{"frontmatter":{"path":"/create-all-listings-page","postnumber":43}}},"next":{"node":{"frontmatter":{"path":"/create-remove-button-react","postnumber":41}}}}},"staticQueryHashes":["3207677222","3649515864","63159454"]}