/* ============================================================
BAN YARO — Onboarding-Wizard
3-Schritt-Wizard für neue User ohne Hund.
============================================================ */
window.Page_onboarding = (() => {
let _container = null;
let _appState = null;
let _step = 1; // 1 = Willkommen, 2 = Hund anlegen, 3 = Fertig
// ----------------------------------------------------------
// INIT
// ----------------------------------------------------------
async function init(container, appState) {
_container = container;
_appState = appState;
// Hunde frisch laden — der appState kann veraltet sein (z.B. nach
// Anlage in mobiler App). Wenn schon ein Hund da ist, Wizard
// komplett überspringen.
try {
const dogs = await API.dogs.list();
_appState.dogs = dogs;
if (dogs.length > 0) {
_appState.activeDog = dogs[0];
localStorage.setItem('by_active_dog', String(dogs[0].id));
localStorage.setItem('by_onboarding_done', '1');
App.renderDogSwitcher?.();
if (window.Worlds) window.Worlds.init(_appState);
else App.navigate('diary');
return;
}
} catch (e) {
// Lieber Wizard zeigen als komplett blockieren — wenn API down ist,
// landet der User halt im Standard-Flow.
console.warn('Onboarding: dog-list refresh failed', e);
}
_step = 1;
_render();
}
function refresh() {
// Wenn User nach Abschluss zurücknavigiert und schon fertig ist → Tagebuch
if (localStorage.getItem('by_onboarding_done')) {
App.navigate('diary');
return;
}
_render();
}
function onDogChange() {}
// ----------------------------------------------------------
// RENDER
// ----------------------------------------------------------
function _render() {
_container.innerHTML = `
${[1, 2, 3].map(n => `
${n < _step
? ``
: n}
${n < 3 ? `` : ''}
`).join('')}
${_stepContent()}
`;
_bindEvents();
}
function _stepContent() {
if (_step === 1) return _step1();
if (_step === 2) return _step2();
if (_step === 3) return _step3();
return '';
}
// ----------------------------------------------------------
// SCHRITT 1 — Willkommen
// ----------------------------------------------------------
function _step1() {
return `
Willkommen bei Ban Yaro!
Ban Yaro ist dein digitaler Begleiter für alles rund um deinen Hund —
Tagebuch, Gesundheit, Karte und Community in einer App.
In nur zwei Schritten richtest du dein Profil ein und bist sofort startklar.