diff --git a/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/base.html.j2 b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/base.html.j2 new file mode 100644 index 0000000..91e82c1 --- /dev/null +++ b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/base.html.j2 @@ -0,0 +1,50 @@ + + + + + + {% block title %}Sshecret Admin{% endblock %} + + {% block head %} + {% include 'base/partials/stylesheets.html.j2' %} + {% endblock %} + + + + + + + + +
+ + + + + +
+ + +
+ {% include "base/partials/navbar.html.j2" %} +
+ + +
+ {% block breadcrumbs %} + {% endblock %} +
+ {% block content %}{% endblock %} +
+
+ +
+
+ + {% block scripts %} + {% include 'base/partials/scripts.html.j2' %} + {% endblock %} + + diff --git a/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/page.html.j2 b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/page.html.j2 new file mode 100644 index 0000000..6ca2ac1 --- /dev/null +++ b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/page.html.j2 @@ -0,0 +1,41 @@ +{% extends "/base/base.html.j2" %} + +{% block title %}{{ title or "Page" }}{% endblock %} + +{% block breadcrumbs %} + +
+ +
+{% endblock %} +{% block content %} + + + + +
+ {% block page_content %} +

This is a generic page.

+ {% endblock %} +
+ +{% endblock %} diff --git a/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/partials/navbar.html.j2 b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/partials/navbar.html.j2 new file mode 100644 index 0000000..2ca5952 --- /dev/null +++ b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/partials/navbar.html.j2 @@ -0,0 +1,77 @@ +
+ + +
+ + + + + + + Sshecret Logo + Sshecret + + +
+ + +
+ + + + +
+
diff --git a/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/partials/scripts.html.j2 b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/partials/scripts.html.j2 new file mode 100644 index 0000000..db5ecc9 --- /dev/null +++ b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/partials/scripts.html.j2 @@ -0,0 +1,26 @@ +{# #} + + + + + + + + diff --git a/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/partials/sidebar.html.j2 b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/partials/sidebar.html.j2 new file mode 100644 index 0000000..e58cff5 --- /dev/null +++ b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/partials/sidebar.html.j2 @@ -0,0 +1,43 @@ + + + +
+ + + 🐚 Sshecret + +
+ + diff --git a/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/partials/stylesheets.html.j2 b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/partials/stylesheets.html.j2 new file mode 100644 index 0000000..7164315 --- /dev/null +++ b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/base/partials/stylesheets.html.j2 @@ -0,0 +1,37 @@ + + + + + + + + + + diff --git a/packages/sshecret-admin/src/sshecret_admin/frontend/templates/clients/redesign.html.j2 b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/clients/redesign.html.j2 new file mode 100644 index 0000000..a34f100 --- /dev/null +++ b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/clients/redesign.html.j2 @@ -0,0 +1,27 @@ +{% extends 'base/page.html.j2' %} + + +{% block title %}Clients{% endblock %} + +{% block page_content %} + + +
+ + +
+ {% block master %} +

Master list goes here

+ {% endblock %} +
+ + +
+ {% block detail %} +

Select an item from the list to view details.

+ {% endblock %} +
+ +
+ +{% endblock %} diff --git a/packages/sshecret-admin/src/sshecret_admin/frontend/templates/dashboard.html b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/dashboard.html index 800e0c5..840257b 100644 --- a/packages/sshecret-admin/src/sshecret_admin/frontend/templates/dashboard.html +++ b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/dashboard.html @@ -1,4 +1,4 @@ -{% extends "/dashboard/_base.html" %} {% block content %} +{% extends "/base/base.html.j2" %} {% block content %}
diff --git a/packages/sshecret-admin/src/sshecret_admin/frontend/templates/dashboard/_base.html b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/dashboard/_base.html index 2dddefa..1eb7f2e 100644 --- a/packages/sshecret-admin/src/sshecret_admin/frontend/templates/dashboard/_base.html +++ b/packages/sshecret-admin/src/sshecret_admin/frontend/templates/dashboard/_base.html @@ -13,7 +13,7 @@ {% endif %}
-
+
{% block content %} {% endblock %}
diff --git a/packages/sshecret-admin/src/sshecret_admin/frontend/views/clients.py b/packages/sshecret-admin/src/sshecret_admin/frontend/views/clients.py index c8c8c8f..ea61bf6 100644 --- a/packages/sshecret-admin/src/sshecret_admin/frontend/views/clients.py +++ b/packages/sshecret-admin/src/sshecret_admin/frontend/views/clients.py @@ -107,6 +107,37 @@ def create_router(dependencies: FrontendDependencies) -> APIRouter: }, ) + @app.get("/clients/new/") + async def get_new_client_tree( + request: Request, + current_user: Annotated[LocalUserInfo, Depends(dependencies.get_user_info)], + admin: Annotated[AdminBackend, Depends(dependencies.get_admin_backend)], + ) -> Response: + """Get client tree view.""" + page = 1 + per_page = CLIENTS_PER_PAGE + offset = 0 + + client_filter = ClientFilter(offset=offset, limit=per_page) + results = await admin.query_clients(client_filter) + paginate = PagingInfo( + page=page, limit=per_page, total=results.total_results, offset=offset + ) + + LOG.info("Results %r", results) + return templates.TemplateResponse( + request, + "clients/redesign.html.j2", + { + "page_title": "Clients", + "offset": offset, + "pages": paginate, + "clients": results.clients, + "user": current_user, + "results": results, + }, + ) + @app.get("/clients/page/{page}") async def get_client_page( request: Request, diff --git a/packages/sshecret-admin/src/sshecret_admin/static/css/main.css b/packages/sshecret-admin/src/sshecret_admin/static/css/main.css index 3317fc3..afaae79 100644 --- a/packages/sshecret-admin/src/sshecret_admin/static/css/main.css +++ b/packages/sshecret-admin/src/sshecret_admin/static/css/main.css @@ -2854,6 +2854,11 @@ height: 100vh; } } + .md\:w-64 { + @media (width >= 48rem) { + width: calc(var(--spacing) * 64); + } + } .md\:w-\[calc\(100\%-256px\)\] { @media (width >= 48rem) { width: calc(100% - 256px); @@ -2879,6 +2884,11 @@ grid-template-columns: repeat(2, minmax(0, 1fr)); } } + .md\:grid-cols-\[300px_1fr\] { + @media (width >= 48rem) { + grid-template-columns: 300px 1fr; + } + } .md\:flex-row { @media (width >= 48rem) { flex-direction: row;