Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
35 changes: 35 additions & 0 deletions student-projects/day1/calculator.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
function calculate(operation) {
const num1 = parseFloat(document.getElementById("num1").value);
const num2 = parseFloat(document.getElementById("num2").value);
let result;

if (isNaN(num1) || isNaN(num2)) {
result = 'Please enter valid numbers.';
} else {
switch (operation) {
case 'add':
result = num1 + num2;
break;
case 'subtract':
result = num1 - num2;
break;
case 'multiply':
result = num1 * num2;
break;
case 'divide':
if (num2 === 0) {
result = 'Cannot divide by zero.';
} else {
result = num1 / num2;
}
break;
case 'modulo':
result = num1 % num2;
break;
default:
result = 'Invalid operation.';
}
}

document.getElementById("result").innerHTML = 'Result: ' + result;
}
22 changes: 22 additions & 0 deletions student-projects/day1/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<title>Calculator</title>
<script src="./calculator.js"></script>
</head>
<body>
<div class="calculator">
<h1>Calculator</h1>
<input type="number" id="num1" placeholder="Enter first number">
<input type="number" id="num2" placeholder="Enter second number">
<div class="buttons">
<button onclick="calculate('add')">Add</button>
<button onclick="calculate('subtract')">Subtract</button>
<button onclick="calculate('multiply')">Multiply</button>
<button onclick="calculate('divide')">Divide</button>
<button onclick="calculate('modulo')">Modulo</button>
</div>
<p id="result"></p>
</div>
</body>
</html>
39 changes: 39 additions & 0 deletions student-projects/day2/recipe..html
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Recipe Book</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<h1>Recipe Book</h1>
<div class="form-container">
<h2 id="subHeading">Add New Recipe</h2>
<form id="recipeForm">
<label for="recipeName">Recipe Name:</label>
<input type="text" id="recipeName" required>
<label for="ingredients">Ingredients:</label>
<textarea id="ingredients" required></textarea>
<label for="description">Description:</label>
<textarea id="description" required></textarea>
<button type="submit">Add Recipe</button>
</form>
</div>
<div class="recipe-list">
<h2>Recipes</h2>
<ul id="recipeList"></ul>
</div>
<div id="recipeDetails" class="modal">
<div class="modal-content">
<span class="close">&times;</span>
<h2 id="modalTitle"></h2>
<p id="modalIngredients"></p>
<p id="modalDescription"></p>
</div>
</div>
</div>
<script src="recipe.js"></script>
</body>
</html>
62 changes: 62 additions & 0 deletions student-projects/day2/recipe.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
const recipeForm = document.getElementById('recipeForm');
const recipeList = document.getElementById('recipeList');
const modalTitle = document.getElementById('modalTitle');
const modalIngredients = document.getElementById('modalIngredients');
const modalDescription = document.getElementById('modalDescription');
const modal = document.getElementById('recipeDetails');
const closeModal = document.getElementsByClassName('close')[0];

let recipes = JSON.parse(localStorage.getItem('recipes')) || [];

// Function to add a new recipe
function addRecipe(event) {
event.preventDefault();

const recipeName = document.getElementById('recipeName').value;
const ingredients = document.getElementById('ingredients').value;
const description = document.getElementById('description').value;

const recipe = { name: recipeName, ingredients, description };
recipes.push(recipe);
localStorage.setItem('recipes', JSON.stringify(recipes));
displayRecipes();
recipeForm.reset();
}

// Function to display recipes
function displayRecipes() {
recipeList.innerHTML = '';
recipes.forEach((recipe, index) => {
const listItem = document.createElement('li');
listItem.textContent = recipe.name;
listItem.addEventListener('click', () => showRecipeDetails(index));
recipeList.appendChild(listItem);
});
}

// Function to show recipe details in modal
function showRecipeDetails(index) {
const recipe = recipes[index];
modalTitle.textContent = recipe.name;
modalIngredients.textContent = 'Ingredients: ' + recipe.ingredients;
modalDescription.textContent = 'Description: ' + recipe.description;
modal.style.display = 'block';
}

// Event to close the modal
closeModal.onclick = function() {
modal.style.display = 'none';
};

// Event to close the modal if clicked outside of it
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = 'none';
}
};

// Event to handle form submission
recipeForm.addEventListener('submit', addRecipe);

// Display the initial list of recipes on page load
window.onload = displayRecipes;