diff --git a/frontend/src/assets/style.css b/frontend/src/assets/style.css
index 9a5b650..2d58cd1 100644
--- a/frontend/src/assets/style.css
+++ b/frontend/src/assets/style.css
@@ -34,7 +34,7 @@
--space-lg: 1.5rem;
--space-xl: 2.25rem;
--space-xxl: 3.5rem;
- --layout-max-width: 1080px;
+ --layout-max-width: 1400px;
--layout-padding: clamp(1.5rem, 3vw + 1rem, 3.25rem);
--transition-base: 160ms ease;
}
@@ -444,18 +444,11 @@ th {
width: 100%;
display: grid;
grid-auto-flow: row;
- grid-template-columns: repeat(auto-fit, var(--card-width));
+ grid-template-columns: repeat(auto-fill, minmax(var(--card-width), 1fr));
justify-content: start;
gap: 1rem 1.25rem;
align-items: stretch;
margin: 0 auto;
- max-width: calc(var(--card-width) * 4 + 3 * 1.25rem);
-}
-
-@media (max-width: 1100px) {
- .record-list,
- .credential-list,
- .session-list { max-width: calc(var(--card-width) * 3 + 2 * 1.25rem); }
}
@media (max-width: 720px) {
diff --git a/frontend/src/components/SessionList.vue b/frontend/src/components/SessionList.vue
index 376a766..2172cb5 100644
--- a/frontend/src/components/SessionList.vue
+++ b/frontend/src/components/SessionList.vue
@@ -7,33 +7,37 @@
-
-
-
- 🌐
-
-
{{ sessionHostLabel(session) }}
-
- Current
- This host
-
-
-
-
-
-
Last used:
-
{{ formatDate(session.last_renewed) }}
-
{{ session.user_agent }} {{ session.ip }}
+
+
+
+
+
+
{{ session.user_agent }}
+
+ Current
+ Same IP
+
+
+
+
+
+ {{ formatDate(session.last_renewed) }}
+ {{ session.ip }}
+
+
@@ -45,7 +49,7 @@
\ No newline at end of file
+[data-component="session-list-section"] .session-list {
+ display: flex;
+ flex-direction: column;
+ gap: 1.5em;
+}
+.session-group {
+ display: flex;
+ flex-direction: column;
+ gap: 0.5em;
+}
+.session-group-host {
+ font-size: 1em;
+ font-weight: 600;
+ margin: 0;
+}
+.session-group-host a {
+ color: inherit;
+ text-decoration: none;
+}
+.session-group-host a:hover {
+ text-decoration: underline;
+}
+.session-group-host.is-current-site {
+ color: var(--color-accent);
+}
+.session-group-sessions {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(var(--card-width), 1fr));
+ gap: 0.5em;
+ align-items: start;
+}
+.session-group-sessions .session-item {
+ width: auto;
+ height: auto;
+ padding: 0.75rem;
+ gap: 0.5rem;
+}
+.session-group-sessions .session-item .item-title {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.session-group-sessions .session-item .item-details {
+ margin-left: 0;
+}
+.session-group-sessions .session-item .session-dates {
+ grid-template-columns: auto 1fr;
+}
+
diff --git a/frontend/vite.config.js b/frontend/vite.config.js
index 1fa0b96..9de7268 100644
--- a/frontend/vite.config.js
+++ b/frontend/vite.config.js
@@ -60,7 +60,8 @@ export default defineConfig(({ command }) => ({
proxy: {
// Only proxy these two specific backend API paths
'/auth/api': {
- target: 'http://localhost:4402'
+ target: 'http://localhost:4402',
+ headers: { connection: 'close' }
},
'/auth/ws': {
target: 'http://localhost:4402',