+
- <%= if @partner.location do %>
-
-
- <.icon name="hero-map-pin" class="h-5 w-5 text-zinc-400" />
- <.link class="text-blue-500" href={"https://www.google.com/maps/search/?api=1&query=#{@partner.location.name}"}>
- {@partner.location.name}
-
-
- <% end %>
+
- <%= if @partner.socials do %>
-
-
-
- <%= if @partner.socials.website do %>
-
- <.icon name="hero-globe-alt" class="h-5 w-5 text-zinc-400" />
- <.link class="text-blue-500" href={@partner.socials.website}>Website
+ <%= if @has_permissions? do %>
+
+ <.button navigate={~p"/organizations/#{@partner.organization_id}/partners/#{@partner.id}/edit"} icon="hero-pencil">
+
+ {gettext("Edit Partner")}
+
+
+
+ <% end %>
+
+
+
+ <%= if @partner.location do %>
+
+ <.icon name="hero-map-pin" class="h-5 w-5 text-zinc-400" />
+ <.link class="text-sm text-blue-500" href={"https://www.google.com/maps/search/?api=1&query=#{@partner.location.name}"}>{@partner.location.name}
<% end %>
-
<%= if @partner.socials do %>
- <.socials entity={@partner.socials} />
+
+ <%= if @partner.socials.website do %>
+
+ <.icon name="hero-globe-alt" class="h-5 w-5 text-zinc-400" />
+ <.link class="text-sm text-blue-500" href={@partner.socials.website}>Website
+
+ <% end %>
+ <%= if @partner.socials.instagram do %>
+
+

+ <.link class="text-sm text-blue-500" href={"https://instagram.com/" <> @partner.socials.instagram}>Instagram
+
+ <% end %>
+ <%= if @partner.socials.facebook do %>
+
+

+ <.link class="text-sm text-blue-500" href={"https://facebook.com/" <> @partner.socials.facebook}>Facebook
+
+ <% end %>
+ <%= if @partner.socials.x do %>
+
+

+ <.link class="text-sm text-blue-500" href={"https://x.com/" <> @partner.socials.x}>X
+
+ <% end %>
+
<% end %>
- <% end %>
-
-
-
-
-
- <.icon name="hero-clock" class="size-5 mb-2" />
-
Overview
-
- <%= Enum.map(String.split(@partner.description, "\n"), fn phrase -> %>
- {phrase}
- <% end) %>
-
-
-
- <.icon name="hero-signal" class="size-5 mb-2" />
-
Benefits
-
-
- <%= Enum.map(String.split(@partner.benefits, "\n"), fn phrase -> %>
+
+
+ <.tabs class="scrollbar-hide mt-2 flex overflow-auto px-4">
+ <.link patch="?tab=benefits" replace={false}>
+ <.tab id="benefits-tab" active={@current_tab == "benefits"}>
+ <.icon name="hero-signal" class="size-5 mr-2" />
+ {gettext("Benefits")}
+
+
+ <.link patch="?tab=about" replace={false}>
+ <.tab id="about-tab" active={@current_tab == "about"}>
+ <.icon name="hero-information-circle" class="size-5 mr-2" />
+ {gettext("About")}
+
+
+
+
+
+ <%= if @current_tab == "benefits" do %>
+
+ <%= for phrase <- String.split(@partner.benefits, "\n") do %>
<%= if String.length(phrase) < 300 do %>
{phrase}
<% else %>
{String.slice(phrase, 0..300)}
<% end %>
- <% end) %>
-
-
- <%= if @partners do %>
-
-
- <.icon name="hero-star" class="size-5 mb-2" />
-
Related Partners
-
-
- <%= for partner <- @partners |> Enum.filter(fn partner -> partner.id != @partner.id end) do %>
-
- <.link href={~p"/organizations/#{@organization}/partners/#{@partner}"}>
-
- <.avatar color={:light_zinc} name={partner.name} src={Uploaders.PartnerImage.url({partner.image, partner}, :original)} type={:company} size={:xs} />
-
{partner.name}
-
- <%= if partner.location do %>
-
- <.icon name="hero-map-pin" class="size-5 text-zinc-400" />
- {partner.location.name}
-
- <% end %>
-
{partner.description}
-
-
- <% end %>
-
+ <% end %>
+
+ <% end %>
+
+ <%= if @current_tab == "about" do %>
+
+ <%= for phrase <- String.split(@partner.description, "\n") do %>
+ {phrase}
+ <% end %>
<% end %>
+ <%= if @partners do %>
+
+
+ <.icon name="hero-star" class="mb-2 h-5 w-5" />
+
Related Partners
+
+
+ <%= for partner <- @partners |> Enum.filter(fn partner -> partner.id != @partner.id end) do %>
+ <.link href={~p"/organizations/#{partner.organization_id}/partners/#{partner.id}"}>
+
+
+ <.avatar class="size-10" color={:light_zinc} name={partner.name} src={Uploaders.PartnerImage.url({partner.image, partner}, :original)} type={:company} size={:xs} />
+
+
+
{partner.name}
+ <%= if partner.location do %>
+
+ <.icon name="hero-map-pin" class="my-1 h-4 w-4 text-zinc-400" />
+ {partner.location.name}
+
+ <% end %>
+
+ {partner.description}
+
+
+
+
+ <% end %>
+
+
+ <% end %>
diff --git a/priv/repo/migrations/20221123000537_create_partners.exs b/priv/repo/migrations/20221123000537_create_partners.exs
index 68470bf5..242660aa 100644
--- a/priv/repo/migrations/20221123000537_create_partners.exs
+++ b/priv/repo/migrations/20221123000537_create_partners.exs
@@ -16,6 +16,8 @@ defmodule Atomic.Repo.Migrations.CreatePartners do
add :location, :map
add :socials, :map
+ add :banner, :string
+
add :organization_id, references(:organizations, on_delete: :delete_all, type: :binary_id)
timestamps()