From dfd4ad558b74defbe23b01196260b087f9a56813 Mon Sep 17 00:00:00 2001 From: Simon Willison Date: Sun, 25 Feb 2024 12:54:16 -0800 Subject: [PATCH] New design for table and database action menus Closes #2281 --- datasette/static/app.css | 45 +++++++++++++++++++++-------- datasette/templates/database.html | 47 +++++++++++++++++------------- datasette/templates/patterns.html | 48 +++++++++++++++++++------------ datasette/templates/table.html | 46 ++++++++++++++++------------- 4 files changed, 116 insertions(+), 70 deletions(-) diff --git a/datasette/static/app.css b/datasette/static/app.css index 80dfc677..5453a3d4 100644 --- a/datasette/static/app.css +++ b/datasette/static/app.css @@ -163,28 +163,22 @@ h6, } .page-header { - display: flex; - align-items: center; padding-left: 10px; border-left: 10px solid #666; margin-bottom: 0.75rem; margin-top: 1rem; } .page-header h1 { - display: inline; margin: 0; font-size: 2rem; padding-right: 0.2em; } -.page-header details { - display: inline-flex; -} -.page-header details > summary { + +.page-action-menu details > summary { list-style: none; - display: inline-flex; cursor: pointer; } -.page-header details > summary::-webkit-details-marker { +.page-action-menu details > summary::-webkit-details-marker { display: none; } @@ -364,13 +358,40 @@ details .nav-menu-inner { } /* Table/database actions menu */ -.page-header { +.page-action-menu { position: relative; } +.actions-menu-links { + display: inline; +} .actions-menu-links .dropdown-menu { position: absolute; top: calc(100% + 10px); - left: -10px; + left: 0; +} +.page-action-menu .icon-text { + display: inline-flex; + align-items: center; + border-radius: .25rem; + padding: 5px 12px 3px 7px; + color: #fff; + font-weight: 400; + font-size: 0.8em; + background: linear-gradient(180deg, #007bff 0%, #4E79C7 100%); + border-color: #007bff; +} +.page-action-menu .icon-text span { + /* Nudge text up a bit */ + position: relative; + top: -2px; +} +.page-action-menu .icon-text:hover { + cursor: pointer; +} +.page-action-menu .icon { + width: 18px; + height: 18px; + margin-right: 4px; } /* Components ============================================================== */ @@ -536,7 +557,7 @@ form input[type=submit], form button[type=button] { form input[type=submit] { color: #fff; - background-color: #007bff; + background: linear-gradient(180deg, #007bff 0%, #4E79C7 100%); border-color: #007bff; -webkit-appearance: button; } diff --git a/datasette/templates/database.html b/datasette/templates/database.html index ee4dd705..6c0cebcd 100644 --- a/datasette/templates/database.html +++ b/datasette/templates/database.html @@ -12,27 +12,34 @@ {% block content %} +{% endif %} + {{ top_database() }} diff --git a/datasette/templates/patterns.html b/datasette/templates/patterns.html index 9905df2c..33db3d1a 100644 --- a/datasette/templates/patterns.html +++ b/datasette/templates/patterns.html @@ -96,18 +96,24 @@
+
@@ -158,18 +164,24 @@
+
diff --git a/datasette/templates/table.html b/datasette/templates/table.html index 5aee6319..0c2be672 100644 --- a/datasette/templates/table.html +++ b/datasette/templates/table.html @@ -23,27 +23,33 @@ {% block content %} +{% set links = table_actions() %}{% if links %} +
+ +
+{% endif %} {{ top_table() }}