Xtream Code Club ✰

.favorites, .recently-watched { margin-bottom: 30px; }

.login-container { display: flex; justify-content: center; align-items: center; height: 100vh; } xtream code club

.sidebar { width: 250px; background: white; border-right: 1px solid #e0e0e0; overflow-y: auto; } .recently-watched { margin-bottom: 30px

.favorite-item, .recent-item { display: flex; justify-content: space-between; align-items: center; padding: 10px; margin-bottom: 10px; background: #f9f9f9; border-radius: 5px; cursor: pointer; transition: background 0.3s; } } .login-container { display: flex

async getCategories() { try { const [live, vod, series] = await Promise.all([ axios.get(`${this.baseUrl}/player_api.php`, { params: { username: this.username, password: this.password, action: 'get_live_categories' } }), axios.get(`${this.baseUrl}/player_api.php`, { params: { username: this.username, password: this.password, action: 'get_vod_categories' } }), axios.get(`${this.baseUrl}/player_api.php`, { params: { username: this.username, password: this.password, action: 'get_series_categories' } }) ]); return { live: live.data, vod: vod.data, series: series.data }; } catch (error) { throw error; } }