import { LitElement, html } from 'lit' import { createQueriesController } from '@tanstack/lit-query' import { charactersQueries } from './services/characters/queries' class CharacterList extends LitElement { static properties = { ids: { attribute: false }, } ids: Array = [] private readonly characters = createQueriesController(this, () => ({ queries: this.ids.map((id) => charactersQueries.detail(id)), })) protected override createRenderRoot(): HTMLElement | DocumentFragment { return this } render() { return this.characters().map((character) => { if (character.status === 'pending') { return 'Loading...' } if (character.status === 'error') { return 'Error...' } if (character.data === null) { return 'Not found ...' } return html` ${character.data.name} (#${character.data.id}) Status: ${character.data.status} Species: ${character.data.species} Gender: ${character.data.gender} ` }) } } customElements.define('character-list', CharacterList)
Status: ${character.data.status}
Species: ${character.data.species}
Gender: ${character.data.gender}