Fix download button & improvements

This commit is contained in:
pheralb 2022-03-04 13:34:58 +00:00
parent ac2a81563b
commit b67dcc0be9
9 changed files with 80 additions and 59 deletions

View File

@ -1,8 +1,16 @@
<p align="center">
<a href="https://svgl.vercel.app/">
<img src="https://raw.githubusercontent.com/pheralb/svgl/main/public/images/logo.png" width="100px" alt="svgl logo" />
</a>
</p>
## 🚀 Getting started:
[SVGL](https://svgl.vercel.app/) is a beautiful collection of SVG logos. Free and open source.
You need:
- [Node.js 16+ (recommend: 16.13.2 LTS)](https://nodejs.org/en/)
- [Node.js 16+ (recommend: 16.14.0 LTS)](https://nodejs.org/en/)
- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
and run:
@ -14,6 +22,6 @@ npm run dev
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
## 📦 Deployed on Vercel:
## 🔑 License:
[https://svgl.vercel.app/](https://svgl.vercel.app/)
MIT

View File

@ -1,12 +0,0 @@
import React from "react";
import { motion } from "framer-motion";
const Hover = ({ children }) => {
return (
<motion.div whileHover={{ scale: 1.020 }} whileTap={{ scale: 1 }}>
{children}
</motion.div>
);
};
export default Hover;

12
animations/tap.js Normal file
View File

@ -0,0 +1,12 @@
import React from "react";
import { motion } from "framer-motion";
const Tap = ({ children }) => {
return (
<motion.div whileTap={{ scale: 0.99 }}>
{children}
</motion.div>
);
};
export default Tap;

View File

@ -1,30 +1,32 @@
import React from "react";
import Link from "next/link";
import { Box, Text, Icon, Image, Center } from "@chakra-ui/react";
import Hover from "animations/hover";
import Tap from "animations/tap";
const Index = ({ title, url, href }) => {
return (
<Link href={url} passHref>
<Box
_hover={{
shadow: "md",
transform: "translateY(-4px)",
transition: "all .3s",
}}
p={4}
cursor="pointer"
borderRadius="10px"
mb="3"
>
<Center>
<Image src={href} alt={title} boxSize="60px" />
</Center>
<Text mt="2" fontWeight="light" textAlign={"center"}>
{title}
</Text>
</Box>
</Link>
<Tap>
<Link href={url} passHref>
<Box
_hover={{
shadow: "md",
transform: "translateY(-4px)",
transition: "all .3s",
}}
p={4}
cursor="pointer"
borderRadius="10px"
mb="3"
>
<Center>
<Image src={href} alt={title} boxSize="60px" />
</Center>
<Text mt="2" fontWeight="light" textAlign={"center"}>
{title}
</Text>
</Box>
</Link>
</Tap>
);
};

View File

@ -0,0 +1,9 @@
import React from 'react'
const Index = () => {
return (
<div>Index</div>
)
}
export default Index

View File

@ -20,7 +20,7 @@ import {
} from "react-icons/io5";
import { BiLinkExternal } from "react-icons/bi";
import Link from "next/link";
import Hover from "animations/hover";
import Hover from "animations/tap";
import Show from "animations/show";
import { svgl } from "components/svg";
import HEADER_LINKS from "./links";

View File

@ -6,37 +6,40 @@ import {
Input,
InputLeftElement,
InputGroup,
Button,
Flex,
HStack,
Text,
Image,
Icon,
} from "@chakra-ui/react";
import { IoCloudDownloadOutline, IoLink, IoSearch } from "react-icons/io5";
import { IoSearch } from "react-icons/io5";
import { BiLinkExternal } from "react-icons/bi";
import { Algolia } from "components/svg";
import Tap from "animations/tap";
const AutocompleteItem = ({ id, title, href, url }) => {
return (
<>
<Link href={`/svg/${id}`} passHref>
<Box
id={id}
w="100%"
borderWidth="1px"
borderRadius="6px"
mt="3"
cursor="pointer"
>
<HStack py={6} px={6} spacing={2}>
<Image src={href} alt={title} boxSize="20px" mr="2" />
<Text fontSize="18px" fontWeight="light">
{title}
</Text>
<Icon as={IoLink} />
</HStack>
</Box>
</Link>
<Tap>
<Link href={`/svg/${id}`} passHref>
<Box
id={id}
w="100%"
borderWidth="1px"
borderRadius="6px"
mt="3"
cursor="pointer"
>
<HStack py={6} px={6} spacing={2}>
<Image src={href} alt={title} boxSize="20px" mr="2" />
<Text fontSize="18px" fontWeight="light">
{title}
</Text>
<Icon as={BiLinkExternal} />
</HStack>
</Box>
</Link>
</Tap>
</>
);
};

View File

@ -41,7 +41,7 @@ export default function Icon() {
const downloadSvg = (name, url) => {
confetti();
download(url, `${name}.svg`, "image/svg+xml");
download(url);
};
return (
@ -100,7 +100,6 @@ export default function Icon() {
</Flex>
</Flex>
</SimpleGrid>
<Link href="/" passHref>
<Button
leftIcon={<IoArrowBackOutline />}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 174 KiB