Collapsed sidebar shows only the status dot; rename Businesses → Business Groups

Collapsed sidebar now hides the network text (running/servers/operators) and
keeps just the centered status dot. Rename the user-facing 'Businesses' label to
'Business Groups' (sidebar, homepage tile, list title/heading/empty state, create
button, profile back-link); route/tab id stay 'businesses'.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Jon
2026-06-05 20:22:41 +01:00
parent 62489b84b7
commit 7f12820eb3
4 changed files with 19 additions and 14 deletions

View File

@@ -156,7 +156,11 @@
.ss-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--muted); flex-shrink: 0; } .ss-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--muted); flex-shrink: 0; }
.ss-dot.online { background: var(--green); box-shadow: 0 0 5px var(--green); } .ss-dot.online { background: var(--green); box-shadow: 0 0 5px var(--green); }
.ss-dot.offline { background: var(--red); } .ss-dot.offline { background: var(--red); }
html.collapsed .side-status { display: none; } /* collapsed: keep only the status dot, centered */
html.collapsed .side-status { padding: 12px 0; }
html.collapsed .side-status .ss-text { display: none; }
html.collapsed .side-status .ss-row { justify-content: center; margin-top: 0; }
html.collapsed .side-status .ss-row.ss-text { display: none; }
html.collapsed .lbl, html.collapsed .brand-text { display: none; } html.collapsed .lbl, html.collapsed .brand-text { display: none; }
@@ -283,7 +287,7 @@
<nav class="side-nav"> <nav class="side-nav">
<!-- Group 1: accounts --> <!-- Group 1: accounts -->
<a href="/users" {% if nav_active == 'users' %}class="active"{% endif %}><span class="ico"><i class="fa-solid fa-user"></i></span><span class="lbl">Users</span></a> <a href="/users" {% if nav_active == 'users' %}class="active"{% endif %}><span class="ico"><i class="fa-solid fa-user"></i></span><span class="lbl">Users</span></a>
<a href="/businesses" {% if nav_active == 'businesses' %}class="active"{% endif %}><span class="ico"><i class="fa-solid fa-briefcase"></i></span><span class="lbl">Businesses</span></a> <a href="/businesses" {% if nav_active == 'businesses' %}class="active"{% endif %}><span class="ico"><i class="fa-solid fa-briefcase"></i></span><span class="lbl">Business Groups</span></a>
<a href="/bots" {% if nav_active == 'bots' %}class="active"{% endif %}><span class="ico"><i class="fa-solid fa-robot"></i></span><span class="lbl">Bots</span></a> <a href="/bots" {% if nav_active == 'bots' %}class="active"{% endif %}><span class="ico"><i class="fa-solid fa-robot"></i></span><span class="lbl">Bots</span></a>
<a href="https://simplex.chat/file/" target="_blank" rel="noopener"><span class="ico"><i class="fa-solid fa-upload"></i></span><span class="lbl">File Upload</span></a> <a href="https://simplex.chat/file/" target="_blank" rel="noopener"><span class="ico"><i class="fa-solid fa-upload"></i></span><span class="lbl">File Upload</span></a>
<!-- Group 2: relays --> <!-- Group 2: relays -->
@@ -300,9 +304,9 @@
<div class="side-foot"> <div class="side-foot">
<a href="/network" class="side-status" id="side-status" title="View SimpleX network &amp; servers" <a href="/network" class="side-status" id="side-status" title="View SimpleX network &amp; servers"
style="display:block;text-decoration:none;{% if nav_active == 'network' %}background:var(--bg);{% endif %}"> style="display:block;text-decoration:none;{% if nav_active == 'network' %}background:var(--bg);{% endif %}">
<div class="ss-row"><span class="ss-dot" id="ss-dot"></span><span id="ss-running">/</span>&nbsp;running</div> <div class="ss-row"><span class="ss-dot" id="ss-dot"></span><span class="ss-text"><span id="ss-running">/</span>&nbsp;running</span></div>
<div class="ss-row"><i class="fa-solid fa-server" style="width:14px;text-align:center;"></i>&nbsp;<span id="ss-servers"></span></div> <div class="ss-row ss-text"><i class="fa-solid fa-server" style="width:14px;text-align:center;"></i>&nbsp;<span id="ss-servers"></span></div>
<div class="ss-row" id="ss-ops" style="opacity:0.8;"></div> <div class="ss-row ss-text" id="ss-ops" style="opacity:0.8;"></div>
</a> </a>
<nav class="side-nav"> <nav class="side-nav">
<a href="/logout"><span class="ico"><i class="fa-solid fa-right-from-bracket"></i></span><span class="lbl">Logout</span></a> <a href="/logout"><span class="ico"><i class="fa-solid fa-right-from-bracket"></i></span><span class="lbl">Logout</span></a>

View File

@@ -38,7 +38,7 @@
</a> </a>
<a class="tile" href="/businesses"> <a class="tile" href="/businesses">
<span class="t-ico"><i class="fa-solid fa-briefcase"></i></span> <span class="t-ico"><i class="fa-solid fa-briefcase"></i></span>
<span class="t-title">Businesses</span> <span class="t-title">Business Groups</span>
</a> </a>
<a class="tile" href="/bots"> <a class="tile" href="/bots">
<span class="t-ico"><i class="fa-solid fa-robot"></i></span> <span class="t-ico"><i class="fa-solid fa-robot"></i></span>

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block title %}{{ tab | title }} — SimpleX Manager{% endblock %} {% block title %}{{ 'Business Groups' if tab == 'businesses' else tab | title }} — SimpleX Manager{% endblock %}
{% block head %} {% block head %}
<style> <style>
@@ -23,9 +23,10 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% set new_label = 'User' if tab == 'users' else ('Business' if tab == 'businesses' else 'Bot') %} {% set new_label = 'User' if tab == 'users' else ('Business Group' if tab == 'businesses' else 'Bot') %}
{% set page_title = 'Business Groups' if tab == 'businesses' else tab | title %}
<div class="flex-between" style="margin-bottom: 24px;"> <div class="flex-between" style="margin-bottom: 24px;">
<h1 style="margin:0;">{{ tab | title }}</h1> <h1 style="margin:0;">{{ page_title }}</h1>
<button class="btn btn-primary" onclick="openCreate()"> <button class="btn btn-primary" onclick="openCreate()">
+ New {{ new_label }} + New {{ new_label }}
</button> </button>
@@ -33,9 +34,9 @@
{% if tab == 'businesses' %} {% if tab == 'businesses' %}
<div class="card bot-types-card" style="margin-bottom:24px;"> <div class="card bot-types-card" style="margin-bottom:24px;">
<h2 style="font-size:15px;margin-bottom:8px;">Business accounts</h2> <h2 style="font-size:15px;margin-bottom:8px;">Business Groups</h2>
<p class="muted" style="font-size:13px;"> <p class="muted" style="font-size:13px;">
A business account uses a <strong>business address</strong>: each customer who connects gets A business group uses a <strong>business address</strong>: each customer who connects gets
their own group chat (so teammates can be added). You handle those conversations here, the same their own group chat (so teammates can be added). You handle those conversations here, the same
way you chat in a group. Set an optional welcome message to auto-greet new customers. way you chat in a group. Set an optional welcome message to auto-greet new customers.
</p> </p>
@@ -101,8 +102,8 @@
<strong>No users yet</strong> <strong>No users yet</strong>
<p>Create a SimpleX user account to manage contacts and channels.</p> <p>Create a SimpleX user account to manage contacts and channels.</p>
{% elif tab == 'businesses' %} {% elif tab == 'businesses' %}
<strong>No business accounts yet</strong> <strong>No business groups yet</strong>
<p>Create a business account; each customer who connects gets their own group chat.</p> <p>Create a business group; each customer who connects gets their own group chat.</p>
{% else %} {% else %}
<strong>No bots yet</strong> <strong>No bots yet</strong>
<p>Bots can echo messages, broadcast to subscribers, or run automated tasks.</p> <p>Bots can echo messages, broadcast to subscribers, or run automated tasks.</p>

View File

@@ -29,7 +29,7 @@
{% block content %} {% block content %}
<div class="flex-between" style="margin-bottom: 20px;"> <div class="flex-between" style="margin-bottom: 20px;">
<div class="flex gap-8"> <div class="flex gap-8">
<a href="{{ back }}" class="muted" style="text-decoration:none;">← {{ 'Users' if back == '/users' else ('Businesses' if back == '/businesses' else 'Bots') }}</a> <a href="{{ back }}" class="muted" style="text-decoration:none;">← {{ 'Users' if back == '/users' else ('Business Groups' if back == '/businesses' else 'Bots') }}</a>
<span class="muted">/</span> <span class="muted">/</span>
<strong>{{ profile.name }}</strong> <strong>{{ profile.name }}</strong>
<span class="tag {% if profile.bot_type == 'user' %}tag-user{% endif %}">{{ profile.bot_type }}</span> <span class="tag {% if profile.bot_type == 'user' %}tag-user{% endif %}">{{ profile.bot_type }}</span>