fix: fixed CSM-008
This commit is contained in:
@@ -105,12 +105,12 @@ defmodule BDS.Desktop.ShellLive.PanelRenderer do
|
||||
end
|
||||
|
||||
defp render_post_links(assigns) do
|
||||
links = post_link_entries(assigns)
|
||||
panel_links = assigns[:panel_post_links] || %{backlinks: [], outlinks: []}
|
||||
|
||||
assigns =
|
||||
assigns
|
||||
|> assign(:backlinks, Map.get(links, :backlinks, []))
|
||||
|> assign(:outlinks, Map.get(links, :outlinks, []))
|
||||
|> assign(:backlinks, Map.get(panel_links, :backlinks, []))
|
||||
|> assign(:outlinks, Map.get(panel_links, :outlinks, []))
|
||||
|
||||
~H"""
|
||||
<%= if Enum.empty?(@backlinks) and Enum.empty?(@outlinks) do %>
|
||||
@@ -161,7 +161,7 @@ defmodule BDS.Desktop.ShellLive.PanelRenderer do
|
||||
end
|
||||
|
||||
defp render_git_log(assigns) do
|
||||
entries = git_log_entries(assigns)
|
||||
entries = assigns[:panel_git_entries] || []
|
||||
assigns = assign(assigns, :git_entries, entries)
|
||||
|
||||
~H"""
|
||||
@@ -196,7 +196,7 @@ defmodule BDS.Desktop.ShellLive.PanelRenderer do
|
||||
"""
|
||||
end
|
||||
|
||||
defp post_link_entries(assigns) do
|
||||
def fetch_post_link_entries(assigns) do
|
||||
case assigns.current_tab do
|
||||
%{type: :post, id: post_id} ->
|
||||
%{
|
||||
@@ -226,7 +226,7 @@ defmodule BDS.Desktop.ShellLive.PanelRenderer do
|
||||
|> Enum.reject(&is_nil/1)
|
||||
end
|
||||
|
||||
defp git_log_entries(assigns) do
|
||||
def fetch_git_log_entries(assigns) do
|
||||
case git_history_target(assigns.current_tab) do
|
||||
nil ->
|
||||
[]
|
||||
|
||||
@@ -30,7 +30,13 @@ defmodule BDS.Desktop.ShellLive.TabHelpers do
|
||||
Enum.reduce(tabs, %{}, fn tab, acc ->
|
||||
key = {tab.type, tab.id}
|
||||
existing_meta = Map.get(tab_meta, key, %{})
|
||||
synced_meta = merge_missing_meta(existing_meta, derived_tab_meta(tab))
|
||||
|
||||
synced_meta =
|
||||
if meta_complete?(existing_meta) do
|
||||
existing_meta
|
||||
else
|
||||
merge_missing_meta(existing_meta, derived_tab_meta(tab))
|
||||
end
|
||||
|
||||
if map_size(synced_meta) == 0 do
|
||||
acc
|
||||
@@ -198,6 +204,12 @@ defmodule BDS.Desktop.ShellLive.TabHelpers do
|
||||
|
||||
defp derived_tab_meta(_tab), do: %{}
|
||||
|
||||
defp meta_complete?(%{title: title, subtitle: subtitle})
|
||||
when is_binary(title) and title != "" and is_binary(subtitle) and subtitle != "",
|
||||
do: true
|
||||
|
||||
defp meta_complete?(_), do: false
|
||||
|
||||
defp merge_missing_meta(existing_meta, fresh_meta) do
|
||||
existing_meta
|
||||
|> maybe_put_missing(:title, Map.get(fresh_meta, :title))
|
||||
|
||||
Reference in New Issue
Block a user