{"id":28323938,"url":"https://github.com/dalascript/picture-in-picture","last_synced_at":"2025-07-19T02:32:47.769Z","repository":{"id":293311597,"uuid":"982060825","full_name":"DalaScript/picture-in-picture","owner":"DalaScript","description":" ZTM JS Web Projects Course | Picture in Picture | Project 3/20","archived":false,"fork":false,"pushed_at":"2025-05-22T08:48:20.000Z","size":13,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-24T01:38:23.482Z","etag":null,"topics":["css","html","js","picture-in-picture","screen-capture-api","zerotomastery"],"latest_commit_sha":null,"homepage":"https://dalascript.github.io/picture-in-picture/","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DalaScript.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-12T10:10:33.000Z","updated_at":"2025-05-28T21:50:25.000Z","dependencies_parsed_at":"2025-05-14T18:44:38.895Z","dependency_job_id":"9d77e9d7-8b6c-47c9-ba38-9d5019b6f8b0","html_url":"https://github.com/DalaScript/picture-in-picture","commit_stats":null,"previous_names":["dalascript/picture-in-picture"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DalaScript/picture-in-picture","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DalaScript%2Fpicture-in-picture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DalaScript%2Fpicture-in-picture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DalaScript%2Fpicture-in-picture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DalaScript%2Fpicture-in-picture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DalaScript","download_url":"https://codeload.github.com/DalaScript/picture-in-picture/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DalaScript%2Fpicture-in-picture/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265876918,"owners_count":23842956,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css","html","js","picture-in-picture","screen-capture-api","zerotomastery"],"created_at":"2025-05-25T17:09:13.115Z","updated_at":"2025-07-19T02:32:47.763Z","avatar_url":"https://github.com/DalaScript.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Picture in Picture | ZTM JS Web Projects Course\n\n**Project 3/20**\n\nA minimalist Picture-in-Picture (PiP) web app that allows users to share their screen and pop it out into a floating video window using the browser's native Picture-in-Picture API. Clean design, one-click interaction, and a focused learning experience on media APIs.\n\n---\n\n## 📚 Table of Contents\n\n- [🔎 Overview](#-overview)\n  - [📸 Screenshot](#-screenshot)\n  - [🔗 Links](#-links)\n  - [📌 Features](#-features)\n- [🧠 My process](#-my-process)\n  - [🛠️ Built with](#️-built-with)\n  - [🎓 What I learned](#-what-i-learned)\n  - [🔙 Previous Project](#-previous-project)\n  - [🔜 Next Project](#-next-project)\n  - [🗃️ Useful resources](#️-useful-resources)\n- [👤 Author](#-author)\n  - [🌐 Connect with Me](#-connect-with-me)\n  - [💻 Coding Profiles](#-coding-profiles)\n\n---\n\n## 🔎 Overview\n\n### 📸 Screenshot\n\n![Live Preview Screenshot](./assets/screenshot.jpg)\n\n### 🔗 Links\n\n - [🔴 Live Demo](https://dalascript.github.io/picture-in-picture/)\n - [🗂️ GitHub Repository](https://github.com/DalaScript/picture-in-picture)\n\n### 📌 Features\n\n - ✅ Prompts the user to select a screen to share\n - ✅ Streams the selected screen into a hidden video element\n - ✅ Allows starting Picture-in-Picture with a single click\n\n---\n\n## 🧠 My Process\n\n### 🛠️ Built with\n\n - HTML5\n - CSS3\n - Vanilla JavaScript\n - Picture-in-Picture Web API\n - MediaDevices API (`getDisplayMedia()`)\n\n### 🎓 What I Learned\n\n - How to work with `getDisplayMedia()` to capture the screen\n - Implementing and controlling Picture-in-Picture mode via JavaScript\n - Managing DOM elements and user interaction state (e.g., disabling button while PiP is active)\n - Creating clean UI with shadows, gradients, and responsive centering\n\n  \u003e 🚀 For me, this project was more about **practice** and gaining additional **experience**,  \n  \u003e rather than learning something entirely new.  \n  \u003e  \n  \u003e 👨‍💻 Since I’m not a beginner and already familiar with these technologies,  \n  \u003e I approached it with confidence — and still, I truly **enjoyed working on it**.  \n  \u003e  \n  \u003e 🎯 Overall, I consider this a very **valuable and enjoyable experience**.\n\n### 🔙 Previous Project\n\n - Infinite Scroll | *[Project 2/20]* → [View Repository](https://github.com/DalaScript/infinite-scroll)\n\n### 🔜 Next Project\n\n - Joke Teller | *[Project 4/20]* → [View Repository](https://github.com/DalaScript/joke-teller)\n\n### 🗃️ Useful resources\n\n - [Google Fonts](https://fonts.google.com/) – Source for beautiful and free web fonts used in your UI.\n - [CSS Tricks - Picture-in-Picture Guide](https://css-tricks.com/an-introduction-to-the-picture-in-picture-web-api/) – Great overview and code snippets for working with the PiP Web API.\n - [MDN - Screen Capture API](https://developer.mozilla.org/en-US/docs/Web/API/Screen_Capture_API/Using_Screen_Capture) – In-depth guide on using `getDisplayMedia()` for screen sharing.\n - [TC39](https://github.com/tc39/proposals) – The list of JavaScript language feature proposals\n\n---\n\n## 👤 Author\n\n### 🌐 Connect with Me\n\n - [Instagram](https://www.instagram.com/DalaScript)\n - [YouTube](https://www.youtube.com/@DalaScript)\n\n### 💻 Coding Profiles\n\n - [freeCodeCamp](https://www.freecodecamp.org/DalaScript)\n - [FrontendMentor](https://www.frontendmentor.io/profile/DalaScript)\n - [GitHub](https://github.com/DalaScript)\n\n*🙌 Thanks for checking out my project! More coming soon. Stay tuned 🚀*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdalascript%2Fpicture-in-picture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdalascript%2Fpicture-in-picture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdalascript%2Fpicture-in-picture/lists"}