2026-02-24 08:40:08 +00:00
|
|
|
defmodule BerrypodWeb.Shop.Orders do
|
|
|
|
|
use BerrypodWeb, :live_view
|
|
|
|
|
|
2026-02-26 19:32:50 +00:00
|
|
|
alias Berrypod.{Orders, Pages}
|
2026-02-24 08:40:08 +00:00
|
|
|
|
|
|
|
|
@impl true
|
|
|
|
|
def mount(_params, session, socket) do
|
|
|
|
|
email = session["order_lookup_email"]
|
2026-02-26 19:32:50 +00:00
|
|
|
page = Pages.get_page("orders")
|
2026-02-24 08:40:08 +00:00
|
|
|
|
|
|
|
|
socket =
|
|
|
|
|
socket
|
|
|
|
|
|> assign(:page_title, "Your orders")
|
|
|
|
|
|> assign(:lookup_email, email)
|
2026-02-26 19:32:50 +00:00
|
|
|
|> assign(:page, page)
|
2026-02-24 08:40:08 +00:00
|
|
|
|
|
|
|
|
socket =
|
|
|
|
|
if email do
|
|
|
|
|
assign(socket, :orders, Orders.list_orders_by_email(email))
|
|
|
|
|
else
|
|
|
|
|
assign(socket, :orders, nil)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
{:ok, socket}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@impl true
|
|
|
|
|
def handle_params(_params, _uri, socket), do: {:noreply, socket}
|
|
|
|
|
|
|
|
|
|
@impl true
|
|
|
|
|
def render(assigns) do
|
|
|
|
|
~H"""
|
2026-02-26 19:32:50 +00:00
|
|
|
<BerrypodWeb.PageRenderer.render_page {assigns} />
|
2026-02-24 08:40:08 +00:00
|
|
|
"""
|
|
|
|
|
end
|
|
|
|
|
end
|