From 07915c3551f6872e7d3ba0538e69d290a252837c Mon Sep 17 00:00:00 2001 From: Elian Echavarria Date: Thu, 16 Oct 2025 16:15:35 -0400 Subject: [PATCH] Add editable profile fields and localStorage saving --- Social Links Preview/README.md | 18 +++++++ Social Links Preview/image.png | Bin 0 -> 34141 bytes Social Links Preview/index.html | 28 +++++++++++ Social Links Preview/index.js | 38 +++++++++++++++ Social Links Preview/styles.css | 84 ++++++++++++++++++++++++++++++++ 5 files changed, 168 insertions(+) create mode 100644 Social Links Preview/README.md create mode 100644 Social Links Preview/image.png create mode 100644 Social Links Preview/index.html create mode 100644 Social Links Preview/index.js create mode 100644 Social Links Preview/styles.css diff --git a/Social Links Preview/README.md b/Social Links Preview/README.md new file mode 100644 index 000000000..dfcf3763f --- /dev/null +++ b/Social Links Preview/README.md @@ -0,0 +1,18 @@ +### 🧩 Social Links Preview + +![destkop-design](https://github.com/user-attachments/assets/60446f79-436f-4d98-b3c7-674bc01f33e2) + +A simple and interactive **Social Links Preview** built with **HTML, CSS, and JavaScript**.This project displays a user’s profile card with their name, location, and occupation, along with social media links like **Website, Twitter, LinkedIn, and GitHub**. + +Users can **edit their profile information directly on the page** β€” name, location, and occupation β€” and the changes are automatically **saved in localStorage**, so they persist even after refreshing the page. + +It’s a great mini project for learning **DOM manipulation, localStorage, and contentEditable elements** in JavaScript. + +### ✨ Features + +- πŸ“ **Editable Text Fields** – Update the name, location, and occupation directly on the page. +- πŸ’Ύ **Auto Save with localStorage** – Keeps your edits even after reloading the browser. +- πŸ”  **Character Limit Handling** – Prevents the name field from exceeding 25 characters. +- πŸ–ΌοΈ **Dynamic Avatar Support** – Profile image can be updated or generated dynamically. +- 🌐 **Clickable Social Links** – Direct links to social platforms like Twitter, LinkedIn, and GitHub. +- 🎨 **Clean and Responsive Layout** – Styled using CSS for a simple, modern look. diff --git a/Social Links Preview/image.png b/Social Links Preview/image.png new file mode 100644 index 0000000000000000000000000000000000000000..452238403d1a940f8e0afdaed253d0e3957e6963 GIT binary patch literal 34141 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 + + + + + Social Links Preview + + + + + + + + + + + + + \ No newline at end of file diff --git a/Social Links Preview/index.js b/Social Links Preview/index.js new file mode 100644 index 000000000..aea21b359 --- /dev/null +++ b/Social Links Preview/index.js @@ -0,0 +1,38 @@ +const nameEl = document.querySelector(".employer-name"); +const locationEl = document.querySelector(".employer-location"); +const occupationEl = document.querySelector(".employer-occupation"); +const imgEl = document.querySelector(".employer-image"); + +nameEl.contentEditable = true; +locationEl.contentEditable = true; +occupationEl.contentEditable = true; +nameEl.spellcheck = false; + +document.querySelectorAll("[contenteditable]").forEach((el) => { + el.addEventListener("blur", () => { + if (el.textContent.trim() === "") { + if (el === nameEl) el.textContent = "Jessica, Randall"; + if (el === locationEl) el.textContent = "London, United Kingdom"; + if (el === occupationEl) + el.textContent = "Front-end developer and Avid reader."; + } + + if (el === nameEl && el.textContent.length > 25) { + el.textContent = el.textContent.slice(0, 25) + "..."; + } + + localStorage.setItem(el.className, el.textContent); + }); + + const savedData = localStorage.getItem(el.className); + if (savedData) { + el.textContent = savedData; + } + + imgEl.addEventListener("load", () => { + imgEl.src = `https://ui-avatars.com/api/?name=${encodeURIComponent( + nameEl.textContent + )}&background=random`; + localStorage.setItem("employer-image", imgEl.src); + }); +}); diff --git a/Social Links Preview/styles.css b/Social Links Preview/styles.css new file mode 100644 index 000000000..09468c2b5 --- /dev/null +++ b/Social Links Preview/styles.css @@ -0,0 +1,84 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; + +} + +*, *::before, *::after { + box-sizing: border-box; +} + +p { + font-size: 1rem; +} + +body { + background: hsl(0, 0%, 21%); + display: flex; + align-items: center; + justify-content: center; + height: 100vh; + margin: 0; + text-align: center; +} + +.container { + background-color: hsl(0, 0%, 8%); + max-width: 90rem; /* 1440px */ + height: auto; + align-items: center; + justify-content: center; + padding: 2.5rem; /* 40px */ + border-radius: 0.9375rem; +} + + + +.employer-image { + width: 6.25rem; /* 100px */ + height: 6.25rem; /* 100px */ + border-radius: 50%; + object-fit: cover; + margin-bottom: 1.5rem; +} + +.employer-name { + font-size: 1.75rem; + color: white; + font-family: 'Inter', 'Arial', sans-serif; + margin-bottom: 0.4375rem; +} + +.employer-location { + color: hsl(75, 94%, 57%); + font-family: 'Inter', 'Arial', sans-serif; + font-size: 1rem; + margin-bottom: 1.875rem; /* 30px */ +} + + +.employer-occupation { + color: white; + font-family: 'Inter', 'Arial', sans-serif; + margin-bottom: 1.6875rem; /* 27px */ +} + +.container a { + display: block; + text-decoration: none; + font-family: 'Inter', 'Arial', sans-serif; + margin-bottom: 1.125rem; /* 18px */ + background-color: hsl(0, 1%, 21%); + color: white; + padding: 0.875rem 1.25rem; /* 14px 20px */ + font-size: 0.875rem; /* 14px */ + font-weight: 500; + border-radius: 0.3125rem; /* 5px */ + transition: all 0.3s ease-in; +} + +.container a:hover { + background-color: hsl(75, 94%, 57%); + color: hsl(0, 1%, 21%); +} \ No newline at end of file