1import {BOX_SET,SHOP_BOOKS,SHOP_LINKS,supportURL} from './gift-shop-content.js?v=0.67.1'; 2const node=(tag,text,cls)=>{const e=document.createElement(tag);if(text)e.textContent=text;if(cls)e.className=cls;return e;}; 3function link(text,url){const e=node('a',text+' â','booth-link');e.href=url;e.target='_blank';e.rel='noopener noreferrer';return e;} 4function photo(book,cls=''){const e=node('img',null,cls);e.src=book.image;e.alt=book.title+' · '+book.edition;e.loading='lazy';e.addEventListener('error',()=>{e.hidden=true;});return e;} 5function product(book,detail=false){ 6 const e=node('article',null,detail?'booth-feature':'booth-book');e.append(photo(book),node('h3',book.title),node('p',book.edition)); 7 if(book.id===BOX_SET.id)e.append(node('p','Five volumes by Geoffrey T. Carlton. Explore the toys, collectibles and household treasures beyond the museum.')); 8 e.append(link(book.search?'Find on Amazon':'View on Amazon',book.url)); 9 if(book.search)e.append(node('p','Availability and seller vary.','booth-small'));return e; 10} 11export function renderInformationBooth(container,selection='welcome',onSection=()=>{}){ 12 const known=[BOX_SET,...SHOP_BOOKS].find(b=>b.id===selection),section=known?'books':selection; 13 const nav=node('nav',null,'booth-tabs');nav.setAttribute('aria-label','Information Booth topics'); 14 for(const [id,title]of [['welcome','Welcome'],['books','Books'],['supp
14ort','Support'],['speaking','Speaking engagements']]){ 15 const b=node('button',title);b.type='button';b.setAttribute('aria-pressed',String(section===id));b.onclick=()=>onSection(id);nav.append(b); 16 } 17 const content=node('div',null,'booth-content'); 18 if(section==='books'){ 19 content.append(product(known||BOX_SET,true)); 20 content.append(node('h3','A lifetime of collecting. A library of discovery.'),node('p','Ten earlier titles by Geoffrey T. Carlton. Out-of-print editions may be available from third-party sellers.')); 21 const grid=node('div',null,'booth-books');for(const book of SHOP_BOOKS)grid.append(product(book));content.append(grid); 22 if(known&&known.id!==BOX_SET.id)content.append(product(BOX_SET,true)); 23 }else if(section==='support'){ 24 content.append(node('h3','Help keep discovery alive.'),node('p','This museum rests on years of collecting, research and photography, and thousands of sleepless hours acquiring and documenting information and images. Your support helps fund data hosting, development, community outreach and the growing archive.')); 25 const cards=node('div',null,'booth-support'); 26 const once=node('section'),monthly=node('section'); 27 once.append(node('h4','One-time contribution'),node('p','Choose any amount in USD on PayPal.'),link('Give once via PayPal',supportURL(false))); 28 monthly.append(node('h4','Recurring contribution'),node('p','Choose your amount in USD, then select âMake this a monthly donationâ on PayPal. Review the recurring payment before confirming. You can manage or cancel it through PayPal.'),link('Give monthly via PayPal',supportURL(true))); 29 cards.append(once,monthly);content.append(cards,node('p','Independent, community-supported museum through financial and data contributions. Contributions are voluntary financial support. PayPal donations not purchase products, membership, or a Database access subscription.','booth-small')); 30 }else if(section==='speaking'){ 31 content.append(node('p','BRING THE STORIES TO YOUR EVENT','eyebrow'),node('h3','Geoffrey T. Carlton is available for speaking engagements.'),node('p','Invite the author and collector behind this museum to speak about collecting, discoveries, and the stories behind the archive.'),link('Speaking information at StarWars50Years.com',SHOP_LINKS.speaking)); 32 }else{ 33 content.append(node('p','WELCOME TO THE INFORMATION BOOTH','eyebrow'),node('h3','Every collection begins with something you love.'),node('p','Created by author and collector Geoffrey T. Carlton, this museum brings the Star Wars Collectorâs Database into a walk-through gallery. Discover the books behind the project, learn about speaking engagements, or help support the work that keeps the museum growing.')); 34 const cards=node('div',null,'booth-welcome');for(const [id,title,copy]of [['books','Take the museum home','The five-book set and ten earlier titles.'],['speaking','Invite Geoffrey to speak','Information for your next event.'],['support','Support the museum','One-time or recurring contributions.']]){const b=node('button');b.append(node('strong',title),node('span',copy));b.onclick=()=>onSection(id);cards.append(b);}content.append(cards,node('h3','Continue your research'),node('p','Search collectible records and explore tools for organizing your collection. Database account and access options are explained on its website.'),link('Visit StarWarsDatabase.com',SHOP_LINKS.database)); 35 } 36 content.append(node('p','External links open in a new tab. Your museum visit stays open.','booth-small')); 37 const credits=node('button','Contributors · Data & Photography','booth-contributors');credits.type='button';credits.onclick=()=>onSection('contributors'); 38 container.replaceChildren(nav,content,credits); 39}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.