module AdminHelper def format_bytes(bytes) return "—" if bytes.nil? units = %w[B KB MB GB TB] size = bytes.to_f unit = units.shift while size >= 1024 && units.any? size /= 1024 unit = units.shift end "#{size.round(size >= 10 ? 0 : 1)} #{unit}" end def format_duration_minutes(minutes) return "0 min" if minutes.to_i <= 0 hours = minutes / 60 mins = minutes % 60 hours.positive? ? "#{hours}h #{mins}m" : "#{mins} min" end def admin_session_watch_links(session) links = [] if session.matchlivetv_platform? links << { label: "Pagina live", url: session.watch_page_url } end youtube = session.youtube_watch_url links << { label: "YouTube", url: youtube } if youtube.present? links end def admin_regia_expires_label(iso_time) return if iso_time.blank? Time.zone.parse(iso_time).strftime("%d/%m/%Y %H:%M") rescue ArgumentError, TypeError nil end end