We use them together in the same way in all pages, so it makes sense to combine them into a single component.
45 lines
2.2 KiB
Plaintext
45 lines
2.2 KiB
Plaintext
<%
|
|
@page_title, logo = if @flavor == PostgresResource::Flavor::PARADEDB
|
|
["Create ParadeDB PostgreSQL Database", "logo-paradedb.png"]
|
|
elsif @flavor == PostgresResource::Flavor::LANTERN
|
|
["Create Lantern PostgreSQL Database", "logo-lantern.png"]
|
|
else
|
|
["Create PostgreSQL Database", nil]
|
|
end
|
|
%>
|
|
|
|
<%== render("components/billing_warning") %>
|
|
|
|
<%== render(
|
|
"components/page_header",
|
|
locals: {
|
|
breadcrumbs: [
|
|
%w[Projects /project],
|
|
[@project_data[:name], @project_data[:path]],
|
|
["PostgreSQL Databases", "#{@project_data[:path]}/postgres"],
|
|
%w[Create #]
|
|
],
|
|
right_items: [logo ? "<img src=\"/#{logo}\" class=\"h-6 object-contain\"/>" : nil]
|
|
}
|
|
) %>
|
|
|
|
<%
|
|
form_elements = [
|
|
{name: "flavor", type: "hidden", value: @flavor},
|
|
{name: "name", type: "text", label: "Name", required: "required", placeholder: "Enter name", opening_tag: "<div class='sm:col-span-3'>"},
|
|
{name: "location", type: "radio_small_cards", label: "Location", required: "required", content_generator: ContentGenerator::Postgres.method(:location)},
|
|
{name: "size", type: "radio_small_cards", label: "Server size (Dedicated CPU)", required: "required", content_generator: ContentGenerator::Postgres.method(:size)},
|
|
{name: "storage_size", type: "radio_small_cards", label: "Storage size", required: "required", content_generator: ContentGenerator::Postgres.method(:storage_size)},
|
|
{name: "version", type: "radio_small_cards", label: "Version", required: "required", content_generator: ContentGenerator::Postgres.method(:version)},
|
|
{name: "ha_type", type: "radio_small_cards", label: "High Availability", required: "required", content_generator: ContentGenerator::Postgres.method(:ha_type)},
|
|
]
|
|
|
|
if [PostgresResource::Flavor::PARADEDB, PostgresResource::Flavor::LANTERN].include?(@flavor)
|
|
form_elements << {name: "partnership_notice", type: "partnership_notice", label: "Partnership Notice", required: "required", content_generator: ContentGenerator::Postgres.method(:partnership_notice)}
|
|
end
|
|
|
|
action = "#{@project_data[:path]}/postgres"
|
|
%>
|
|
|
|
<%==render("components/form/resource_creation_form", locals: {action:, form_elements:, option_tree: @option_tree, option_parents: @option_parents})%>
|