Sheffield | 26-ITP-jan | Richard Frimpong | Sprint 3 | quote generator#1058
Sheffield | 26-ITP-jan | Richard Frimpong | Sprint 3 | quote generator#1058Richiealx wants to merge 5 commits intoCodeYourFuture:mainfrom
Conversation
| const selectedQuote = getNewRandomQuote(); | ||
|
|
||
| quoteElement.textContent = `"${selectedQuote.quote}"`; | ||
| authorElement.textContent = `— ${selectedQuote.author}`; |
There was a problem hiding this comment.
The leading - appears to be for styling purposes. Keeping it in the CSS or in HTML could allow us to adjust the view without changing any JavaScript code.
| // Show a random quote as soon as the page loads | ||
| displayRandomQuote(); | ||
|
|
||
| // Show a different random quote whenever the button is clicked | ||
| newQuoteButton.addEventListener("click", displayRandomQuote); |
There was a problem hiding this comment.
Placing all the "run on load" code in one place is a good practice.
Would be even better to place the code
inside a function to make it clearer that "this is what runs when the page loads."
For examples,
function setup() {
// code to be executed on page load
}
window.addEventListener('load', setup);or
window.addEventListener('load', function() {
// code to be executed on page load
});There was a problem hiding this comment.
Thank you for the feedback.
I’ve now updated the quote generator based on your comments:
- I removed the leading dash from the JavaScript and moved it into CSS using a
::beforepseudo-element on the author. - I moved the page-load logic into a
setup()function and now run it withwindow.addEventListener("load", setup)to make it clearer what runs when the page loads. - I also updated the HTML so it now links the stylesheet and script file correctly and matches the final structure.
I tested the app again in the browser to confirm it still works correctly.
| @@ -1,11 +1,12 @@ | |||
| cat > script.js << "EOF"; | |||
| newQuoteButton.addEventListener("click", displayRandomQuote); | ||
| // Run setup when the page has finished loading | ||
| window.addEventListener("load", setup); | ||
| EOF; |
There was a problem hiding this comment.
What is this? (style.css also has this marker)
|
All good. |
|
Closing PR because the January ITP run has finished. Feel free to re-open if you're still working on it. |
Learners, PR Template
Self checklist
Changelist
This PR implements the Sprint 3 Quote Generator app.
The application displays a random quote and its author when the page loads. It also includes a "New Quote" button that allows users to generate a different random quote each time it is clicked.
To meet the task requirements, I used the provided
quotes.jsfile and thepickFromArrayfunction to select quotes randomly. I implemented DOM manipulation inscript.jsto update both the quote and author dynamically on the page.I also added logic to ensure that the same quote is not displayed twice in a row when the button is clicked multiple times.
In addition, I structured the HTML for clarity, styled the application using CSS for a clean and accessible layout, and ensured all IDs and elements are correctly connected to the JavaScript functionality.
The application was tested in the browser to confirm:
I attempted to run
npm test, but Jest is not available in the current local setup (jest: not found). However, the application functions correctly and meets all acceptance criteria when tested manually in the browser.Questions
No questions at this time.