const { getStoredUser, refreshMe } = require("./utils/auth"); App({ globalData: { user: null, activeClassId: null, enabledModules: null }, onLaunch() { const user = getStoredUser(); if (user) { this.setUser(user); refreshMe().catch(() => {}); } }, setUser(user) { const savedClass = wx.getStorageSync("active_class") || null; const memberships = Array.isArray(user.memberships) ? user.memberships : []; const savedClassValid = savedClass && savedClass.id && memberships.some( (membership) => membership.class_id === savedClass.id ); const activeMembership = user.active_membership || null; const firstMembership = memberships.length ? memberships[0] : null; this.globalData.user = user; this.globalData.activeClassId = savedClassValid ? savedClass.id : (activeMembership && activeMembership.class_id) || (firstMembership && firstMembership.class_id) || null; this.globalData.enabledModules = savedClassValid ? savedClass.enabled_modules : user.enabled_modules || null; } });