defmodule SpazioSolazzoWeb.BookingComponents do @moduledoc """ Reusable components for the booking flow. """ use Phoenix.Component import SpazioSolazzoWeb.CoreComponents, only: [icon: 1] attr :time_slot, :map, required: true @doc """ Renders a detailed time slot card showing availability status and booking counts. """ def time_slot_card(assigns) do assigns = assigns |> assign(:availability, assigns.time_slot.booking_stats.availability_status) |> assign(:requested_count, assigns.time_slot.booking_stats.requested_count) |> assign(:accepted_count, assigns.time_slot.booking_stats.accepted_count) |> assign(:user_has_booking, assigns.time_slot.booking_stats.user_has_booking) ~H""" """ end end