# `Tayori.Live.State`
[🔗](https://github.com/hattoriai/tayori/blob/v0.1.0/lib/tayori/live.ex#L44)

The `@tayori` assign:

  * `:reader` - nil for a visitor; `:unread` - its count of unread
    entries; `:seen_before` - the time the reader had seen the news
    until, for the "New" mark.
  * `:open` - whether the panel is open; `:entries` - its entries;
    `:more` - whether there are more; `:entry` - the entry open in the
    panel, or nil for the list; `:category` - the key of the category
    the list shows, or nil for all.
  * `:categories` - the categories by key; `:reactions` - the counts
    and the reader's own reactions of the entries shown
    (`{counts, mine}`, see `Tayori.Reactions.for_entries/2`).
  * `:announcement` - the entry announced to the reader now, or nil.
  * `:features` - the extras of the app (`Tayori.Config`);
    `:emoji` - the emoji readers react with.
  * `:page` - the public page's path; `:locale` and its `:messages`.

# `t`

```elixir
@type t() :: %Tayori.Live.State{
  announcement: Tayori.Entry.t() | nil,
  categories: %{required(String.t()) =&gt; Tayori.Category.t()},
  category: String.t() | nil,
  emoji: [String.t()],
  entries: [Tayori.Entry.t()],
  entry: Tayori.Entry.t() | nil,
  features: [atom()],
  limit: pos_integer(),
  locale: String.t(),
  locales: [String.t()],
  messages: map(),
  more: boolean(),
  open: boolean(),
  page: String.t() | nil,
  reactions: {map(), map()},
  reader: Tayori.Reader.t() | nil,
  seen_before: DateTime.t() | nil,
  unread: non_neg_integer()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
