From dffbc5cdfb0dad78d9960ec133368e05b246ed88 Mon Sep 17 00:00:00 2001 From: Aaron William Po Date: Tue, 18 Apr 2023 21:40:34 -0400 Subject: [PATCH] Update styles to be more mobile friendly, add favicon --- public/favicon/about.txt | 6 ++++ public/favicon/android-chrome-192x192.png | Bin 0 -> 7453 bytes public/favicon/android-chrome-512x512.png | Bin 0 -> 26482 bytes public/favicon/apple-touch-icon.png | Bin 0 -> 6682 bytes public/favicon/favicon-16x16.png | Bin 0 -> 515 bytes public/favicon/favicon-32x32.png | Bin 0 -> 961 bytes public/favicon/favicon.ico | Bin 0 -> 15406 bytes public/favicon/site.webmanifest | 1 + src/components/BeerById/BeerInfoHeader.tsx | 5 +--- .../BeerById/BeerPostCommentsSection.tsx | 10 +++---- .../BeerById/BeerRecommendations.tsx | 4 +-- src/components/BeerById/CommentCardBody.tsx | 9 ++++-- src/components/BeerIndex/BeerCard.tsx | 4 +-- src/components/RegisterUserForm.tsx | 18 ++++++------ src/components/ui/Layout.tsx | 2 +- src/components/ui/forms/FormPageLayout.tsx | 8 +++--- src/pages/_app.tsx | 1 + src/pages/_document.tsx | 21 +++++++++++++- src/pages/beers/[id]/index.tsx | 26 ++++++++++-------- src/pages/beers/index.tsx | 17 ++++++------ src/pages/index.tsx | 2 +- 21 files changed, 83 insertions(+), 51 deletions(-) create mode 100644 public/favicon/about.txt create mode 100644 public/favicon/android-chrome-192x192.png create mode 100644 public/favicon/android-chrome-512x512.png create mode 100644 public/favicon/apple-touch-icon.png create mode 100644 public/favicon/favicon-16x16.png create mode 100644 public/favicon/favicon-32x32.png create mode 100644 public/favicon/favicon.ico create mode 100644 public/favicon/site.webmanifest diff --git a/public/favicon/about.txt b/public/favicon/about.txt new file mode 100644 index 0000000..7207339 --- /dev/null +++ b/public/favicon/about.txt @@ -0,0 +1,6 @@ +This favicon was generated using the following graphics from Twitter Twemoji: + +- Graphics Title: 1f37a.svg +- Graphics Author: Copyright 2020 Twitter, Inc and other contributors (https://github.com/twitter/twemoji) +- Graphics Source: https://github.com/twitter/twemoji/blob/master/assets/svg/1f37a.svg +- Graphics License: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/) diff --git a/public/favicon/android-chrome-192x192.png b/public/favicon/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..e427b6180b359fb27c40ea4a16809071d9d4e1d9 GIT binary patch literal 7453 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

@f&Kcjjtbsm}ZGrKg>Jon#sja?6146(R)G4 zC<5B69k=1=`MAv@thmDN-Yu{Cmrya#z?0c`M;UqAoPTMAomkLcqg{C4%7ryIUpqW2 z0CD#)hIdxH-)=soJEwnLaOe30jGzl2GUtpXzqf-@D(g)H9vqj@#|?^O(I3wLIR0z8 zy>%pYGG{69sl{J_;~&^qn!RPavWEag96u`Hm)F)D-4(~+7hh#SepB6L0|FWB3P5lZ zF+dms!yrg$ZS{}3)0d9cVZP^Ep6lRm!54Sc>4k5ITkt(GhJ;24{c#74`qG;%@#M4Z zl*St}(c%Sir=N14?od9|fY_R*c3Ho{md>-(Ayb3r%WY41x?ajRG=SsFPu%qC$Lc-}~$+h>z_ zf8GrLC33k-tVDH0xHLF!a_)3P4iY%E0SzR2G%W@?_O-oR`Ic?#N70#!>;u{503 z>y#_)=O;(e4=SdG-xAX=WY_s>X0!xWD_OadUNLK@G8hAoq3+czZB6}7e7_oh?7wgn zZ7OOei0dHq^ox}iaveQ&@b1v;+VoTZ1&o5>Y)m8HzcmqySvh&qpQ!fUjWv%pf(-9i z!HBO+nYJ%|&Fmo`E$){|XbEWN!R{~zf8#P|RJ literal 0 HcmV?d00001 diff --git a/public/favicon/android-chrome-512x512.png b/public/favicon/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..61420f98d389a42a795e7658068edd2eb48c86e2 GIT binary patch literal 26482 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 cy+4?GgFLJ9YU9-pe?9&OZ(7 zoO@U-7B6m35(V7SjVpgC-U{17p^)hS)M~W}C136i;9UOs$!i!KO}ilHUp;Hx;JOyy zXakZMToXw)aY4WO3D_nWUu{hG^9y#oo%nHh*e_FYhXt%s}}50e-E5&GymA z58!qh9y3Xk> zG*wDZjVm7+#+Vsh-$?;4$I5EP8>=7j`gdW%ka%SofA2oT^N5xf2@VV(A}Qd};E8`eY6l4(LW`_!0 zG!X@CJ=(9(JkcFsPE{zSDzLnI3{S0XtjM`H)f6y)>b~lF$;L6_`>jN56d^(I(>J+X zD|JoZK~Kle)CSCsso*?TZ@+$98~U5EuJNld^jwjji@^+j6g#Q>oQ?TjPVKWFh^uGac?Ix@5Zqt=v6a%>w z1G-VtV?dgDgUp_5F;0MUdU%$d?0OJ%>hX9!a?VRvS_+F3;8F&d;)Ueygj{$unp0hX zAb*9HRuEcB`wEMb&}=zm??ifkBh7nO3xP45a25vvW@l#)FvfIAQVeU=hs>@kkmd)C zM}EhC_z8li*dcm9A$91!?iIe$OVF&@u#UIGHultXC<+{bz{3z6Dv^>dG70UQ1r2GO1R`abipAYJc3zouSFkR;GP(5yN{}L=@zp4U11E4$c_rFKV zmJ(Pt7ny-LGyrvC6t*3e5VNw3=Zo*0(B{2J+q;jB**w{(BSV8Bc%2yu2 z>@@rzdXchq8!QEdW;GlhggQxi$0F`1c%aH8UMH!nQz;?Bpi(?Q(96{}N>fHKBl!V(L zQ*!jM%J%YjO;waL-dX#Ij87-lg@so$P~*tzSY=!5+5tKaS&=Kd$v literal 0 HcmV?d00001 diff --git a/public/favicon/favicon.ico b/public/favicon/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..124c3693e0b4b2ff1fb647d1da523ccc598ae407 GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/public/favicon/site.webmanifest b/public/favicon/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/public/favicon/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/src/components/BeerById/BeerInfoHeader.tsx b/src/components/BeerById/BeerInfoHeader.tsx index 990a108..3a9979d 100644 --- a/src/components/BeerById/BeerInfoHeader.tsx +++ b/src/components/BeerById/BeerInfoHeader.tsx @@ -40,10 +40,7 @@ const BeerInfoHeader: FC<{ {isPostOwner && (

diff --git a/src/components/BeerById/BeerPostCommentsSection.tsx b/src/components/BeerById/BeerPostCommentsSection.tsx index 8340f67..3211315 100644 --- a/src/components/BeerById/BeerPostCommentsSection.tsx +++ b/src/components/BeerById/BeerPostCommentsSection.tsx @@ -52,7 +52,7 @@ const BeerPostCommentsSection: FC = ({ beerPost }) {user ? ( ) : ( -
+
Log in to leave a comment.
)} @@ -73,7 +73,7 @@ const BeerPostCommentsSection: FC = ({ beerPost }) {!!comments.length && (
{comments.map((comment, index) => { - const isLastComment = index === comments.length - 1; + const isPenulitmateComment = index === comments.length - 2; /** * Attach a ref to the last comment in the list. When it comes into @@ -81,7 +81,7 @@ const BeerPostCommentsSection: FC = ({ beerPost }) */ return (
@@ -94,9 +94,7 @@ const BeerPostCommentsSection: FC = ({ beerPost }) * If there are more comments to load, show a loading component with a * skeleton loader and a loading spinner. */ - !!isLoadingMore && ( - - ) + !!isLoadingMore && } { diff --git a/src/components/BeerById/BeerRecommendations.tsx b/src/components/BeerById/BeerRecommendations.tsx index 758404a..57b43a1 100644 --- a/src/components/BeerById/BeerRecommendations.tsx +++ b/src/components/BeerById/BeerRecommendations.tsx @@ -20,13 +20,13 @@ const BeerRecommendations: FunctionComponent = ({ -

+

{beerPost.brewery.name}

-
+
{beerPost.abv}% ABV {beerPost.ibu} IBU
diff --git a/src/components/BeerById/CommentCardBody.tsx b/src/components/BeerById/CommentCardBody.tsx index bd28efa..f8102f6 100644 --- a/src/components/BeerById/CommentCardBody.tsx +++ b/src/components/BeerById/CommentCardBody.tsx @@ -35,7 +35,7 @@ const CommentCardDropdown: FC = ({ comment, mutate }) => { }; return ( -
+
@@ -45,7 +45,12 @@ const CommentCardDropdown: FC = ({ comment, mutate }) => { >
  • {isCommentOwner ? ( - + <> + + + ) : ( )} diff --git a/src/components/BeerIndex/BeerCard.tsx b/src/components/BeerIndex/BeerCard.tsx index aae767f..ef03600 100644 --- a/src/components/BeerIndex/BeerCard.tsx +++ b/src/components/BeerIndex/BeerCard.tsx @@ -27,12 +27,12 @@ const BeerCard: FC<{ post: z.infer }> = ({ post }) =
    -

    +

    {post.name}

    -

    +

    {post.brewery.name}

    diff --git a/src/components/RegisterUserForm.tsx b/src/components/RegisterUserForm.tsx index ab092ae..f5cdd58 100644 --- a/src/components/RegisterUserForm.tsx +++ b/src/components/RegisterUserForm.tsx @@ -48,8 +48,8 @@ const RegisterUserForm: FC = () => { )}
    -
    -
    +
    +
    First name {errors.firstName?.message} @@ -66,7 +66,7 @@ const RegisterUserForm: FC = () => {
    -
    +
    Last name {errors.lastName?.message} @@ -84,8 +84,8 @@ const RegisterUserForm: FC = () => {
    -
    -
    +
    +
    email {errors.email?.message} @@ -101,7 +101,7 @@ const RegisterUserForm: FC = () => { />
    -
    +
    username {errors.username?.message} @@ -119,8 +119,8 @@ const RegisterUserForm: FC = () => {
    -
    -
    +
    +
    password {errors.password?.message} @@ -136,7 +136,7 @@ const RegisterUserForm: FC = () => { />
    -
    +
    confirm password {errors.confirmPassword?.message} diff --git a/src/components/ui/Layout.tsx b/src/components/ui/Layout.tsx index 3ff6558..8358a7e 100644 --- a/src/components/ui/Layout.tsx +++ b/src/components/ui/Layout.tsx @@ -5,7 +5,7 @@ const Layout: FC<{ children: ReactNode }> = ({ children }) => { return (
    -
    +
    {children}
    diff --git a/src/components/ui/forms/FormPageLayout.tsx b/src/components/ui/forms/FormPageLayout.tsx index 4fef0c1..0156baf 100644 --- a/src/components/ui/forms/FormPageLayout.tsx +++ b/src/components/ui/forms/FormPageLayout.tsx @@ -19,9 +19,9 @@ const FormPageLayout: FC = ({ backLinkText, }) => { return ( -
    -
    -
    +
    +
    +
    @@ -30,7 +30,7 @@ const FormPageLayout: FC = ({ {headingIcon({ className: 'text-4xl' })}{' '}

    {headingText}

    -
    {FormComponent}
    +
    {FormComponent}
    ); diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index aa90eb6..4eb64ed 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -21,6 +21,7 @@ export default function App({ Component, pageProps }: AppProps) { } `} + diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index e1e9cbb..f5bcab6 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -3,7 +3,26 @@ import { Html, Head, Main, NextScript } from 'next/document'; export default function Document() { return ( - + + + + + +
    diff --git a/src/pages/beers/[id]/index.tsx b/src/pages/beers/[id]/index.tsx index 6fca763..33f0462 100644 --- a/src/pages/beers/[id]/index.tsx +++ b/src/pages/beers/[id]/index.tsx @@ -47,17 +47,21 @@ const BeerByIdPage: NextPage = ({ beerPost, beerRecommendations } infiniteLoop showThumbs={false} > - {beerPost.beerImages.map((image, index) => ( -
    - {image.alt} -
    - ))} + {beerPost.beerImages.length + ? beerPost.beerImages.map((image, index) => ( +
    + {image.alt} +
    + )) + : Array.from({ length: 1 }).map((_, i) => ( +
    + ))}
    diff --git a/src/pages/beers/index.tsx b/src/pages/beers/index.tsx index f02693e..957fb04 100644 --- a/src/pages/beers/index.tsx +++ b/src/pages/beers/index.tsx @@ -11,7 +11,7 @@ import Spinner from '@/components/ui/Spinner'; import useBeerPosts from '@/hooks/useBeerPosts'; import BeerPostLoadingCard from '@/components/BeerIndex/BeerPostLoadingCard'; -import { FaArrowUp } from 'react-icons/fa'; +import { FaArrowUp, FaPlus } from 'react-icons/fa'; const BeerPage: NextPage = () => { const { user } = useContext(UserContext); @@ -39,14 +39,15 @@ const BeerPage: NextPage = () => {
    -
    -
    -

    The Biergarten Index

    -
    +
    +

    The Biergarten Index

    {!!user && ( -
    - - Create a new beer post +
    + +
    )} diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 3d42234..cafe591 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -16,7 +16,7 @@ const Home: NextPage = () => { The Biergarten App

    - An app for beer lovers to share their favorite brews and breweries with + An app for beer lovers to share their favourite brews and breweries with like-minded people online.