From 91db537b8183ac62f874a6fc07892a9935c9735d Mon Sep 17 00:00:00 2001 From: Priyatham-sai-chand Date: Sun, 19 May 2024 01:29:26 -0700 Subject: [PATCH] changes from dell --- README.md | 4 +- assets/js/script.js | 30 ++- ...t.sync-conflict-20240331-133157-2YBCZXX.js | 184 ++++++++++++++++++ index.html | 67 +++++-- rss.xml | 59 ++---- 5 files changed, 290 insertions(+), 54 deletions(-) create mode 100644 assets/js/script.sync-conflict-20240331-133157-2YBCZXX.js diff --git a/README.md b/README.md index 4107b73..50fac33 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ # My Portfolio. -a simple website for my musings. +## Basic representation for the site in html/css and Javascript. + +Needs lot of content and posts to fill in. diff --git a/assets/js/script.js b/assets/js/script.js index 6439a82..aadc7ff 100644 --- a/assets/js/script.js +++ b/assets/js/script.js @@ -1,6 +1,33 @@ 'use strict'; +/* +function notifyMe() { + if (!("Notification" in window)) { + // Check if the browser supports notifications + alert("This browser does not support desktop notification"); + } else if (Notification.permission === "granted") { + // Check whether notification permissions have already been granted; + // if so, create a notification + const notification = new Notification("Hi there!"); + // … + } else if (Notification.permission !== "denied") { + // We need to ask the user for permission + Notification.requestPermission().then((permission) => { + // If the user accepts, let's create a notification + if (permission === "granted") { + const notification = new Notification("Hi there!"); + // … + } + }); + } + + // At last, if the user has denied notifications, and you + // want to be respectful there is no need to bother them anymore. +} + +notifyMe(); +*/ // element toggle function const elementToggleFunc = function (elem) { elem.classList.toggle("active"); } @@ -15,7 +42,6 @@ const sidebarBtn = document.querySelector("[data-sidebar-btn]"); sidebarBtn.addEventListener("click", function () { elementToggleFunc(sidebar); }); - // testimonials variables const testimonialsItem = document.querySelectorAll("[data-testimonials-item]"); const modalContainer = document.querySelector("[data-modal-container]"); @@ -156,4 +182,4 @@ for (let i = 0; i < navigationLinks.length; i++) { } }); -} \ No newline at end of file +} diff --git a/assets/js/script.sync-conflict-20240331-133157-2YBCZXX.js b/assets/js/script.sync-conflict-20240331-133157-2YBCZXX.js new file mode 100644 index 0000000..ce5ff85 --- /dev/null +++ b/assets/js/script.sync-conflict-20240331-133157-2YBCZXX.js @@ -0,0 +1,184 @@ +'use strict'; + + +function notifyMe() { + if (!("Notification" in window)) { + // Check if the browser supports notifications + alert("This browser does not support desktop notification"); + } else if (Notification.permission === "granted") { + // Check whether notification permissions have already been granted; + // if so, create a notification + const notification = new Notification("Hi there!"); + // … + } else if (Notification.permission !== "denied") { + // We need to ask the user for permission + Notification.requestPermission().then((permission) => { + // If the user accepts, let's create a notification + if (permission === "granted") { + const notification = new Notification("Hi there!"); + // … + } + }); + } + + // At last, if the user has denied notifications, and you + // want to be respectful there is no need to bother them anymore. +} + +notifyMe(); + +// element toggle function +const elementToggleFunc = function (elem) { elem.classList.toggle("active"); } + + + +// sidebar variables +const sidebar = document.querySelector("[data-sidebar]"); +const sidebarBtn = document.querySelector("[data-sidebar-btn]"); + +// sidebar toggle functionality for mobile +sidebarBtn.addEventListener("click", function () { elementToggleFunc(sidebar); }); + + + +// testimonials variables +const testimonialsItem = document.querySelectorAll("[data-testimonials-item]"); +const modalContainer = document.querySelector("[data-modal-container]"); +const modalCloseBtn = document.querySelector("[data-modal-close-btn]"); +const overlay = document.querySelector("[data-overlay]"); + +// modal variable +const modalImg = document.querySelector("[data-modal-img]"); +const modalTitle = document.querySelector("[data-modal-title]"); +const modalText = document.querySelector("[data-modal-text]"); + +// modal toggle function +const testimonialsModalFunc = function () { + modalContainer.classList.toggle("active"); + overlay.classList.toggle("active"); +} + +// add click event to all modal items +for (let i = 0; i < testimonialsItem.length; i++) { + + testimonialsItem[i].addEventListener("click", function () { + + modalImg.src = this.querySelector("[data-testimonials-avatar]").src; + modalImg.alt = this.querySelector("[data-testimonials-avatar]").alt; + modalTitle.innerHTML = this.querySelector("[data-testimonials-title]").innerHTML; + modalText.innerHTML = this.querySelector("[data-testimonials-text]").innerHTML; + + testimonialsModalFunc(); + + }); + +} + +// add click event to modal close button +modalCloseBtn.addEventListener("click", testimonialsModalFunc); +overlay.addEventListener("click", testimonialsModalFunc); + + + +// custom select variables +const select = document.querySelector("[data-select]"); +const selectItems = document.querySelectorAll("[data-select-item]"); +const selectValue = document.querySelector("[data-selecct-value]"); +const filterBtn = document.querySelectorAll("[data-filter-btn]"); + +select.addEventListener("click", function () { elementToggleFunc(this); }); + +// add event in all select items +for (let i = 0; i < selectItems.length; i++) { + selectItems[i].addEventListener("click", function () { + + let selectedValue = this.innerText.toLowerCase(); + selectValue.innerText = this.innerText; + elementToggleFunc(select); + filterFunc(selectedValue); + + }); +} + +// filter variables +const filterItems = document.querySelectorAll("[data-filter-item]"); + +const filterFunc = function (selectedValue) { + + for (let i = 0; i < filterItems.length; i++) { + + if (selectedValue === "all") { + filterItems[i].classList.add("active"); + } else if (selectedValue === filterItems[i].dataset.category) { + filterItems[i].classList.add("active"); + } else { + filterItems[i].classList.remove("active"); + } + + } + +} + +// add event in all filter button items for large screen +let lastClickedBtn = filterBtn[0]; + +for (let i = 0; i < filterBtn.length; i++) { + + filterBtn[i].addEventListener("click", function () { + + let selectedValue = this.innerText.toLowerCase(); + selectValue.innerText = this.innerText; + filterFunc(selectedValue); + + lastClickedBtn.classList.remove("active"); + this.classList.add("active"); + lastClickedBtn = this; + + }); + +} + + + +// contact form variables +const form = document.querySelector("[data-form]"); +const formInputs = document.querySelectorAll("[data-form-input]"); +const formBtn = document.querySelector("[data-form-btn]"); + +// add event to all form input field +for (let i = 0; i < formInputs.length; i++) { + formInputs[i].addEventListener("input", function () { + + // check form validation + if (form.checkValidity()) { + formBtn.removeAttribute("disabled"); + } else { + formBtn.setAttribute("disabled", ""); + } + + }); +} + + + +// page navigation variables +const navigationLinks = document.querySelectorAll("[data-nav-link]"); +const pages = document.querySelectorAll("[data-page]"); + +// add event to all nav link +for (let i = 0; i < navigationLinks.length; i++) { + navigationLinks[i].addEventListener("click", function () { + + for (let i = 0; i < pages.length; i++) { + if (this.innerHTML.toLowerCase() === pages[i].dataset.page) { + pages[i].classList.add("active"); + navigationLinks[i].classList.add("active"); + window.scrollTo(0, 0); + } else { + pages[i].classList.remove("active"); + navigationLinks[i].classList.remove("active"); + } + } + + }); +} diff --git a/index.html b/index.html index 8f30621..c93559e 100644 --- a/index.html +++ b/index.html @@ -161,11 +161,10 @@ -