<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Benji Grant</title>
    <description>The latest articles on DEV Community by Benji Grant (@benpai).</description>
    <link>https://dev.to/benpai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F75341%2F5547e217-ba4c-4438-97c9-e1e98e1e39a6.jpg</url>
      <title>DEV Community: Benji Grant</title>
      <link>https://dev.to/benpai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/benpai"/>
    <language>en</language>
    <item>
      <title>Material You Seek Bar</title>
      <dc:creator>Benji Grant</dc:creator>
      <pubDate>Fri, 10 Sep 2021 16:11:46 +0000</pubDate>
      <link>https://dev.to/benpai/material-you-seek-bar-9le</link>
      <guid>https://dev.to/benpai/material-you-seek-bar-9le</guid>
      <description>&lt;p&gt;When I saw Google's new Material You update to their popular Material Design framework, I was very excited about some of the bold choices they made, it looks really different.&lt;/p&gt;

&lt;p&gt;If you haven't seen it yet, check our their blog post at &lt;a href="https://material.io/blog/announcing-material-you"&gt;https://material.io/blog/announcing-material-you&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This video they included particularly inspired me, you can see a wavy seek bar in the bottom left hand corner:&lt;/p&gt;





&lt;p&gt;I decided to try and recreate this seek bar using html, css and javascript, and this is what I got at the end:&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/GRA0007/embed/vYxvMNp?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;My implementation is definitely not perfect, but I think it does a pretty good job of replicating the video, and it's responsive! Try moving the progress handle around.&lt;/p&gt;

&lt;p&gt;In order to create this effect, I'm generating an animated SVG element using javascript to make sure it responds to the position of the seek bar and is responsive when the screen width is smaller. I suggest you take a look at the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths"&gt;MDN docs for SVG paths&lt;/a&gt; to understand how it works, but essentially I'm using the &lt;code&gt;Q&lt;/code&gt; operator to emulate a sine wave, and giving it three steps to animate between to emulate the wave travelling from left to right.&lt;/p&gt;

&lt;p&gt;I tried to make this seek bar accessible as well, but I'm not an expert on aria properties 😅 Let me know if you attempt this a different way or have any questions. What's your favourite new Material You component?&lt;/p&gt;

</description>
      <category>materialdesign</category>
      <category>css</category>
      <category>javascript</category>
      <category>web</category>
    </item>
    <item>
      <title>Crab Fit! Find a time that works for everyone</title>
      <dc:creator>Benji Grant</dc:creator>
      <pubDate>Fri, 12 Mar 2021 04:43:55 +0000</pubDate>
      <link>https://dev.to/benpai/crab-fit-find-a-time-that-works-for-everyone-3916</link>
      <guid>https://dev.to/benpai/crab-fit-find-a-time-that-works-for-everyone-3916</guid>
      <description>&lt;p&gt;I plan a lot of events with friends and co-workers, and often we need to plan a time, which usually ends up being done with a simple poll. I've also used Doodle a lot, but of course that has it's own flaws.&lt;/p&gt;

&lt;p&gt;Using React and Google Cloud Appengine, I have created a new solution which I call 🦀 Crab Fit! Honestly most of the name comes from finding the cute domain 😅. I'm proud of what I've created so keep reading to find out how it works and how you can use it to plan your events as well.&lt;/p&gt;

&lt;p&gt;Crab Fit lets you create an event with a specific set of dates in mind, or you can also just use generic days of the week.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5ZcKUCcs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/naxyh215dsj4vhncjcsx.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5ZcKUCcs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/naxyh215dsj4vhncjcsx.gif" alt="Selecting dates in Crab Fit"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can then choose a time range, say, if the event must happen during working hours, using this cool slider. (oh, and yes there's a dark mode!)&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XBQ9qQSW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fdgvbp7rgeb7btrcfouy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XBQ9qQSW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fdgvbp7rgeb7btrcfouy.gif" alt="Selecting a time range in Crab Fit"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, all you have to do is send out the link to everyone involved, and get them to put in their availabilities! You can view them all on a heat map to easily see when everyone is free.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X5RZIuk9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6oncyvbnv1owwnh220te.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X5RZIuk9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6oncyvbnv1owwnh220te.gif" alt="Viewing availabilities in Crab Fit"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am constantly updating it as I get feedback, and currently have plans for the following as I write this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mouse over the colour bar to highlight availability segments&lt;/li&gt;
&lt;li&gt;A better way of viewing availabilities on mobile&lt;/li&gt;
&lt;li&gt;Select a specific person to see their availability&lt;/li&gt;
&lt;li&gt;Just click on the link to copy to the clipboard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Please try it out and of course let me know if you have any feedback!&lt;/p&gt;

&lt;p&gt;You can view it here: &lt;a href="https://crab.fit"&gt;https://crab.fit&lt;/a&gt;&lt;/p&gt;

</description>
      <category>project</category>
      <category>webdev</category>
      <category>react</category>
      <category>googlecloud</category>
    </item>
    <item>
      <title>Cute CSS Animals</title>
      <dc:creator>Benji Grant</dc:creator>
      <pubDate>Thu, 13 Jun 2019 23:21:43 +0000</pubDate>
      <link>https://dev.to/benpai/cute-css-animals-igp</link>
      <guid>https://dev.to/benpai/cute-css-animals-igp</guid>
      <description>&lt;p&gt;Hello!&lt;/p&gt;

&lt;p&gt;I recently got some cute pens in the mail, and I thought they looked like they could be recreated in CSS, this is what I came up with:&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/GRA0007/embed/vqEWyO?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;My challenge to both new and experienced CSS artists, try and create your own animals! I'd love to see a dog, a cat, maybe even a turtle. You can try adding more animals to the pen, or if you're not entirely sure how the code works, try changing the CSS of an existing animal, see what you can make!&lt;/p&gt;

&lt;p&gt;And please, share it with us below. 😄&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>css</category>
      <category>codepen</category>
      <category>art</category>
    </item>
    <item>
      <title>My Keyboard and Mouse</title>
      <dc:creator>Benji Grant</dc:creator>
      <pubDate>Wed, 17 Apr 2019 00:44:17 +0000</pubDate>
      <link>https://dev.to/benpai/my-keyboard-and-mouse-31g6</link>
      <guid>https://dev.to/benpai/my-keyboard-and-mouse-31g6</guid>
      <description>&lt;p&gt;Hey, so I recently got a new keyboard and mouse, one I've wanted for a while since seeing Google's new Pixel Slate tablet and it's nice &lt;em&gt;round&lt;/em&gt; keys. What I've got now is the Logitech K380, and a Logitech M720 mouse to go along with it.&lt;br&gt;
I love it so much with the rounded keys, I even recreated it with CSS.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/GRA0007/embed/wZeJzY?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;What are your thoughts on rounded keys? What keyboard/mouse are you currently using? Let us know below!&lt;/p&gt;

</description>
      <category>keyboard</category>
      <category>mouse</category>
      <category>discuss</category>
      <category>gear</category>
    </item>
  </channel>
</rss>
