From 9274a96630b785de323d1e8c44ba8d1eed46bdd7 Mon Sep 17 00:00:00 2001 From: Jared John Furtado Date: Sun, 6 Oct 2024 17:09:21 +0530 Subject: [PATCH 1/7] 05-interactive-rating-respoisve --- 05-intractive-rating/script.js | 2 +- 05-intractive-rating/style.css | 35 ++++++++ index.html | 63 ++++++++++++-- script.js | 45 ++++++++-- style.css | 154 ++++++++++++++++++++++++++++++--- 5 files changed, 273 insertions(+), 26 deletions(-) diff --git a/05-intractive-rating/script.js b/05-intractive-rating/script.js index cb1a415f..dfb21161 100644 --- a/05-intractive-rating/script.js +++ b/05-intractive-rating/script.js @@ -19,4 +19,4 @@ ratingBtn.forEach(rate => { rate.addEventListener('click', function () { ratingValue.innerHTML = rate.innerHTML; }); -}); +}); \ No newline at end of file diff --git a/05-intractive-rating/style.css b/05-intractive-rating/style.css index 60b4613a..72842c0f 100644 --- a/05-intractive-rating/style.css +++ b/05-intractive-rating/style.css @@ -122,3 +122,38 @@ body { .hidden { display: none; } +/* Responsive Design */ +@media (max-width: 768px) { + .container, .thanks { + padding: 2rem; + margin:3rem; + } + + .title { + font-size: 2.4rem; + } + + .parah, .btn, .submit { + font-size: 1.4rem; + } +} + +@media (max-width: 480px) { + .btns { + flex-direction:row; + gap: 1rem; + } + + .btn { + width: 100%; + padding: 1.5rem 0; + } + + .submit { + padding: 1.2rem; + } +} + +.hidden { + display: none; +} \ No newline at end of file diff --git a/index.html b/index.html index e535d369..ecfdc51e 100644 --- a/index.html +++ b/index.html @@ -5,22 +5,67 @@ - + + - Frontend Mentor Projects | Rajeev + Fronten Projects | Rajeev - -

Projects

+ +
+

Projects

+ +
+ diff --git a/script.js b/script.js index 6d6e8fbe..1c3cddca 100644 --- a/script.js +++ b/script.js @@ -85,6 +85,14 @@ projects.forEach(({ name }, i) => { list.appendChild(listItem); }); +// Search projects function +function searchProjects() { + const searchInput = document.getElementById("search").value.toLowerCase(); + const filteredProjects = projects.filter(({ name }) => + name.toLowerCase().includes(searchInput) + ); + displayProjects(filteredProjects); +} function formatProjectName(name) { return name @@ -93,11 +101,38 @@ function formatProjectName(name) { .map((word) => word[0].toUpperCase() + word.slice(1)) .join(" "); } +const itemsPerPage = 5; +let currentPage = 1; -// projects.forEach(({ name }, i) => { -// const splitArr = console.log(splitArr); -// }); +function displayItems(page) { + const items = document.querySelectorAll('.card'); // Assuming your projects have a "card" class + const start = (page - 1) * itemsPerPage; + const end = start + itemsPerPage; + + items.forEach((item, index) => { + item.style.display = (index >= start && index < end) ? 'block' : 'none'; + }); +} -// const arr1 = "14-Hudd÷le-landing-page"; +function setActivePage(page) { + const paginationLinks = document.querySelectorAll('.pagination a'); + paginationLinks.forEach(link => link.classList.remove('active')); + paginationLinks[page].classList.add('active'); +} + +document.querySelectorAll('.pagination a').forEach((link, index) => { + link.addEventListener('click', function (e) { + e.preventDefault(); + if (index > 0 && index < paginationLinks.length - 1) { + currentPage = index; + } else if (index === 0) { + currentPage = Math.max(1, currentPage - 1); + } else { + currentPage = Math.min(paginationLinks.length - 2, currentPage + 1); + } + displayItems(currentPage); + setActivePage(currentPage); + }); +}); -// for (let i = 0; i < projects.length; i++) {} +displayItems(currentPage); diff --git a/style.css b/style.css index eb3cee90..25f093f3 100644 --- a/style.css +++ b/style.css @@ -10,22 +10,47 @@ html { body { font-family: "Poppins", sans-serif; color: #333; - background: #fefefe; + background: #f4f1f1; } nav{ - display:flex; - justify-content: space-around; - + display: flex; + background-color: #ffffff; + height:70px; +} +nav img{ + width:15%; + +} +.links { + width:80%; + display: flex; + justify-content: flex-end; + align-items: center; + padding:10px; } -nav li{ - list-style: none; +.link{ + padding:10px; + font-family:monospace; + font-size: 20px; + margin:30px; + color: #000; + text-decoration: none; } -nav li img{ - width:400px; - margin-left:-15%; - margin-top:2%; - +.link:hover{ + background-color:#c8c8c8; + border-radius:5%; } +/* Search bar styling */ +.search-bar { + width: 100%; + max-width: 400px; + padding: 10px; + margin: 20px auto; + display: block; + font-size: 1.2rem; + border-radius: 8px; +} + .text{ font-size:35px; margin-top:5rem; @@ -115,3 +140,110 @@ ul li p { .links-container a:hover { transform: scale(1.2); } +.pagination { + display: inline-block; + margin-top: 20px; +} + +.pagination a { + color: black; + float: left; + padding: 8px 16px; + text-decoration: none; + transition: background-color .3s; + border: 1px solid #ddd; + margin: 0 4px; +} + +.pagination a.active { + background-color: #4CAF50; + color: white; + border: 1px solid #4CAF50; +} + +.pagination a:hover:not(.active) { + background-color: #ddd; +} +footer { + background-color: #2c2c2c; + color: #fff; + padding: 40px 20px; + text-align: center; +} + +.footer-content { + display: flex; + justify-content: space-between; + align-items: flex-start; + flex-wrap: wrap; + max-width: 1200px; + margin: 0 auto; +} + +.footer-content div { + margin: 10px; + flex-basis: 22%; +} + +.footer-content .logo img { + max-width: 120px; + margin-bottom: 20px; +} + +.footer-content h4 { + font-size: 18px; + margin-bottom: 10px; +} + +.footer-content ul { + list-style-type: none; + padding: 0; +} + +.footer-content ul li { + margin: 5px 0; +} + +.footer-content ul li a { + color: #fff; + text-decoration: none; + transition: color 0.3s ease; +} + +.footer-content ul li a:hover { + color: #f4b400; /* Hover color */ +} + +.branding-message { + flex-basis: 50%; + text-align: left; + font-size: 16px; +} + +.branding-message p { + margin-bottom: 20px; +} + +.explore-btn { + background-color: #f4b400; + color: #2c2c2c; + padding: 10px 20px; + text-decoration: none; + border-radius: 5px; + transition: background-color 0.3s ease; +} + +.explore-btn:hover { + background-color: #fff; +} + +.footer-bottom { + margin-top: 20px; + border-top: 1px solid #444; + padding-top: 20px; + font-size: 14px; +} + +.footer-bottom p { + margin: 0; +} From 8f9633269e9f139720564253f0feddf74d3c189c Mon Sep 17 00:00:00 2001 From: Jared John Furtado Date: Sun, 6 Oct 2024 17:15:49 +0530 Subject: [PATCH 2/7] Submit --- 05-intractive-rating/script.js | 42 +++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/05-intractive-rating/script.js b/05-intractive-rating/script.js index dfb21161..8f25e56f 100644 --- a/05-intractive-rating/script.js +++ b/05-intractive-rating/script.js @@ -5,18 +5,38 @@ const submitBtn = document.querySelector('.submit'); const thanks = document.querySelector('.thanks'); const container = document.querySelector('.container'); const ratingValue = document.querySelector('.points'); -const overlay = document.querySelector('.overlay'); -for (let i = 0; i < ratingBtn.length; i++) { - ratingBtn[i].addEventListener('click', function () { - ratingBtn[i].style.backgroundColor = 'hsl(25, 97%, 53%)'; + +let selectedRating = null; + +// Function to reset all rating buttons +function resetRatings() { + ratingBtn.forEach((btn) => { + btn.style.backgroundColor = 'hsla(216, 12%, 8%, 0.4)'; + btn.style.color = 'hsl(0, 0%, 100%)'; }); } -submitBtn.addEventListener('click', function () { - thanks.classList.remove('hidden'); - container.classList.add('hidden'); -}); -ratingBtn.forEach(rate => { + +// Event listener for rating buttons +ratingBtn.forEach((rate) => { rate.addEventListener('click', function () { - ratingValue.innerHTML = rate.innerHTML; + resetRatings(); // Reset all buttons + // Highlight the selected button + rate.style.backgroundColor = 'hsl(25, 97%, 53%)'; + rate.style.color = '#fff'; + + // Capture the selected rating + selectedRating = rate.innerHTML; + ratingValue.innerHTML = selectedRating; }); -}); \ No newline at end of file +}); + +// Submit button event listener +submitBtn.addEventListener('click', function () { + // Check if a rating was selected + if (selectedRating) { + thanks.classList.remove('hidden'); // Show the thank you page + container.classList.add('hidden'); // Hide the rating container + } else { + alert('Please select a rating before submitting!'); + } +}); From 27cb8d9667e91a05885a00ddf8b23c52d879a8b2 Mon Sep 17 00:00:00 2001 From: Jared John Furtado Date: Sun, 6 Oct 2024 22:32:16 +0530 Subject: [PATCH 3/7] UIupdate --- index.html | 127 +++++++++------ logo.png | Bin 0 -> 55427 bytes preview.png | Bin 20258 -> 0 bytes script.js | 46 +----- style.css | 443 +++++++++++++++++++++++++++++++++++----------------- 5 files changed, 377 insertions(+), 239 deletions(-) create mode 100644 logo.png delete mode 100644 preview.png diff --git a/index.html b/index.html index ecfdc51e..9af9f82d 100644 --- a/index.html +++ b/index.html @@ -5,68 +5,91 @@ - - + + + Fronten Projects | Rajeev -
-

Projects

-
    - +

    Projects

    +
      - diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..756049b6d74f7b1efe3234095eec93d97542cf72 GIT binary patch literal 55427 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 literal 0 HcmV?d00001 diff --git a/preview.png b/preview.png deleted file mode 100644 index 23267d33099dc489e9208880a0f773d95f3345d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20258 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

      &@5H!= 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 { list.appendChild(listItem); }); -// Search projects function -function searchProjects() { - const searchInput = document.getElementById("search").value.toLowerCase(); - const filteredProjects = projects.filter(({ name }) => - name.toLowerCase().includes(searchInput) - ); - displayProjects(filteredProjects); -} function formatProjectName(name) { return name @@ -101,38 +96,3 @@ function formatProjectName(name) { .map((word) => word[0].toUpperCase() + word.slice(1)) .join(" "); } -const itemsPerPage = 5; -let currentPage = 1; - -function displayItems(page) { - const items = document.querySelectorAll('.card'); // Assuming your projects have a "card" class - const start = (page - 1) * itemsPerPage; - const end = start + itemsPerPage; - - items.forEach((item, index) => { - item.style.display = (index >= start && index < end) ? 'block' : 'none'; - }); -} - -function setActivePage(page) { - const paginationLinks = document.querySelectorAll('.pagination a'); - paginationLinks.forEach(link => link.classList.remove('active')); - paginationLinks[page].classList.add('active'); -} - -document.querySelectorAll('.pagination a').forEach((link, index) => { - link.addEventListener('click', function (e) { - e.preventDefault(); - if (index > 0 && index < paginationLinks.length - 1) { - currentPage = index; - } else if (index === 0) { - currentPage = Math.max(1, currentPage - 1); - } else { - currentPage = Math.min(paginationLinks.length - 2, currentPage + 1); - } - displayItems(currentPage); - setActivePage(currentPage); - }); -}); - -displayItems(currentPage); diff --git a/style.css b/style.css index 25f093f3..084843a3 100644 --- a/style.css +++ b/style.css @@ -1,116 +1,67 @@ -@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap"); * { - margin: 0; - padding: 0; - box-sizing: border-box; + margin: 0px; + padding: 0px; + box-sizing: border-box; } -html { - font-size: 62.5%; -} -body { - font-family: "Poppins", sans-serif; - color: #333; - background: #f4f1f1; -} -nav{ - display: flex; - background-color: #ffffff; - height:70px; -} -nav img{ - width:15%; -} -.links { - width:80%; - display: flex; - justify-content: flex-end; - align-items: center; - padding:10px; -} -.link{ - padding:10px; - font-family:monospace; - font-size: 20px; - margin:30px; - color: #000; - text-decoration: none; -} -.link:hover{ - background-color:#c8c8c8; - border-radius:5%; -} -/* Search bar styling */ -.search-bar { - width: 100%; - max-width: 400px; - padding: 10px; - margin: 20px auto; - display: block; - font-size: 1.2rem; - border-radius: 8px; -} +.lists { + margin-right: 20rem; -.text{ - font-size:35px; - margin-top:5rem; - font-weight: medium; - text-decoration: underline; + list-style: none; } + h2 { font-size: 2.4rem; position: relative; font-weight: 600; margin-top: 2.4rem; - margin-left: 12%; + text-align: center; + color:black; } -h2::after { - content: ""; - background-color: #000; - border-radius: 10px; - position: absolute; - bottom: -5px; - left: 0; - height: 4px; - width: 70px; -} -ul { +.list { display: flex; flex-wrap: wrap; justify-content: center; list-style-type: none; - padding: 0; - margin-top: 8rem; + } -ul li { +.list li { background-color: #fff; box-shadow: 0px 4px 40px 0px rgba(0, 0, 0, 0.15); margin: 20px; + border-radius: 25px; width: 350px; } +.list li:hover { + transform: scale(1.1); + box-shadow: 0px 0 0px 4px #9f9b9b; + + transition: 0.5s ease; +} -ul li a { +.list li a { color: #000; text-decoration: none; } -ul li img { +.list li img { display: block; object-fit: cover; margin-bottom: 15px; + border-radius: 25px; transition: transform 0.3s ease; height: 200px; width: 350px; } -ul li p { +.list li p { padding: 0 1.6rem; font-size: 1.6rem; font-weight: 600; -} +} .links-container { padding: 1.5rem; @@ -140,110 +91,314 @@ ul li p { .links-container a:hover { transform: scale(1.2); } -.pagination { - display: inline-block; - margin-top: 20px; -} -.pagination a { - color: black; - float: left; - padding: 8px 16px; + + + +.btn-sub{ + padding: 12px 30px; + background-color: black; + border: 1px solid black; + color: white; + text-transform: uppercase; + border-radius: 30px; text-decoration: none; - transition: background-color .3s; - border: 1px solid #ddd; - margin: 0 4px; } -.pagination a.active { - background-color: #4CAF50; - color: white; - border: 1px solid #4CAF50; +.footer { + width: 100%; + padding: 30px 20%; + background-color: #f6f5fa; + font-family: 'futura'; + display: flex; + justify-content: space-between; + color: #1d1d1d; } -.pagination a:hover:not(.active) { - background-color: #ddd; +.footer-section { + /* background-color: red; */ + width: 32%; + display: flex; + flex-direction: column; + row-gap: 10px; + } -footer { - background-color: #2c2c2c; - color: #fff; - padding: 40px 20px; - text-align: center; + + +.footer-list { + list-style-type: none; + display: flex; + flex-direction: column; + row-gap: 8px; } -.footer-content { - display: flex; - justify-content: space-between; - align-items: flex-start; - flex-wrap: wrap; - max-width: 1200px; - margin: 0 auto; +.footer-list li a { + color: black; + text-decoration: none; + } -.footer-content div { - margin: 10px; - flex-basis: 22%; +.border-list { + margin-top: 20px; + border-top: 1px solid lightgray; + width: 70%; } -.footer-content .logo img { - max-width: 120px; - margin-bottom: 20px; +.socials { + + margin-top: 20px; + display: flex; + font-size: 20px; + column-gap: 30px; + } -.footer-content h4 { - font-size: 18px; - margin-bottom: 10px; +.socials a { + transition: all .38s ease; + color: black; } -.footer-content ul { - list-style-type: none; - padding: 0; +.socials a:hover { + color: white; + transform: scale(1.2); + padding: 2px 4px; + border-radius: 4px; } -.footer-content ul li { - margin: 5px 0; +#github:hover { + background-color: #3a383c; } -.footer-content ul li a { - color: #fff; - text-decoration: none; - transition: color 0.3s ease; +#linkedin:hover { + background-color: #0a66c2; } -.footer-content ul li a:hover { - color: #f4b400; /* Hover color */ +#instagram:hover { + background-color: #e1306c; } -.branding-message { - flex-basis: 50%; - text-align: left; - font-size: 16px; +#twitter:hover { + background-color: #14171A; } -.branding-message p { - margin-bottom: 20px; +.sub { + margin-top: 2px; + display: flex; + flex-direction: column; + align-items: flex-start; } -.explore-btn { - background-color: #f4b400; - color: #2c2c2c; - padding: 10px 20px; - text-decoration: none; - border-radius: 5px; - transition: background-color 0.3s ease; +.sub input { + height: 40px; + width: 100%; + max-width: 300px; + border-radius: 30px; + border: 1px solid lightgray; + padding: 0 15px; + margin-bottom: 10px; } -.explore-btn:hover { - background-color: #fff; +.sub .btn-sub { + width: auto; + padding: 10px 20px; + font-size: 14px; +} + +.sub .btn-sub:hover { + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); + /* Adds a subtle shadow */ + transition: all 0.3s ease; + /* Smooth transition for the hover effect */ + background-color: white; + color: black; + border: 1px solid black; + cursor: pointer; } -.footer-bottom { - margin-top: 20px; - border-top: 1px solid #444; - padding-top: 20px; - font-size: 14px; + +input { + height: 40px; + width: 60%; + border-radius: 30px; + border: 1px solid lightgray; +} + +.menu { + display: none; } -.footer-bottom p { - margin: 0; + +@media (max-width:560px) { + + + .btn { + font-size: 10px; + } + + + + .footer { + padding: 30px 5%; + flex-direction: column; + row-gap: 20px; + } + + .footer-section { + width: 100%; + + } + + .sub input { + max-width: 100%; + height:50px; + } + +} + + + +/* Contact Section Styles */ +.contact-section { + max-width: 700px; + margin: 50px auto; + background-color: #fff; + padding: 30px; + border-radius: 10px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); + text-align: center; +} + +.section-title { + font-size: 2rem; + color: #333; + margin-bottom: 20px; + font-family: 'futura'; +} + +.contact-description { + font-size: 1.2rem; + color: #555; + margin-bottom: 30px; + font-family: 'futura'; +} + +.contact-email { + color: #007bff; + text-decoration: none; +} + +.contact-email:hover { + text-decoration: underline; +} + +/* About Section Styles */ +.about-section { + max-width: 900px; + margin: 50px auto; + background-color: #fff; + padding: 30px; + border-radius: 10px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); + text-align: center; +} + +.about-title { + font-size: 2rem; + color: #333; + margin-bottom: 20px; + font-family: 'futura'; +} + +.about-img { + width: 200px; +} + +.about-description { + font-size: 1.2rem; + color: #555; + margin-bottom: 30px; + font-family: 'futura'; +} + +/* Form Styles */ +.contact-form { + margin-bottom: 40px; +} + +.form-group { + margin-bottom: 20px; + text-align: left; + +} + +.form-label { + font-size: 1.1rem; + margin-bottom: 5px; + display: block; + font-family: 'futura'; +} + +.form-input, +.form-textarea { + width: 100%; + padding: 10px; + border: 1px solid #ccc; + border-radius: 5px; + font-size: 1rem; + font-family: 'futura'; +} + +.form-textarea { + height: 120px; +} + +.btn-submit { + padding: 12px 20px; + background-color: #e67e22; + color: white; + border: none; + border-radius: 5px; + cursor: pointer; + width: 100%; + font-size: 1.1rem; + font-family: 'futura'; +} + +.btn-submit:hover { + background-color: #d35400; +} + +/* Contact Info Section */ +.contact-info { + margin-top: 30px; + font-family: 'futura'; +} + +.info-title { + font-size: 1.5rem; + color: #333; + margin-bottom: 10px; + font-family: 'futura'; +} + +.info-detail { + font-size: 1rem; + font-family: 'futura'; + color: #555; + margin: 5px 0; +} + +.footer-copyright { + display: flex; + margin-top: auto; + font-size: 18px; + + justify-content: center; + background-color: #f6f5fa; + font-family: 'futura'; + color: #1d1d1d; + } +#copyright { + margin-bottom: 5px; +} \ No newline at end of file From de67391632c3f7d83b14e8dd18ddb459a63e6cc8 Mon Sep 17 00:00:00 2001 From: Jared John Furtado Date: Mon, 7 Oct 2024 21:59:08 +0530 Subject: [PATCH 4/7] FixedError --- .github/ISSUE_TEMPLATE/bug.yml | 51 --- .github/ISSUE_TEMPLATE/feature.yml | 34 -- .github/PULL_REQUEST_TEMPLATE.md | 28 -- .github/workflows/greetings.yml | 16 - .vscode/settings.json | 3 + Code_Of_Conduct.md | 94 ------ index.html | 2 +- style.css | 485 +++++++++++++---------------- 8 files changed, 219 insertions(+), 494 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature.yml delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/greetings.yml create mode 100644 .vscode/settings.json delete mode 100644 Code_Of_Conduct.md diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml deleted file mode 100644 index 5058d47f..00000000 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: ​🐞 Bug -description: Report an issue to help us improve the project. -title: '[BUG] ' -labels: ["bug"] -body: - - type: textarea - attributes: - label: Description - id: description - description: A brief description of the issue or bug you are facing, also include what you tried and what didn't work. - validations: - required: false - - type: textarea - attributes: - label: Screenshots - id: screenshots - description: Please add screenshots if applicable - validations: - required: false - - type: textarea - attributes: - label: Any additional information? - id: extrainfo - description: Any additional information or Is there anything we should know about this bug? - validations: - required: false - - type: dropdown - id: browsers - attributes: - label: What browser are you seeing the problem on? - multiple: true - options: - - Firefox - - Chrome - - Safari - - Microsoft Edge - - type: checkboxes - id: no-duplicate-issues - attributes: - label: 'Checklist' - options: - - label: 'I have checked the existing issues' - required: true - - - label: 'I have read the [Contributing Guidelines](https://github.com/beRajeevKumar/Frontend_Mentor/blob/main/Code_Of_Conduct.md)' - required: true - - label: "I'm a GSSoC'24-Extd contributor" - - label: "I'm a Hacktoberfest'24 contributor" - - - label: 'I am willing to work on this issue (optional)' - required: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml deleted file mode 100644 index 5b65d125..00000000 --- a/.github/ISSUE_TEMPLATE/feature.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Feature Request 💡 -description: Have any new idea or new feature for Canvas-Editor? Please suggest! -title: '[Feat]' -labels: [enhancement] -body: - - type: textarea - id: description - attributes: - label: Description - description: A clear and concise description of any alternative solution or features you've considered. - validations: - required: true - - type: textareas - id: screenshots - attributes: - label: Screenshots - description: Please add screenshots if applicable - validations: - required: false - - type: checkboxes - id: no-duplicate-issues - attributes: - label: 'Checklist' - options: - - label: 'I have checked the existing issues' - required: true - - - label: 'I have read the [Contributing Guidelines](https://github.com/beRajeevKumar/Frontend_Mentor/blob/main/Code_Of_Conduct.md)' - required: true - - label: "I'm a GSSoC'24-Extd contributor" - - label: "I'm a Hacktoberfest'24 contributor" - - - label: 'I am willing to work on this issue (optional)' - required: false \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 2d37b47a..00000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,28 +0,0 @@ -## What does this PR do? - - - -Fixes #(issue) - - - -## Type of change - - - -- Bug fix (non-breaking change which fixes an issue) -- Chore (refactoring code, technical debt, workflow improvements) -- New feature (non-breaking change which adds functionality) -- Breaking change (fix or feature that would cause existing functionality to not work as expected) -- This change requires a documentation update - -## How should this be tested? - - - -- [ ] Test A -- [ ] Test B - -## Mandatory Tasks - -- [ ] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected. \ No newline at end of file diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml deleted file mode 100644 index cc1efd43..00000000 --- a/.github/workflows/greetings.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Greetings - -on: [pull_request_target, issues] - -jobs: - greeting: - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - uses: actions/first-interaction@v1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - issue-message: "👋 Thank you @${{ github.actor }} for raising an issue! We appreciate your effort in helping us improve. Our team will review it shortly. Stay tuned!" - pr-message: " 🎉 Thank you @${{ github.actor }} for your contribution! Your pull request has been submitted successfully. A maintainer will review it as soon as possible. We appreciate your support in making this project better" \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..6f3a2913 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5501 +} \ No newline at end of file diff --git a/Code_Of_Conduct.md b/Code_Of_Conduct.md deleted file mode 100644 index f8d9943d..00000000 --- a/Code_Of_Conduct.md +++ /dev/null @@ -1,94 +0,0 @@ -# Frontend Mentor Projects Code of Conduct - -## Welcome - -Welcome to the **Frontend Mentor Projects** repository! **Frontend Mentor** is an excellent platform for front-end developers who want to improve their skills by building real-world projects. It offers a range of challenges that cater to different skill levels, providing resources and support to help developers grow their skills in HTML, CSS, and JavaScript. Our goal is to create an inclusive, respectful, and supportive community where contributors can collaborate and learn together. - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in **Frontend Mentor Projects** a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. - -We are committed to building a community that encourages learning, respects contributions, and fosters a welcoming environment where everyone can improve their front-end development skills. - -## Our Standards - -To ensure a positive experience for all members of the **Frontend Mentor Projects** community, participants are expected to adhere to the following standards: - -### Positive Behavior: -- **Respectful Communication**: Engage in discussions with respect and kindness, ensuring that all interactions are professional and constructive. -- **Constructive Feedback**: Offer feedback that is clear, actionable, and designed to help others improve while maintaining a supportive tone. -- **Collaboration**: Work together openly, share ideas, and support one another in solving challenges and building projects. -- **Inclusivity**: Use language and actions that make all members feel welcome, regardless of their experience level or background. -- **Recognition**: Acknowledge and appreciate the efforts of all contributors, whether through code, design, or feedback. -- **Lifelong Learning**: Foster an environment where everyone feels encouraged to ask questions, experiment, and continue learning. - -### Unacceptable Behavior: -- **Harassment**: Any form of harassment, including unwelcome comments, personal attacks, or inappropriate behavior, is strictly prohibited. -- **Discrimination**: Discriminatory behavior or remarks based on personal identity, beliefs, or background will not be tolerated. -- **Disrespect**: Engaging in inflammatory or dismissive comments, trolling, or disruptive behavior is unacceptable. -- **Privacy Violations**: Sharing private or sensitive information about others without their explicit consent is prohibited. -- **Unethical Conduct**: Engaging in behavior that misuses the project’s resources or promotes misinformation is not allowed. -- **Disruption**: Any actions that intentionally disrupt the collaborative nature of the community or interfere with others’ progress will not be tolerated. - -## Project Goals - -The **Frontend Mentor Projects** repository is focused on helping front-end developers build real-world projects and improve their skills in HTML, CSS, and JavaScript. The key goals of the project include: - -- **Skill Development**: Offering a range of front-end challenges that allow developers to practice and refine their coding skills. -- **Real-World Projects**: Providing projects that simulate real-world scenarios, enabling developers to gain practical experience. -- **Collaboration and Learning**: Encouraging contributions and collaboration from developers at all levels to foster growth and learning within the community. -- **Open Source Contributions**: Promoting an open-source development model where contributors can share their knowledge and enhance the platform for all users. - -## Enforcement Responsibilities - -Community leaders and maintainers of the **Frontend Mentor Projects** are responsible for enforcing this Code of Conduct. They are expected to: - -- Clearly define the standards for acceptable behavior and ensure that all participants are aware of them. -- Respond to violations of the Code of Conduct in a timely and fair manner. -- Take corrective actions, such as removing inappropriate comments, posts, or contributions that do not align with community standards. -- Apply disciplinary measures, including temporary or permanent bans, in cases of repeated or serious violations of the Code of Conduct. - -## Scope - -This Code of Conduct applies to all spaces managed by **Frontend Mentor Projects**, including GitHub repositories, issue trackers, discussions, and other communication platforms. It also applies when community members represent the project in public spaces, such as conferences, online events, or forums. - -## Reporting Violations - -If you experience or witness behavior that violates this Code of Conduct, please report it by contacting the project leaders at **rajeevjewar2@gmail.com**. All complaints will be reviewed promptly and confidentially. The community leaders are committed to creating a safe and positive environment and will take appropriate action to address any issues. - -## Consequences of Unacceptable Behavior - -If a community member is found to have violated this Code of Conduct, the community leaders may take the following actions: - -1. **Correction**: A private conversation with the individual to address the violation and provide guidance on how to improve their behavior. -2. **Warning**: A formal warning outlining the unacceptable behavior and providing expectations for future conduct. -3. **Temporary Suspension**: A temporary suspension from participating in the project or community spaces, with the possibility of reinstatement after review. -4. **Permanent Ban**: Permanent removal from the project and all community spaces for repeated or severe violations. - -## Enforcement Guidelines - -Community leaders will follow these guidelines when determining the consequences for violations of this Code of Conduct: - -1. **Correction**: - - **Community Impact**: A minor violation that causes minimal disruption to the project. - - **Consequence**: A private conversation to clarify the violation and provide guidance on behavior improvement. - -2. **Warning**: - - **Community Impact**: A moderate violation that negatively affects the collaborative environment of the project. - - **Consequence**: A formal warning with clear expectations for future behavior. - -3. **Temporary Suspension**: - - **Community Impact**: A significant violation that harms the community or disrupts the progress of the project. - - **Consequence**: Temporary suspension from participating in the project, with the possibility of reinstatement after review. - -4. **Permanent Ban**: - - **Community Impact**: A severe or repeated violation that undermines the project’s goals or the community’s values. - - **Consequence**: Permanent removal from the project and all related spaces. - -## Building a Positive Community - -At **Frontend Mentor Projects**, we are dedicated to building a welcoming, inclusive, and supportive community where front-end developers can grow their skills, share knowledge, and collaborate on real-world projects. By working together, we can create an environment where everyone can succeed and contribute to the advancement of front-end development. Let’s work together with respect, integrity, and a shared passion for building amazing web projects. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.0, available [here](https://www.contributor-covenant.org/version/2/0/code_of_conduct.html). diff --git a/index.html b/index.html index 9af9f82d..613d0cdc 100644 --- a/index.html +++ b/index.html @@ -92,4 +92,4 @@

      Subscribe to Newsletter

      - + \ No newline at end of file diff --git a/style.css b/style.css index dbe91c79..22ae9083 100644 --- a/style.css +++ b/style.css @@ -1,308 +1,253 @@ * { - margin: 0; - padding: 0; + + margin: 0px; + padding: 0px; box-sizing: border-box; } -html { - font-size: 62.5%; -} -body { - font-family: "Poppins", sans-serif; - color: #333; - background: #f4f1f1; -} -nav{ - display: flex; - background-color: #ffffff; - height:70px; +.lists { +margin-right: 20rem; +list-style: none; } -nav img{ - width:15%; -} -.links { - width:80%; - display: flex; - justify-content: flex-end; - align-items: center; - padding:10px; -} -.link{ - padding:10px; - font-family:monospace; - font-size: 20px; - margin:30px; - color: #000; - text-decoration: none; -} -.link:hover{ - background-color:#c8c8c8; - border-radius:5%; -} -/* Search bar styling */ -.search-bar { - width: 100%; - max-width: 400px; - padding: 10px; - margin: 20px auto; - display: block; - font-size: 1.2rem; - border-radius: 8px; -} -.text{ - font-size:35px; - margin-top:5rem; - font-weight: medium; - text-decoration: underline; -nav { - display: flex; - justify-content: space-between; - align-items: start; - background-color: #050505; - position: fixed; - width: 100%; -} -.lists { - margin-right: 20rem; - list-style: none; -} + h2 { - font-size: 2.4rem; - position: relative; - font-weight: 600; - margin-top: 2.4rem; - text-align: center; - color:black; +font-size: 2.4rem; +position: relative; +font-weight: 600; +margin-top: 2.4rem; +text-align: center; +color:black; } .list { - display: flex; - flex-wrap: wrap; - justify-content: center; - list-style-type: none; +display: flex; +flex-wrap: wrap; +justify-content: center; +list-style-type: none; } .list li { - background-color: #fff; - box-shadow: 0px 4px 40px 0px rgba(0, 0, 0, 0.15); - margin: 20px; - border-radius: 25px; - width: 350px; +background-color: #fff; +box-shadow: 0px 4px 40px 0px rgba(0, 0, 0, 0.15); +margin: 20px; +border-radius: 25px; +width: 350px; } .list li:hover { - transform: scale(1.1); - box-shadow: 0px 0 0px 4px #9f9b9b; - transition: 0.5s ease; +transform: scale(1.1); +box-shadow: 0px 0 0px 4px #9f9b9b; +transition: 0.5s ease; } + .list li a { - color: #000; - text-decoration: none; +color: #000; +text-decoration: none; } .list li img { - display: block; - object-fit: cover; - margin-bottom: 15px; - border-radius: 25px; - transition: transform 0.3s ease; - height: 200px; - width: 350px; +display: block; +object-fit: cover; +margin-bottom: 15px; +border-radius: 25px; +transition: transform 0.3s ease; +height: 200px; +width: 350px; } .list li p { - padding: 0 1.6rem; - font-size: 1.6rem; - font-weight: 600; +padding: 0 1.6rem; +font-size: 1.6rem; +font-weight: 600; } .links-container { - padding: 1.5rem; - margin-top: 2.4rem; +padding: 1.5rem; +margin-top: 2.4rem; } .links-container a { - color: #fff; - display: inline-flex; - align-items: center; - justify-content: center; - font-size: 1.8rem; - text-decoration: none; - height: 35px; - width: 35px; - transition: transform 0.3s ease; +color: #fff; +display: inline-flex; +align-items: center; +justify-content: center; +font-size: 1.8rem; +text-decoration: none; +height: 35px; +width: 35px; +transition: transform 0.3s ease; } .links-container a.blue { - background-color: #34a0e9; +background-color: #34a0e9; } .links-container a.youtube { - background-color: #ea0000; +background-color: #ea0000; } .links-container a:hover { - transform: scale(1.2); +transform: scale(1.2); } .btn-sub{ - padding: 12px 30px; - background-color: black; - border: 1px solid black; - color: white; - text-transform: uppercase; - border-radius: 30px; - text-decoration: none; +padding: 12px 30px; +background-color: black; +border: 1px solid black; +color: white; +text-transform: uppercase; +border-radius: 30px; +text-decoration: none; } .footer { - width: 100%; - padding: 30px 20%; - background-color: #f6f5fa; - font-family: 'futura'; - display: flex; - justify-content: space-between; - color: #1d1d1d; + width: 100%; + padding: 30px 20%; + background-color: #f6f5fa; + font-family: 'futura'; + display: flex; + justify-content: space-between; + color: #1d1d1d; } .footer-section { - /* background-color: red; */ - width: 32%; - display: flex; - flex-direction: column; - row-gap: 10px; + /* background-color: red; */ + width: 32%; + display: flex; + flex-direction: column; + row-gap: 10px; } .footer-list { - list-style-type: none; - display: flex; - flex-direction: column; - row-gap: 8px; + list-style-type: none; + display: flex; + flex-direction: column; + row-gap: 8px; } .footer-list li a { - color: black; - text-decoration: none; + color: black; + text-decoration: none; } .border-list { - margin-top: 20px; - border-top: 1px solid lightgray; - width: 70%; + margin-top: 20px; + border-top: 1px solid lightgray; + width: 70%; } .socials { - margin-top: 20px; - display: flex; - font-size: 20px; - column-gap: 30px; + margin-top: 20px; + display: flex; + font-size: 20px; + column-gap: 30px; } .socials a { - transition: all .38s ease; - color: black; + transition: all .38s ease; + color: black; } .socials a:hover { - color: white; - transform: scale(1.2); - padding: 2px 4px; - border-radius: 4px; + color: white; + transform: scale(1.2); + padding: 2px 4px; + border-radius: 4px; } #github:hover { - background-color: #3a383c; + background-color: #3a383c; } #linkedin:hover { - background-color: #0a66c2; + background-color: #0a66c2; } #instagram:hover { - background-color: #e1306c; + background-color: #e1306c; } #twitter:hover { - background-color: #14171A; + background-color: #14171A; } .sub { - margin-top: 2px; - display: flex; - flex-direction: column; - align-items: flex-start; + margin-top: 2px; + display: flex; + flex-direction: column; + align-items: flex-start; } .sub input { - height: 40px; - width: 100%; - max-width: 300px; - border-radius: 30px; - border: 1px solid lightgray; - padding: 0 15px; - margin-bottom: 10px; + height: 40px; + width: 100%; + max-width: 300px; + border-radius: 30px; + border: 1px solid lightgray; + padding: 0 15px; + margin-bottom: 10px; } .sub .btn-sub { - width: auto; - padding: 10px 20px; - font-size: 14px; + width: auto; + padding: 10px 20px; + font-size: 14px; } .sub .btn-sub:hover { - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); - /* Adds a subtle shadow */ - transition: all 0.3s ease; - /* Smooth transition for the hover effect */ - background-color: white; - color: black; - border: 1px solid black; - cursor: pointer; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); + /* Adds a subtle shadow */ + transition: all 0.3s ease; + /* Smooth transition for the hover effect */ + background-color: white; + color: black; + border: 1px solid black; + cursor: pointer; } input { - height: 40px; - width: 60%; - border-radius: 30px; - border: 1px solid lightgray; + height: 40px; + width: 60%; + border-radius: 30px; + border: 1px solid lightgray; } .menu { - display: none; + display: none; } @media (max-width:560px) { - - - .btn { - font-size: 10px; - } - - .footer { - padding: 30px 5%; - flex-direction: column; - row-gap: 20px; - } + .btn { + font-size: 10px; + } + - .footer-section { - width: 100%; - } + .footer { + padding: 30px 5%; + flex-direction: column; + row-gap: 20px; + } - .sub input { - max-width: 100%; - height:50px; - } + .footer-section { + width: 100%; + + } + + .sub input { + max-width: 100%; + height:50px; + } } @@ -310,146 +255,146 @@ input { /* Contact Section Styles */ .contact-section { - max-width: 700px; - margin: 50px auto; - background-color: #fff; - padding: 30px; - border-radius: 10px; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); - text-align: center; + max-width: 700px; + margin: 50px auto; + background-color: #fff; + padding: 30px; + border-radius: 10px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); + text-align: center; } .section-title { - font-size: 2rem; - color: #333; - margin-bottom: 20px; - font-family: 'futura'; + font-size: 2rem; + color: #333; + margin-bottom: 20px; + font-family: 'futura'; } .contact-description { - font-size: 1.2rem; - color: #555; - margin-bottom: 30px; - font-family: 'futura'; + font-size: 1.2rem; + color: #555; + margin-bottom: 30px; + font-family: 'futura'; } .contact-email { - color: #007bff; - text-decoration: none; + color: #007bff; + text-decoration: none; } .contact-email:hover { - text-decoration: underline; + text-decoration: underline; } /* About Section Styles */ .about-section { - max-width: 900px; - margin: 50px auto; - background-color: #fff; - padding: 30px; - border-radius: 10px; - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); - text-align: center; + max-width: 900px; + margin: 50px auto; + background-color: #fff; + padding: 30px; + border-radius: 10px; + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); + text-align: center; } .about-title { - font-size: 2rem; - color: #333; - margin-bottom: 20px; - font-family: 'futura'; + font-size: 2rem; + color: #333; + margin-bottom: 20px; + font-family: 'futura'; } .about-img { - width: 200px; + width: 200px; } .about-description { - font-size: 1.2rem; - color: #555; - margin-bottom: 30px; - font-family: 'futura'; + font-size: 1.2rem; + color: #555; + margin-bottom: 30px; + font-family: 'futura'; } /* Form Styles */ .contact-form { - margin-bottom: 40px; + margin-bottom: 40px; } .form-group { - margin-bottom: 20px; - text-align: left; + margin-bottom: 20px; + text-align: left; } .form-label { - font-size: 1.1rem; - margin-bottom: 5px; - display: block; - font-family: 'futura'; + font-size: 1.1rem; + margin-bottom: 5px; + display: block; + font-family: 'futura'; } .form-input, .form-textarea { - width: 100%; - padding: 10px; - border: 1px solid #ccc; - border-radius: 5px; - font-size: 1rem; - font-family: 'futura'; + width: 100%; + padding: 10px; + border: 1px solid #ccc; + border-radius: 5px; + font-size: 1rem; + font-family: 'futura'; } .form-textarea { - height: 120px; + height: 120px; } .btn-submit { - padding: 12px 20px; - background-color: #e67e22; - color: white; - border: none; - border-radius: 5px; - cursor: pointer; - width: 100%; - font-size: 1.1rem; - font-family: 'futura'; + padding: 12px 20px; + background-color: #e67e22; + color: white; + border: none; + border-radius: 5px; + cursor: pointer; + width: 100%; + font-size: 1.1rem; + font-family: 'futura'; } .btn-submit:hover { - background-color: #d35400; + background-color: #d35400; } /* Contact Info Section */ .contact-info { - margin-top: 30px; - font-family: 'futura'; + margin-top: 30px; + font-family: 'futura'; } .info-title { - font-size: 1.5rem; - color: #333; - margin-bottom: 10px; - font-family: 'futura'; + font-size: 1.5rem; + color: #333; + margin-bottom: 10px; + font-family: 'futura'; } .info-detail { - font-size: 1rem; - font-family: 'futura'; - color: #555; - margin: 5px 0; + font-size: 1rem; + font-family: 'futura'; + color: #555; + margin: 5px 0; } .footer-copyright { - display: flex; - margin-top: auto; - font-size: 18px; + display: flex; + margin-top: auto; + font-size: 18px; - justify-content: center; - background-color: #f6f5fa; - font-family: 'futura'; - color: #1d1d1d; + justify-content: center; + background-color: #f6f5fa; + font-family: 'futura'; + color: #1d1d1d; } #copyright { - margin-bottom: 5px; + margin-bottom: 5px; } \ No newline at end of file From 8676862bc216c91ea965b4dcefe0954b77e2ed6c Mon Sep 17 00:00:00 2001 From: Jared John Furtado Date: Mon, 7 Oct 2024 22:03:42 +0530 Subject: [PATCH 5/7] gitactions --- .github/ISSUE_TEMPLATE/bug.yml | 51 ++++++++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature.yml | 34 ++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 28 ++++++++++++++++ .github/workflows/auto-label.yml | 37 ++++++++++++++++++++++ .github/workflows/greetings.yml | 16 ++++++++++ 5 files changed, 166 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug.yml create mode 100644 .github/ISSUE_TEMPLATE/feature.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/auto-label.yml create mode 100644 .github/workflows/greetings.yml diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 00000000..8ba0e547 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,51 @@ +name: ​🐞 Bug +description: Report an issue to help us improve the project. +title: '[BUG] ' +labels: ["bug"] +body: + - type: textarea + attributes: + label: Description + id: description + description: A brief description of the issue or bug you are facing, also include what you tried and what didn't work. + validations: + required: false + - type: textarea + attributes: + label: Screenshots + id: screenshots + description: Please add screenshots if applicable + validations: + required: false + - type: textarea + attributes: + label: Any additional information? + id: extrainfo + description: Any additional information or Is there anything we should know about this bug? + validations: + required: false + - type: dropdown + id: browsers + attributes: + label: What browser are you seeing the problem on? + multiple: true + options: + - Firefox + - Chrome + - Safari + - Microsoft Edge + - type: checkboxes + id: no-duplicate-issues + attributes: + label: 'Checklist' + options: + - label: 'I have checked the existing issues' + required: true + + - label: 'I have read the [Contributing Guidelines](https://github.com/YadavAkhileshh/Alien-Invasion-Defense/blob/main/Code_Of_Conduct.md)' + required: true + - label: "I'm a GSSoC'24-Extd contributor" + - label: "I'm a Hacktoberfest'24 contributor" + + - label: 'I am willing to work on this issue (optional)' + required: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml new file mode 100644 index 00000000..70cfdd2d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -0,0 +1,34 @@ +name: Feature Request 💡 +description: Have any new idea or new feature for Canvas-Editor? Please suggest! +title: '[Feat]' +labels: [enhancement] +body: + - type: textarea + id: description + attributes: + label: Description + description: A clear and concise description of any alternative solution or features you've considered. + validations: + required: true + - type: textareas + id: screenshots + attributes: + label: Screenshots + description: Please add screenshots if applicable + validations: + required: false + - type: checkboxes + id: no-duplicate-issues + attributes: + label: 'Checklist' + options: + - label: 'I have checked the existing issues' + required: true + + - label: 'I have read the [Contributing Guidelines](https://github.com/YadavAkhileshh/Alien-Invasion-Defense/blob/main/Code_Of_Conduct.md)' + required: true + - label: "I'm a GSSoC'24-Extd contributor" + - label: "I'm a Hacktoberfest'24 contributor" + + - label: 'I am willing to work on this issue (optional)' + required: false \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..2d37b47a --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,28 @@ +## What does this PR do? + + + +Fixes #(issue) + + + +## Type of change + + + +- Bug fix (non-breaking change which fixes an issue) +- Chore (refactoring code, technical debt, workflow improvements) +- New feature (non-breaking change which adds functionality) +- Breaking change (fix or feature that would cause existing functionality to not work as expected) +- This change requires a documentation update + +## How should this be tested? + + + +- [ ] Test A +- [ ] Test B + +## Mandatory Tasks + +- [ ] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected. \ No newline at end of file diff --git a/.github/workflows/auto-label.yml b/.github/workflows/auto-label.yml new file mode 100644 index 00000000..18b2b277 --- /dev/null +++ b/.github/workflows/auto-label.yml @@ -0,0 +1,37 @@ +name: Auto Label Issue + +on: + issues: + types: [opened, reopened, edited] + +jobs: + label_issue: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - name: Label Issue + uses: actions/github-script@v6 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + const issue = context.payload.issue; + const issueBody = issue.body ? issue.body.toLowerCase() : ''; + const issueTitle = issue.title.toLowerCase(); + + // Add gssoc label to all issues + await github.rest.issues.addLabels({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issue.number, + labels: ['gssoc-ext','hacktoberfest-accepted'] + }); + const addLabel = async (label) => { + await github.rest.issues.addLabels({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issue.number, + labels: [label] + }); + }; + diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml new file mode 100644 index 00000000..25637223 --- /dev/null +++ b/.github/workflows/greetings.yml @@ -0,0 +1,16 @@ +name: Greetings + +on: [pull_request_target, issues] + +jobs: + greeting: + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - uses: actions/first-interaction@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + issue-message: "👋 Thank you @${{ github.actor }} for raising an issue! We appreciate your effort in helping us improve. Our team will review it shortly. Stay tuned!" + pr-message: " 🎉 Thank you @${{ github.actor }} for your contribution! Your pull request has been submitted successfully. A maintainer will review it as soon as possible. We appreciate your support in making this project better" From 6fdcb6c6bc26c17dbe28f55869399e31f262211e Mon Sep 17 00:00:00 2001 From: Jared John Furtado Date: Tue, 8 Oct 2024 00:21:19 +0530 Subject: [PATCH 6/7] Sorry --- .github/ISSUE_TEMPLATE/bug.yml | 51 ---------------- .github/ISSUE_TEMPLATE/feature.yml | 34 ----------- .github/PULL_REQUEST_TEMPLATE.md | 28 --------- .github/workflows/auto-label.yml | 37 ------------ .github/workflows/greetings.yml | 16 ----- Code_of_Conduct.md | 94 ++++++++++++++++++++++++++++++ 6 files changed, 94 insertions(+), 166 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature.yml delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/workflows/auto-label.yml delete mode 100644 .github/workflows/greetings.yml create mode 100644 Code_of_Conduct.md diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml deleted file mode 100644 index 8ba0e547..00000000 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: ​🐞 Bug -description: Report an issue to help us improve the project. -title: '[BUG] ' -labels: ["bug"] -body: - - type: textarea - attributes: - label: Description - id: description - description: A brief description of the issue or bug you are facing, also include what you tried and what didn't work. - validations: - required: false - - type: textarea - attributes: - label: Screenshots - id: screenshots - description: Please add screenshots if applicable - validations: - required: false - - type: textarea - attributes: - label: Any additional information? - id: extrainfo - description: Any additional information or Is there anything we should know about this bug? - validations: - required: false - - type: dropdown - id: browsers - attributes: - label: What browser are you seeing the problem on? - multiple: true - options: - - Firefox - - Chrome - - Safari - - Microsoft Edge - - type: checkboxes - id: no-duplicate-issues - attributes: - label: 'Checklist' - options: - - label: 'I have checked the existing issues' - required: true - - - label: 'I have read the [Contributing Guidelines](https://github.com/YadavAkhileshh/Alien-Invasion-Defense/blob/main/Code_Of_Conduct.md)' - required: true - - label: "I'm a GSSoC'24-Extd contributor" - - label: "I'm a Hacktoberfest'24 contributor" - - - label: 'I am willing to work on this issue (optional)' - required: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml deleted file mode 100644 index 70cfdd2d..00000000 --- a/.github/ISSUE_TEMPLATE/feature.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Feature Request 💡 -description: Have any new idea or new feature for Canvas-Editor? Please suggest! -title: '[Feat]' -labels: [enhancement] -body: - - type: textarea - id: description - attributes: - label: Description - description: A clear and concise description of any alternative solution or features you've considered. - validations: - required: true - - type: textareas - id: screenshots - attributes: - label: Screenshots - description: Please add screenshots if applicable - validations: - required: false - - type: checkboxes - id: no-duplicate-issues - attributes: - label: 'Checklist' - options: - - label: 'I have checked the existing issues' - required: true - - - label: 'I have read the [Contributing Guidelines](https://github.com/YadavAkhileshh/Alien-Invasion-Defense/blob/main/Code_Of_Conduct.md)' - required: true - - label: "I'm a GSSoC'24-Extd contributor" - - label: "I'm a Hacktoberfest'24 contributor" - - - label: 'I am willing to work on this issue (optional)' - required: false \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 2d37b47a..00000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,28 +0,0 @@ -## What does this PR do? - - - -Fixes #(issue) - - - -## Type of change - - - -- Bug fix (non-breaking change which fixes an issue) -- Chore (refactoring code, technical debt, workflow improvements) -- New feature (non-breaking change which adds functionality) -- Breaking change (fix or feature that would cause existing functionality to not work as expected) -- This change requires a documentation update - -## How should this be tested? - - - -- [ ] Test A -- [ ] Test B - -## Mandatory Tasks - -- [ ] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected. \ No newline at end of file diff --git a/.github/workflows/auto-label.yml b/.github/workflows/auto-label.yml deleted file mode 100644 index 18b2b277..00000000 --- a/.github/workflows/auto-label.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Auto Label Issue - -on: - issues: - types: [opened, reopened, edited] - -jobs: - label_issue: - runs-on: ubuntu-latest - permissions: - issues: write - steps: - - name: Label Issue - uses: actions/github-script@v6 - with: - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - const issue = context.payload.issue; - const issueBody = issue.body ? issue.body.toLowerCase() : ''; - const issueTitle = issue.title.toLowerCase(); - - // Add gssoc label to all issues - await github.rest.issues.addLabels({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: issue.number, - labels: ['gssoc-ext','hacktoberfest-accepted'] - }); - const addLabel = async (label) => { - await github.rest.issues.addLabels({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: issue.number, - labels: [label] - }); - }; - diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml deleted file mode 100644 index 25637223..00000000 --- a/.github/workflows/greetings.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Greetings - -on: [pull_request_target, issues] - -jobs: - greeting: - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - uses: actions/first-interaction@v1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - issue-message: "👋 Thank you @${{ github.actor }} for raising an issue! We appreciate your effort in helping us improve. Our team will review it shortly. Stay tuned!" - pr-message: " 🎉 Thank you @${{ github.actor }} for your contribution! Your pull request has been submitted successfully. A maintainer will review it as soon as possible. We appreciate your support in making this project better" diff --git a/Code_of_Conduct.md b/Code_of_Conduct.md new file mode 100644 index 00000000..02cfd528 --- /dev/null +++ b/Code_of_Conduct.md @@ -0,0 +1,94 @@ +# Frontend Mentor Projects Code of Conduct + +## Welcome + +Welcome to the **Frontend Mentor Projects** repository! **Frontend Mentor** is an excellent platform for front-end developers who want to improve their skills by building real-world projects. It offers a range of challenges that cater to different skill levels, providing resources and support to help developers grow their skills in HTML, CSS, and JavaScript. Our goal is to create an inclusive, respectful, and supportive community where contributors can collaborate and learn together. + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in **Frontend Mentor Projects** a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. + +We are committed to building a community that encourages learning, respects contributions, and fosters a welcoming environment where everyone can improve their front-end development skills. + +## Our Standards + +To ensure a positive experience for all members of the **Frontend Mentor Projects** community, participants are expected to adhere to the following standards: + +### Positive Behavior: +- **Respectful Communication**: Engage in discussions with respect and kindness, ensuring that all interactions are professional and constructive. +- **Constructive Feedback**: Offer feedback that is clear, actionable, and designed to help others improve while maintaining a supportive tone. +- **Collaboration**: Work together openly, share ideas, and support one another in solving challenges and building projects. +- **Inclusivity**: Use language and actions that make all members feel welcome, regardless of their experience level or background. +- **Recognition**: Acknowledge and appreciate the efforts of all contributors, whether through code, design, or feedback. +- **Lifelong Learning**: Foster an environment where everyone feels encouraged to ask questions, experiment, and continue learning. + +### Unacceptable Behavior: +- **Harassment**: Any form of harassment, including unwelcome comments, personal attacks, or inappropriate behavior, is strictly prohibited. +- **Discrimination**: Discriminatory behavior or remarks based on personal identity, beliefs, or background will not be tolerated. +- **Disrespect**: Engaging in inflammatory or dismissive comments, trolling, or disruptive behavior is unacceptable. +- **Privacy Violations**: Sharing private or sensitive information about others without their explicit consent is prohibited. +- **Unethical Conduct**: Engaging in behavior that misuses the project’s resources or promotes misinformation is not allowed. +- **Disruption**: Any actions that intentionally disrupt the collaborative nature of the community or interfere with others’ progress will not be tolerated. + +## Project Goals + +The **Frontend Mentor Projects** repository is focused on helping front-end developers build real-world projects and improve their skills in HTML, CSS, and JavaScript. The key goals of the project include: + +- **Skill Development**: Offering a range of front-end challenges that allow developers to practice and refine their coding skills. +- **Real-World Projects**: Providing projects that simulate real-world scenarios, enabling developers to gain practical experience. +- **Collaboration and Learning**: Encouraging contributions and collaboration from developers at all levels to foster growth and learning within the community. +- **Open Source Contributions**: Promoting an open-source development model where contributors can share their knowledge and enhance the platform for all users. + +## Enforcement Responsibilities + +Community leaders and maintainers of the **Frontend Mentor Projects** are responsible for enforcing this Code of Conduct. They are expected to: + +- Clearly define the standards for acceptable behavior and ensure that all participants are aware of them. +- Respond to violations of the Code of Conduct in a timely and fair manner. +- Take corrective actions, such as removing inappropriate comments, posts, or contributions that do not align with community standards. +- Apply disciplinary measures, including temporary or permanent bans, in cases of repeated or serious violations of the Code of Conduct. + +## Scope + +This Code of Conduct applies to all spaces managed by **Frontend Mentor Projects**, including GitHub repositories, issue trackers, discussions, and other communication platforms. It also applies when community members represent the project in public spaces, such as conferences, online events, or forums. + +## Reporting Violations + +If you experience or witness behavior that violates this Code of Conduct, please report it by contacting the project leaders at **rajeevjewar2@gmail.com**. All complaints will be reviewed promptly and confidentially. The community leaders are committed to creating a safe and positive environment and will take appropriate action to address any issues. + +## Consequences of Unacceptable Behavior + +If a community member is found to have violated this Code of Conduct, the community leaders may take the following actions: + +1. **Correction**: A private conversation with the individual to address the violation and provide guidance on how to improve their behavior. +2. **Warning**: A formal warning outlining the unacceptable behavior and providing expectations for future conduct. +3. **Temporary Suspension**: A temporary suspension from participating in the project or community spaces, with the possibility of reinstatement after review. +4. **Permanent Ban**: Permanent removal from the project and all community spaces for repeated or severe violations. + +## Enforcement Guidelines + +Community leaders will follow these guidelines when determining the consequences for violations of this Code of Conduct: + +1. **Correction**: + - **Community Impact**: A minor violation that causes minimal disruption to the project. + - **Consequence**: A private conversation to clarify the violation and provide guidance on behavior improvement. + +2. **Warning**: + - **Community Impact**: A moderate violation that negatively affects the collaborative environment of the project. + - **Consequence**: A formal warning with clear expectations for future behavior. + +3. **Temporary Suspension**: + - **Community Impact**: A significant violation that harms the community or disrupts the progress of the project. + - **Consequence**: Temporary suspension from participating in the project, with the possibility of reinstatement after review. + +4. **Permanent Ban**: + - **Community Impact**: A severe or repeated violation that undermines the project’s goals or the community’s values. + - **Consequence**: Permanent removal from the project and all related spaces. + +## Building a Positive Community + +At **Frontend Mentor Projects**, we are dedicated to building a welcoming, inclusive, and supportive community where front-end developers can grow their skills, share knowledge, and collaborate on real-world projects. By working together, we can create an environment where everyone can succeed and contribute to the advancement of front-end development. Let’s work together with respect, integrity, and a shared passion for building amazing web projects. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.0, available [here](https://www.contributor-covenant.org/version/2/0/code_of_conduct.html). \ No newline at end of file From 41941a46c8f0f9eff0b99cdef44f2c199d2d3118 Mon Sep 17 00:00:00 2001 From: Jared John Furtado Date: Tue, 8 Oct 2024 07:18:57 +0530 Subject: [PATCH 7/7] templates --- .github/ISSUE_TEMPLATE/bug.yml | 51 ++++++++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature.yml | 34 ++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 28 ++++++++++++++++ .github/workflows/greetings.yml | 16 ++++++++++ .vscode/settings.json | 3 -- 5 files changed, 129 insertions(+), 3 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug.yml create mode 100644 .github/ISSUE_TEMPLATE/feature.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/greetings.yml diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 00000000..8ba0e547 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,51 @@ +name: ​🐞 Bug +description: Report an issue to help us improve the project. +title: '[BUG] ' +labels: ["bug"] +body: + - type: textarea + attributes: + label: Description + id: description + description: A brief description of the issue or bug you are facing, also include what you tried and what didn't work. + validations: + required: false + - type: textarea + attributes: + label: Screenshots + id: screenshots + description: Please add screenshots if applicable + validations: + required: false + - type: textarea + attributes: + label: Any additional information? + id: extrainfo + description: Any additional information or Is there anything we should know about this bug? + validations: + required: false + - type: dropdown + id: browsers + attributes: + label: What browser are you seeing the problem on? + multiple: true + options: + - Firefox + - Chrome + - Safari + - Microsoft Edge + - type: checkboxes + id: no-duplicate-issues + attributes: + label: 'Checklist' + options: + - label: 'I have checked the existing issues' + required: true + + - label: 'I have read the [Contributing Guidelines](https://github.com/YadavAkhileshh/Alien-Invasion-Defense/blob/main/Code_Of_Conduct.md)' + required: true + - label: "I'm a GSSoC'24-Extd contributor" + - label: "I'm a Hacktoberfest'24 contributor" + + - label: 'I am willing to work on this issue (optional)' + required: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml new file mode 100644 index 00000000..70cfdd2d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -0,0 +1,34 @@ +name: Feature Request 💡 +description: Have any new idea or new feature for Canvas-Editor? Please suggest! +title: '[Feat]' +labels: [enhancement] +body: + - type: textarea + id: description + attributes: + label: Description + description: A clear and concise description of any alternative solution or features you've considered. + validations: + required: true + - type: textareas + id: screenshots + attributes: + label: Screenshots + description: Please add screenshots if applicable + validations: + required: false + - type: checkboxes + id: no-duplicate-issues + attributes: + label: 'Checklist' + options: + - label: 'I have checked the existing issues' + required: true + + - label: 'I have read the [Contributing Guidelines](https://github.com/YadavAkhileshh/Alien-Invasion-Defense/blob/main/Code_Of_Conduct.md)' + required: true + - label: "I'm a GSSoC'24-Extd contributor" + - label: "I'm a Hacktoberfest'24 contributor" + + - label: 'I am willing to work on this issue (optional)' + required: false \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..2d37b47a --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,28 @@ +## What does this PR do? + + + +Fixes #(issue) + + + +## Type of change + + + +- Bug fix (non-breaking change which fixes an issue) +- Chore (refactoring code, technical debt, workflow improvements) +- New feature (non-breaking change which adds functionality) +- Breaking change (fix or feature that would cause existing functionality to not work as expected) +- This change requires a documentation update + +## How should this be tested? + + + +- [ ] Test A +- [ ] Test B + +## Mandatory Tasks + +- [ ] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected. \ No newline at end of file diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml new file mode 100644 index 00000000..25637223 --- /dev/null +++ b/.github/workflows/greetings.yml @@ -0,0 +1,16 @@ +name: Greetings + +on: [pull_request_target, issues] + +jobs: + greeting: + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - uses: actions/first-interaction@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + issue-message: "👋 Thank you @${{ github.actor }} for raising an issue! We appreciate your effort in helping us improve. Our team will review it shortly. Stay tuned!" + pr-message: " 🎉 Thank you @${{ github.actor }} for your contribution! Your pull request has been submitted successfully. A maintainer will review it as soon as possible. We appreciate your support in making this project better" diff --git a/.vscode/settings.json b/.vscode/settings.json index 6f3a2913..e69de29b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +0,0 @@ -{ - "liveServer.settings.port": 5501 -} \ No newline at end of file