livechat 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/livechat/dashboard.css +11 -19
- data/lib/livechat/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6007e2a9721aeb42f80cee9f9e5609adff1ae7edd787f9329efd74d1d92f94b5
|
|
4
|
+
data.tar.gz: 0d9769f92ead60fbb908447204bc7a9dabbf33f2ef8b1eb4b4f501e0df29e7b5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ebfe7ab9b60281cb8199960e5cd3a60e5a9af4ee6b0222b8039e3e0103d25e69ea567548f3dcd9252cd881aec235bb4d0187a72f714f402cb84b972b441bd5c4
|
|
7
|
+
data.tar.gz: f1018b0d5775439bd90f87520a4a22ba44c1703e8b2a163940403f656ebcb793945e8a99a640267f31bf1215c517d4cf7925d7c6ed9be1a05ca8baa5ca8280c7
|
data/lib/livechat/dashboard.css
CHANGED
|
@@ -54,9 +54,13 @@
|
|
|
54
54
|
|
|
55
55
|
/* Page frame — the gem's own layout only. */
|
|
56
56
|
.lvc-page { margin: 0; background: var(--lvc-bg); color: var(--lvc-text); font: 15px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; }
|
|
57
|
+
/* Desktop inbox: a durable conversation list on the left and the active thread on the right, with each pane owning its own scroll. */
|
|
58
|
+
.lvc-inbox, .lvc-inbox .container { height: 100vh; height: 100dvh; }
|
|
57
59
|
.lvc-inbox { overflow: hidden; }
|
|
58
60
|
.lvc-inbox .container { max-width: 1280px; display: flex; flex-direction: column; padding-bottom: 16px; }
|
|
59
|
-
.lvc-inbox .container
|
|
61
|
+
.lvc-inbox .container h1 { flex: 0 0 auto; margin-bottom: 14px; }
|
|
62
|
+
/* Conversation page: fill the viewport and scroll the THREAD, not the page — so a reply never jumps the page, and the composer stays put. */
|
|
63
|
+
.lvc-convo, .lvc-convo .container { height: 100vh; height: 100dvh; }
|
|
60
64
|
.lvc-convo { overflow: hidden; }
|
|
61
65
|
.lvc-convo .container { display: flex; flex-direction: column; padding-bottom: 16px; }
|
|
62
66
|
.lvc-convo .breadcrumb, .lvc-convo .head-row, .lvc-convo .context-line,
|
|
@@ -68,6 +72,10 @@
|
|
|
68
72
|
|
|
69
73
|
/* Dashboard components — any layout. */
|
|
70
74
|
.lvc-dashboard {
|
|
75
|
+
/* A scoping device, not a layout one: without this the wrapper would
|
|
76
|
+
become the flex/grid child that the content should be. */
|
|
77
|
+
display: contents;
|
|
78
|
+
|
|
71
79
|
& * { box-sizing: border-box; }
|
|
72
80
|
& a { color: var(--lvc-accent); text-decoration: none; }
|
|
73
81
|
& a:hover { text-decoration: underline; }
|
|
@@ -140,13 +148,8 @@
|
|
|
140
148
|
& .thread .msg.agent .att-file { background: rgba(255,255,255,.2); }
|
|
141
149
|
& #new-messages { margin: 12px 0 0; }
|
|
142
150
|
& #new-messages a { font-weight: 600; }
|
|
143
|
-
|
|
144
|
-
&
|
|
145
|
-
toolbar row below (tools left,
|
|
146
|
-
& send right),
|
|
147
|
-
& all inside one bordered box
|
|
148
|
-
that lights up on focus. */
|
|
149
|
-
.reply { display: flex; flex-direction: column; gap: 6px; margin: 10px 12px; padding: 8px 10px; border: 1px solid var(--lvc-border); border-radius: 14px; background: var(--lvc-bg); }
|
|
151
|
+
/* Unified composer box (matches the visitor widget): the reply on top, a toolbar row below (tools left, send right), all inside one bordered box that lights up on focus. */
|
|
152
|
+
& .reply { display: flex; flex-direction: column; gap: 6px; margin: 10px 12px; padding: 8px 10px; border: 1px solid var(--lvc-border); border-radius: 14px; background: var(--lvc-bg); }
|
|
150
153
|
& .reply:focus-within { border-color: var(--lvc-accent); }
|
|
151
154
|
& .reply textarea { -webkit-appearance: none; appearance: none; border: none; background: none; resize: none; outline: none; font: inherit; color: var(--lvc-text); padding: 4px 4px 0; min-height: 40px; max-height: 160px; overflow-y: auto; }
|
|
152
155
|
& .reply input[type=file].reply-file { font-size: 12px; color: var(--lvc-muted); }
|
|
@@ -172,11 +175,6 @@
|
|
|
172
175
|
& .reply .recording-actions .stop-recording { background: var(--lvc-danger); color: #fff; }
|
|
173
176
|
& .reply .recording-actions .stop-recording:hover { background: #b91c1c; color: #fff; }
|
|
174
177
|
& .reply .send { width: 32px; min-width: 32px; height: 32px; padding: 0; border: none; border-radius: 50%; background: var(--lvc-accent); color: var(--lvc-accent-text); cursor: pointer; display: flex; align-items: center; justify-content: center; }
|
|
175
|
-
& /* Desktop inbox: a durable conversation list on the left and the active
|
|
176
|
-
thread on the right,
|
|
177
|
-
& with each pane owning its own scroll. */
|
|
178
|
-
.lvc-inbox,
|
|
179
|
-
& .lvc-inbox .container { height: 100vh; height: 100dvh; }
|
|
180
178
|
& .inbox-shell { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: minmax(320px, 380px) 1fr; gap: 16px; }
|
|
181
179
|
& .inbox-sidebar { min-width: 0; min-height: 0; display: flex; flex-direction: column; background: var(--lvc-surface); border: 1px solid var(--lvc-border); border-radius: 8px; overflow: hidden; }
|
|
182
180
|
& .inbox-sidebar .tabs { flex: 0 0 auto; margin: 12px 12px 0; padding: 0; background: transparent; border: 0; border-radius: 0; gap: 6px; flex-wrap: nowrap; }
|
|
@@ -217,10 +215,4 @@
|
|
|
217
215
|
& .empty-state h2 { margin: 0 0 6px; font-size: 18px; }
|
|
218
216
|
& .empty-state p { margin: 0; }
|
|
219
217
|
& .mobile-back { display: none; }
|
|
220
|
-
& /* Conversation page: fill the viewport and scroll the THREAD,
|
|
221
|
-
& not the
|
|
222
|
-
page — so a reply never jumps the page,
|
|
223
|
-
& and the composer stays put. */
|
|
224
|
-
.lvc-convo,
|
|
225
|
-
& .lvc-convo .container { height: 100vh; height: 100dvh; }
|
|
226
218
|
}
|
data/lib/livechat/version.rb
CHANGED