@@ -1302,26 +1302,38 @@ defmodule ReencodarrWeb.DashboardLive do
13021302 state . queue_counts
13031303 )
13041304
1305- assign ( socket ,
1306- crf_search_video: state . crf_search_video ,
1307- crf_search_results: state . crf_search_results ,
1308- crf_search_sample: state . crf_search_sample ,
1309- crf_progress: state . crf_progress ,
1310- encoding_video: state . encoding_video ,
1311- encoding_vmaf: state . encoding_vmaf ,
1312- encoding_progress: state . encoding_progress ,
1313- service_status: state . service_status ,
1314- stats: state . stats ,
1315- stats_display: stats_display ( state . stats ) ,
1316- state_distribution_display: state_distribution_display ( state . stats ) ,
1317- queue_counts: state . queue_counts ,
1318- queue_items: merged_queue_items ,
1319- queue_previews_loaded: Map . get ( state , :queue_previews_loaded , false ) ,
1320- vmaf_distribution: state . vmaf_distribution ,
1321- resolution_distribution: state . resolution_distribution ,
1322- codec_distribution: state . codec_distribution ,
1323- charts_loaded: Map . get ( state , :charts_loaded , false )
1324- )
1305+ stats_display = stats_display ( state . stats )
1306+ state_distribution_display = state_distribution_display ( state . stats )
1307+ queue_previews_loaded = Map . get ( state , :queue_previews_loaded , false )
1308+ charts_loaded = Map . get ( state , :charts_loaded , false )
1309+
1310+ socket
1311+ |> assign_if_changed ( :crf_search_video , state . crf_search_video )
1312+ |> assign_if_changed ( :crf_search_results , state . crf_search_results )
1313+ |> assign_if_changed ( :crf_search_sample , state . crf_search_sample )
1314+ |> assign_if_changed ( :crf_progress , state . crf_progress )
1315+ |> assign_if_changed ( :encoding_video , state . encoding_video )
1316+ |> assign_if_changed ( :encoding_vmaf , state . encoding_vmaf )
1317+ |> assign_if_changed ( :encoding_progress , state . encoding_progress )
1318+ |> assign_if_changed ( :service_status , state . service_status )
1319+ |> assign_if_changed ( :stats , state . stats )
1320+ |> assign_if_changed ( :stats_display , stats_display )
1321+ |> assign_if_changed ( :state_distribution_display , state_distribution_display )
1322+ |> assign_if_changed ( :queue_counts , state . queue_counts )
1323+ |> assign_if_changed ( :queue_items , merged_queue_items )
1324+ |> assign_if_changed ( :queue_previews_loaded , queue_previews_loaded )
1325+ |> assign_if_changed ( :vmaf_distribution , state . vmaf_distribution )
1326+ |> assign_if_changed ( :resolution_distribution , state . resolution_distribution )
1327+ |> assign_if_changed ( :codec_distribution , state . codec_distribution )
1328+ |> assign_if_changed ( :charts_loaded , charts_loaded )
1329+ end
1330+
1331+ defp assign_if_changed ( socket , key , value ) do
1332+ if Map . get ( socket . assigns , key ) == value do
1333+ socket
1334+ else
1335+ assign ( socket , key , value )
1336+ end
13251337 end
13261338
13271339 defp schedule_periodic_update do
0 commit comments