This commit is contained in:
Luis Alvarez
2020-10-15 15:20:54 -05:00
23 changed files with 112 additions and 92 deletions

View File

@@ -1,6 +1,6 @@
.quantity {
appearance: textfield;
@apply w-8 border-gray-300 border mx-3 rounded text-center text-sm text-black;
@apply w-8 border-accents-2 border mx-3 rounded text-center text-sm text-black;
}
.quantity::-webkit-outer-spin-button,

View File

@@ -60,7 +60,7 @@ const CartItem = ({
<div className="w-12 h-12 bg-violet relative overflow-hidden">
<img className={s.productImage} src={item.image_url} />
</div>
<div className="flex-1 flex flex-col justify-between text-primary">
<div className="flex-1 flex flex-col justify-between text-base">
<span className="font-bold mb-3">{item.name}</span>
<div className="flex items-center">
<button type="button" onClick={() => increaseQuantity(-1)}>
@@ -80,7 +80,7 @@ const CartItem = ({
</button>
</div>
</div>
<div className="flex flex-col justify-between space-y-2 text-primary">
<div className="flex flex-col justify-between space-y-2 text-base">
<span>{price}</span>
<button
className="flex justify-end"

View File

@@ -92,7 +92,7 @@ const CartSidebarView: FC = () => {
) : (
<>
<div className="px-4 sm:px-6 flex-1">
<h2 className="pt-1 pb-4 text-2xl leading-7 font-bold text-primary tracking-wide">
<h2 className="pt-1 pb-4 text-2xl leading-7 font-bold text-base tracking-wide">
My Cart
</h2>
<ul className="py-6 space-y-6 sm:py-0 sm:space-y-0 sm:divide-y sm:divide-gray-200 border-t border-gray-200">

View File

@@ -10,7 +10,7 @@ interface Props {
const Featurebar: FC<Props> = ({ title, description, className }) => {
const rootClassName = cn(
'hidden py-2 px-6 bg-primary-accent text-primary text-sm text-gray-600 md:flex flex-row justify-center items-center font-medium border-b border-primary-accent',
'hidden py-2 px-6 bg-accents-1 border-b border-accents-2 text-base text-sm text-gray-600 md:flex flex-row justify-center items-center font-medium border-b border-accents-1',
className
)
return (

View File

@@ -0,0 +1,4 @@
.root {
@apply h-full bg-primary mx-auto;
max-width: 2460px;
}

View File

@@ -1,10 +1,13 @@
import { FC } from 'react'
import cn from 'classnames'
import type { Page } from '@lib/bigcommerce/api/operations/get-all-pages'
import { CommerceProvider } from '@lib/bigcommerce'
import { Navbar, Featurebar, Footer } from '@components/core'
import { Container, Sidebar } from '@components/ui'
import { CartSidebarView } from '@components/cart'
import { UIProvider, useUI } from '@components/ui/context'
import s from './Layout.module.css'
import { ThemeProvider } from 'next-themes'
import { SSRProvider, OverlayProvider } from 'react-aria'
interface LayoutProps {
pageProps: {
@@ -13,7 +16,6 @@ interface LayoutProps {
}
interface Props {
children?: any
pages?: Page[]
}
@@ -21,7 +23,7 @@ const CoreLayout: FC<Props> = ({ children, pages }) => {
const { displaySidebar, closeSidebar } = useUI()
return (
<div className="h-full bg-primary">
<div className={cn(s.root)}>
<Featurebar
title="Free Standard Shipping on orders over $99.99"
description="Due to COVID-19, some orders may experience processing and delivery delays."
@@ -39,11 +41,15 @@ const CoreLayout: FC<Props> = ({ children, pages }) => {
}
const Layout: FC<LayoutProps> = ({ children, pageProps }) => (
<CommerceProvider locale="en-us">
<UIProvider>
<CoreLayout pages={pageProps.pages}>{children}</CoreLayout>
</UIProvider>
</CommerceProvider>
<UIProvider>
<ThemeProvider>
<SSRProvider>
<OverlayProvider>
<CoreLayout pages={pageProps.pages}>{children}</CoreLayout>
</OverlayProvider>
</SSRProvider>
</ThemeProvider>
</UIProvider>
)
export default Layout

View File

@@ -1,3 +1,3 @@
.link {
@apply group text-primary inline-flex items-center text-base leading-6 font-medium hover:text-secondary focus:outline-none focus:text-secondary transition ease-in-out duration-100 cursor-pointer;
@apply group text-base inline-flex items-center text-base leading-6 font-medium hover:text-accents-8 focus:outline-none focus:text-accents-8 transition ease-in-out duration-100 cursor-pointer;
}

View File

@@ -17,7 +17,7 @@ const Searchbar: FC<Props> = ({ className }) => {
return (
<div
className={cn(
'relative rounded-lg text-sm bg-primary-accent text-primary w-full',
'relative rounded-lg text-sm bg-accents-1 text-base w-full border border-accents-2',
className
)}
>

View File

@@ -6,10 +6,10 @@
}
.item {
@apply mr-6 cursor-pointer relative transition ease-in-out duration-100 text-primary;
@apply mr-6 cursor-pointer relative transition ease-in-out duration-100 text-base;
&:hover {
@apply text-secondary;
@apply text-accents-8;
}
&:last-child {

View File

@@ -29,7 +29,7 @@ const UserNav: FC<Props> = ({ className }) => {
>
<Bag />
{itemsCount > 0 && (
<span className="bg-black h-4 w-4 absolute rounded-full right-3 top-3 text-white flex items-center justify-center font-bold text-xs">
<span className="border border-accent-1 bg-secondary text-secondary h-4 w-4 absolute rounded-full right-3 top-3 flex items-center justify-center font-bold text-xs">
{itemsCount}
</span>
)}

View File

@@ -9,7 +9,7 @@
& .productTitle,
& .productPrice,
& .wishlistButton {
@apply bg-black text-white;
@apply bg-secondary text-secondary;
}
&:nth-child(6n + 1) .productTitle,
@@ -66,7 +66,7 @@
}
.productTitle {
@apply p-3 h-14 bg-primary text-primary font-bold text-xl truncate leading-8 inline-flex;
@apply p-3 h-14 bg-primary text-base font-bold text-xl truncate leading-8 inline-flex;
max-width: calc(100% - 50px);
@screen lg {
@@ -75,9 +75,9 @@
}
.productPrice {
@apply px-3 py-1 pb-2 bg-primary text-primary font-semibold inline-block text-sm leading-6;
@apply px-3 py-1 pb-2 bg-primary text-base font-semibold inline-block text-sm leading-6;
}
.wishlistButton {
@apply w-10 h-10 flex items-center justify-center bg-primary text-primary font-semibold inline-block text-xs leading-6 cursor-pointer;
@apply w-10 h-10 flex items-center justify-center bg-primary text-base font-semibold inline-block text-xs leading-6 cursor-pointer;
}

View File

@@ -1,15 +1,15 @@
.root {
@apply h-12 w-12 bg-primary text-primary rounded-full mr-3 inline-flex
@apply h-12 w-12 bg-primary text-base rounded-full mr-3 inline-flex
items-center justify-center cursor-pointer transition duration-75 ease-in-out
p-0 shadow-none border-gray-200 border box-border;
}
.active.size {
@apply border-secondary border-2;
@apply border-accents-2 border-2;
}
.root:hover {
@apply transform scale-110 bg-primary-hover;
@apply transform scale-110 bg-hover;
}
.colorViolet {

View File

@@ -1,12 +1,12 @@
.root {
@apply text-secondary cursor-pointer inline-flex px-10 rounded-sm leading-6
@apply text-accents-1 cursor-pointer inline-flex px-10 rounded-sm leading-6
bg-secondary transition ease-in-out duration-150 shadow-sm font-semibold
text-center justify-center uppercase py-4 uppercase text-center focus:outline-none
border border-transparent items-center;
}
.root:hover {
@apply bg-primary-accent text-primary border border-secondary;
@apply bg-accents-0 text-base border border-secondary;
}
.root:focus {

View File

@@ -6,12 +6,12 @@ const Logo = () => (
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<rect width="32" height="32" rx="16" fill="var(--bg-secondary)" />
<rect width="32" height="32" rx="16" fill="var(--secondary)" />
<path
fillRule="evenodd"
clipRule="evenodd"
d="M17.6482 10.1305L15.8785 7.02583L7.02979 22.5499H10.5278L17.6482 10.1305ZM19.8798 14.0457L18.11 17.1983L19.394 19.4511H16.8453L15.1056 22.5499H24.7272L19.8798 14.0457Z"
fill="var(--bg-primary)"
fill="var(--primary)"
/>
</svg>
)

View File

@@ -73,7 +73,7 @@ const Sidebar: FC<Props> = ({ className, children, show = true, close }) => {
leaveTo="translate-x-full"
>
<div className="h-full w-screen max-w-lg">
<div className="h-full flex flex-col text-primary bg-primary-accent shadow-xl overflow-y-auto">
<div className="h-full flex flex-col text-base bg-accents-1 shadow-xl overflow-y-auto">
{children}
</div>
</div>

View File

@@ -1,5 +1,5 @@
.root {
@apply grid grid-cols-12 w-full gap-6 px-3 py-6 border-b border-primary-hover;
@apply grid grid-cols-12 w-full gap-6 px-3 py-6 border-b border-accents-2;
&:nth-child(3n + 1) {
& .productBg {