140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
**
** Other /chat-OP pages are used by XHR requests from this page to
** send new chat message, delete older messages, or poll for changes.
*/
void chat_webpage(void){
char *zAlert;
char *zProjectName;
const char * zInputPlaceholder2 = /* Placeholder for textarea input*/
"Ctrl-Enter sends and Shift-Enter previews.";
char * zInputPlaceholder0; /* Common text input placeholder value */
login_check_credentials();
if( !g.perm.Chat ){
login_needed(g.anon.Chat);
return;
}
zAlert = mprintf("%s/builtin/%s", g.zBaseURL,
db_get("chat-alert-sound","alerts/plunk.wav"));
zProjectName = db_get("project-name","Unnamed project");
zInputPlaceholder0 =
mprintf("Type markdown-formatted message for %h.", zProjectName);
style_set_current_feature("chat");
style_header("Chat");
@ <div id='chat-input-area'>
@ <div id='chat-input-line' class='single-line'>
@ <div contenteditable id="chat-input-field" \
@ placeholder="%h(zInputPlaceholder0) %h(zInputPlaceholder2)" \
@ class></div>
@ <div id='chat-edit-buttons'>
@ <button id="chat-preview-button" \
@ title="Preview message (Shift-Enter)">👁</button>
@ <button id="chat-settings-button" \
@ title="Configure chat">⚙</button>
@ <button id="chat-message-submit" \
@ title="Send message (Ctrl-Enter)">📤</button>
|
<
<
>
|
|
|
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
**
** Other /chat-OP pages are used by XHR requests from this page to
** send new chat message, delete older messages, or poll for changes.
*/
void chat_webpage(void){
char *zAlert;
char *zProjectName;
char * zInputPlaceholder0; /* Common text input placeholder value */
login_check_credentials();
if( !g.perm.Chat ){
login_needed(g.anon.Chat);
return;
}
zAlert = mprintf("%s/builtin/%s", g.zBaseURL,
db_get("chat-alert-sound","alerts/plunk.wav"));
zProjectName = db_get("project-name","Unnamed project");
zInputPlaceholder0 =
mprintf("Type markdown-formatted message for %h.", zProjectName);
style_set_current_feature("chat");
style_header("Chat");
@ <div id='chat-input-area'>
@ <div id='chat-input-line' class='single-line'>
@ <div contenteditable id="chat-input-field" \
@ data-placeholder0="%h(zInputPlaceholder0)" \
@ data-placeholder="%h(zInputPlaceholder0)" \
@ class=""></div>
@ <div id='chat-edit-buttons'>
@ <button id="chat-preview-button" \
@ title="Preview message (Shift-Enter)">👁</button>
@ <button id="chat-settings-button" \
@ title="Configure chat">⚙</button>
@ <button id="chat-message-submit" \
@ title="Send message (Ctrl-Enter)">📤</button>
|