El Team Maximus lanzó a la venta una nueva herramienta para hacer más fácil los flasheos de prácticamente todos los lectores de Xbox 360 que actualmente nos podemos encontrar en el mercado. Maximus 360 Lizard pretende ser un accesorio innovador en la scene, en un futuro posiblemente no haga falta…
return ` <div class="archive-card" data-id="${item.identifier}"> <div class="card-thumb"> ${thumbHtml} </div> <div class="card-content"> <div class="type-tag">${typeLabel}</div> <div class="card-title"> ${escapeHtml(item.title)} <span class="year-badge">${item.year}</span> </div> <div class="card-desc">${escapeHtml(item.description)}</div> <div class="card-actions"> <a href="${item.externalUrl}" target="_blank" rel="noopener noreferrer" class="btn-archive"> 📀 View on Archive.org → </a> <span class="external-link">open media player</span> </div> </div> </div> `; }).join('');
/* stats line */ .stats { display: flex; justify-content: space-between; margin-bottom: 1.5rem; font-size: 0.85rem; color: #bfd1cf; padding: 0 0.2rem; }
/* loading + error */ .loading-state, .error-state, .no-results { text-align: center; padding: 3rem; font-size: 1.2rem; background: rgba(0,0,0,0.3); border-radius: 2rem; margin-top: 1rem; } .error-state { color: #ffae70; } footer { text-align: center; margin-top: 2.5rem; font-size: 0.75rem; color: #6f8f92; border-top: 1px solid #ffcf7a30; padding-top: 1.5rem; } @media (max-width: 680px) { .archive-feature { padding: 1.2rem; } .title-area h1 { font-size: 1.8rem; } } </style> </head> <body> <div class="archive-feature"> <div class="jeannie-header"> <div class="title-area"> <h1>I Dream of Jeannie · Archive</h1> <div class="sub">classic episodes · promos · nostalgic media from the Internet Archive</div> </div> <div class="archive-badge"> 📀 powered by <a href="https://archive.org" target="_blank" rel="noopener">archive.org</a> metadata </div> </div>
function setActiveFilterButton(type) { filterBtns.forEach(btn => { const btnType = btn.getAttribute("data-type"); if (btnType === type) { btn.classList.add("active"); } else { btn.classList.remove("active"); } }); } i dream of jeannie archive.org
/* card grid */ .items-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.8rem; margin-top: 1rem; }
container.innerHTML = cardsHTML; }
if (filtered.length === 0) { container.innerHTML = `<div class="no-results">🧞 No Jeannie treasures match — try another search or clear filter! “Master, say the magic word!” 🧞</div>`; return; } return ` <div class="archive-card" data-id="${item
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"> <title>I Dream of Jeannie · Archive Explorer</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; }
<div id="cardsContainer" class="items-grid"> <div class="loading-state">✨ summoning Jeannie's bottle... fetching from archive.org metadata ✨</div> </div> <footer> 🧞♀️ Curated collection of “I Dream of Jeannie” related items from the Internet Archive’s open library. Click any button to watch or read original archived media. All content belongs to respective rights holders. </footer> </div>
function filterItems() { let filtered = [...masterItems]; // apply type filter if (currentFilter !== "all") { filtered = filtered.filter(item => item.type === currentFilter); } // apply search text if (currentSearch.trim() !== "") { const searchLower = currentSearch.trim().toLowerCase(); filtered = filtered.filter(item => item.searchText.includes(searchLower)); } return filtered; } Click any button to watch or read original archived media
<script> // ============================================================ // PRE-DEFINED METADATA: I Dream of Jeannie items on archive.org // Real identifiers, direct links to open content (episodes, promos, specials) // Each object contains identifier, title, year, description, type, thumbnail hint // ============================================================ const JEANNIE_ARCHIVE_ITEMS = [ { identifier: "I_Dream_of_Jeannie_S01E01", title: "S01E01 - The Lady in the Bottle", year: 1965, description: "Pilot episode: astronaut Tony Nelson finds a mysterious bottle on a deserted island and releases a beautiful 2,000-year-old genie.", type: "episode", thumbnail: "https://archive.org/download/I_Dream_of_Jeannie_S01E01/__ia_thumb.jpg", externalUrl: "https://archive.org/details/I_Dream_of_Jeannie_S01E01" }, { identifier: "I_Dream_of_Jeannie_S01E02", title: "S01E02 - My Hero?", year: 1965, description: "Jeannie decides to make Tony a hero at the NASA base, but her magical help leads to hilarious chaos.", type: "episode", thumbnail: "", externalUrl: "https://archive.org/details/I_Dream_of_Jeannie_S01E02" }, { identifier: "I_Dream_of_Jeannie_S01E03", title: "S01E03 - Guess What Happened on the Way to the Moon?", year: 1965, description: "Jeannie sneaks aboard Tony's flight to the moon, causing unexpected and funny situations.", type: "episode", thumbnail: "", externalUrl: "https://archive.org/details/IDreamOfJeannieS01E03GuessWhatHappenedOnTheWayToTheMoon" }, { identifier: "I_Dream_of_Jeannie_S02E01", title: "S02E01 - The Greatest Invention in the World", year: 1966, description: "Dr. Bellows gets suspicious again while Jeannie tries to help Tony with a top-secret project.", type: "episode", thumbnail: "", externalUrl: "https://archive.org/details/IDreamOfJeannieS02E01TheGreatestInventionInTheWorld" }, { identifier: "jeannie_promo_nbc_1967", title: "NBC Fall Promo - I Dream of Jeannie (1967)", year: 1967, description: "Vintage network promo featuring Barbara Eden & Larry Hagman. Classic 60s advertisement.", type: "promo", thumbnail: "", externalUrl: "https://archive.org/details/IDreamOfJeannieNBCTVPromo1967" }, { identifier: "jeannie_bloopers_reel", title: "I Dream of Jeannie - Bloopers & Gag Reel", year: 1970, description: "Rare behind-the-scenes outtakes and funny moments from the set of Jeannie.", type: "featurette", thumbnail: "", externalUrl: "https://archive.org/details/IDreamOfJeannieBloopers" }, { identifier: "IDreamOfJeannieS03E06", title: "S03E06 - The Mod Party", year: 1967, description: "Jeannie throws a groovy 60s mod party, much to Tony's dismay. Guest star vibes.", type: "episode", thumbnail: "", externalUrl: "https://archive.org/details/IDreamOfJeannieS03E06TheModParty" }, { identifier: "jeannie_interview_barbara_eden", title: "Barbara Eden Interview - Remembering Jeannie", year: 2001, description: "Interview with Barbara Eden reflecting on the iconic role and cultural impact of the show.", type: "featurette", thumbnail: "", externalUrl: "https://archive.org/details/BarbaraEdenInterviewIDreamOfJeannie" }, { identifier: "IDreamOfJeannie_Christmas_ep", title: "S04E15 - The World's Greatest Lover (Christmas Episode)", year: 1968, description: "Holiday classic where Jeannie uses her magic to help Tony's romantic side.", type: "episode", thumbnail: "", externalUrl: "https://archive.org/details/IDreamOfJeannieS04E15TheWorldsGreatestLover" }, { identifier: "jeannie_cartoon_promo", title: "I Dream of Jeannie Animated Special Promo", year: 1973, description: "Rare animated promo / Saturday morning cartoon preview featuring Jeannie.", type: "promo", thumbnail: "", externalUrl: "https://archive.org/details/JeannieAnimatedPromo1973" }, { identifier: "IDreamOfJeannie_Season5_Clip", title: "S05E01 - Jeannie and the Wild Pipchick", year: 1969, description: "Jeannie meets a wild relative, laughter ensues at Cocoa Beach.", type: "episode", thumbnail: "", externalUrl: "https://archive.org/details/IDreamOfJeannieS05E01JeannieAndTheWildPipchick" }, { identifier: "jeannie_archive_panel", title: "Paley Center Panel: I Dream of Jeannie Reunion", year: 2003, description: "Full panel discussion with cast and creators, celebrating the legacy.", type: "featurette", thumbnail: "", externalUrl: "https://archive.org/details/IDreamOfJeanniePaleyPanel" } ];
/* archive card */ .archive-card { background: rgba(25, 35, 38, 0.85); backdrop-filter: blur(4px); border-radius: 1.8rem; overflow: hidden; transition: transform 0.2s ease, box-shadow 0.2s; border: 1px solid #ffcf7a30; display: flex; flex-direction: column; } .archive-card:hover { transform: translateY(-6px); box-shadow: 0 20px 30px -12px black; border-color: #ffcf7a80; } .card-thumb { height: 160px; background: #0f191c; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; border-bottom: 1px solid #f3b33d30; } .card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: 0.3s; } .no-img-icon { font-size: 3.5rem; opacity: 0.6; } .card-content { padding: 1.2rem 1.2rem 1.4rem; flex: 1; } .card-title { font-size: 1.25rem; font-weight: 700; margin-bottom: 0.3rem; color: #ffdfa5; display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; } .year-badge { font-size: 0.7rem; background: #00000066; padding: 0.2rem 0.5rem; border-radius: 30px; font-weight: normal; color: #ffe0b5; } .card-desc { font-size: 0.85rem; color: #cbd5e1; margin: 0.5rem 0 0.8rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .type-tag { display: inline-block; background: #3c2e1f; padding: 0.2rem 0.7rem; border-radius: 30px; font-size: 0.7rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 0.6rem; color: #ffdd99; } .card-actions { margin-top: 0.8rem; display: flex; gap: 0.7rem; align-items: center; flex-wrap: wrap; } .btn-archive { background: #00000055; border: 1px solid #ffcf7a; padding: 0.4rem 1rem; border-radius: 40px; color: #ffdfb3; font-weight: 500; font-size: 0.75rem; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: 0.2s; } .btn-archive:hover { background: #f3b33d; color: #1a2a2a; border-color: #f3b33d; } .external-link { font-size: 0.7rem; color: #9aaeb0; }
// event listeners searchInput.addEventListener("input", (e) => { currentSearch = e.target.value; renderCards(); });
/* header with genie flair */ .jeannie-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 2rem; border-bottom: 2px solid #ffcf7a; padding-bottom: 1.2rem; } .title-area h1 { font-size: 2.7rem; font-weight: 700; background: linear-gradient(135deg, #FFE6B0, #FFB347); background-clip: text; -webkit-background-clip: text; color: transparent; letter-spacing: -0.5px; display: inline-flex; align-items: center; gap: 12px; } .title-area h1::before { content: "🧞♀️"; font-size: 2.5rem; background: none; color: #f7c56e; } .sub { color: #cbd5e1; margin-top: 0.4rem; font-size: 1rem; border-left: 3px solid #f3b33d; padding-left: 0.8rem; } .archive-badge { background: #2c3e2f; padding: 0.5rem 1.2rem; border-radius: 60px; font-weight: 500; font-size: 0.85rem; backdrop-filter: blur(4px); background: rgba(0,0,0,0.5); border: 1px solid #ffcf7a60; } .archive-badge a { color: #ffdd99; text-decoration: none; font-weight: 500; } .archive-badge a:hover { text-decoration: underline; }