diff --git a/.prettierrc b/.prettierrc index 5121ea7..ae196a0 100644 --- a/.prettierrc +++ b/.prettierrc @@ -2,5 +2,6 @@ "tabWidth": 2, "semi": false, "singleQuote": true, - "trailingComma": "all" + "trailingComma": "all", + "plugins": ["prettier-plugin-organize-imports"] } diff --git a/package.json b/package.json index 31191e8..9369336 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,7 @@ "dotenv-cli": "^7.2.1", "husky": "^8.0.3", "lint-staged": "^13.2.1", - "prettier": "^2.8.7" + "prettier": "^2.8.7", + "prettier-plugin-organize-imports": "^3.2.3" } } diff --git a/src/components/Article/Article.ImageBlockWrapper.tsx b/src/components/Article/Article.ImageBlockWrapper.tsx index 4ddb749..7220cc0 100644 --- a/src/components/Article/Article.ImageBlockWrapper.tsx +++ b/src/components/Article/Article.ImageBlockWrapper.tsx @@ -1,7 +1,7 @@ +import { lsdUtils } from '@/utils/lsd.utils' import styled from '@emotion/styled' import { LPE } from '../../types/lpe.types' import { ResponsiveImage } from '../ResponsiveImage/ResponsiveImage' -import { lsdUtils } from '@/utils/lsd.utils' type Props = { image: LPE.Image.Document diff --git a/src/components/Authors/index.ts b/src/components/Authors/index.ts index 102374f..00d9215 100644 --- a/src/components/Authors/index.ts +++ b/src/components/Authors/index.ts @@ -1,2 +1,2 @@ -export { default as Authors } from './Authors' export { default as Author } from './Author' +export { default as Authors } from './Authors' diff --git a/src/components/ContentBlock/ContentBlock.Header.tsx b/src/components/ContentBlock/ContentBlock.Header.tsx index 3f8d134..0d4d6eb 100644 --- a/src/components/ContentBlock/ContentBlock.Header.tsx +++ b/src/components/ContentBlock/ContentBlock.Header.tsx @@ -1,5 +1,5 @@ -import styled from '@emotion/styled' import { Typography } from '@acid-info/lsd-react' +import styled from '@emotion/styled' export enum BlockType { TEXT = 'text', diff --git a/src/components/ContentBlock/ContentBlockFooter.tsx b/src/components/ContentBlock/ContentBlockFooter.tsx index 817e475..1fc9e77 100644 --- a/src/components/ContentBlock/ContentBlockFooter.tsx +++ b/src/components/ContentBlock/ContentBlockFooter.tsx @@ -1,7 +1,7 @@ +import { LPE } from '@/types/lpe.types' import { Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' import Link from 'next/link' -import { LPE } from '@/types/lpe.types' type Props = { data: LPE.Post.Document diff --git a/src/components/ContentBlock/ImageBlock.tsx b/src/components/ContentBlock/ImageBlock.tsx index 4f929fb..fbe0c6b 100644 --- a/src/components/ContentBlock/ImageBlock.tsx +++ b/src/components/ContentBlock/ImageBlock.tsx @@ -1,12 +1,11 @@ +import { lsdUtils } from '@/utils/lsd.utils' +import { Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' import Link from 'next/link' import { LPE } from '../../types/lpe.types' -import { GridItem } from '../Grid/Grid' import { ResponsiveImage } from '../ResponsiveImage/ResponsiveImage' -import ContentBlockFooter from './ContentBlockFooter' import ContentBlockHeader, { BlockType } from './ContentBlock.Header' -import { lsdUtils } from '@/utils/lsd.utils' -import { Typography } from '@acid-info/lsd-react' +import ContentBlockFooter from './ContentBlockFooter' type Props = LPE.Search.ResultItemBase diff --git a/src/components/ContentBlock/TextBlock.tsx b/src/components/ContentBlock/TextBlock.tsx index 21a850c..3a26754 100644 --- a/src/components/ContentBlock/TextBlock.tsx +++ b/src/components/ContentBlock/TextBlock.tsx @@ -1,12 +1,8 @@ -import { SearchResultItem } from '@/types/data.types' -import { Typography } from '@acid-info/lsd-react' -import styled from '@emotion/styled' -import Link from 'next/link' -import { LPE } from '../../types/lpe.types' -import { GridItem } from '../Grid/Grid' -import ContentBlockFooter from './ContentBlockFooter' -import ContentBlockHeader, { BlockType } from './ContentBlock.Header' import { NicerTextFormat } from '@/components/Search/SearchResult.NicerTextFormat' +import styled from '@emotion/styled' +import { LPE } from '../../types/lpe.types' +import ContentBlockHeader, { BlockType } from './ContentBlock.Header' +import ContentBlockFooter from './ContentBlockFooter' type Props = LPE.Search.ResultItemBase diff --git a/src/components/Episode/Episode.Block.tsx b/src/components/Episode/Episode.Block.tsx index a94ad50..ab135bc 100644 --- a/src/components/Episode/Episode.Block.tsx +++ b/src/components/Episode/Episode.Block.tsx @@ -2,11 +2,11 @@ import { extractClassFromFirstTag, extractIdFromFirstTag, } from '@/utils/html.utils' +import { parseText, parseTimestamp } from '@/utils/string.utils' import { Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' import ReactPlayer from 'react-player' import { LPE } from '../../types/lpe.types' -import { parseText, parseTimestamp } from '@/utils/string.utils' export const RenderEpisodeBlock = ({ block, diff --git a/src/components/Episode/Episode.Blocks.tsx b/src/components/Episode/Episode.Blocks.tsx index fbce45a..5062b73 100644 --- a/src/components/Episode/Episode.Blocks.tsx +++ b/src/components/Episode/Episode.Blocks.tsx @@ -1,8 +1,8 @@ +import { Button } from '@acid-info/lsd-react' +import styled from '@emotion/styled' import { useState } from 'react' import { LPE } from '../../types/lpe.types' import { RenderEpisodeBlock } from './Episode.Block' -import styled from '@emotion/styled' -import { Button } from '@acid-info/lsd-react' type Props = { data: LPE.Podcast.Document diff --git a/src/components/Episode/Episode.Body.tsx b/src/components/Episode/Episode.Body.tsx index fe8d5be..f946b6c 100644 --- a/src/components/Episode/Episode.Body.tsx +++ b/src/components/Episode/Episode.Body.tsx @@ -1,11 +1,10 @@ import styled from '@emotion/styled' +import { useHookstate } from '@hookstate/core' import { LPE } from '../../types/lpe.types' +import { playerState } from '../GlobalAudioPlayer/globalAudioPlayer.state' +import EpisodeTranscript from './Episode.Transcript' import EpisodeFooter from './Footer/Episode.Footer' import EpisodeHeader from './Header/Episode.Header' -import EpisodeTranscript from './Episode.Transcript' -import { playerState } from '../GlobalAudioPlayer/globalAudioPlayer.state' -import { useHookstate } from '@hookstate/core' -import { uiConfigs } from '@/configs/ui.configs' interface Props { episode: LPE.Podcast.Document diff --git a/src/components/Episode/Episode.Transcript.tsx b/src/components/Episode/Episode.Transcript.tsx index e0b04e4..33bbbc3 100644 --- a/src/components/Episode/Episode.Transcript.tsx +++ b/src/components/Episode/Episode.Transcript.tsx @@ -1,7 +1,7 @@ +import { Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' import { LPE } from '../../types/lpe.types' import EpisodeBlocks from './Episode.Blocks' -import { Typography } from '@acid-info/lsd-react' import EpisodeDivider from './Episode.Divider' const EpisodeTranscript = ({ episode }: { episode: LPE.Podcast.Document }) => { diff --git a/src/components/Episode/Footer/Episode.Credits.tsx b/src/components/Episode/Footer/Episode.Credits.tsx index 59c9be0..3e33625 100644 --- a/src/components/Episode/Footer/Episode.Credits.tsx +++ b/src/components/Episode/Footer/Episode.Credits.tsx @@ -1,7 +1,7 @@ import { Collapse, Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' -import { LPE } from '../../../types/lpe.types' import { useState } from 'react' +import { LPE } from '../../../types/lpe.types' const EpisodeCredits = ({ credits, diff --git a/src/components/Episode/Footer/Episode.Footer.tsx b/src/components/Episode/Footer/Episode.Footer.tsx index 219de27..a0715a8 100644 --- a/src/components/Episode/Footer/Episode.Footer.tsx +++ b/src/components/Episode/Footer/Episode.Footer.tsx @@ -1,9 +1,9 @@ import styled from '@emotion/styled' +import { useMemo } from 'react' import { LPE } from '../../../types/lpe.types' import EpisodeCredits from './Episode.Credits' -import RelatedEpisodes from './Episode.RelatedEpisodes' -import { useMemo } from 'react' import EpisodeFootnotes from './Episode.Footnotes' +import RelatedEpisodes from './Episode.RelatedEpisodes' type Props = { episode: LPE.Podcast.Document diff --git a/src/components/Episode/Footer/Episode.Footnotes.tsx b/src/components/Episode/Footer/Episode.Footnotes.tsx index b9d56f6..a2683ae 100644 --- a/src/components/Episode/Footer/Episode.Footnotes.tsx +++ b/src/components/Episode/Footer/Episode.Footnotes.tsx @@ -1,7 +1,7 @@ import { Collapse, Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' -import { LPE } from '../../../types/lpe.types' import { useState } from 'react' +import { LPE } from '../../../types/lpe.types' const EpisodeFootnotes = ({ footnotes, diff --git a/src/components/Episode/Header/Episode.Channels.tsx b/src/components/Episode/Header/Episode.Channels.tsx index 7544b68..a921f99 100644 --- a/src/components/Episode/Header/Episode.Channels.tsx +++ b/src/components/Episode/Header/Episode.Channels.tsx @@ -1,10 +1,10 @@ -import { Typography } from '@acid-info/lsd-react' -import styled from '@emotion/styled' -import { LPE } from '../../../types/lpe.types' import { ApplePodcastsIcon } from '@/components/Icons/ApplePodcastsIcon' import { GooglePodcastsIcon } from '@/components/Icons/GooglePodcastsIcon' import { SpotifyIcon } from '@/components/Icons/SpotifyIcon' +import { Typography } from '@acid-info/lsd-react' +import styled from '@emotion/styled' import Link from 'next/link' +import { LPE } from '../../../types/lpe.types' export type EpisodeChannelProps = { channels: LPE.Podcast.Channel[] diff --git a/src/components/Episode/Header/Episode.Header.tsx b/src/components/Episode/Header/Episode.Header.tsx index 774e2f1..7507223 100644 --- a/src/components/Episode/Header/Episode.Header.tsx +++ b/src/components/Episode/Header/Episode.Header.tsx @@ -1,14 +1,12 @@ -import { Tags } from '@/components/Tags' +import { TagsAndSocial } from '@/components/TagsAndSocial' import { Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' -import { LPE } from '../../../types/lpe.types' -import EpisodeChannels from './Episode.Channels' -import EpisodeStats from '../Episode.Stats' -import EpisodePlayer from './Episode.Player' import Image from 'next/image' import Link from 'next/link' -import { ShareButton } from '@/components/ShareButton' -import { TagsAndSocial } from '@/components/TagsAndSocial' +import { LPE } from '../../../types/lpe.types' +import EpisodeStats from '../Episode.Stats' +import EpisodeChannels from './Episode.Channels' +import EpisodePlayer from './Episode.Player' export type EpisodeHeaderProps = LPE.Podcast.Document & { channel: LPE.Podcast.Channel diff --git a/src/components/Episode/Header/Episode.Player.tsx b/src/components/Episode/Header/Episode.Player.tsx index f29c1fe..7a6956a 100644 --- a/src/components/Episode/Header/Episode.Player.tsx +++ b/src/components/Episode/Header/Episode.Player.tsx @@ -1,13 +1,13 @@ -import styled from '@emotion/styled' -import ReactPlayer from 'react-player' -import { useHookstate } from '@hookstate/core' -import { playerState } from '@/components/GlobalAudioPlayer/globalAudioPlayer.state' -import { useEffect, useRef, useState } from 'react' import { episodeState } from '@/components/GlobalAudioPlayer/episode.state' -import SimplecastPlayer from './Episode.SimplecastPlayer' -import { LPE } from '@/types/lpe.types' -import { useRouter } from 'next/router' +import { playerState } from '@/components/GlobalAudioPlayer/globalAudioPlayer.state' import { ResponsiveImage } from '@/components/ResponsiveImage/ResponsiveImage' +import { LPE } from '@/types/lpe.types' +import styled from '@emotion/styled' +import { useHookstate } from '@hookstate/core' +import { useRouter } from 'next/router' +import { useEffect, useRef, useState } from 'react' +import ReactPlayer from 'react-player' +import SimplecastPlayer from './Episode.SimplecastPlayer' export type EpisodePlayerProps = { channel: LPE.Podcast.Channel diff --git a/src/components/Episode/Header/Episode.SimplecastPlayer.tsx b/src/components/Episode/Header/Episode.SimplecastPlayer.tsx index f521d54..3359bbe 100644 --- a/src/components/Episode/Header/Episode.SimplecastPlayer.tsx +++ b/src/components/Episode/Header/Episode.SimplecastPlayer.tsx @@ -1,13 +1,13 @@ import { playerState } from '@/components/GlobalAudioPlayer/globalAudioPlayer.state' -import { LPE } from '@/types/lpe.types' -import styled from '@emotion/styled' -import { useHookstate } from '@hookstate/core' -import { useState } from 'react' import { LpeAudioPlayerControls, PlayerType, } from '@/components/LpePlayer/Controls/Controls' import { ResponsiveImage } from '@/components/ResponsiveImage/ResponsiveImage' +import { LPE } from '@/types/lpe.types' +import styled from '@emotion/styled' +import { useHookstate } from '@hookstate/core' +import { useState } from 'react' export type SimplecastPlayerProps = { playing: boolean diff --git a/src/components/Footer/Footer.BuPanel.tsx b/src/components/Footer/Footer.BuPanel.tsx index 7994cf3..da463ad 100644 --- a/src/components/Footer/Footer.BuPanel.tsx +++ b/src/components/Footer/Footer.BuPanel.tsx @@ -1,8 +1,8 @@ -import { Typography } from '@acid-info/lsd-react' -import styled from '@emotion/styled' import { FooterLink } from '@/components/Footer/Footer.Link' import { FooterSection } from '@/components/Footer/Footer.Section' import { FooterLinksItems } from '@/configs/data.configs' +import { Typography } from '@acid-info/lsd-react' +import styled from '@emotion/styled' export const FooterBuPanel = () => { return ( diff --git a/src/components/Footer/Footer.Copyright.tsx b/src/components/Footer/Footer.Copyright.tsx index 3d62daa..d806529 100644 --- a/src/components/Footer/Footer.Copyright.tsx +++ b/src/components/Footer/Footer.Copyright.tsx @@ -1,5 +1,5 @@ -import { Typography } from '@acid-info/lsd-react' import { FooterSection } from '@/components/Footer/Footer.Section' +import { Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' export const FooterCopyright = () => ( diff --git a/src/components/Footer/Footer.Link.tsx b/src/components/Footer/Footer.Link.tsx index a2852a5..647e0dc 100644 --- a/src/components/Footer/Footer.Link.tsx +++ b/src/components/Footer/Footer.Link.tsx @@ -1,5 +1,5 @@ -import styled from '@emotion/styled' import { Typography } from '@acid-info/lsd-react' +import styled from '@emotion/styled' export const FooterLink = styled(Typography)` width: fit-content; diff --git a/src/components/Footer/Footer.OrgPanel.tsx b/src/components/Footer/Footer.OrgPanel.tsx index 567fb1b..33dee59 100644 --- a/src/components/Footer/Footer.OrgPanel.tsx +++ b/src/components/Footer/Footer.OrgPanel.tsx @@ -1,8 +1,8 @@ -import styled from '@emotion/styled' -import { FooterSection } from '@/components/Footer/Footer.Section' -import { FooterLink } from '@/components/Footer/Footer.Link' import { FooterCopyright } from '@/components/Footer/Footer.Copyright' +import { FooterLink } from '@/components/Footer/Footer.Link' +import { FooterSection } from '@/components/Footer/Footer.Section' import { FooterLinksItems } from '@/configs/data.configs' +import styled from '@emotion/styled' export const FooterOrgPanel = () => { return ( diff --git a/src/components/Footer/Footer.tsx b/src/components/Footer/Footer.tsx index 1c0e349..abdf2bf 100644 --- a/src/components/Footer/Footer.tsx +++ b/src/components/Footer/Footer.tsx @@ -1,8 +1,8 @@ -import { Button } from '@acid-info/lsd-react' -import styled from '@emotion/styled' +import { FooterBuPanel } from '@/components/Footer/Footer.BuPanel' import { FooterOrgPanel } from '@/components/Footer/Footer.OrgPanel' import { FooterSectionContainer } from '@/components/Footer/Footer.Section' -import { FooterBuPanel } from '@/components/Footer/Footer.BuPanel' +import { Button } from '@acid-info/lsd-react' +import styled from '@emotion/styled' export default function Footer() { const handleScrollToTop = () => { diff --git a/src/components/GlobalAudioPlayer/GlobalAudioPlayer.tsx b/src/components/GlobalAudioPlayer/GlobalAudioPlayer.tsx index b3aa9e1..eac3f41 100644 --- a/src/components/GlobalAudioPlayer/GlobalAudioPlayer.tsx +++ b/src/components/GlobalAudioPlayer/GlobalAudioPlayer.tsx @@ -1,13 +1,13 @@ -import ReactPlayer from 'react-player' -import styled from '@emotion/styled' -import React, { useEffect, useRef } from 'react' -import { CloseIcon, Typography } from '@acid-info/lsd-react' -import Image from 'next/image' -import { playerState } from './globalAudioPlayer.state' -import { useHookstate } from '@hookstate/core' -import { episodeState } from './episode.state' import { LpeAudioPlayer } from '@/components/LpePlayer/LpeAudioPlayer' +import { CloseIcon, Typography } from '@acid-info/lsd-react' +import styled from '@emotion/styled' +import { useHookstate } from '@hookstate/core' +import Image from 'next/image' +import React, { useEffect, useRef } from 'react' +import ReactPlayer from 'react-player' import { PlayerType } from '../LpePlayer/Controls/Controls' +import { episodeState } from './episode.state' +import { playerState } from './globalAudioPlayer.state' export default function GlobalAudioPlayer() { const state = useHookstate(playerState) diff --git a/src/components/Hero/Hero.tags.tsx b/src/components/Hero/Hero.tags.tsx index f3a2faa..626b20d 100644 --- a/src/components/Hero/Hero.tags.tsx +++ b/src/components/Hero/Hero.tags.tsx @@ -1,6 +1,6 @@ +import { LPETag } from '@/components/LPETag' import styled from '@emotion/styled' import React from 'react' -import { LPETag } from '@/components/LPETag' export type NavbarFilter = Partial> & { tags?: string[] diff --git a/src/components/Hero/Hero.tsx b/src/components/Hero/Hero.tsx index 03cbcc4..94a418e 100644 --- a/src/components/Hero/Hero.tsx +++ b/src/components/Hero/Hero.tsx @@ -1,11 +1,11 @@ import { HeroTags } from '@/components/Hero/Hero.tags' +import { copyConfigs } from '@/configs/copy.configs' import { Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' import { useEffect, useRef } from 'react' import { useWindowScroll } from 'react-use' import { uiConfigs } from '../../configs/ui.configs' import { useNavbarState } from '../../states/navbarState' -import { copyConfigs } from '@/configs/copy.configs' export type HeroProps = Partial> & { tags?: string[] diff --git a/src/components/Icons/LogosIcon/LogosIcon.tsx b/src/components/Icons/LogosIcon/LogosIcon.tsx index 4cd70d2..ab1006f 100644 --- a/src/components/Icons/LogosIcon/LogosIcon.tsx +++ b/src/components/Icons/LogosIcon/LogosIcon.tsx @@ -1,4 +1,4 @@ -import { LsdIcon } from "@acid-info/lsd-react"; +import { LsdIcon } from '@acid-info/lsd-react' export const LogosIcon = LsdIcon( (props) => ( @@ -24,5 +24,5 @@ export const LogosIcon = LsdIcon( /> ), - { filled: true } -); + { filled: true }, +) diff --git a/src/components/Icons/MoonIcon/MoonIcon.tsx b/src/components/Icons/MoonIcon/MoonIcon.tsx index 13f9158..6b4e56d 100644 --- a/src/components/Icons/MoonIcon/MoonIcon.tsx +++ b/src/components/Icons/MoonIcon/MoonIcon.tsx @@ -1,4 +1,4 @@ -import { LsdIcon } from "@acid-info/lsd-react"; +import { LsdIcon } from '@acid-info/lsd-react' export const MoonIcon = LsdIcon( (props) => ( @@ -16,5 +16,5 @@ export const MoonIcon = LsdIcon( /> ), - { filled: true } -); + { filled: true }, +) diff --git a/src/components/Icons/SunIcon/SunIcon.tsx b/src/components/Icons/SunIcon/SunIcon.tsx index bc4afa8..302b358 100644 --- a/src/components/Icons/SunIcon/SunIcon.tsx +++ b/src/components/Icons/SunIcon/SunIcon.tsx @@ -1,4 +1,4 @@ -import { LsdIcon } from "@acid-info/lsd-react"; +import { LsdIcon } from '@acid-info/lsd-react' export const SunIcon = LsdIcon( (props) => ( @@ -16,5 +16,5 @@ export const SunIcon = LsdIcon( /> ), - { filled: true } -); + { filled: true }, +) diff --git a/src/components/LPETag/LPETag.tsx b/src/components/LPETag/LPETag.tsx index 3c92712..93763d5 100644 --- a/src/components/LPETag/LPETag.tsx +++ b/src/components/LPETag/LPETag.tsx @@ -1,8 +1,8 @@ -import Link from 'next/link' -import { Tag } from '@acid-info/lsd-react' import { formatTagText } from '@/utils/string.utils' +import { Tag } from '@acid-info/lsd-react' import { TagProps } from '@acid-info/lsd-react/dist/components/Tag/Tag' import styled from '@emotion/styled' +import Link from 'next/link' interface Props { tag: string diff --git a/src/components/LpePlayer/Controls/Controls.TimeTrack.tsx b/src/components/LpePlayer/Controls/Controls.TimeTrack.tsx index 02a76d1..410dd5e 100644 --- a/src/components/LpePlayer/Controls/Controls.TimeTrack.tsx +++ b/src/components/LpePlayer/Controls/Controls.TimeTrack.tsx @@ -1,6 +1,6 @@ // TimeTracker.tsx -import React, { useState, useRef, useEffect } from 'react' import styled from '@emotion/styled' +import React, { useEffect, useRef, useState } from 'react' export interface ControlsTimeTrackProps { min?: number diff --git a/src/components/LpePlayer/Controls/Controls.tsx b/src/components/LpePlayer/Controls/Controls.tsx index a57c027..e8ea4ce 100644 --- a/src/components/LpePlayer/Controls/Controls.tsx +++ b/src/components/LpePlayer/Controls/Controls.tsx @@ -1,16 +1,15 @@ -import styled from '@emotion/styled' +import styles from '@/components/GlobalAudioPlayer/GlobalAudioPlayer.module.css' +import { MuteIcon } from '@/components/Icons/MuteIcon' import { PauseIcon } from '@/components/Icons/PauseIcon' import { PlayIcon } from '@/components/Icons/PlayIcon' -import { convertSecToMinAndSec } from '@/utils/string.utils' -import { Typography } from '@acid-info/lsd-react' -import { MuteIcon } from '@/components/Icons/MuteIcon' import { VolumeIcon } from '@/components/Icons/VolumeIcon' -import styles from '@/components/GlobalAudioPlayer/GlobalAudioPlayer.module.css' -import React from 'react' import { ControlsTimeTrackProps, TimeTrack, } from '@/components/LpePlayer/Controls/Controls.TimeTrack' +import { convertSecToMinAndSec } from '@/utils/string.utils' +import { Typography } from '@acid-info/lsd-react' +import styled from '@emotion/styled' export enum PlayerType { GLOBAL = 'global', diff --git a/src/components/LpePlayer/LpeAudioPlayer.tsx b/src/components/LpePlayer/LpeAudioPlayer.tsx index c7dd0ad..a53f2bb 100644 --- a/src/components/LpePlayer/LpeAudioPlayer.tsx +++ b/src/components/LpePlayer/LpeAudioPlayer.tsx @@ -1,9 +1,8 @@ -import React from 'react' -import styled from '@emotion/styled' import { LpeAudioPlayerControls, LpeAudioPlayerControlsProps, } from '@/components/LpePlayer/Controls/Controls' +import styled from '@emotion/styled' interface LpeAudioPlayerProps { controlProps: LpeAudioPlayerControlsProps diff --git a/src/components/NavBar/Navbar.Links.tsx b/src/components/NavBar/Navbar.Links.tsx index 1cefe09..76ee0f4 100644 --- a/src/components/NavBar/Navbar.Links.tsx +++ b/src/components/NavBar/Navbar.Links.tsx @@ -1,6 +1,6 @@ -import Link from 'next/link' -import styled from '@emotion/styled' import { Typography } from '@acid-info/lsd-react' +import styled from '@emotion/styled' +import Link from 'next/link' import { useRouter } from 'next/router' interface Props { diff --git a/src/components/NavBar/Navbar.MobileMenu.tsx b/src/components/NavBar/Navbar.MobileMenu.tsx index 71908f7..e371fa7 100644 --- a/src/components/NavBar/Navbar.MobileMenu.tsx +++ b/src/components/NavBar/Navbar.MobileMenu.tsx @@ -1,10 +1,10 @@ -import styled from '@emotion/styled' +import { FooterOrgPanel } from '@/components/Footer/Footer.OrgPanel' import { NavbarLinks } from '@/components/NavBar/Navbar.Links' +import { ThemeSwitchWithLabel } from '@/components/ThemeSwitch/ThemeSwitch' import { NavLinksItems } from '@/configs/data.configs' import { uiConfigs } from '@/configs/ui.configs' -import { FooterOrgPanel } from '@/components/Footer/Footer.OrgPanel' import { useThemeState } from '@/states/themeState' -import { ThemeSwitchWithLabel } from '@/components/ThemeSwitch/ThemeSwitch' +import styled from '@emotion/styled' import { useEffect } from 'react' import { SocialMediaKit } from './Navbar.SocialMediaKit' diff --git a/src/components/NavBar/Navbar.SocialMediaKit.tsx b/src/components/NavBar/Navbar.SocialMediaKit.tsx index 49578b8..eafce92 100644 --- a/src/components/NavBar/Navbar.SocialMediaKit.tsx +++ b/src/components/NavBar/Navbar.SocialMediaKit.tsx @@ -1,10 +1,10 @@ -import styled from '@emotion/styled' -import Link from 'next/link' import { DiscordIcon } from '@/components/Icons/DiscordIcon' import { XIcon } from '@/components/Icons/XIcon' import { YoutubeIcon } from '@/components/Icons/YTIcon' import { FooterLinksItems } from '@/configs/data.configs' import { LPEFooterGroup } from '@/types/ui.types' +import styled from '@emotion/styled' +import Link from 'next/link' const socialLinks = FooterLinksItems.about.find( (item) => item.key === 'social', diff --git a/src/components/Podcasts/Podcast.Host.tsx b/src/components/Podcasts/Podcast.Host.tsx index 184538a..a3dd2d0 100644 --- a/src/components/Podcasts/Podcast.Host.tsx +++ b/src/components/Podcasts/Podcast.Host.tsx @@ -1,6 +1,5 @@ import { Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' -import React from 'react' import { LPE } from '../../types/lpe.types' interface Props { diff --git a/src/components/Podcasts/Podcasts.Lists.tsx b/src/components/Podcasts/Podcasts.Lists.tsx index ce246f9..8f28f49 100644 --- a/src/components/Podcasts/Podcasts.Lists.tsx +++ b/src/components/Podcasts/Podcasts.Lists.tsx @@ -1,8 +1,8 @@ -import styled from '@emotion/styled' -import { LPE } from '../../types/lpe.types' import { ArrowDownIcon, Button, Typography } from '@acid-info/lsd-react' -import Link from 'next/link' +import styled from '@emotion/styled' import Image from 'next/image' +import Link from 'next/link' +import { LPE } from '../../types/lpe.types' import { Grid, GridItem } from '../Grid/Grid' import PodcastHost from './Podcast.Host' diff --git a/src/components/PostCard/PostCard.Cover.tsx b/src/components/PostCard/PostCard.Cover.tsx index 097a6d6..b36b0ee 100644 --- a/src/components/PostCard/PostCard.Cover.tsx +++ b/src/components/PostCard/PostCard.Cover.tsx @@ -4,10 +4,9 @@ import { } from '@/components/ResponsiveImage/ResponsiveImage' import { LPE } from '@/types/lpe.types' import { IconButton } from '@acid-info/lsd-react' +import styled from '@emotion/styled' import Link from 'next/link' import { FC } from 'react' -import { PlayIcon } from '../Icons/PlayIcon' -import styled from '@emotion/styled' import { UnfilledPlayIcon } from '../Icons/UnfilledPlayIcon' export type PostCardCoverProps = React.ComponentProps & { diff --git a/src/components/PostCard/PostCard.Subtitle.tsx b/src/components/PostCard/PostCard.Subtitle.tsx index b41e001..74b0914 100644 --- a/src/components/PostCard/PostCard.Subtitle.tsx +++ b/src/components/PostCard/PostCard.Subtitle.tsx @@ -1,5 +1,5 @@ import { Typography } from '@acid-info/lsd-react' -import React, { PropsWithChildren } from 'react' +import { PropsWithChildren } from 'react' export const PostCardSubTitle = ({ children }: PropsWithChildren) => ( diff --git a/src/components/PostCard/index.ts b/src/components/PostCard/index.ts index dbe4ded..43c434d 100644 --- a/src/components/PostCard/index.ts +++ b/src/components/PostCard/index.ts @@ -1,2 +1,2 @@ -export type { PostCardProps } from './PostCard' export { PostCard } from './PostCard' +export type { PostCardProps } from './PostCard' diff --git a/src/components/PostList/PostList.tsx b/src/components/PostList/PostList.tsx index 78be4e0..8969958 100644 --- a/src/components/PostList/PostList.tsx +++ b/src/components/PostList/PostList.tsx @@ -1,10 +1,10 @@ +import { PostCard } from '@/components/PostCard' import { PostListLayout } from '@/types/ui.types' import { Button, Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' import { useEffect, useState } from 'react' import { LPE } from '../../types/lpe.types' import { Grid, GridItem } from '../Grid/Grid' -import { PostCard } from '@/components/PostCard' import PostTypes = LPE.PostTypes type Props = { diff --git a/src/components/PostsGrid/PostsGrid.tsx b/src/components/PostsGrid/PostsGrid.tsx index c93e63a..362d4e5 100644 --- a/src/components/PostsGrid/PostsGrid.tsx +++ b/src/components/PostsGrid/PostsGrid.tsx @@ -1,6 +1,6 @@ /** @jsxImportSource @emotion/react */ import { Breakpoints, Theme, useTheme } from '@acid-info/lsd-react' -import { css, SerializedStyles } from '@emotion/react' +import { SerializedStyles, css } from '@emotion/react' import styled from '@emotion/styled' import React, { useMemo } from 'react' import { LPE } from '../../types/lpe.types' diff --git a/src/components/Search/SearchResult.Blocks.tsx b/src/components/Search/SearchResult.Blocks.tsx index 1cf6981..1076b75 100644 --- a/src/components/Search/SearchResult.Blocks.tsx +++ b/src/components/Search/SearchResult.Blocks.tsx @@ -1,7 +1,6 @@ +import { ImageBlock, TextBlock } from '@/components/ContentBlock' import { LPE } from '@/types/lpe.types' import styled from '@emotion/styled' -import { PostCard } from '@/components/PostCard' -import { ImageBlock, TextBlock } from '@/components/ContentBlock' interface Props { blocks: LPE.Search.ResultItemBase[] diff --git a/src/components/Search/SearchResult.NicerTextFormat.tsx b/src/components/Search/SearchResult.NicerTextFormat.tsx index e7cbc47..14e5cd6 100644 --- a/src/components/Search/SearchResult.NicerTextFormat.tsx +++ b/src/components/Search/SearchResult.NicerTextFormat.tsx @@ -1,5 +1,5 @@ -import React from 'react' import { Typography, TypographyProps } from '@acid-info/lsd-react' +import React from 'react' type UrlReplacerProps = { rawHtml: string diff --git a/src/components/Search/SearchResult.TopPost.Blocks.tsx b/src/components/Search/SearchResult.TopPost.Blocks.tsx index dd80cf8..a9dbbc3 100644 --- a/src/components/Search/SearchResult.TopPost.Blocks.tsx +++ b/src/components/Search/SearchResult.TopPost.Blocks.tsx @@ -1,11 +1,9 @@ -import { LPE } from '@/types/lpe.types' -import styled from '@emotion/styled' import { ParagraphIcon } from '@/components/Icons/ParagraphIcon' import { ResponsiveImage } from '@/components/ResponsiveImage/ResponsiveImage' -import { Grid, GridItem } from '@/components/Grid/Grid' -import { Typography } from '@acid-info/lsd-react' -import { uiConfigs } from '@/configs/ui.configs' import { NicerTextFormat } from '@/components/Search/SearchResult.NicerTextFormat' +import { LPE } from '@/types/lpe.types' +import { Typography } from '@acid-info/lsd-react' +import styled from '@emotion/styled' interface Props { textBlocks: LPE.Post.TextBlock[] diff --git a/src/components/Search/SearchResult.TopPost.tsx b/src/components/Search/SearchResult.TopPost.tsx index a3a4a87..c6420fc 100644 --- a/src/components/Search/SearchResult.TopPost.tsx +++ b/src/components/Search/SearchResult.TopPost.tsx @@ -1,9 +1,8 @@ -import { LPE } from '@/types/lpe.types' -import styled from '@emotion/styled' import { PostCard } from '@/components/PostCard' import { SearchResultTopPostBlocks } from '@/components/Search/SearchResult.TopPost.Blocks' -import { Typography } from '@acid-info/lsd-react' +import { LPE } from '@/types/lpe.types' import { lsdUtils } from '@/utils/lsd.utils' +import styled from '@emotion/styled' interface Props { post: LPE.Search.ResultItemBase diff --git a/src/components/Search/SearchResultList.Posts.tsx b/src/components/Search/SearchResultList.Posts.tsx index cd5bc6d..4ebb12d 100644 --- a/src/components/Search/SearchResultList.Posts.tsx +++ b/src/components/Search/SearchResultList.Posts.tsx @@ -1,6 +1,6 @@ +import { PostCard } from '@/components/PostCard' import { LPE } from '@/types/lpe.types' import styled from '@emotion/styled' -import { PostCard } from '@/components/PostCard' interface Props { posts: LPE.Search.ResultItemBase[] diff --git a/src/components/SearchBox/SearchBox.tsx b/src/components/SearchBox/SearchBox.tsx index 6816f9e..6ed6d84 100644 --- a/src/components/SearchBox/SearchBox.tsx +++ b/src/components/SearchBox/SearchBox.tsx @@ -1,23 +1,22 @@ -import styled from '@emotion/styled' -import { Dropdown, TabItem, Tabs, Typography } from '@acid-info/lsd-react' -import React, { useEffect, useRef, useState } from 'react' -import { useRouter } from 'next/router' -import { nope } from '@/utils/general.utils' -import { LPE } from '@/types/lpe.types' -import PostTypes = LPE.PostTypes -import ContentBlockTypes = LPE.Post.ContentBlockTypes import { copyConfigs } from '@/configs/copy.configs' import { uiConfigs } from '@/configs/ui.configs' +import { LPE } from '@/types/lpe.types' +import { nope } from '@/utils/general.utils' +import { lsdUtils } from '@/utils/lsd.utils' +import { formatTagText } from '@/utils/string.utils' import { useHydrated } from '@/utils/useHydrated.util' +import { Dropdown, TabItem, Tabs, Typography } from '@acid-info/lsd-react' +import styled from '@emotion/styled' +import React, { useEffect, useRef, useState } from 'react' +import { useDeepCompareEffect } from 'react-use' import { ArrayParam, StringParam, useQueryParam, withDefault, } from 'use-query-params' -import { useDeepCompareEffect } from 'react-use' -import { lsdUtils } from '@/utils/lsd.utils' -import { formatTagText } from '@/utils/string.utils' +import PostTypes = LPE.PostTypes +import ContentBlockTypes = LPE.Post.ContentBlockTypes interface SearchBoxProps { onSearch?: (query: string, tags: string[], types: LPE.ContentType[]) => void tags?: string[] diff --git a/src/components/SearchResultsSection/SearchResultsSection.tsx b/src/components/SearchResultsSection/SearchResultsSection.tsx index 950ad0f..6dd4ec9 100644 --- a/src/components/SearchResultsSection/SearchResultsSection.tsx +++ b/src/components/SearchResultsSection/SearchResultsSection.tsx @@ -1,6 +1,6 @@ import { Section } from '@/components/Section/Section' -import React, { PropsWithChildren } from 'react' import { Typography } from '@acid-info/lsd-react' +import { PropsWithChildren } from 'react' type Props = PropsWithChildren<{ resultSize: number diff --git a/src/components/ShareButton/ShareButton.tsx b/src/components/ShareButton/ShareButton.tsx index 9dd12da..8b8e1be 100644 --- a/src/components/ShareButton/ShareButton.tsx +++ b/src/components/ShareButton/ShareButton.tsx @@ -1,11 +1,11 @@ import { Tag, Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' -import { ShareIcon } from '../Icons/ShareIcon' -import { useRef, useState } from 'react' -import { CopyIcon } from '../Icons/CopyIcon' -import { XIcon } from '../Icons/XIcon' import Link from 'next/link' +import { useRef, useState } from 'react' import { useClickAway } from 'react-use' +import { CopyIcon } from '../Icons/CopyIcon' +import { ShareIcon } from '../Icons/ShareIcon' +import { XIcon } from '../Icons/XIcon' type Props = { url: string diff --git a/src/components/Tags/Tags.tsx b/src/components/Tags/Tags.tsx index 5a823ad..6cbd001 100644 --- a/src/components/Tags/Tags.tsx +++ b/src/components/Tags/Tags.tsx @@ -1,6 +1,6 @@ +import { LPETag } from '@/components/LPETag' import styled from '@emotion/styled' import { useRouter } from 'next/router' -import { LPETag } from '@/components/LPETag' export type TagsProps = React.ComponentProps & { tags: string[] diff --git a/src/components/ThemeSwitch/ThemeSwitch.tsx b/src/components/ThemeSwitch/ThemeSwitch.tsx index 154dc68..28500d5 100644 --- a/src/components/ThemeSwitch/ThemeSwitch.tsx +++ b/src/components/ThemeSwitch/ThemeSwitch.tsx @@ -1,8 +1,7 @@ -import { SunIcon } from '@/components/Icons/SunIcon' import { MoonIcon } from '@/components/Icons/MoonIcon' -import { Button, IconButton } from '@acid-info/lsd-react' -import React from 'react' +import { SunIcon } from '@/components/Icons/SunIcon' import { ThemeState } from '@/states/themeState' +import { Button, IconButton } from '@acid-info/lsd-react' interface Props { toggle: () => void mode?: ThemeState['mode'] diff --git a/src/configs/data.configs.ts b/src/configs/data.configs.ts index 3adccb9..cae1af6 100644 --- a/src/configs/data.configs.ts +++ b/src/configs/data.configs.ts @@ -1,5 +1,5 @@ -import { LPEFooterGroup } from '@/types/ui.types' import { siteConfigs } from '@/configs/site.configs' +import { LPEFooterGroup } from '@/types/ui.types' export const ArticleBlocksOrders = { title: 0, diff --git a/src/containers/HomePage/HomePage.tsx b/src/containers/HomePage/HomePage.tsx index e68520f..4587cc5 100644 --- a/src/containers/HomePage/HomePage.tsx +++ b/src/containers/HomePage/HomePage.tsx @@ -1,11 +1,10 @@ import { Button, Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' -import React, { useEffect, useMemo } from 'react' +import React, { useMemo } from 'react' import { Hero } from '../../components/Hero' import { PostsGrid } from '../../components/PostsGrid' import { uiConfigs } from '../../configs/ui.configs' import { useRecentPosts } from '../../queries/useRecentPosts.query' -import { api } from '../../services/api.service' import { LPE } from '../../types/lpe.types' import { lsdUtils } from '../../utils/lsd.utils' import { PodcastShowsPreview } from '../PodcastShowsPreview' diff --git a/src/containers/PodcastsContainer.tsx b/src/containers/PodcastsContainer.tsx index dbc6dab..7d47d85 100644 --- a/src/containers/PodcastsContainer.tsx +++ b/src/containers/PodcastsContainer.tsx @@ -2,7 +2,6 @@ import { Grid, GridItem } from '@/components/Grid/Grid' import EpisodesList from '@/components/Podcasts/Episodes.List' import PodcastSection from '@/components/Podcasts/Podcast.Section' import PodcastsLists from '@/components/Podcasts/Podcasts.Lists' -import { uiConfigs } from '@/configs/ui.configs' import styled from '@emotion/styled' import { LPE } from '../types/lpe.types' import { lsdUtils } from '../utils/lsd.utils' diff --git a/src/containers/Search/ExploreView.tsx b/src/containers/Search/ExploreView.tsx index 44189e7..37a2652 100644 --- a/src/containers/Search/ExploreView.tsx +++ b/src/containers/Search/ExploreView.tsx @@ -1,10 +1,10 @@ -import styled from '@emotion/styled' -import { LPE } from '@/types/lpe.types' -import { Grid, GridItem } from '@/components/Grid/Grid' -import { useMemo } from 'react' -import { PostCard } from '@/components/PostCard' import { ImageBlock, TextBlock } from '@/components/ContentBlock' +import { Grid, GridItem } from '@/components/Grid/Grid' +import { PostCard } from '@/components/PostCard' import { uiConfigs } from '@/configs/ui.configs' +import { LPE } from '@/types/lpe.types' +import styled from '@emotion/styled' +import { useMemo } from 'react' type Block = LPE.Search.ResultItemBase type Post = LPE.Search.ResultItemBase diff --git a/src/containers/Search/ListView.tsx b/src/containers/Search/ListView.tsx index 9601175..4d3dcea 100644 --- a/src/containers/Search/ListView.tsx +++ b/src/containers/Search/ListView.tsx @@ -1,16 +1,16 @@ -import styled from '@emotion/styled' -import { LPE } from '@/types/lpe.types' import { Grid, GridItem } from '@/components/Grid/Grid' +import { SearchResultListBlocks } from '@/components/Search/SearchResult.Blocks' +import { SearchResultTopPost } from '@/components/Search/SearchResult.TopPost' +import { SearchResultListPosts } from '@/components/Search/SearchResultList.Posts' import { SearchResultsListHeader } from '@/components/Search/SearchResultsList.Header' import { copyConfigs } from '@/configs/copy.configs' -import { SearchResultListPosts } from '@/components/Search/SearchResultList.Posts' -import { useMemo } from 'react' -import { SearchResultTopPost } from '@/components/Search/SearchResult.TopPost' -import { SearchResultListBlocks } from '@/components/Search/SearchResult.Blocks' -import { Typography } from '@acid-info/lsd-react' -import { lsdUtils } from '@/utils/lsd.utils' import { uiConfigs } from '@/configs/ui.configs' +import { LPE } from '@/types/lpe.types' +import { lsdUtils } from '@/utils/lsd.utils' import useWindowSize from '@/utils/ui.utils' +import { Typography } from '@acid-info/lsd-react' +import styled from '@emotion/styled' +import { useMemo } from 'react' interface Props { posts: LPE.Search.ResultItemBase[] diff --git a/src/containers/StaticPage/StaticPage.tsx b/src/containers/StaticPage/StaticPage.tsx index cffb386..dc45cda 100644 --- a/src/containers/StaticPage/StaticPage.tsx +++ b/src/containers/StaticPage/StaticPage.tsx @@ -1,8 +1,8 @@ +import { RenderArticleBlock } from '@/components/Article/Article.Block' import { Typography } from '@acid-info/lsd-react' import styled from '@emotion/styled' import React from 'react' import { LPE } from '../../types/lpe.types' -import { RenderArticleBlock } from '@/components/Article/Article.Block' export type StaticPageProps = React.DetailedHTMLProps< React.HTMLAttributes, diff --git a/src/pages/[slug].tsx b/src/pages/[slug].tsx index cf788f2..d3bca1a 100644 --- a/src/pages/[slug].tsx +++ b/src/pages/[slug].tsx @@ -3,7 +3,6 @@ import Error from 'next/error' import SEO from '../components/SEO/SEO' import { StaticPage, StaticPageProps } from '../containers/StaticPage' import unbodyApi from '../services/unbody/unbody.service' -import NotFoundPage from './404' type PageProps = Partial> & { error?: string diff --git a/src/pages/podcasts/[showSlug]/[epSlug].tsx b/src/pages/podcasts/[showSlug]/[epSlug].tsx index 2120746..3c7f9b6 100644 --- a/src/pages/podcasts/[showSlug]/[epSlug].tsx +++ b/src/pages/podcasts/[showSlug]/[epSlug].tsx @@ -5,7 +5,6 @@ import { useRouter } from 'next/router' import { LPE } from '../../../types/lpe.types' import unbodyApi from '@/services/unbody/unbody.service' -import { DefaultLayout } from '../../../layouts/DefaultLayout' type EpisodeProps = { episode: LPE.Podcast.Document diff --git a/src/services/unbody/dataTypes/index.ts b/src/services/unbody/dataTypes/index.ts index 12c9ec8..80a8e4c 100644 --- a/src/services/unbody/dataTypes/index.ts +++ b/src/services/unbody/dataTypes/index.ts @@ -1,7 +1,7 @@ export * from './ArticleDocument.dataType' export * from './ArticleImageBlock.dataType' export * from './ArticleTextBlock.dataType' -export * from './dataTypes' export * from './TextBlock.dataType' -export * from './types' export * from './UnbodyDataTypes' +export * from './dataTypes' +export * from './types' diff --git a/src/services/unbody/unbody.service.ts b/src/services/unbody/unbody.service.ts index 206376e..6193cac 100644 --- a/src/services/unbody/unbody.service.ts +++ b/src/services/unbody/unbody.service.ts @@ -15,8 +15,8 @@ import { import { ApiResponse, SearchResultItem } from '../../types/data.types' import { LPE } from '../../types/lpe.types' import { - createPromise, CreatePromiseResult, + createPromise, settle, } from '../../utils/promise.utils' import { unbodyDataTypes } from './dataTypes' diff --git a/src/types/ui.types.ts b/src/types/ui.types.ts index d504404..ec6eafe 100644 --- a/src/types/ui.types.ts +++ b/src/types/ui.types.ts @@ -1,4 +1,4 @@ -import React, { ReactNode } from 'react' +import { ReactNode } from 'react' export const enum PostListLayout { XXXX = 'xxxx', XXXX_XX = 'xxxx_xx', diff --git a/src/utils/lsd.utils.ts b/src/utils/lsd.utils.ts index 9bcefed..d4c0261 100644 --- a/src/utils/lsd.utils.ts +++ b/src/utils/lsd.utils.ts @@ -1,10 +1,10 @@ import { Breakpoints, + THEME_BREAKPOINTS, Theme, TypographyVariants, - THEME_BREAKPOINTS, } from '@acid-info/lsd-react' -import { css, SerializedStyles } from '@emotion/react' +import { SerializedStyles, css } from '@emotion/react' export class LsdUtils { breakpoints = (exclude: Breakpoints[] = []) => diff --git a/yarn.lock b/yarn.lock index 5beaff7..a0f03c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4586,6 +4586,11 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +prettier-plugin-organize-imports@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/prettier-plugin-organize-imports/-/prettier-plugin-organize-imports-3.2.3.tgz#6b0141ac71f7ee9a673ce83e95456319e3a7cf0d" + integrity sha512-KFvk8C/zGyvUaE3RvxN2MhCLwzV6OBbFSkwZ2OamCrs9ZY4i5L77jQ/w4UmUr+lqX8qbaqVq6bZZkApn+IgJSg== + prettier@^2.8.7: version "2.8.7" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450"