Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alex & Axel design-handoff #58

Open
wants to merge 61 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
0a49f9f
Added components
Xikitita Apr 23, 2024
6aefac2
added components that were erased on first push
Xikitita Apr 23, 2024
712820e
working on hero section
Xikitita Apr 23, 2024
0060bde
Added Hero Image and created button components with styling
Xikitita Apr 23, 2024
443c162
added fonts and adjusted content to fit mobile media queries, 600px v…
Xikitita Apr 23, 2024
2272e16
Merge pull request #1 from AHPIXI/fonts
Xikitita Apr 23, 2024
7c501b2
added som styling
AHPIXI Apr 24, 2024
c92f275
added new section/component
Xikitita Apr 24, 2024
2041495
added components
AHPIXI Apr 24, 2024
bdc6157
Added components for cards section
Xikitita Apr 24, 2024
dc101b2
Added components for cards
Xikitita Apr 24, 2024
85f1d8f
tried to adjust hero content
Xikitita Apr 24, 2024
4575d0c
Added a component for carousel and strted to create navbar
Xikitita Apr 25, 2024
ea9ec1a
Merge pull request #3 from AHPIXI/Carousel
Xikitita Apr 25, 2024
bb2d194
Finished navbar layout for mobile
Xikitita Apr 25, 2024
6213d6a
Merge pull request #4 from AHPIXI/navbar
Xikitita Apr 25, 2024
8cbfb70
Finished styling of buttons, hover and active state
Xikitita Apr 25, 2024
c564e10
Added testimonial/statement section
Xikitita Apr 25, 2024
1fad1b0
Merge pull request #5 from AHPIXI/statement-cards
Xikitita Apr 25, 2024
167d635
added two more sections
AHPIXI Apr 26, 2024
0a48e9a
added two more sections (#6)
AHPIXI Apr 26, 2024
8b410b4
merged conflicts
AHPIXI Apr 26, 2024
73e2608
merged conflicts
AHPIXI Apr 26, 2024
df79b23
Structured components for demo
Xikitita Apr 26, 2024
757ca54
Changed img path
Xikitita Apr 26, 2024
8987269
Added logo for footer
Xikitita Apr 26, 2024
5fc6d11
added info to footer
AHPIXI Apr 26, 2024
5c21a9e
Added footer info and styled accordingly to design handoff
Xikitita Apr 26, 2024
8e46a58
Adjusted buttons and exported button component correctly
Xikitita Apr 26, 2024
9aa63f5
Finished footer
Xikitita Apr 26, 2024
8b7cef0
Merge pull request #7 from AHPIXI/footer
Xikitita Apr 26, 2024
691fd3b
Added links on hover & active state in footer component
Xikitita Apr 27, 2024
1c20412
Merge pull request #8 from AHPIXI/footer-links
Xikitita Apr 27, 2024
910f864
Added dropdown menu and styling
Xikitita Apr 27, 2024
3539ccc
Merge pull request #9 from AHPIXI/dropdown-menu
Xikitita Apr 27, 2024
2ac2bac
Added component and context for carousel function
Xikitita Apr 27, 2024
50ca1d1
Merge pull request #10 from AHPIXI/carousel-component
Xikitita Apr 27, 2024
cf3cfb9
Added favicon
Xikitita Apr 28, 2024
70acc38
moved image for deploy
Xikitita Apr 28, 2024
b89cab0
changed img path for deploy
Xikitita Apr 28, 2024
a64182e
changed image path
Xikitita Apr 28, 2024
022c53d
img path
Xikitita Apr 28, 2024
970c49e
changed img path
Xikitita Apr 28, 2024
967c780
img paths
Xikitita Apr 28, 2024
1855fce
added media queries for MakeYourPick.jsx file
Xikitita Apr 28, 2024
e637fbf
Merge pull request #11 from AHPIXI/deploy-issues
Xikitita Apr 28, 2024
75c1466
Updated Readme file
Xikitita Apr 28, 2024
f0cd4ba
Merge branch 'main' of https://github.com/AHPIXI/project-design-hando…
Xikitita Apr 28, 2024
1733598
media queries (#12)
AHPIXI Apr 29, 2024
5952f91
media queries for hero section
AHPIXI Apr 30, 2024
93b946a
more media queries
AHPIXI May 2, 2024
b7c8aff
moved img to public folder
AHPIXI May 2, 2024
383bf4e
updated file path
AHPIXI May 2, 2024
ae60b14
updated readmefile
AHPIXI May 2, 2024
339fd4b
media queries
Xikitita May 2, 2024
e113536
merge
Xikitita May 2, 2024
d90f6fa
image path
Xikitita May 2, 2024
f0e6f0a
button left-aligned in hero section
Xikitita Jun 19, 2024
7e89f91
Fixes made from requested changes
Xikitita Jun 20, 2024
ba4f6fe
added code for accessibility
Xikitita Jun 20, 2024
baeaf91
accessibility improvement
AHPIXI Jun 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 3 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,15 @@
</a>
</h1>

### Remove git

rm -rf .git

# Design Handoff Project

Replace this readme with your own information about your project.

Start by briefly describing the assignment in a sentence or two. Keep it short and to the point.

## Getting Started with the Project

### Dependency Installation & Startup Development Server
This week we recieved a design from a UX student to follow as precisely as possible.

Once cloned, navigate to the project's root directory and this project uses npm (Node Package Manager) to manage its dependencies.

The command below is a combination of installing dependencies, opening up the project on VS Code and it will run a development server on your terminal.

```bash
npm i && code . && npm run dev
```

### The Problem

Describe how you approached to problem, and what tools and techniques you used to solve it. How did you plan? What technologies did you use? If you had more time, what would be next?
We decided to use Styled Components for CSS to work on our UI. At first it required some practise but after some repetition, the workflow gets really fun. It's a bit time consuming to not have all the CSS rules built in, so it's been a learning-by-trying-out many different solutions and commands.

### View it live

Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about.

## Instructions

<a href="instructions.md">
See instructions of this project
</a>
https://monumental-banoffee-da2acb.netlify.app/
12 changes: 11 additions & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,17 @@
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Music Releases - Project - Week 5</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&family=Philosopher:ital,wght@0,400;0,700;1,400;1,700&display=swap"
rel="stylesheet" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap"
rel="stylesheet" />
<title>Design handoff week 12</title>
</head>
<body>
<div id="root"></div>
Expand Down
9 changes: 7 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,21 @@
},
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0"
"react-dom": "^18.2.0",
"react-responsive-carousel": "^3.2.23",
"react-swipeable": "^7.0.1",
"styled-components": "^6.1.8"
},
"devDependencies": {
"@types/react": "^18.2.15",
"@types/react-dom": "^18.2.7",
"@vitejs/plugin-react": "^4.0.3",
"babel-plugin-styled-components": "^2.1.4",
"eslint": "^8.45.0",
"eslint-plugin-react": "^7.32.2",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.3",
"vite": "^4.4.5"
"vite": "^4.4.5",
"vite-plugin-babel": "^1.2.0"
}
}
Binary file added public/contactImage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file added public/favicon.ico
Empty file.
25 changes: 24 additions & 1 deletion src/App.jsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
import { Fonts } from "./components/Fonts";
import { Hero } from "./components/Hero";
import { OurOfferings } from "./components/OurOfferings";
import { OurLessons } from "./components/OurLessons";
import { Contact } from "./components/Contact";
import { TestimonialCards } from "./components/TestimonialCards";
import { MakeYourPick } from "./components/MakeYourPick";
import { Footer } from "./components/Footer";
import { CarouselProvider } from "./contexts/CarouselContext";

export const App = () => {
return <div>Find me in src/app.jsx!</div>;
return (
<>
<CarouselProvider>
<Fonts />
<Hero />
<OurOfferings />
<OurLessons />
<TestimonialCards />
<MakeYourPick />
<Contact />
<Footer />
</CarouselProvider>
</>
);
};
Binary file added src/assets/contactImage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 0 additions & 18 deletions src/assets/design-handoff.svg

This file was deleted.

Binary file added src/assets/desktopIcons/explore-desktop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/desktopIcons/fun-desktop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/desktopIcons/house-desktop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/desktopIcons/snowboarder-desktop.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/followUsSection/chevron.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/followUsSection/facebook.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/followUsSection/instagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/footerImages/desktop-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/footerImages/mobile-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/footerImages/tablet-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/heroSectionImages/heroImage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/heroSectionImages/menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/heroSectionImages/mountainGraphic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/heroSectionImages/navbarLogoBlack.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/heroSectionImages/vector.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/mobileIcons/explore-mobile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/mobileIcons/fun-mobile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/mobileIcons/house-mobile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/mobileIcons/snowboarder-mobile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/ourLessonsImage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/priceCards/priceCardOne.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/priceCards/priceCardThree.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/priceCards/priceCardTwo.png
Binary file added src/assets/tabletIcons/explore-tablet.png
Binary file added src/assets/tabletIcons/fun-tablet.png
Binary file added src/assets/tabletIcons/house-tablet.png
Binary file added src/assets/tabletIcons/snowboarder-tablet.png
Binary file added src/assets/testimonialCards/CardOne.png
Binary file added src/assets/testimonialCards/CardThree.png
Binary file added src/assets/testimonialCards/CardTwo.png
38 changes: 38 additions & 0 deletions src/components/Buttons.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import styled from "styled-components";

export const Button = styled.button`
display: inline-flex;
padding: 16px 32px;
justify-content: center;
align-items: center;
gap: 10px;
width: 85%;
height: 48px;
margin: auto;


border-radius: 32px;
border: 1px solid var(--Powder-Black, #0b1623);
background: var(--Powder-Accent-1-Regular, #ffa3c4);
box-shadow: 2px 3px 0px 0px #0b1623;
color: var(--Powder-Black, #0b1623);

font-family: Mulish;
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 100%;

&:hover {
border-radius: 32px;
border: 1px solid var(--Powder-Black, #0b1623);
background: var(--Powder-Accent-1-Dark, #f87ba8);
box-shadow: 2px 3px 0px 0px #0b1623;

&:active {
border-radius: 32px;
border: 1px solid var(--Powder-Black, #0B1623);
background: linear-gradient(180deg, #D2678E 0%, #F87BA8 59.5%);
box-shadow: 2px 3px 0px 0px #0B1623;
}
`;
48 changes: 48 additions & 0 deletions src/components/Carousel.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import styled from "styled-components";
import { useCarousel } from "../contexts/CarouselContext.jsx";

export const Carousel = () => {
const { testimonialNumber, testimonial, handlers } = useCarousel();

const translateValue = -testimonialNumber * 100;

return (
<CarouselContainer {...handlers} className="carousel">
{testimonial.map(({ testimonialImage, id }) => (
<Slide key={id} translateValue={translateValue}>
<CarouselTestimonials>
<Image
src={testimonialImage}
alt="image with testimonial from previous participants"
/>
</CarouselTestimonials>
</Slide>
))}
</CarouselContainer>
);
};

const CarouselContainer = styled.div`
display: flex;
flex-direction; row;
overflow: hidden;
width: 100%;
`;

const Slide = styled.div`
flex: 0 0 100%;
transition: transform 0.5s ease;
transform: translateX(${(props) => props.translateValue}%);
`;

const CarouselTestimonials = styled.div`
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin-left: 16px;
margin-right: 16px;
gap: 16px;
`;

const Image = styled.img``;
74 changes: 74 additions & 0 deletions src/components/Contact.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
import contactImage from "/contactImage.png";
import { Button } from "./Buttons.jsx";
import styled from "styled-components";

export const Contact = () => {
return (
<>
<ContactWrapper>
<ContactImage></ContactImage>
<ContactContent>
<ContactText>
<h1>Not sure what to choose?</h1>
<p>We are happy to help. Let’s chat!</p>
</ContactText>
<Button aria-label="Start a chat">Start a chat</Button>
</ContactContent>
</ContactWrapper>
</>
);
};

const ContactWrapper = styled.section`
background-color: #e6f4ff;
display: grid;

@media (min-width: 600px) {
grid-template-columns: 1fr 1fr;
}
`;
const ContactContent = styled.div`
display: flex;
flex-direction: column;
margin: auto;
padding-bottom: 24px;
`;

const ContactImage = styled.div`
background-image: url(${contactImage});
background-size: cover;
background-repeat: no-repeat;
width: 100%;
min-height: 240px;

@media (min-width: 600px) {
order: 0;
}
`;

const ContactText = styled.div`
margin-left: 24px;
margin-right: 24px;

h1 {
width: 100 %
color: var(--Powder-Black, #0b1623);
font-family: Philosopher;
font-size: 36px;
font-style: normal;
font-weight: 700;
line-height: 130%; /* 46.8px */
letter-spacing: 1.08px;
margin-bottom: 24px;
}
p {
color: var(--Powder-Black, #0b1623);
font-family: Mulish;
font-size: 18px;
font-style: normal;
font-weight: 600;
line-height: 130%;
margin-bottom: 40px;
width: 100%;
}
`;
123 changes: 123 additions & 0 deletions src/components/Dropdown.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
import { useState } from "react";
import styled from "styled-components";
import menuIcon from "../assets/heroSectionImages/menu.png";
import vector from "../assets/heroSectionImages/vector.png";

export const Dropdown = () => {
const [isOpen, setIsOpen] = useState(false);

const options = [
{ value: "Camps", label: "Camps" },
{ value: "Accommodation", label: "Accommodation" },
{ value: "About Us", label: "About Us" },
];

const toggleDropdown = () => {
setIsOpen(!isOpen);
};

return (
<SelectContainer>
<DropdownButton
onClick={toggleDropdown}
aria-haspopup="true"
aria-expanded={isOpen}>
<DropdownMenu src={menuIcon} alt="Navigation bar menu" />
</DropdownButton>

<OptionsContainer open={isOpen} role="menu" aria-label="Options">
<VectorBtn onClick={toggleDropdown} aria-label="Close menu">
<VectorImg src={vector} alt="" />
</VectorBtn>
{options.map((option) => (
<Option key={option.value} role="menuitem" tabIndex="0" onClick={toggleDropdown}>
{option.label}
</Option>
))}
</OptionsContainer>
</SelectContainer>
);
};

const SelectContainer = styled.div`
position: relative;
display: flex;
justify-content: flex-end;
@media (min-width: 1200px) {
}
`;

const DropdownButton = styled.button`
background: none;
font-size: 16px;
border: none;
width: 60px;
display: flex;
align-items: center;
cursor: pointer;
@media (min-width: 1200px) {
display: none;
}
`;

const DropdownMenu = styled.img`
padding-top: 24px;
`;

const OptionsContainer = styled.div`
position: absolute;
background: linear-gradient(180deg, #99c4eb 0%, #c3ddf3 100%);
top: 100%;
width: 150px;
padding-bottom: 20px;
border: none;
display: ${({ open }) => (open ? "" : "none")};
@media (min-width: 1200px) {
width: 400px;
display: flex;
justify-content: space-between;
background: none;
padding-right: 150px;
}
`;

const VectorBtn = styled.button`
background: none;
border: none;
@media (min-width: 1200px) {
display: none;
}
`;

const VectorImg = styled.img`
display: flex;
background: none;
border: none;
flex-direction: flex-end;
width: 12px;
height: 12px;
padding-left: 125px;
padding-top: 6px;
@media (min-width: 1200px) {
display: none;
}
`;

const Option = styled.div`
position: relative;
right: 0;
cursor: pointer;
color: (--Powder-Black, #0b1623);
text-align: left;
font-family: Mulish;
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 130%;
padding: 12px;

&:hover {
text-decoration: underline;
text-underline-offset: 3px;
}
`;
Loading