/* ============================================================
BAN YARO — Partner-Seite
Showcase der offiziellen Ban Yaro Partner.
============================================================ */
window.Page_partner = (() => {
let _container = null;
async function init(container) {
_container = container;
_render();
_load();
}
function refresh() { _load(); }
function onDogChange() {}
function _render() {
_container.innerHTML = `
🤝
Unsere Partner
Diese Menschen glauben an Ban Yaro — und helfen uns, die Community zu wachsen.
Über ihre persönlichen Einladungscodes können sie neue Gründer vermitteln.
`;
}
async function _load() {
const el = _container.querySelector('#partner-content');
try {
const d = await API.get('/partners/public');
if (!d?.partners) throw new Error('Keine Daten.');
el.innerHTML = _renderPartners(d.partners);
} catch (e) {
el.innerHTML = `${e.message || 'Fehler beim Laden.'}
`;
}
}
function _renderPartners(partners) {
if (!partners.length) {
return `
Noch keine Partner — das könnte schon bald du sein.
${_cta()}
`;
}
const COLORS = [
'linear-gradient(135deg,#7c3aed,#a855f7)',
'linear-gradient(135deg,#2563eb,#3b82f6)',
'linear-gradient(135deg,#059669,#10b981)',
'linear-gradient(135deg,#d97706,#f59e0b)',
'linear-gradient(135deg,#db2777,#ec4899)',
];
return `
${partners.map((p, i) => {
const initial = (p.name || '?')[0].toUpperCase();
const grad = COLORS[i % COLORS.length];
return `
${p.logo_url
? `
})
`
: p.avatar_url
? `
})
`
: `
${initial}
`
}
${UI.escape(p.display_name || p.name)}
${p.tagline ? `
${UI.escape(p.tagline)}
` : ''}
${p.pp_bio || p.bio ? `
${UI.escape(p.pp_bio || p.bio)}
` : ''}
${p.photos?.length ? `
${p.photos.slice(0,3).map(url => {
const isVid = url.endsWith('.mp4') || url.endsWith('.webm');
return isVid
? `
`
: `
})
`;
}).join('')}
` : ''}
`;
}).join('')}
${_cta()}
`;
}
function _cta() {
return `
Du möchtest Partner werden?
Schreib uns — wir richten deinen persönlichen Einladungscode ein.
📧 partner@banyaro.app
`;
}
return { init, refresh, onDogChange };
})();