Skip to content

Commit

Permalink
feat: add pizza-menu play
Browse files Browse the repository at this point in the history
  • Loading branch information
aaqib605 committed Nov 5, 2024
1 parent 3a48cc2 commit 028cf65
Show file tree
Hide file tree
Showing 22 changed files with 532 additions and 104 deletions.
2 changes: 1 addition & 1 deletion src/common/playlists/playlist.css
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@
margin-top: 0.4rem;
padding-top: 0.4rem;
}
.header-rightcol{
.header-rightcol {
max-width: 95%;
}

Expand Down
16 changes: 11 additions & 5 deletions src/plays/Selection-Sort-Visualizer/SelectionSortVisualizer.js
Original file line number Diff line number Diff line change
Expand Up @@ -78,16 +78,22 @@ function SelectionSortVisualizer() {
</div>
<div className="visualizer-input-container">
<input
type="number"
className="input-field"
type="number"
value={inputValue}
onChange={(e) => setInputValue(e.target.value)}
/>
<button className="button-green" onClick={handleAdd}>Add</button>
<button className="button-blue" onClick={handleSort}>Sort</button>
<button className="button-blue" onClick={handleReset}>Reset</button>
<button className="button-green" onClick={handleAdd}>
Add
</button>
<button className="button-blue" onClick={handleSort}>
Sort
</button>
<button className="button-blue" onClick={handleReset}>
Reset
</button>
</div>
<div id="output-visualizer"></div>
<div id="output-visualizer" />
</div>
);
}
Expand Down
188 changes: 94 additions & 94 deletions src/plays/Selection-Sort-Visualizer/select.css
Original file line number Diff line number Diff line change
@@ -1,96 +1,96 @@
/* Scoped styles for the Selection Sort Visualizer */
.visualizer-body {
background-color: papayawhip;
}
.visualizer-container * {
font-size: 16px;
font-weight: bold;
font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}
.visualizer-head {
margin-top: 20px;
margin-right: 20vw;
margin-left: 20vw;
text-align: center;
font-size: 30px;
background-color: greenyellow;
color: white;
border-radius: 19px;
font-weight: bolder;
}
.visualizer-input-container {
display: flex;
flex-direction: row;
margin: 2rem 5rem;
}
.input-field {
width: 180px;
height: 40px;
border: 1px solid black;
border-radius: 5px;
outline: none;
text-align: center;
}
.button-blue,
.button-green {
width: 100px;
text-align: center;
margin-left: 10px;
border: 1px solid black;
border-radius: 5px;
height: 40px;
color: white;
}
.button-green {
background-color: #4cd430;
}
.button-blue {
background-color: #3478d5;
}
#input-visualizer {
margin: 0 5rem;
margin-top: 2rem;
display: flex;
text-align: center;
}
#input-visualizer div {
margin-right: 10px;
background-color: #e6852c;
border: 1px solid black;
border-radius: 5px;
padding: 10px;
width: 50px;
color: white;
}
#output-visualizer {
display: flex;
flex-direction: column;
}
#output-visualizer div {
margin: 0 5rem;
margin-top: 2rem;
display: flex;
text-align: center;
}
#output-visualizer div span {
margin-right: 10px;
background-color: #3478d5;
border: 1px solid black;
border-radius: 5px;
padding: 10px;
width: 50px;
color: white;
}
background-color: papayawhip;
}

.visualizer-container * {
font-size: 16px;
font-weight: bold;
font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva,
Verdana, sans-serif;
}

.visualizer-head {
margin-top: 20px;
margin-right: 20vw;
margin-left: 20vw;
text-align: center;
font-size: 30px;
background-color: greenyellow;
color: white;
border-radius: 19px;
font-weight: bolder;
}

.visualizer-input-container {
display: flex;
flex-direction: row;
margin: 2rem 5rem;
}

.input-field {
width: 180px;
height: 40px;
border: 1px solid black;
border-radius: 5px;
outline: none;
text-align: center;
}

.button-blue,
.button-green {
width: 100px;
text-align: center;
margin-left: 10px;
border: 1px solid black;
border-radius: 5px;
height: 40px;
color: white;
}

.button-green {
background-color: #4cd430;
}

.button-blue {
background-color: #3478d5;
}

#input-visualizer {
margin: 0 5rem;
margin-top: 2rem;
display: flex;
text-align: center;
}

#input-visualizer div {
margin-right: 10px;
background-color: #e6852c;
border: 1px solid black;
border-radius: 5px;
padding: 10px;
width: 50px;
color: white;
}

#output-visualizer {
display: flex;
flex-direction: column;
}

#output-visualizer div {
margin: 0 5rem;
margin-top: 2rem;
display: flex;
text-align: center;
}

#output-visualizer div span {
margin-right: 10px;
background-color: #3478d5;
border: 1px solid black;
border-radius: 5px;
padding: 10px;
width: 50px;
color: white;
}
4 changes: 2 additions & 2 deletions src/plays/daily-journa/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ This play is about writing daily entries, categorising them by mood or topic, an

- User: GhadaRV
- Gihub Link: https://github.com/GhadaRV
- Blog:
- Video:
- Blog:
- Video:

## Implementation Details

Expand Down
2 changes: 1 addition & 1 deletion src/plays/dictionary/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Display the definition, pronunciation, antonyms and synonyms of the word

## Implementation Details

This implenmetation uses axios to call a remote API. The remote API returns the meaning as well as synonyms and antonyms of the word entered by the user, which is rendered.
This implenmetation uses axios to call a remote API. The remote API returns the meaning as well as synonyms and antonyms of the word entered by the user, which is rendered.

## Consideration

Expand Down
17 changes: 17 additions & 0 deletions src/plays/pizza-menu/App.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import React from 'react';

import Header from './components/Header';
import Menu from './components/Menu';
import Footer from './components/Footer';

const App = () => {
return (
<div className="pizza-menu_container pizza-menu_body">
<Header />
<Menu />
<Footer />
</div>
);
};

export default App;
20 changes: 20 additions & 0 deletions src/plays/pizza-menu/PizzaMenu.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import React from 'react';

import PlayHeader from 'common/playlists/PlayHeader';
import App from './App';
import './styles.css';

function PizzaMenu(props: any) {
return (
<>
<div className="play-details">
<PlayHeader play={props} />
<div className="play-details-body">
<App />
</div>
</div>
</>
);
}

export default PizzaMenu;
27 changes: 27 additions & 0 deletions src/plays/pizza-menu/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Pizza Menu

A pizza menu that showcases a variety of pizzas, including detailed information such as ingredients, prices, and availability. Each pizza listing clearly indicates if it’s currently sold out, helping customers make quick and informed choices.

## Play Demographic

- Language: ts
- Level: Beginner

## Creator Information

- User: aaqib605
- Gihub Link: https://github.com/aaqib605
- Blog: https://hashnode.com/@aaqib605
- Video:

## Implementation Details

Update your implementation idea and details here

## Consideration

Update all considerations(if any)

## Resources

Update external resources(if any)
Binary file added src/plays/pizza-menu/assets/focaccia.jpg
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/plays/pizza-menu/assets/funghi.jpg
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/plays/pizza-menu/assets/margherita.jpg
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/plays/pizza-menu/assets/prosciutto.jpg
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/plays/pizza-menu/assets/salamino.jpg
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/plays/pizza-menu/assets/spinaci.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions src/plays/pizza-menu/components/Footer.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import React from 'react';

import Order from './Order';

const Footer = () => {
const hour = new Date().getHours();
const openHour = 12;
const closeHour = 22;
const isOpen = hour >= openHour && hour <= closeHour;

return (
<footer className="pizza-menu_footer">
{isOpen ? (
<Order closeHour={closeHour} openHour={openHour} />
) : (
<p>
We're happy to welcome you between {openHour}:00 and {closeHour}:00.
</p>
)}
</footer>
);
};

export default Footer;
11 changes: 11 additions & 0 deletions src/plays/pizza-menu/components/Header.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import React from 'react';

const Header = () => {
return (
<header className="pizza-menu_header">
<h1 className="pizza-menu_logo-title">Fast React Pizza Co.</h1>
</header>
);
};

export default Header;
Loading

0 comments on commit 028cf65

Please sign in to comment.