defmodule MoonWeb.Pages.GettingStartedPage do @moduledoc false use MoonWeb, :live_view alias Moon.Design.Tabs alias MoonWeb.Components.Page alias MoonWeb.Components.Started.ForDeveloper alias MoonWeb.Components.Started.ForDesigner data(breadcrumbs, :any, default: [ %{ to: "/getting-started", name: "Getting Started" } ] ) data(tab_index, :integer) def mount(params, _session, socket) do {:ok, assign(socket, tab_index: (params["role"] == developer_role() && 1) || 0)} end def render(assigns) do ~F"""

Getting started

{designer_role()} {developer_role()}
""" end def handle_event("handle_role", %{"value" => tab_index}, socket) do {:noreply, assign(socket, tab_index: String.to_integer(tab_index))} end def designer_role(), do: "I'm a designer" def developer_role(), do: "I'm a developer" end