Responsive pages (#88)

* responsive pages

* removed comments

* fixed bugs regarding css

* responsive dashboard

Co-authored-by: Jyotirmoy Bandyopadhyaya [Bravo68] <jbandyopadhayaya@gmail.com>
This commit is contained in:
Tejas 2022-03-06 20:17:50 +05:30 committed by GitHub
parent 61fb7a4038
commit 492fee1f99
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 577 additions and 607 deletions

View File

@ -1,44 +1,57 @@
import styled from "styled-components";
import styled from 'styled-components'
export default styled.div`
display:flex;
align-items:center;
height: 152px;
width:30%;
min-width: 336px;
left: 0px;
top: 0px;
margin-right: 10px;
border-radius: 12px;
padding: 28px;
.icon{
width:30%;
padding:5px;
img{
width:100%;
display: flex;
align-items: center;
justify-content: space-between;
height: 150px;
border-radius: 12px;
padding: 28px;
width: 300px;
@media (max-width: 1299px) {
padding: 0 5px;
width: 250px;
}
@media (max-width: 800px) {
width: clamp(200px, 500px, 90vw);
margin: 10px;
height: 100px;
}
.icon {
width: 80px;
padding: 5px;
img {
width: 100%;
}
}
.content {
width: 100%;
text-align: left;
padding-left: 20px;
@media (max-width: 1299px) {
text-align: center;
padding-left: 0;
}
.value {
font-size: 2.2rem;
font-weight: bold;
p {
margin: 0;
}
}
.content{
width:70%;
text-align:left;
padding-left:20px;
.value{
font-size:2.2rem;
font-weight:bold;
p{
margin:0;
}
}
.title{
p{
margin:0;
}
font-size:1.8rem;
margin-top:0;
font-weight:600;
color:#00000080;
.title {
p {
margin: 0;
}
font-size: 1.8rem;
margin-top: 0;
font-weight: 600;
color: #00000080;
}
//border: 3px solid #662CDC33
`
}
`

View File

@ -1,148 +1,186 @@
import {useState} from "react";
import DashboardStyle from "./Dashboard.style";
import Card from "./Card";
import dynamic from 'next/dynamic';
import { useState } from 'react'
import DashboardStyle from './Dashboard.style'
import Card from './Card'
import dynamic from 'next/dynamic'
import MenuOpenIcon from '@mui/icons-material/MenuOpen'
import CloseIcon from '@mui/icons-material/Close'
import { Close } from '@mui/icons-material'
const Chart = dynamic(() => import('react-apexcharts'), {ssr: false});
const Chart = dynamic(() => import('react-apexcharts'), { ssr: false })
function toggleSidebar1(e) {
const sidebar = document.querySelector('.sidebar')
sidebar.classList.toggle('toggle_sidebar')
}
function Sidebar1() {
return (<div className="sidebar">
<ul>
<div className="nav-item mb-2 brand-name"><h1>Brand Name</h1></div>
<div className="profile">
<div className="profile-image"><img
src="https://png.pngtree.com/png-vector/20190307/ourlarge/pngtree-vector-edit-profile-icon-png-image_760869.jpg"/>
</div>
<p className="name">Hayat</p>
<p className="profession">Product Designer</p>
</div>
<div className="creatButton">
<button className={""}>Create Link</button>
</div>
<li className="nav-buttons">
<div className="nav-item">
<button>
Overview
</button>
</div>
<div className="nav-item">
<button>
My Links
</button>
</div>
<div className="nav-item">
<button>
Extras
</button>
</div>
</li>
</ul>
</div>)
return (
<div className="sidebar">
<CloseIcon className="close_icon" onClick={toggleSidebar1} />
<ul>
<div className="nav-item mb-2 brand-name">
<h1>Brand Name</h1>
</div>
<div className="profile">
<div className="profile-image">
<img src="https://png.pngtree.com/png-vector/20190307/ourlarge/pngtree-vector-edit-profile-icon-png-image_760869.jpg" />
</div>
<p className="name">Hayat</p>
<p className="profession">Product Designer</p>
</div>
<div className="creatButton">
<button className={''}>Create Link</button>
</div>
<li className="nav-buttons">
<div className="nav-item">
<button>Overview</button>
</div>
<div className="nav-item">
<button>My Links</button>
</div>
<div className="nav-item">
<button>Extras</button>
</div>
</li>
</ul>
</div>
)
}
function Sidebar2() {
return (
<div className="sidebar2">
<h1 className="dash">Overview</h1>
<div className="row">
<Card icon={"/icons/eye.svg"} value={4000} title={"views"} color={"#662CDC33"}/>
<Card icon={"/icons/link.svg"} value={220} title={"Links active"} color={"rgba(67, 191, 214, 0.2)"}/>
<Card icon={"/icons/status.svg"} title={'status'} color={"rgba(39, 174, 96, 0.2)"}/>
</div>
</div>
)
return (
<div className="sidebar2">
<MenuOpenIcon className="hamburger_icon" onClick={toggleSidebar1} />
<h1 className="dash">Overview</h1>
<div className="row">
<Card
icon={'/icons/eye.svg'}
value={4000}
title={'views'}
color={'#662CDC33'}
/>
<Card
icon={'/icons/link.svg'}
value={220}
title={'Links active'}
color={'rgba(67, 191, 214, 0.2)'}
/>
<Card
icon={'/icons/status.svg'}
title={'status'}
color={'rgba(39, 174, 96, 0.2)'}
/>
</div>
</div>
)
}
function Graph() {
const [graph, setGraph] = useState({
categories: [1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999], data: [30, 40, 45, 50, 49, 60, 70, 91]
})
return (
<div className="row2">
<div className="graph">
<Chart
options={{
chart: {
id: "basic-bar"
}, xaxis: {
categories: graph.categories
}
}}
series={[{
name: "series-1", data: graph.data
}]}
type="line"
width="100%"
height="100%"
/>
</div>
<div className="versions">
<div className="version">
<div className="icon">
<div style={{
background:"#D9F2F7",
color:"#43BFD6"
}} className="box">
v1
</div>
</div>
<div className="title">
Api Version
</div>
</div>
<div className="version">
<div className="icon">
<div style={{
background:"rgba(39, 174, 96, 0.2)",
color:"#27AE60"
}} className="box">
v1
</div>
</div>
<div className="title">
Frontend Version
</div>
</div>
<div className="version">
<div className="icon">
<div style={{
background:"#E0D5F8",
color:"#662CDC"
}} className="box">
120
</div>
</div>
<div className="title">
Links Generated
</div>
</div>
<div className="version">
<div className="icon">
<div style={{
background:"rgba(220, 44, 76, 0.2)",
color:"#EB3256"
}} className="box">
3.4k
</div>
</div>
<div className="title">
Total Views
</div>
</div>
</div>
</div>
)
}
const [graph, setGraph] = useState({
categories: [1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999],
data: [30, 40, 45, 50, 49, 60, 70, 91],
})
return (
<div className="row2">
<div className="graph">
<Chart
options={{
chart: {
id: 'basic-bar',
},
xaxis: {
categories: graph.categories,
},
}}
series={[
{
name: 'series-1',
data: graph.data,
},
]}
type="line"
width="100%"
height="100%"
/>
</div>
<div className="versions">
<div className="version">
<div className="icon">
<div
style={{
background: '#D9F2F7',
color: '#43BFD6',
}}
className="box"
>
v1
</div>
</div>
<div className="title">Api Version</div>
</div>
<div className="version">
<div className="icon">
<div
style={{
background: 'rgba(39, 174, 96, 0.2)',
color: '#27AE60',
}}
className="box"
>
v1
</div>
</div>
<div className="title">Frontend Version</div>
</div>
<div className="version">
<div className="icon">
<div
style={{
background: '#E0D5F8',
color: '#662CDC',
}}
className="box"
>
120
</div>
</div>
<div className="title">Links Generated</div>
</div>
<div className="version">
<div className="icon">
<div
style={{
background: 'rgba(220, 44, 76, 0.2)',
color: '#EB3256',
}}
className="box"
>
3.4k
</div>
</div>
<div className="title">Total Views</div>
</div>
</div>
</div>
)
}
function App() {
return (<DashboardStyle>
<Sidebar1/>
<div className="main">
<Sidebar2/>
<Graph/>
</div>
</DashboardStyle>);
return (
<DashboardStyle>
<Sidebar1 />
<div className="main">
<Sidebar2 />
<Graph />
</div>
</DashboardStyle>
)
}
export default App;
export default App

View File

@ -1,22 +1,44 @@
import styled from "styled-components"
import styled from 'styled-components'
export default styled.div`
display:flex;
height:100vh;
display: flex;
position: relative;
height: 100vh;
@media (max-width: 1100px) {
display: block;
}
/* this shows sidebar when menu icon is clicked */
.toggle_sidebar {
@media (max-width: 1100px) {
left: 0px !important;
}
}
.sidebar {
padding-top:60px;
background-color: #00253A;
float: left;
width: 20%;
min-width:300px;
flex-shrink: 0;
padding-top: 60px;
background-color: #00253a;
width: 300px;
height: 100%;
color: white !important;
transition: all 0.25s;
@media (max-width: 1100px) {
left: -300px;
position: absolute;
z-index: 100;
}
/* for small screens */
@media (max-width: 300px) {
width: 100vw;
}
.brand-name {
margin-top: 40px;
padding-left: 20px;
text-align: center;
}
.profile {
@ -52,7 +74,6 @@ export default styled.div`
}
.creatButton {
margin: 40px auto 80px;
width: 70%;
@ -68,6 +89,19 @@ export default styled.div`
border-radius: 5px;
}
}
.close_icon {
display: none;
font-size: 2rem;
@media (max-width: 1100px) {
display: inline-block;
position: relative;
right: 0;
top: 20px;
margin-left: 80%;
}
}
}
.nav-buttons {
@ -86,91 +120,126 @@ export default styled.div`
text-align: left;
:hover {
background-color: #07344A;
color: #43BFD6;
border-left: 5px solid #43BFD6;
background-color: #07344a;
color: #43bfd6;
border-left: 5px solid #43bfd6;
}
}
}
}
.main{
padding-top:60px;
flex:1;
display:flex;
flex-direction:column;
.row2{
flex:1;
display:flex;
width:100%;
align-items:center;
padding:5%;
padding-top:10px;
box-sizing:border-box;
justify-content:space-between;
.graph{
border-radius:10px;
border:3px solid #E1E1E1;
height:100%;
padding:15px;
width:68%;
min-width:400px;
.main {
padding-top: 90px;
flex: 1;
display: flex;
flex-direction: column;
.row2 {
flex: 1;
display: flex;
width: 100%;
align-items: center;
padding: 20px 40px;
justify-content: space-evenly;
@media (max-width: 1100px) {
margin: 30px 0;
}
.versions{
border-radius:10px;
border:3px solid #E1E1E1;
height:100%;
padding:15px;
width:30%;
min-width:300px;
.version{
display:flex;
margin-bottom:10px;
.icon{
width:40%;
padding:5px;
.box{
height:64px;
width:64px;
border-radius:100px;
display:flex;
justify-content:center;
align-items:center;
font-size:1.2rem;
@media (max-width: 800px) {
flex-direction: column;
}
.graph {
border-radius: 10px;
border: 3px solid #e1e1e1;
height: 100%;
padding: 15px;
width: 60%;
max-width: 700px;
@media (max-width: 1100px) {
height: 500px;
}
@media (max-width: 800px) {
width: clamp(200px, 500px, 90vw);
}
}
.versions {
border-radius: 10px;
border: 3px solid #e1e1e1;
height: 100%;
padding: 15px;
width: 30%;
min-width: 250px;
@media (max-width: 800px) {
margin: 20px 0;
width: clamp(200px, 500px, 90vw);
}
.version {
display: flex;
margin-bottom: 10px;
.icon {
width: 40%;
padding: 5px;
.box {
height: 64px;
width: 64px;
border-radius: 100px;
display: flex;
justify-content: center;
align-items: center;
font-size: 1.2rem;
}
}
.title{
width:60%;
font-size:1.5rem;
font-weight:500;
display:flex;
align-items:center;
.title {
width: 60%;
font-size: 1.5rem;
font-weight: 500;
display: flex;
align-items: center;
}
}
}
}
}
.sidebar2 {
text-align: center;
margin-top:10px;
padding-left:5%;
margin-top: 10px;
position: relative;
.hamburger_icon {
position: absolute;
top: 0;
left: 1rem;
display: none;
font-size: 3rem;
@media (max-width: 1100px) {
display: block;
}
}
.dash {
display: inline-block;
text-align: left;
margin-bottom: 40px;
}
.row {
display: flex;
align-items: center;
justify-content:space-between;
padding-right:40px;
overflow-x:auto;
justify-content: space-evenly;
overflow-x: auto;
@media (max-width: 800px) {
flex-direction: column;
}
}
}
.column {
flex: 30%;
height: 250px;
@ -180,4 +249,4 @@ export default styled.div`
margin-bottom: 10px;
list-style-type: none;
}
`
`

View File

@ -18,68 +18,34 @@ import QrCodeScannerIcon from '@mui/icons-material/QrCodeScanner'
import RocketLaunchIcon from '@mui/icons-material/RocketLaunch'
import RemoveRedEyeIcon from '@mui/icons-material/RemoveRedEye'
import NotFound from '@pages/404'
import styles from '../../styles/Features.module.css'
export default function Index() {
return (
<Box
sx={{
flexGrow: 1,
display: 'flex',
flexDirection: 'column',
alignItems: 'center',
my: 2,
}}
>
<Box>
<Box className={styles.container}>
<Box className={styles.heading}>
<h1> SHORTEN, SHARE AND ANALYZE</h1>
<br />
</Box>
<Box
sx={{
flexGrow: 1,
display: 'flex',
justifyContent: 'space-around',
alignContent: 'space-around',
alignItems: 'space-around',
width: '50vw',
}}
>
<Box
style={{
display: 'flex',
flexDirection: 'column',
justifyContent: 'centre',
alignItems: 'center',
}}
>
<Box className={styles.featuresContainer}>
<Box className={styles.feature}>
<a className="Link" href="NotFound">
<RemoveRedEyeIcon sx={{ width: '3.5rem', height: '3.5rem' }} />
<RemoveRedEyeIcon className={styles.icons} />
<h4>VIEW COUNTER</h4>
</a>
</Box>
<Box
style={{
display: 'flex',
flexDirection: 'column',
justifyContent: 'centre',
alignItems: 'center',
}}
>
<Box className={styles.feature}>
<a className="Link" href="NotFound">
<QrCodeScannerIcon sx={{ width: '3.5rem', height: '3.5rem' }} />
<QrCodeScannerIcon className={styles.icons} />
<h4>QR CODE</h4>
</a>
</Box>
<Box
style={{
display: 'flex',
flexDirection: 'column',
justifyContent: 'centre',
alignItems: 'center',
}}
>
<Box className={styles.feature}>
<a className="Link" href="NotFound">
<RocketLaunchIcon sx={{ width: '3.5rem', height: '3.5rem' }} />
<RocketLaunchIcon className={styles.icons} />
<h4>ROBUST API</h4>
</a>
</Box>

View File

@ -8,47 +8,19 @@ import CloseIcon from '@mui/icons-material/Close'
import ContentCopyIcon from '@mui/icons-material/ContentCopy'
import QRCode from 'qrcode'
import NotFound from '@pages/404'
import styles from '../../styles/HomeSection.module.css'
const QR = {
marginTop: '1.8em',
}
const head = {
fontSize: '5.5rem',
fontWeight: 'bold',
color: 'white',
marginBottom: '30px',
}
const box = {
fontSize: '1.5em',
borderRadius: '50px',
padding: '1em',
width: '500px',
height: '50px',
outline: 'none !important',
border: 'none !important',
marginBottom: '15px',
}
const btn = {
fontWeight: 'bold',
position: 'absolute',
alignItems: 'center',
right: '0px',
marginRight: '5px',
marginTop: '4.5px',
marginBottom: '3px',
height: '40px',
width: '100px',
borderRadius: '50px',
}
const searchBox = {
position: 'relative',
}
function HomeSection(props) {
var qrCode
var minifiedUrl
let qrCode
let minifiedUrl
const [disabled, setDisabled] = useState(false)
const [open, setOpen] = React.useState(false)
const [open, setOpen] = useState(false)
const setMinfy = async () => {
setOpen(false)
setDisabled(true)
@ -63,6 +35,8 @@ function HomeSection(props) {
}
const data = await res.data
console.log(`Data: ${data}`);
props.setShortUrl(data.minifiedUrl)
minifiedUrl = data.minifiedUrl
navigator.clipboard.writeText(props.shortUrl)
@ -88,13 +62,11 @@ function HomeSection(props) {
return (
<HomeSectionStyle>
<div className="content">
<h1 style={head} className="title">
URL MINIFY
</h1>
<h1 className={styles.title}>URL MINIFY</h1>
<div style={searchBox}>
<div className={styles.searchBox}>
<input
style={box}
className={styles.search}
placeholder="Enter the url to be minified......"
value={props.longUrl}
onChange={(e) => {
@ -104,14 +76,15 @@ function HomeSection(props) {
<Button
variant={'contained'}
disabled={disabled}
style={btn}
className={styles.btn}
id="minify"
onClick={setMinfy}
>
MINIFY
</Button>
</div>
<div style={{ marginBottom: '40px', color: '#fff' }}>
<div className={styles.info}>
<h3>
Need more advanced features? |{' '}
<Link href="/signup">
@ -121,6 +94,7 @@ function HomeSection(props) {
</Link>
</h3>
</div>
{
// show QR code if a url is generated
props.showQrCode ? (
@ -138,8 +112,10 @@ function HomeSection(props) {
)
}
</div>
<Collapse in={open}>
<Alert
className={styles.showUrl}
action={
<IconButton
aria-label="close"
@ -163,6 +139,7 @@ function HomeSection(props) {
</IconButton>
</Alert>
</Collapse>
</HomeSectionStyle>
)
}

View File

@ -6,7 +6,6 @@ import {
faUser,
faEnvelope,
faLock,
faClose,
} from '@fortawesome/free-solid-svg-icons'
import { UserContext } from '../../helpers/user/usercontext'
import { useState } from 'react'
@ -28,18 +27,9 @@ function Login() {
return (
<LoginStyle>
<form className="form-wrapper">
<div className="reg-wide-container">
<FontAwesomeIcon icon={faClose} />
</div>
<p className="reg-title">Sign in</p>
<img
src="/images/user.png"
width={100}
height={100}
style={{ 'margin-bottom': 20 }}
></img>
<img src="/images/user.png"></img>
<div className="reg-field">
<div className="reg-label">
@ -55,6 +45,7 @@ function Login() {
placeholder="Email Address"
/>
</div>
<div className="reg-field">
<div className="reg-label">
<FontAwesomeIcon icon={faLock} />
@ -69,11 +60,13 @@ function Login() {
placeholder="Password"
/>
</div>
<Link href="/">
<button type="submit" className="submit-button">
Submit
</button>
</Link>
<p className="foot-text">
New here?&nbsp;
<Link href="/signup" exact className="foot-text underline">

View File

@ -4,7 +4,7 @@ export default function Logo() {
return (
<div className="logo-wrapper">
<svg
class="logo"
className="logo"
data-name="Layer 4"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 53.4 53.31"

View File

@ -2,7 +2,7 @@ import styled from "styled-components";
import { AppBar } from "@mui/material";
export default styled(AppBar)`
position: fixed;
position: fixed !important;
top:0;
left:0;
z-index:100;

View File

@ -6,7 +6,6 @@ import {
faUser,
faEnvelope,
faLock,
faClose,
} from '@fortawesome/free-solid-svg-icons'
import { useState } from 'react'
import { Link } from '@mui/material'
@ -28,11 +27,8 @@ function Reg() {
return (
<RegStyle>
<form className="form-wrapper">
<div className="reg-wide-container">
<FontAwesomeIcon icon={faClose} />
</div>
<p className="reg-title">Sign Up</p>
<div className="reg-field">
<div className="reg-label">
<FontAwesomeIcon icon={faUser} />
@ -47,6 +43,7 @@ function Reg() {
placeholder="Full Name"
/>
</div>
<div className="reg-field">
<div className="reg-label">
<FontAwesomeIcon icon={faEnvelope} />
@ -61,6 +58,7 @@ function Reg() {
placeholder="Email Address"
/>
</div>
<div className="reg-field">
<div className="reg-label">
<FontAwesomeIcon icon={faLock} />
@ -75,6 +73,7 @@ function Reg() {
placeholder="Password"
/>
</div>
<div className="reg-field">
<div className="reg-label">
<FontAwesomeIcon icon={faLock} />
@ -89,9 +88,11 @@ function Reg() {
placeholder="Confirm Password"
/>
</div>
<button type="submit" className="submit-button">
Submit
</button>
<p className="foot-text">
Already registered? Login&nbsp;
<Link href="/login" exact className="foot-text underline">

View File

@ -1,106 +0,0 @@
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;400;500;700&display=swap');
.reg-label {
font-size: 24px;
width: 30px;
color: #9134bd;
position: relative;
}
.reg-title {
font-family: 'Montserrat', sans-serif;
font-weight: 700;
font-size: 36px;
text-align: center;
margin-bottom: 40px;
color: #9134bd;
}
.reg-wide-container {
width: 100%;
text-align: right;
color: #9134bd;
font-size: 24px;
}
.reg-input {
margin-left: 10px;
height: 35px;
width: 340px;
font-family: 'Montserrat', sans-serif;
font-weight: 400;
font-size: 16px;
border-radius: 20px;
padding: 10px;
border: none;
justify-content: flex-end;
color: #9134bd;
}
.reg-input:active,
.reg-input:focus {
outline: none;
}
.reg-input::placeholder {
color: #6babc7;
}
.reg-field {
display: flex;
flex-direction: row;
justify-content: flex-end;
margin-bottom: 20px;
margin-left: 20px;
margin-right: 20px;
}
.form-wrapper {
background-color: rgba(255, 255, 255, 0.5);
padding: 20px 30px 40px 30px;
border-radius: 20px;
font-size: 24px;
text-align: center;
backdrop-filter: blur(6px);
border-style: solid;
border-color: #f1faff;
border-width: 1px 0px 0px 1px;
margin-top: 0;
}
.submit-button {
width: 100px;
height: 40px;
font-family: 'Montserrat', sans-serif;
font-weight: 400;
font-size: 18px;
border-radius: 10px;
border: none;
margin-top: 20px;
background-image: linear-gradient(135deg, #cc5fff, #7e3ee4, #0087ca, #2db9ff);
background-size: 200%;
background-position: left;
color: white;
transition: 0.5s;
}
.submit-button:hover {
background-position: right;
}
.submit-button:active {
transform: scale(0.95);
transition: 0.1s;
}
.icon {
fill: black;
}
.foot-text {
font-family: 'Montserrat', sans-serif;
font-weight: 400;
font-size: 18px;
margin-top: 50px;
color: black;
text-decoration: none;
}
.underline {
text-decoration: underline;
color: #9134bd;
}
.underline:hover {
color: #008ed4;
transition: 0.5s;
}

View File

@ -3966,4 +3966,4 @@
}
}
}
}
}

View File

@ -1,6 +1,6 @@
import { useEffect, useState } from 'react'
import Head from 'next/head'
import HomeSection from 'components/HomeSection/homeSection'
import HomeSection from 'components/HomeSection/HomeSection'
import NavBar from 'components/NavBar'
import Features from 'components/Features'
import { useRouter } from 'next/router'

View File

@ -1,6 +1,6 @@
import '../styles/globals.css'
import '../styles/logostyles.css'
import '../styles/styles.css'
import '../styles/formStyles.css'
import '../styles/index.css'
import '../styles/404.css'
import { UserAuthProvider } from '../helpers/user/usercontext'

View File

@ -1,6 +1,6 @@
import React, { useState } from 'react'
import Head from 'next/head'
import HomeSection from 'components/HomeSection/homeSection'
import HomeSection from 'components/HomeSection/HomeSection'
import NavBar from 'components/NavBar'
import Features from 'components/Features'

View File

@ -0,0 +1,43 @@
.heading{
width: 90%;
text-align: center;
margin: 0 auto;
}
.featuresContainer{
display: flex;
flex-direction: row;
width: 500px;
margin: 0 auto;
padding: 1rem;
align-items: center;
justify-content: space-between;
}
.icons{
font-size: 3.5rem !important;
}
@media screen and (max-width: 500px) {
.featuresContainer{
width: 90vw;
padding: 0;
flex-direction: column;
}
.feature{
width: 200px;
}
.feature a{
display: flex;
flex-direction: row;
justify-content: space-between;
margin: 10px 0;
width: 100%;
}
.icons{
font-size: clamp(2rem, 10vw, 4rem) !important;
}
}

View File

@ -1,116 +0,0 @@
.container {
padding: 0 2rem;
}
.main {
min-height: 100vh;
padding: 4rem 0;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.footer {
display: flex;
flex: 1;
padding: 2rem 0;
border-top: 1px solid #eaeaea;
justify-content: center;
align-items: center;
}
.footer a {
display: flex;
justify-content: center;
align-items: center;
flex-grow: 1;
}
.title a {
color: #0070f3;
text-decoration: none;
}
.title a:hover,
.title a:focus,
.title a:active {
text-decoration: underline;
}
.title {
margin: 0;
line-height: 1.15;
font-size: 4rem;
}
.title,
.description {
text-align: center;
}
.description {
margin: 4rem 0;
line-height: 1.5;
font-size: 1.5rem;
}
.code {
background: #fafafa;
border-radius: 5px;
padding: 0.75rem;
font-size: 1.1rem;
font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono,
Bitstream Vera Sans Mono, Courier New, monospace;
}
.grid {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
max-width: 800px;
}
.card {
margin: 1rem;
padding: 1.5rem;
text-align: left;
color: inherit;
text-decoration: none;
border: 1px solid #eaeaea;
border-radius: 10px;
transition: color 0.15s ease, border-color 0.15s ease;
max-width: 300px;
}
.card:hover,
.card:focus,
.card:active {
color: #0070f3;
border-color: #0070f3;
}
.card h2 {
margin: 0 0 1rem 0;
font-size: 1.5rem;
}
.card p {
margin: 0;
font-size: 1.25rem;
line-height: 1.5;
}
.logo {
height: 1em;
margin-left: 0.5rem;
}
@media (max-width: 600px) {
.grid {
width: 100%;
flex-direction: column;
}
}

View File

@ -0,0 +1,72 @@
.title {
line-height: 1.15;
font-size: 5.5rem;
font-weight: bold;
color: white;
margin-bottom: 30px;
text-align: center;
}
.searchBox{
position: relative;
}
.search{
font-size: 1.5rem;
border-radius: 50px;
padding: 1rem;
width: 500px;
height: 50px;
border: none;
outline: none;
margin-bottom: 15px;
}
.btn{
font-weight: bold !important;
position: absolute !important;
align-items: center !important;
right: 5px;
top: 5px;
height: 40px;
width: 100px;
border-radius: 50px !important ;
}
.info{
color: #fff;
text-align: center;
}
.showUrl{
margin-top: 1rem;
}
@media (max-width: 600px) {
.title{
font-size: clamp(1rem, 15vw, 4rem);
}
.search{
width: 90vw;
font-size: 1.2rem;
}
.showUrl{
width: 90vw;
}
}
@media (max-width: 400px) {
.btn{
top: 100%;
width: 90vw;
font-size: 1.5rem;
}
.info{
margin-top: 50px;
width: 90vw;
font-size: 1rem;
}
}

View File

@ -1,5 +1,30 @@
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;400;500;700&display=swap');
.form-wrapper {
background-color: rgba(255, 255, 255, 0.5);
padding: 20px 30px 40px 30px;
border-radius: 20px;
font-size: 24px;
text-align: center;
backdrop-filter: blur(6px);
border-style: solid;
border-color: #f1faff;
border-width: 1px 0px 0px 1px;
}
.form-wrapper img{
width: 100px;
height: 100px;
margin-bottom: 20px;
}
.reg-field {
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
margin: 0 20px 20px;
}
.reg-label {
font-size: 24px;
width: 30px;
@ -14,12 +39,6 @@
margin-bottom: 40px;
color: #9134bd;
}
.reg-wide-container {
width: 100%;
text-align: right;
color: #9134bd;
font-size: 24px;
}
.reg-input {
margin-left: 10px;
height: 35px;
@ -40,26 +59,7 @@
.reg-input::placeholder {
color: #6babc7;
}
.reg-field {
display: flex;
flex-direction: row;
justify-content: flex-end;
margin-bottom: 20px;
margin-left: 20px;
margin-right: 20px;
}
.form-wrapper {
background-color: rgba(255, 255, 255, 0.5);
padding: 20px 30px 40px 30px;
border-radius: 20px;
font-size: 24px;
text-align: center;
backdrop-filter: blur(6px);
border-style: solid;
border-color: #f1faff;
border-width: 1px 0px 0px 1px;
margin-top: 0;
}
.submit-button {
width: 100px;
height: 40px;
@ -74,6 +74,7 @@
background-position: left;
color: white;
transition: 0.5s;
cursor: pointer;
}
.submit-button:hover {
background-position: right;
@ -83,10 +84,6 @@
transition: 0.1s;
}
.icon {
fill: black;
}
.foot-text {
font-family: 'Montserrat', sans-serif;
font-weight: 400;
@ -105,3 +102,20 @@
color: #008ed4;
transition: 0.5s;
}
@media screen and (max-width: 600px) {
.form-wrapper{
margin: 1rem;
padding: 20px 10px;
}
.reg-input{
width: 60vw;
}
}
@media screen and (max-width: 300px){
.reg-input{
width: 50vw;
}
}

View File

@ -27,9 +27,15 @@ section {
display: flex;
flex-direction: column;
background-image: url('./../assets/bg/main-bg.png');
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
.main-bg {
background-image: url('./../assets/bg/main-bg.png');
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}

View File

@ -1407,4 +1407,4 @@
"string-width" "^4.2.0"
"which-module" "^2.0.0"
"y18n" "^4.0.0"
"yargs-parser" "^18.1.2"
"yargs-parser" "^18.1.2"