collavre 0.20.2 → 0.21.0
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/app/assets/stylesheets/collavre/actiontext.css +92 -2
- data/app/assets/stylesheets/collavre/code_highlight.css +144 -26
- data/app/assets/stylesheets/collavre/comments_popup.css +83 -0
- data/app/assets/stylesheets/collavre/landing.css +507 -0
- data/app/channels/collavre/comments_presence_channel.rb +7 -0
- data/app/controllers/collavre/admin/integrations_controller.rb +82 -0
- data/app/controllers/collavre/admin/settings_controller.rb +22 -17
- data/app/controllers/collavre/application_controller.rb +27 -0
- data/app/controllers/collavre/channels_controller.rb +23 -0
- data/app/controllers/collavre/creatives_controller.rb +50 -6
- data/app/controllers/collavre/landing_controller.rb +8 -0
- data/app/controllers/collavre/passwords_controller.rb +1 -0
- data/app/controllers/collavre/public_assets_controller.rb +24 -0
- data/app/controllers/collavre/topics_controller.rb +21 -30
- data/app/helpers/collavre/comments_helper.rb +7 -0
- data/app/helpers/collavre/public_assets_helper.rb +14 -0
- data/app/javascript/controllers/comment_controller.js +9 -0
- data/app/javascript/controllers/comments/form_controller.js +4 -0
- data/app/javascript/controllers/comments/list_controller.js +10 -7
- data/app/javascript/controllers/comments/popup_controller.js +9 -0
- data/app/javascript/controllers/comments/presence_controller.js +83 -1
- data/app/javascript/controllers/comments/topics_controller.js +15 -0
- data/app/javascript/controllers/creatives/__tests__/sync_controller.test.js +89 -0
- data/app/javascript/controllers/creatives/__tests__/tree_controller.test.js +120 -0
- data/app/javascript/controllers/creatives/sync_controller.js +30 -9
- data/app/javascript/controllers/creatives/tree_controller.js +23 -0
- data/app/javascript/controllers/index.js +4 -1
- data/app/javascript/controllers/landing_video_controller.js +53 -0
- data/app/javascript/creatives/tree_renderer.js +6 -0
- data/app/javascript/lib/api/__tests__/queue_manager.test.js +27 -0
- data/app/javascript/lib/api/queue_manager.js +17 -5
- data/app/javascript/modules/__tests__/command_args_form.test.js +103 -0
- data/app/javascript/modules/__tests__/html_content_empty.test.js +41 -0
- data/app/javascript/modules/__tests__/markdown_source_reconcile.test.js +70 -0
- data/app/javascript/modules/command_args_form.js +22 -4
- data/app/javascript/modules/command_menu.js +27 -0
- data/app/javascript/modules/creative_row_editor.js +227 -17
- data/app/javascript/modules/html_content_empty.js +12 -0
- data/app/javascript/modules/markdown_source_reconcile.js +53 -0
- data/app/jobs/collavre/drop_trigger_job.rb +37 -8
- data/app/mailers/collavre/application_mailer.rb +1 -1
- data/app/models/collavre/channel/injected_message.rb +5 -0
- data/app/models/collavre/channel.rb +87 -0
- data/app/models/collavre/creative/describable.rb +65 -3
- data/app/models/collavre/creative.rb +2 -0
- data/app/models/collavre/integration_setting.rb +35 -0
- data/app/models/collavre/preview_channel.rb +93 -0
- data/app/models/collavre/system_setting.rb +13 -2
- data/app/models/collavre/topic.rb +3 -25
- data/app/models/concerns/collavre/ai_agent_resolvable.rb +12 -3
- data/app/services/collavre/ai_client.rb +3 -3
- data/app/services/collavre/channel_attacher.rb +58 -0
- data/app/services/collavre/comments/mcp_command.rb +31 -1
- data/app/services/collavre/creatives/tree_builder.rb +7 -3
- data/app/services/collavre/google_calendar_service.rb +4 -2
- data/app/services/collavre/markdown_converter.rb +130 -15
- data/app/services/collavre/markdown_importer.rb +7 -2
- data/app/services/collavre/orchestration/policy_resolver.rb +11 -1
- data/app/services/collavre/tools/creative_attach_files_service.rb +96 -0
- data/app/services/collavre/tools/creative_list_attachments_service.rb +42 -0
- data/app/services/collavre/tools/creative_remove_attachment_service.rb +35 -0
- data/app/services/collavre/tools/permission_denied_error.rb +9 -0
- data/app/services/collavre/tools/preview_attach_service.rb +128 -0
- data/app/services/collavre/tools/preview_detach_service.rb +61 -0
- data/app/services/collavre/tools/topic_authorizer.rb +24 -0
- data/app/services/collavre/topic_branch_service.rb +34 -26
- data/app/views/admin/shared/_tabs.html.erb +1 -0
- data/app/views/collavre/admin/integrations/_category.html.erb +22 -0
- data/app/views/collavre/admin/integrations/_setting_row.html.erb +54 -0
- data/app/views/collavre/admin/integrations/index.html.erb +42 -0
- data/app/views/collavre/admin/settings/_system_tab.html.erb +8 -0
- data/app/views/collavre/comments/_channel_chips.html.erb +33 -0
- data/app/views/collavre/comments/_comment.html.erb +6 -1
- data/app/views/collavre/comments/_comments_popup.html.erb +1 -0
- data/app/views/collavre/creatives/_inline_edit_form.html.erb +19 -0
- data/app/views/collavre/creatives/index.html.erb +10 -2
- data/app/views/collavre/landing/show.html.erb +130 -0
- data/app/views/layouts/collavre/landing.html.erb +33 -0
- data/config/locales/admin.en.yml +4 -2
- data/config/locales/admin.ko.yml +4 -2
- data/config/locales/channels.en.yml +11 -0
- data/config/locales/channels.ko.yml +11 -0
- data/config/locales/comments.en.yml +2 -0
- data/config/locales/comments.ko.yml +2 -0
- data/config/locales/creatives.en.yml +9 -0
- data/config/locales/creatives.ko.yml +8 -0
- data/config/locales/integrations.en.yml +44 -0
- data/config/locales/integrations.ko.yml +44 -0
- data/config/locales/landing.en.yml +51 -0
- data/config/locales/landing.ko.yml +51 -0
- data/config/routes.rb +18 -0
- data/db/migrate/20260526000000_create_channels.rb +42 -0
- data/db/migrate/20260527000000_add_dismissed_at_to_channels.rb +6 -0
- data/db/migrate/20260527000100_backfill_dismissed_at_for_legacy_detached_channels.rb +28 -0
- data/db/migrate/20260528000000_add_preview_channel_unique_index.rb +31 -0
- data/db/migrate/20260529000000_add_primary_agent_id_to_topics.rb +40 -0
- data/db/migrate/20260529100000_create_integration_settings.rb +15 -0
- data/db/seeds.rb +19 -0
- data/lib/collavre/aws_credentials.rb +75 -0
- data/lib/collavre/engine.rb +51 -0
- data/lib/collavre/integration_settings/key_definition.rb +29 -0
- data/lib/collavre/integration_settings/registry.rb +55 -0
- data/lib/collavre/integration_settings/resolver.rb +71 -0
- data/lib/collavre/integration_settings.rb +46 -0
- data/lib/collavre/ses_settings_interceptor.rb +72 -0
- data/lib/collavre/version.rb +1 -1
- data/lib/collavre.rb +3 -0
- metadata +52 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f24eeb18d0272f998210dbfd04bd15a5ac4bf9fab0a61c400ac64298b17cdf3c
|
|
4
|
+
data.tar.gz: dd4c2d977abfb6831b971f6c9ed8a7343329a48af8cff04674502a2840bd0f37
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 55aa0ac2253e57cf0b4ac5d3de3a8028aa254b1b9d0b02fce88f4ac5cc3ab532588e574aebf1392bc40328f24061b1e75c74a3576f48ebc5b24d0aa5d3beebef
|
|
7
|
+
data.tar.gz: 97d1c389fdd7d00635a4ce87c5b3c9b4f0238f4c69f94e794dcbf42284da51994d35d9821da7f04f91d58857cef4ee697a128df54e914743be31d15a70d52c9b
|
|
@@ -15,6 +15,96 @@
|
|
|
15
15
|
padding: 0 0 var(--space-3) 0;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
/* Markdown Editor */
|
|
19
|
+
.markdown-editor-wrapper {
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-direction: column;
|
|
22
|
+
gap: var(--space-2);
|
|
23
|
+
padding: var(--space-2);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@media (min-width: 768px) {
|
|
27
|
+
.markdown-editor-wrapper {
|
|
28
|
+
flex-direction: row;
|
|
29
|
+
align-items: stretch;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.markdown-editor-wrapper > .markdown-editor-textarea,
|
|
33
|
+
.markdown-editor-wrapper > .markdown-preview {
|
|
34
|
+
flex: 1 1 0;
|
|
35
|
+
min-width: 0;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.markdown-editor-textarea {
|
|
40
|
+
width: 100%;
|
|
41
|
+
min-height: 6rem;
|
|
42
|
+
padding: 0.6rem 0.75rem;
|
|
43
|
+
border: 1px solid var(--border-color);
|
|
44
|
+
border-radius: var(--radius-2);
|
|
45
|
+
background: var(--surface-section, var(--surface-bg));
|
|
46
|
+
color: var(--text-primary);
|
|
47
|
+
font-family: ui-monospace, SFMono-Regular, SFMono, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
|
48
|
+
font-size: 0.9rem;
|
|
49
|
+
line-height: 1.5;
|
|
50
|
+
resize: vertical;
|
|
51
|
+
outline: none;
|
|
52
|
+
box-sizing: border-box;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.markdown-editor-textarea:focus {
|
|
56
|
+
border-color: var(--color-active);
|
|
57
|
+
box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-active) 15%, transparent);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.markdown-preview {
|
|
61
|
+
padding: 0.6rem 0.75rem;
|
|
62
|
+
border: 1px solid var(--border-color);
|
|
63
|
+
border-radius: var(--radius-2);
|
|
64
|
+
background: var(--surface-btn, var(--surface-bg));
|
|
65
|
+
min-height: 2rem;
|
|
66
|
+
line-height: 1.5;
|
|
67
|
+
overflow-wrap: break-word;
|
|
68
|
+
word-break: break-word;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.markdown-preview:empty::before {
|
|
72
|
+
content: attr(data-placeholder);
|
|
73
|
+
color: var(--text-muted);
|
|
74
|
+
font-style: italic;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.markdown-preview h1, .markdown-preview h2, .markdown-preview h3 {
|
|
78
|
+
margin: 0 0 var(--space-2) 0;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.markdown-preview ul, .markdown-preview ol {
|
|
82
|
+
margin: 0 0 0.75rem 1.25rem;
|
|
83
|
+
padding: 0;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.markdown-preview blockquote {
|
|
87
|
+
border-left: 3px solid var(--border-color);
|
|
88
|
+
margin: 0 0 0.75rem 0;
|
|
89
|
+
padding-left: 0.75rem;
|
|
90
|
+
color: var(--text-muted);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.markdown-preview table {
|
|
94
|
+
border-collapse: collapse;
|
|
95
|
+
margin: 0 0 0.75rem 0;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.markdown-preview th, .markdown-preview td {
|
|
99
|
+
border: 1px solid var(--border-color);
|
|
100
|
+
padding: 0.35rem 0.6rem;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.markdown-preview img {
|
|
104
|
+
max-width: 100%;
|
|
105
|
+
height: auto;
|
|
106
|
+
}
|
|
107
|
+
|
|
18
108
|
.lexical-editor-shell {
|
|
19
109
|
display: flex;
|
|
20
110
|
flex-direction: column;
|
|
@@ -400,7 +490,7 @@ body.dark-mode {
|
|
|
400
490
|
|
|
401
491
|
.lexical-attachment.is-selected {
|
|
402
492
|
border-color: var(--color-active);
|
|
403
|
-
box-shadow: 0 0 0 2px
|
|
493
|
+
box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-active) 20%, transparent);
|
|
404
494
|
}
|
|
405
495
|
|
|
406
496
|
.lexical-attachment__remove {
|
|
@@ -498,7 +588,7 @@ body.dark-mode {
|
|
|
498
588
|
.lexical-attachment__caption-input:focus {
|
|
499
589
|
outline: none;
|
|
500
590
|
border-color: var(--color-active);
|
|
501
|
-
box-shadow: 0 0 0 2px
|
|
591
|
+
box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-active) 15%, transparent);
|
|
502
592
|
}
|
|
503
593
|
|
|
504
594
|
.lexical-attachment__caption-size {
|
|
@@ -4,6 +4,13 @@
|
|
|
4
4
|
* Uses Collavre design tokens (--color-code-bg, --color-code-text, --font-mono).
|
|
5
5
|
* Syntax color tokens defined as CSS variables — overridden per theme context.
|
|
6
6
|
* Based on GitHub-style highlighting.
|
|
7
|
+
*
|
|
8
|
+
* Scoped to the markdown rendering surfaces so they share container,
|
|
9
|
+
* inline-code, and syntax-token styles:
|
|
10
|
+
* .comment-content — chat / comments
|
|
11
|
+
* .markdown-preview — creative inline editor live preview
|
|
12
|
+
* .creative-content — persisted creative description in the tree view
|
|
13
|
+
* .creative-title-content — persisted creative description in the title (h1) area
|
|
7
14
|
*/
|
|
8
15
|
|
|
9
16
|
/* ============================================================================
|
|
@@ -77,20 +84,29 @@ body.dark-mode {
|
|
|
77
84
|
/* ============================================================================
|
|
78
85
|
* MERMAID DIAGRAM CONTAINER
|
|
79
86
|
* ============================================================================ */
|
|
80
|
-
.comment-content .mermaid-chart
|
|
87
|
+
.comment-content .mermaid-chart,
|
|
88
|
+
.markdown-preview .mermaid-chart,
|
|
89
|
+
.creative-content .mermaid-chart,
|
|
90
|
+
.creative-title-content .mermaid-chart {
|
|
81
91
|
margin: var(--space-2) 0;
|
|
82
92
|
overflow-x: auto;
|
|
83
93
|
text-align: center;
|
|
84
94
|
}
|
|
85
95
|
|
|
86
|
-
.comment-content .mermaid-chart svg
|
|
96
|
+
.comment-content .mermaid-chart svg,
|
|
97
|
+
.markdown-preview .mermaid-chart svg,
|
|
98
|
+
.creative-content .mermaid-chart svg,
|
|
99
|
+
.creative-title-content .mermaid-chart svg {
|
|
87
100
|
max-width: 100%;
|
|
88
101
|
}
|
|
89
102
|
|
|
90
103
|
/* ============================================================================
|
|
91
104
|
* CODE BLOCK CONTAINER
|
|
92
105
|
* ============================================================================ */
|
|
93
|
-
.comment-content pre
|
|
106
|
+
.comment-content pre,
|
|
107
|
+
.markdown-preview pre,
|
|
108
|
+
.creative-content pre,
|
|
109
|
+
.creative-title-content pre {
|
|
94
110
|
background: var(--color-code-bg);
|
|
95
111
|
color: var(--color-code-text);
|
|
96
112
|
border: var(--border-1) solid var(--border-color);
|
|
@@ -103,7 +119,10 @@ body.dark-mode {
|
|
|
103
119
|
line-height: var(--leading-3);
|
|
104
120
|
}
|
|
105
121
|
|
|
106
|
-
.comment-content pre code
|
|
122
|
+
.comment-content pre code,
|
|
123
|
+
.markdown-preview pre code,
|
|
124
|
+
.creative-content pre code,
|
|
125
|
+
.creative-title-content pre code {
|
|
107
126
|
background: none;
|
|
108
127
|
border: none;
|
|
109
128
|
padding: 0;
|
|
@@ -114,7 +133,10 @@ body.dark-mode {
|
|
|
114
133
|
}
|
|
115
134
|
|
|
116
135
|
/* Inline code */
|
|
117
|
-
.comment-content code
|
|
136
|
+
.comment-content code,
|
|
137
|
+
.markdown-preview code,
|
|
138
|
+
.creative-content code,
|
|
139
|
+
.creative-title-content code {
|
|
118
140
|
background: var(--color-code-bg);
|
|
119
141
|
color: var(--color-code-text);
|
|
120
142
|
border-radius: var(--radius-1);
|
|
@@ -127,99 +149,195 @@ body.dark-mode {
|
|
|
127
149
|
* SYNTAX HIGHLIGHTING RULES (token-based, theme-agnostic)
|
|
128
150
|
* ============================================================================ */
|
|
129
151
|
.comment-content .hljs-comment,
|
|
130
|
-
.comment-content .hljs-quote
|
|
152
|
+
.comment-content .hljs-quote,
|
|
153
|
+
.markdown-preview .hljs-comment,
|
|
154
|
+
.markdown-preview .hljs-quote,
|
|
155
|
+
.creative-content .hljs-comment,
|
|
156
|
+
.creative-content .hljs-quote,
|
|
157
|
+
.creative-title-content .hljs-comment,
|
|
158
|
+
.creative-title-content .hljs-quote {
|
|
131
159
|
color: var(--syntax-comment);
|
|
132
160
|
font-style: italic;
|
|
133
161
|
}
|
|
134
162
|
|
|
135
163
|
.comment-content .hljs-keyword,
|
|
136
164
|
.comment-content .hljs-selector-tag,
|
|
137
|
-
.comment-content .hljs-type
|
|
165
|
+
.comment-content .hljs-type,
|
|
166
|
+
.markdown-preview .hljs-keyword,
|
|
167
|
+
.markdown-preview .hljs-selector-tag,
|
|
168
|
+
.markdown-preview .hljs-type,
|
|
169
|
+
.creative-content .hljs-keyword,
|
|
170
|
+
.creative-content .hljs-selector-tag,
|
|
171
|
+
.creative-content .hljs-type,
|
|
172
|
+
.creative-title-content .hljs-keyword,
|
|
173
|
+
.creative-title-content .hljs-selector-tag,
|
|
174
|
+
.creative-title-content .hljs-type {
|
|
138
175
|
color: var(--syntax-keyword);
|
|
139
176
|
}
|
|
140
177
|
|
|
141
|
-
.comment-content .hljs-string
|
|
178
|
+
.comment-content .hljs-string,
|
|
179
|
+
.markdown-preview .hljs-string,
|
|
180
|
+
.creative-content .hljs-string,
|
|
181
|
+
.creative-title-content .hljs-string {
|
|
142
182
|
color: var(--syntax-string);
|
|
143
183
|
}
|
|
144
184
|
|
|
145
185
|
.comment-content .hljs-number,
|
|
146
|
-
.comment-content .hljs-literal
|
|
186
|
+
.comment-content .hljs-literal,
|
|
187
|
+
.markdown-preview .hljs-number,
|
|
188
|
+
.markdown-preview .hljs-literal,
|
|
189
|
+
.creative-content .hljs-number,
|
|
190
|
+
.creative-content .hljs-literal,
|
|
191
|
+
.creative-title-content .hljs-number,
|
|
192
|
+
.creative-title-content .hljs-literal {
|
|
147
193
|
color: var(--syntax-number);
|
|
148
194
|
}
|
|
149
195
|
|
|
150
196
|
.comment-content .hljs-built_in,
|
|
151
|
-
.comment-content .hljs-builtin-name
|
|
197
|
+
.comment-content .hljs-builtin-name,
|
|
198
|
+
.markdown-preview .hljs-built_in,
|
|
199
|
+
.markdown-preview .hljs-builtin-name,
|
|
200
|
+
.creative-content .hljs-built_in,
|
|
201
|
+
.creative-content .hljs-builtin-name,
|
|
202
|
+
.creative-title-content .hljs-built_in,
|
|
203
|
+
.creative-title-content .hljs-builtin-name {
|
|
152
204
|
color: var(--syntax-builtin);
|
|
153
205
|
}
|
|
154
206
|
|
|
155
207
|
.comment-content .hljs-title,
|
|
156
|
-
.comment-content .hljs-title.function_
|
|
208
|
+
.comment-content .hljs-title.function_,
|
|
209
|
+
.markdown-preview .hljs-title,
|
|
210
|
+
.markdown-preview .hljs-title.function_,
|
|
211
|
+
.creative-content .hljs-title,
|
|
212
|
+
.creative-content .hljs-title.function_,
|
|
213
|
+
.creative-title-content .hljs-title,
|
|
214
|
+
.creative-title-content .hljs-title.function_ {
|
|
157
215
|
color: var(--syntax-title);
|
|
158
216
|
}
|
|
159
217
|
|
|
160
218
|
.comment-content .hljs-attr,
|
|
161
|
-
.comment-content .hljs-attribute
|
|
219
|
+
.comment-content .hljs-attribute,
|
|
220
|
+
.markdown-preview .hljs-attr,
|
|
221
|
+
.markdown-preview .hljs-attribute,
|
|
222
|
+
.creative-content .hljs-attr,
|
|
223
|
+
.creative-content .hljs-attribute,
|
|
224
|
+
.creative-title-content .hljs-attr,
|
|
225
|
+
.creative-title-content .hljs-attribute {
|
|
162
226
|
color: var(--syntax-attr);
|
|
163
227
|
}
|
|
164
228
|
|
|
165
229
|
.comment-content .hljs-variable,
|
|
166
|
-
.comment-content .hljs-template-variable
|
|
230
|
+
.comment-content .hljs-template-variable,
|
|
231
|
+
.markdown-preview .hljs-variable,
|
|
232
|
+
.markdown-preview .hljs-template-variable,
|
|
233
|
+
.creative-content .hljs-variable,
|
|
234
|
+
.creative-content .hljs-template-variable,
|
|
235
|
+
.creative-title-content .hljs-variable,
|
|
236
|
+
.creative-title-content .hljs-template-variable {
|
|
167
237
|
color: var(--syntax-variable);
|
|
168
238
|
}
|
|
169
239
|
|
|
170
|
-
.comment-content .hljs-params
|
|
240
|
+
.comment-content .hljs-params,
|
|
241
|
+
.markdown-preview .hljs-params,
|
|
242
|
+
.creative-content .hljs-params,
|
|
243
|
+
.creative-title-content .hljs-params {
|
|
171
244
|
color: var(--color-code-text);
|
|
172
245
|
}
|
|
173
246
|
|
|
174
|
-
.comment-content .hljs-regexp
|
|
247
|
+
.comment-content .hljs-regexp,
|
|
248
|
+
.markdown-preview .hljs-regexp,
|
|
249
|
+
.creative-content .hljs-regexp,
|
|
250
|
+
.creative-title-content .hljs-regexp {
|
|
175
251
|
color: var(--syntax-regexp);
|
|
176
252
|
}
|
|
177
253
|
|
|
178
|
-
.comment-content .hljs-tag
|
|
254
|
+
.comment-content .hljs-tag,
|
|
255
|
+
.markdown-preview .hljs-tag,
|
|
256
|
+
.creative-content .hljs-tag,
|
|
257
|
+
.creative-title-content .hljs-tag {
|
|
179
258
|
color: var(--syntax-tag);
|
|
180
259
|
}
|
|
181
260
|
|
|
182
|
-
.comment-content .hljs-name
|
|
261
|
+
.comment-content .hljs-name,
|
|
262
|
+
.markdown-preview .hljs-name,
|
|
263
|
+
.creative-content .hljs-name,
|
|
264
|
+
.creative-title-content .hljs-name {
|
|
183
265
|
color: var(--syntax-name);
|
|
184
266
|
}
|
|
185
267
|
|
|
186
268
|
.comment-content .hljs-selector-class,
|
|
187
|
-
.comment-content .hljs-selector-id
|
|
269
|
+
.comment-content .hljs-selector-id,
|
|
270
|
+
.markdown-preview .hljs-selector-class,
|
|
271
|
+
.markdown-preview .hljs-selector-id,
|
|
272
|
+
.creative-content .hljs-selector-class,
|
|
273
|
+
.creative-content .hljs-selector-id,
|
|
274
|
+
.creative-title-content .hljs-selector-class,
|
|
275
|
+
.creative-title-content .hljs-selector-id {
|
|
188
276
|
color: var(--syntax-selector);
|
|
189
277
|
}
|
|
190
278
|
|
|
191
279
|
.comment-content .hljs-selector-attr,
|
|
192
|
-
.comment-content .hljs-selector-pseudo
|
|
280
|
+
.comment-content .hljs-selector-pseudo,
|
|
281
|
+
.markdown-preview .hljs-selector-attr,
|
|
282
|
+
.markdown-preview .hljs-selector-pseudo,
|
|
283
|
+
.creative-content .hljs-selector-attr,
|
|
284
|
+
.creative-content .hljs-selector-pseudo,
|
|
285
|
+
.creative-title-content .hljs-selector-attr,
|
|
286
|
+
.creative-title-content .hljs-selector-pseudo {
|
|
193
287
|
color: var(--syntax-attr);
|
|
194
288
|
}
|
|
195
289
|
|
|
196
290
|
.comment-content .hljs-symbol,
|
|
197
|
-
.comment-content .hljs-bullet
|
|
291
|
+
.comment-content .hljs-bullet,
|
|
292
|
+
.markdown-preview .hljs-symbol,
|
|
293
|
+
.markdown-preview .hljs-bullet,
|
|
294
|
+
.creative-content .hljs-symbol,
|
|
295
|
+
.creative-content .hljs-bullet,
|
|
296
|
+
.creative-title-content .hljs-symbol,
|
|
297
|
+
.creative-title-content .hljs-bullet {
|
|
198
298
|
color: var(--syntax-number);
|
|
199
299
|
}
|
|
200
300
|
|
|
201
|
-
.comment-content .hljs-meta
|
|
301
|
+
.comment-content .hljs-meta,
|
|
302
|
+
.markdown-preview .hljs-meta,
|
|
303
|
+
.creative-content .hljs-meta,
|
|
304
|
+
.creative-title-content .hljs-meta {
|
|
202
305
|
color: var(--syntax-meta);
|
|
203
306
|
}
|
|
204
307
|
|
|
205
|
-
.comment-content .hljs-punctuation
|
|
308
|
+
.comment-content .hljs-punctuation,
|
|
309
|
+
.markdown-preview .hljs-punctuation,
|
|
310
|
+
.creative-content .hljs-punctuation,
|
|
311
|
+
.creative-title-content .hljs-punctuation {
|
|
206
312
|
color: var(--color-code-text);
|
|
207
313
|
}
|
|
208
314
|
|
|
209
|
-
.comment-content .hljs-deletion
|
|
315
|
+
.comment-content .hljs-deletion,
|
|
316
|
+
.markdown-preview .hljs-deletion,
|
|
317
|
+
.creative-content .hljs-deletion,
|
|
318
|
+
.creative-title-content .hljs-deletion {
|
|
210
319
|
color: var(--syntax-deletion-text);
|
|
211
320
|
background: var(--syntax-deletion-bg);
|
|
212
321
|
}
|
|
213
322
|
|
|
214
|
-
.comment-content .hljs-addition
|
|
323
|
+
.comment-content .hljs-addition,
|
|
324
|
+
.markdown-preview .hljs-addition,
|
|
325
|
+
.creative-content .hljs-addition,
|
|
326
|
+
.creative-title-content .hljs-addition {
|
|
215
327
|
color: var(--syntax-addition-text);
|
|
216
328
|
background: var(--syntax-addition-bg);
|
|
217
329
|
}
|
|
218
330
|
|
|
219
|
-
.comment-content .hljs-emphasis
|
|
331
|
+
.comment-content .hljs-emphasis,
|
|
332
|
+
.markdown-preview .hljs-emphasis,
|
|
333
|
+
.creative-content .hljs-emphasis,
|
|
334
|
+
.creative-title-content .hljs-emphasis {
|
|
220
335
|
font-style: italic;
|
|
221
336
|
}
|
|
222
337
|
|
|
223
|
-
.comment-content .hljs-strong
|
|
338
|
+
.comment-content .hljs-strong,
|
|
339
|
+
.markdown-preview .hljs-strong,
|
|
340
|
+
.creative-content .hljs-strong,
|
|
341
|
+
.creative-title-content .hljs-strong {
|
|
224
342
|
font-weight: var(--weight-7);
|
|
225
343
|
}
|
|
@@ -1184,6 +1184,89 @@ body.chat-fullscreen {
|
|
|
1184
1184
|
color: var(--text-on-btn);
|
|
1185
1185
|
}
|
|
1186
1186
|
|
|
1187
|
+
/* --- Channel Chips (PR monitor etc) ------------------------------------ */
|
|
1188
|
+
#channel-chips-container,
|
|
1189
|
+
.channel-chips {
|
|
1190
|
+
display: inline-flex;
|
|
1191
|
+
flex-wrap: wrap;
|
|
1192
|
+
gap: var(--space-1);
|
|
1193
|
+
align-items: center;
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
.channel-chip {
|
|
1197
|
+
display: inline-flex;
|
|
1198
|
+
align-items: center;
|
|
1199
|
+
gap: var(--space-px-1);
|
|
1200
|
+
padding: var(--space-px-1) var(--space-2);
|
|
1201
|
+
border: 1px solid var(--border-color);
|
|
1202
|
+
border-radius: var(--radius-2);
|
|
1203
|
+
background: var(--color-section-bg);
|
|
1204
|
+
font-size: var(--text-0);
|
|
1205
|
+
line-height: 1;
|
|
1206
|
+
white-space: nowrap;
|
|
1207
|
+
}
|
|
1208
|
+
|
|
1209
|
+
.channel-chip a {
|
|
1210
|
+
color: var(--color-text);
|
|
1211
|
+
text-decoration: none;
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
.channel-chip a:hover {
|
|
1215
|
+
text-decoration: underline;
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
.channel-chip button {
|
|
1219
|
+
background: none;
|
|
1220
|
+
border: 0;
|
|
1221
|
+
padding: 0 var(--space-px-1);
|
|
1222
|
+
color: var(--text-muted);
|
|
1223
|
+
cursor: pointer;
|
|
1224
|
+
font-size: 1.1em;
|
|
1225
|
+
line-height: 1;
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
.channel-chip button:hover {
|
|
1229
|
+
color: var(--color-danger);
|
|
1230
|
+
}
|
|
1231
|
+
|
|
1232
|
+
/* Detached chips lose a touch of contrast so users can tell a closed/merged
|
|
1233
|
+
PR apart from one that is still actively monitored. */
|
|
1234
|
+
.channel-chip--detached {
|
|
1235
|
+
opacity: 0.7;
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
.channel-chip-badge {
|
|
1239
|
+
display: inline-block;
|
|
1240
|
+
width: var(--space-2);
|
|
1241
|
+
height: var(--space-2);
|
|
1242
|
+
border-radius: 999px;
|
|
1243
|
+
flex-shrink: 0;
|
|
1244
|
+
background: var(--color-text);
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
.channel-chip-badge--open {
|
|
1248
|
+
background: var(--color-success);
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
.channel-chip-badge--merged {
|
|
1252
|
+
/* No purple token yet; --color-active (blue) is the closest neutral that
|
|
1253
|
+
reads as "shipped" without colliding with success/danger semantics. */
|
|
1254
|
+
background: var(--color-active);
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
.channel-chip-badge--closed_without_merge {
|
|
1258
|
+
background: var(--color-danger);
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
.channel-chip-badge--running {
|
|
1262
|
+
background: var(--color-success);
|
|
1263
|
+
}
|
|
1264
|
+
|
|
1265
|
+
.channel-chip-badge--stopped {
|
|
1266
|
+
background: var(--color-text);
|
|
1267
|
+
opacity: 0.5;
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1187
1270
|
/* --- Context Chips --- */
|
|
1188
1271
|
.comment-contexts-list {
|
|
1189
1272
|
display: flex;
|