From f91870eede659dd8da800fcd97a71e45d02bf7cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Bara=C3=BAna?= Date: Tue, 18 Nov 2025 10:13:58 -0300 Subject: [PATCH] More improvements to the apps page UI --- lib/livebook_web/live/apps_live.ex | 60 +++++++++++++++--------------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/lib/livebook_web/live/apps_live.ex b/lib/livebook_web/live/apps_live.ex index cfa12d804..3431acc81 100644 --- a/lib/livebook_web/live/apps_live.ex +++ b/lib/livebook_web/live/apps_live.ex @@ -33,9 +33,9 @@ defmodule LivebookWeb.AppsLive do @impl true def render(assigns) do ~H""" -
-
-
+
+
+
<.menu id="apps-menu" position="bottom-right" md_position="bottom-left"> <:toggle> @@ -55,26 +55,31 @@ defmodule LivebookWeb.AppsLive do
<.link navigate={~p"/apps-dashboard"} - class="inline-flex items-center gap-1 text-gray-500 text-sm font-medium px-2.5 py-1.5 rounded-md hover:bg-gray-100 hover:text-gray-900 transition-all duration-150" + class="inline-flex items-center gap-1.5 text-gray-500 text-xs font-medium px-3 py-1.5 rounded-md hover:bg-gray-100/80 hover:text-gray-700 transition-all duration-200" > Dashboard - <.remix_icon icon="arrow-right-line" class="align-middle ml-1" /> + <.remix_icon + icon="arrow-right-line" + class="text-xs text-gray-400" + />
-
-
-

Apps

+
+
+

+ Apps +

<%= if @apps != [] do %> -
+
<.remix_icon icon="search-line" - class="absolute left-3 bottom-[8px] text-gray-400" + class="absolute left-3 bottom-2 text-gray-400" /> <.text_field id="search-app" @@ -109,32 +114,30 @@ defmodule LivebookWeb.AppsLive do
Try adjusting your search or filter
-
+
-
- <.remix_icon icon={icon} class="text-gray-500 text-lg" /> - {app_folder} +
+ <.remix_icon icon={icon} class="text-gray-500/80 text-xs leading-none" /> + + {app_folder} +
-
+
<.link :for={app <- apps_listing(apps)} id={"app-#{app.slug}"} navigate={~p"/apps/#{app.slug}"} - class="block border border-gray-200 rounded-md px-3.5 py-3 bg-white hover:bg-gray-50 hover:border-gray-300 transition-all duration-150 cursor-pointer" + class="group block border border-gray-200/70 rounded-lg px-4 py-4 bg-white shadow-sm hover:shadow-lg hover:border-gray-300 hover:-translate-y-1 transition-all duration-200 ease-out cursor-pointer" >
- + {app.notebook_name}
<.remix_icon :if={not app.public?} icon="lock-password-line" - class="w-4 h-4 text-gray-400" - /> - <.remix_icon - icon="arrow-right-line" - class="w-4 h-4 text-gray-300 transition-all duration-150 group-hover:text-gray-500 group-hover:translate-x-0.5" + class="text-sm text-gray-300" />
@@ -161,22 +164,21 @@ defmodule LivebookWeb.AppsLive do Open a notebook
  • - + 2 -
    - Click - <.remix_icon icon="rocket-line" class="inline align-baseline text-base" /> +
    + Click <.remix_icon icon="rocket-line" class="inline align-middle text-base" /> in the sidebar and configure the app as public
  • - + 3 -
    +
    Save the notebook to the - + {Livebook.Config.apps_path()} folder