Let's generate User model and controller.
mix ecto.create
mix phoenix.gen.json User users email:string name:string phone:string password_hash:string is_admin:boolean
mix ecto.migrate| extension Object { | |
| static func setPropertiesToDate(in dict: [String: Any]) -> [String: Any] { | |
| var dict = dict | |
| for property in dateConvertibles { | |
| if let dateStr = dict[property] as? String, | |
| let date = dateStr.toISODate()?.date { | |
| dict[property] = date | |
| } else if (dict[property] as? Date) != nil { | |
| continue | |
| } else { |
| centerWrap : Attribute msg | |
| centerWrap = | |
| Html.Attributes.class "centerWrap" | |
| |> htmlAttribute | |
| .centerWrap>div.wrp { | |
| justify-content: center !important; | |
| } |
| port module CandleStickComponent exposing (..) | |
| import Browser | |
| import Chart as C | |
| import Chart.Attributes as CA exposing (dashed) | |
| import Chart.Events as CE | |
| import Chart.Item as CI | |
| import Chart.Svg as CS | |
| import Html as H exposing (Html, div, span, text) | |
| import Html.Attributes exposing (class) |
| defmodule TravelerWeb.SearchbarLive do | |
| use TravelerWeb, :live_view | |
| alias Phoenix.LiveView.JS | |
| alias Traveler.Places | |
| def mount(_params, _session, socket) do | |
| socket = assign(socket, places: []) | |
| {:ok, socket, layout: false} | |
| end |
| # Elixir ZA: Boost your data team's productivity with Explorer | |
| ```elixir | |
| Mix.install( | |
| [ | |
| {:explorer, "~> 0.8.3"}, | |
| {:kino, "~> 0.13.2"}, | |
| {:kino_vega_lite, "~> 0.1.13"}, | |
| {:kino_explorer, "~> 0.1.20"}, | |
| {:adbc, "~> 0.6.0"}, |