From f01116e55ca94b94b594d740e2006f97900040d3 Mon Sep 17 00:00:00 2001 From: Rui Saraiva Date: Sat, 4 Dec 2021 23:43:26 +0000 Subject: [PATCH] feat: use Next.js Image component --- components/favycon-info/index.tsx | 24 +++--- components/favycon-wizard/index.module.scss | 6 ++ components/favycon-wizard/index.tsx | 38 +++++---- components/lazy-image/index.module.scss | 52 ------------ components/lazy-image/index.tsx | 76 ------------------ next.config.js | 4 + package.json | 4 - .../images/{dnd-dark@2x.png => dnd-dark.png} | Bin public/images/dnd-dark@1x.png | Bin 5709 -> 0 bytes .../{dnd-light@2x.png => dnd-light.png} | Bin public/images/dnd-light@1x.png | Bin 2844 -> 0 bytes public/images/people/aboutaugusto@1x.png | Bin 4628 -> 0 bytes ...{aboutaugusto@2x.png => augusto-lopes.png} | Bin ...ellteixeira@2x.png => miguel-teixeira.png} | Bin public/images/people/miguellteixeira@1x.png | Bin 4411 -> 0 bytes .../{ruisaraiva19@2x.png => rui-saraiva.png} | Bin public/images/people/ruisaraiva19@1x.png | Bin 5013 -> 0 bytes ...nsplash@2x.jpg => unsplash-horizontal.jpg} | Bin ...-vertical@2x.jpg => unsplash-vertical.jpg} | Bin public/images/unsplash-vertical@1x.jpg | Bin 9045 -> 0 bytes public/images/unsplash@1x.jpg | Bin 5026 -> 0 bytes yarn.lock | 38 +-------- 22 files changed, 48 insertions(+), 194 deletions(-) delete mode 100644 components/lazy-image/index.module.scss delete mode 100644 components/lazy-image/index.tsx rename public/images/{dnd-dark@2x.png => dnd-dark.png} (100%) delete mode 100644 public/images/dnd-dark@1x.png rename public/images/{dnd-light@2x.png => dnd-light.png} (100%) delete mode 100644 public/images/dnd-light@1x.png delete mode 100644 public/images/people/aboutaugusto@1x.png rename public/images/people/{aboutaugusto@2x.png => augusto-lopes.png} (100%) rename public/images/people/{miguellteixeira@2x.png => miguel-teixeira.png} (100%) delete mode 100644 public/images/people/miguellteixeira@1x.png rename public/images/people/{ruisaraiva19@2x.png => rui-saraiva.png} (100%) delete mode 100644 public/images/people/ruisaraiva19@1x.png rename public/images/{unsplash@2x.jpg => unsplash-horizontal.jpg} (100%) rename public/images/{unsplash-vertical@2x.jpg => unsplash-vertical.jpg} (100%) delete mode 100644 public/images/unsplash-vertical@1x.jpg delete mode 100644 public/images/unsplash@1x.jpg diff --git a/components/favycon-info/index.tsx b/components/favycon-info/index.tsx index 1d06398..9e5c422 100644 --- a/components/favycon-info/index.tsx +++ b/components/favycon-info/index.tsx @@ -1,10 +1,10 @@ import dynamic from 'next/dynamic' +import Image from 'next/image' import React, { useState, useRef } from 'react' import classnames from 'classnames' import { useDrag } from 'react-use-gesture' import { Typography } from 'components/typography' import { ToolTitle } from 'components/tool-title' -import { LazyImage } from 'components/lazy-image' import { SvgTwitter } from 'components/svgs/svg-twitter' import { SvgGithub } from 'components/svgs/svg-github' @@ -13,6 +13,10 @@ import { SvgFavycon } from 'components/svgs/svg-favycon' import { Button } from 'components/button' import { isTouchCapable } from 'utils/device' +import augustoLopes from '../../public/images/people/augusto-lopes.png' +import ruiSaraiva from '../../public/images/people/rui-saraiva.png' +import miguelTeixeira from '../../public/images/people/miguel-teixeira.png' + const Modal = dynamic(() => import('react-modal')) const people = [ @@ -21,21 +25,21 @@ const people = [ name: 'Augusto Lopes', role: 'Product Designer', social: 'twitter', - placeholderHash: 'UrLqFOIUS$-o_Nt6NGRkEkt7M{RjM{NHMxof', + photo: augustoLopes, }, { screenName: 'ruisaraiva19', name: 'Rui Saraiva', role: 'Full-Stack Developer', social: 'twitter', - placeholderHash: 'UNMQLqof_LWU?FRkkqt605fk9cjZbaWBt8of', + photo: ruiSaraiva, }, { screenName: 'miguellteixeira', name: 'Miguel Teixeira', role: 'Full-Stack Developer', social: 'github', - placeholderHash: 'UcI~*]o0uPXS?wWAMxog8_kCQ,e-tmbIVsjF', + photo: miguelTeixeira, }, ] @@ -141,13 +145,13 @@ const FavyconInfo = ({ {people.map((person) => (
-
diff --git a/components/favycon-wizard/index.module.scss b/components/favycon-wizard/index.module.scss index d96b07c..74d9490 100644 --- a/components/favycon-wizard/index.module.scss +++ b/components/favycon-wizard/index.module.scss @@ -52,12 +52,18 @@ } .mobileBackground { + position: relative; + width: 100%; + height: 100vh; + @include breakpoint-md-up { display: none; } } .desktopBackground { + position: relative; + @include breakpoint-md { display: none; } diff --git a/components/favycon-wizard/index.tsx b/components/favycon-wizard/index.tsx index 24fb20f..a854b8a 100644 --- a/components/favycon-wizard/index.tsx +++ b/components/favycon-wizard/index.tsx @@ -1,9 +1,13 @@ import React from 'react' import PropTypes from 'prop-types' import classnames from 'classnames' -import { LazyImage } from 'components/lazy-image' +import Image from 'next/image' import styles from './index.module.scss' +import unsplashImageMobile from '../../public/images/unsplash-vertical.jpg' +import unsplashImageDesktop from '../../public/images/unsplash-horizontal.jpg' +import dndLight from '../../public/images/dnd-light.png' +import dndDark from '../../public/images/dnd-dark.png' type FavyconWizardProps = { children: PropTypes.ReactNodeLike @@ -11,32 +15,36 @@ type FavyconWizardProps = { } const unsplashImageProps = (isMobile: boolean) => ({ - src: `/images/unsplash${isMobile ? '-vertical' : ''}@1x.jpg`, - srcRetina: `/images/unsplash${isMobile ? '-vertical' : ''}@2x.jpg`, - placeholderHash: isMobile ? 'UT0Lxlh2ghgMeSeoe@fkflf5e.e:e.e.f6fk' : 'Un0V-,h2g#gMe,f8f9fif8f6f6f8f6f7fQfQ', - alt: 'Unsplash', - aspectRatio: isMobile ? '614/768' : '540/354', - stretch: isMobile, + src: isMobile ? unsplashImageMobile : unsplashImageDesktop, + width: isMobile ? undefined : 540, + height: isMobile ? undefined : 354, }) const dndImageProps = (isDark: boolean) => ({ - src: `/images/dnd-${isDark ? 'dark' : 'light'}@1x.png`, - srcRetina: `/images/dnd-${isDark ? 'dark' : 'light'}@2x.png`, - alt: 'Drag and drop here!', - aspectRatio: '185/109', + src: isDark ? dndDark : dndLight, + width: 185, + height: 109, }) const FavyconWizardComponent = ({ children, showDndImage }: FavyconWizardProps) => { return (
- - +
+ Unsplash image +
+
+ Unsplash image +
{children}
- - +
+ Drag and drop here! +
+
+ Drag and drop here! +
) diff --git a/components/lazy-image/index.module.scss b/components/lazy-image/index.module.scss deleted file mode 100644 index aec5d9f..0000000 --- a/components/lazy-image/index.module.scss +++ /dev/null @@ -1,52 +0,0 @@ -@import '../../styles/variables.scss'; - -.root { - position: relative; - width: 100%; - - &.stretch { - height: 100%; - padding-bottom: 0 !important; - } - - &.rounded { - border-radius: 50%; - } - - canvas { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - } - - &.rounded canvas { - border-radius: 50%; - } -} - -.image { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - font-family: 'object-fit: cover; object-position: center;', sans-serif; - object-fit: cover; - object-position: center; -} - -.placeholder { - composes: image; - transition: opacity 0.2s linear 0.2s; -} - -.normal { - composes: image; - transition: opacity 0.2s linear; -} diff --git a/components/lazy-image/index.tsx b/components/lazy-image/index.tsx deleted file mode 100644 index 16fc3d6..0000000 --- a/components/lazy-image/index.tsx +++ /dev/null @@ -1,76 +0,0 @@ -/* eslint-disable @next/next/no-img-element */ -import React, { useRef, useEffect } from 'react' -import { LazyImageFull, ImageState } from 'react-lazy-images' -import objectFitImages from 'object-fit-images' -import { BlurhashCanvas } from 'react-blurhash' -import classNames from 'classnames' - -import styles from './index.module.scss' - -type LazyImageProps = { - src: string - srcRetina?: string - placeholderHash?: string - alt: string - aspectRatio: string - stretch?: boolean - rounded?: boolean -} & React.DetailedHTMLProps, HTMLDivElement> - -const LazyImage = ({ - src, - srcRetina = src, - placeholderHash, - alt, - aspectRatio, - stretch = false, - rounded = false, - ...props -}: LazyImageProps) => { - const [widthString, heightString] = aspectRatio.split('/') - const width = parseInt(widthString) - const height = parseInt(heightString) - - const imgRef = useRef(null) - - useEffect(() => { - if (imgRef.current) { - objectFitImages(imgRef.current) - } - }, [imgRef]) - - return ( - - {({ imageProps, imageState, ref }) => { - const loaded = imageState === ImageState.LoadSuccess - return ( -
- {placeholderHash ? ( - - ) : null} - {imageProps.alt} -
- ) - }} -
- ) -} - -export { LazyImage } diff --git a/next.config.js b/next.config.js index 1e90604..8fc8447 100644 --- a/next.config.js +++ b/next.config.js @@ -1,3 +1,7 @@ module.exports = { poweredByHeader: false, + images: { + deviceSizes: [375, 750, 1125], + imageSizes: [56, 112, 185, 370, 370, 375, 540, 740, 750, 1080], + }, } diff --git a/package.json b/package.json index 412fe25..88ba8a1 100644 --- a/package.json +++ b/package.json @@ -49,15 +49,12 @@ "multer": "1.4.3", "next": "12.0.6", "nprogress": "0.2.0", - "object-fit-images": "3.2.4", "prismjs": "1.25.0", "prop-types": "15.7.2", "react": "17.0.2", - "react-blurhash": "0.1.3", "react-clipboard.js": "2.0.16", "react-dom": "17.0.2", "react-dropzone": "11.4.2", - "react-lazy-images": "1.1.0", "react-modal": "3.14.4", "react-transition-group": "4.4.2", "react-use": "17.3.1", @@ -88,7 +85,6 @@ "@types/multer": "1.4.7", "@types/node": "16.11.11", "@types/nprogress": "0.2.0", - "@types/object-fit-images": "3.2.2", "@types/prismjs": "1.16.6", "@types/react": "17.0.37", "@types/react-modal": "3.13.1", diff --git a/public/images/dnd-dark@2x.png b/public/images/dnd-dark.png similarity index 100% rename from public/images/dnd-dark@2x.png rename to public/images/dnd-dark.png diff --git a/public/images/dnd-dark@1x.png b/public/images/dnd-dark@1x.png deleted file mode 100644 index 997dc61f5811c92916cb73ab58de04677af57893..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5709 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 diff --git a/public/images/dnd-light@2x.png b/public/images/dnd-light.png similarity index 100% rename from public/images/dnd-light@2x.png rename to public/images/dnd-light.png diff --git a/public/images/dnd-light@1x.png b/public/images/dnd-light@1x.png deleted file mode 100644 index 0c958beffa1ce95662c5f9b1bf5c999b68e2affa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2844 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 KMNUMnLSTXod#5k} diff --git a/public/images/people/aboutaugusto@2x.png b/public/images/people/augusto-lopes.png similarity index 100% rename from public/images/people/aboutaugusto@2x.png rename to public/images/people/augusto-lopes.png diff --git a/public/images/people/miguellteixeira@2x.png b/public/images/people/miguel-teixeira.png similarity index 100% rename from public/images/people/miguellteixeira@2x.png rename to public/images/people/miguel-teixeira.png diff --git a/public/images/people/miguellteixeira@1x.png b/public/images/people/miguellteixeira@1x.png deleted file mode 100644 index 3882bcceab7656bb7221e4767cdf56e9f5ea8925..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4411 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 diff --git a/public/images/unsplash@2x.jpg b/public/images/unsplash-horizontal.jpg similarity index 100% rename from public/images/unsplash@2x.jpg rename to public/images/unsplash-horizontal.jpg diff --git a/public/images/unsplash-vertical@2x.jpg b/public/images/unsplash-vertical.jpg similarity index 100% rename from public/images/unsplash-vertical@2x.jpg rename to public/images/unsplash-vertical.jpg diff --git a/public/images/unsplash-vertical@1x.jpg b/public/images/unsplash-vertical@1x.jpg deleted file mode 100644 index 0cdbb612614f47449cad5c2e4483c192fad2311a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9045 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 YCXHR8p*+UFVqo(Px3{zN*z24B4}_Q#g#Z8m diff --git a/public/images/unsplash@1x.jpg b/public/images/unsplash@1x.jpg deleted file mode 100644 index 571754553cc7386e566c973b5c330dd353cb4261..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5026 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