-
Notifications
You must be signed in to change notification settings - Fork 85
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
Code Review #27
Open
mayaajike
wants to merge
29
commits into
codepath:main
Choose a base branch
from
mayaajike:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Code Review #27
Changes from 26 commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
6bebcf1
Added new Components
mayaatmeta 5d03bde
Added App styling
mayaatmeta 065f2a2
Added Modal styling
mayaatmeta d63990f
Added MovieCard styling
mayaatmeta e5d78ad
Added MovieCard Component
mayaatmeta 026f9f2
Added MovieList styling
mayaatmeta 883bfe1
Added MovieList Component
mayaatmeta 7916f26
Added Search Component
mayaatmeta c3d439a
Added api key
mayaatmeta 091f138
hid api key
mayaatmeta 7472cab
edited file name
mayaatmeta 147c02e
Added Modal Component
mayaatmeta 2f3a39b
Working Modal
mayaatmeta c6f4bf5
Modal updated with runtime
mayaatmeta 97585ba
Modal with runtime ✅
mayaatmeta c9ad1e3
Modal Component✅
mayaatmeta 116414d
Added like and watched features
mayaatmeta 677bb79
Filtering and Sorting feature✅
mayaatmeta e7fe6ff
Footer added
mayaatmeta 80ebbb4
Working sidebar, no movies added.
mayaatmeta 04a9369
Adding liked songs to side bar feature ✅
mayaatmeta d7d123c
Adding watched movies to sidebar feature✅
mayaatmeta ef5479d
Updated modal with poster background and embedded youtube trailer
mayaatmeta 0ef6526
final css changes made
mayaatmeta 58adaa7
Update README.md
mayaajike 7b94bce
Update README.md
mayaajike 6247b27
style updates
mayaatmeta e7f81f1
Merge branch 'main' of https://github.com/mayaajike/flixster-starter
mayaatmeta 7d53211
Update README.md
mayaajike File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
VITE_API_KEY=0d7613c1b95dbc61f3dd491c8f802475 | ||
|
||
|
||
# import.meta.env.VITE_API_KEY |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,70 @@ | ||
# React + Vite | ||
## Unit Assignment: Flixster | ||
|
||
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. | ||
Submitted by: **MAYA ODY-AJIKE** | ||
|
||
Currently, two official plugins are available: | ||
Estimated time spent: **#>=45** hours spent in total | ||
|
||
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh | ||
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh | ||
Deployed Application (optional): [Flixster Deployed Site](https://flixster-starter-c8r7.onrender.com/) | ||
|
||
### Application Features | ||
|
||
#### CORE FEATURES | ||
|
||
|
||
- [x] **Display Movies** | ||
- [x] Users can view a list of current movies from The Movie Database API. | ||
- [x] For each movie displayed, users can see its title, poster image, and votes. | ||
- [x] Users can load more current movies by clicking a button at the bottom of the list (page should not be reloaded). | ||
- [x] **Search Functionality** | ||
- [x] Users can search for movies and view the results in a grid. | ||
- [x] Users can clear results and view previous current movies displayed. | ||
- [x] **Accessibility Features** | ||
- [x] Website implements accessibility features (semantic HTML, color contrast, font sizing, alt text for images). | ||
- [x] **Responsive Design** | ||
- [x] Website implements responsive web design. | ||
- [x] **Movie Details** | ||
- [x] Users can view more details about a movie in a popup, such as runtime in minutes, backdrop poster, release date, genres, and/or an overview. | ||
- [x] **Sorting Options** | ||
- [x] Users can click on a filter by drop down to sort product by type (alphabetic, release date, rating). | ||
- [x] **Layout** | ||
- [x] Website displays header, banner, search, movie grid, about, contact, and footer section. | ||
|
||
#### STRETCH FEATURES | ||
|
||
- [x] **Deployment** | ||
- [x] Website is deployed via Render. | ||
- [x] **Embedded Movie Trailers** | ||
- [x] Within the popup displaying a movie's details, users can play the movie trailer. | ||
- [x] **Watched Checkbox** | ||
- [x] For each movie displayed, users can mark the movie as watched. | ||
- [x] **Favorite Button** | ||
- [x] For each movie displayed, users can favorite the movie. | ||
- [x] **Sidebar** | ||
- [x] Users can open a sidebar | ||
- [x] The sidebar displays the user's favorited and watched movies | ||
|
||
### Walkthrough Video | ||
https://youtu.be/RPEgE3v8sM0?si=C5ESvc59nbDtWL71 | ||
|
||
### Reflection | ||
|
||
* Did the topics discussed in your labs prepare you to complete the assignment? Be specific, which features in your weekly assignment did you feel unprepared to complete? | ||
|
||
I felt unprepared handling the useState and useEffects, passing props from Parent to Child and Child back to Parents was also difficult for me. I also felt unprepared to access the data from the API calls at first, but after doing it multiple times I was able to get the hang of it. | ||
|
||
* If you had more time, what would you have done differently? Would you have added additional features? Changed the way your project responded to a particular event, etc. | ||
|
||
If I had more time I would have done more CSS designs and made my app a little more responsive. I would have also styled my side bar a lot better. | ||
|
||
* Reflect on your project demo, what went well? Were there things that maybe didn't go as planned? Did you notice something that your peer did that you would like to try next time? | ||
|
||
I think my demo went well, My peers did a lot of cool designs and animations and I would like to try some more of that next time. | ||
|
||
### Open-source libraries used | ||
|
||
- Add any links to open-source libraries used in your project. | ||
|
||
### Shout out | ||
|
||
Give a shout out to somebody from your cohort that especially helped you during your project. This can be a fellow peer, instructor, TA, mentor, etc. | ||
Shoutout to Saja, Marvin, Carter, George, Makayla, Thomas, Jackie, and my manager Melissa everyone overall was super helpful! |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,130 @@ | ||
.App { | ||
@font-face { | ||
font-family: 'Blacklisted'; | ||
src: url('./assets/Blacklisted.ttf') format('truetype'); | ||
} | ||
|
||
@font-face { | ||
font-family: 'Lato-regular'; | ||
src: url('./assets/Lato/Lato-Regular.ttf') format('truetype'); | ||
} | ||
|
||
#root { | ||
max-width: 1900px; | ||
margin: 0 auto; | ||
text-align: center; | ||
background-color: #f5f5f5; | ||
} | ||
|
||
main { | ||
max-width: 1700px; | ||
display: grid; | ||
justify-content: end; | ||
margin-left: 70px; | ||
font-family: 'Lato-regular'; | ||
} | ||
|
||
.header { | ||
border: 2px solid indigo; | ||
width: 100%; | ||
background-color: indigo; | ||
border-bottom-right-radius: 30px; | ||
} | ||
|
||
.footer { | ||
background-color: indigo; | ||
height: 40px; | ||
display: relative; | ||
border: 2px solid indigo; | ||
color: white; | ||
margin-bottom: 0px; | ||
border-top-left-radius: 30px; | ||
border-top-right-radius: 30px; | ||
} | ||
|
||
.title { | ||
color: white; | ||
margin-top: 0px; | ||
font-family: 'Blacklisted' | ||
} | ||
|
||
.App-header { | ||
background-color: #282c34; | ||
form{ | ||
display: flex; | ||
flex-direction: row; | ||
align-items: center; | ||
justify-content: space-evenly; | ||
justify-content: flex-start; | ||
margin-left: 25px; | ||
} | ||
|
||
#search-bar { | ||
padding: 10px; | ||
width: 500px; | ||
margin-right: 3px; | ||
|
||
} | ||
|
||
#search-button { | ||
background-color: #B19CD9; | ||
padding: 10px; | ||
border: 2px solid darkmagenta; | ||
border-radius: 5px; | ||
} | ||
|
||
#search-button:hover, | ||
#nowPlayingButton:hover, | ||
#searchTabButton:hover { | ||
color: white; | ||
padding: 20px; | ||
background-color: darkmagenta; | ||
border: 2px solid #B19CD9; | ||
border-radius: 5px; | ||
} | ||
|
||
@media (max-width: 600px) { | ||
.movie-card { | ||
width: 100%; | ||
} | ||
#nowPlayingButton { | ||
background-color: #B19CD9; | ||
padding: 10px; | ||
border: 2px solid darkmagenta; | ||
border-radius: 5px; | ||
margin-right: 10px; | ||
} | ||
|
||
#searchTabButton { | ||
background-color: #B19CD9; | ||
padding: 10px; | ||
border: 2px solid darkmagenta; | ||
border-radius: 5px; | ||
} | ||
|
||
|
||
.searchForm { | ||
display: none; | ||
} | ||
|
||
.search-bar { | ||
flex-direction: column; | ||
gap: 10px; | ||
#dropdown-menu { | ||
margin-left: 10px; | ||
padding: 10px; | ||
background-color: #B19CD9; | ||
border: 2px solid darkmagenta; | ||
border-radius: 5px; | ||
text-align: center; | ||
} | ||
|
||
.side-bar-logo { | ||
font-size: 30px; | ||
display: grid; | ||
margin-left: 30px; | ||
margin-top: 20px; | ||
color: #f5f5f5; | ||
} | ||
|
||
.side-bar-logo:hover { | ||
transform: scale(1.2); | ||
} | ||
|
||
@media all and (max-width: 630px) { | ||
#search-bar { | ||
width: 300px; | ||
} | ||
} | ||
|
||
.search-bar form { | ||
flex-direction: column; | ||
@media all and (max-width: 400px) { | ||
#search-bar { | ||
width: 100px; | ||
} | ||
} |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we reuse
background-color: #B19CD9;
quite a few times here, in the future let's try to capture repeated styles in a separate class so we can avoid repetition