visual update of replies

This commit is contained in:
or-else
2021-09-09 16:57:31 -07:00
parent 80b7a33e9f
commit 067eba01fc
8 changed files with 78 additions and 62 deletions
+30 -6
View File
@@ -2556,22 +2556,46 @@ ul.tabbar li.active > a {
outline: none; outline: none;
} }
/* Blue quote bar left of the quoted (cited) text */ /* Quoted (cited) content */
.reply-quote { .reply-quote {
position: relative; position: relative;
cursor: pointer; cursor: pointer;
padding-left: 1em; padding: 0 0.5rem 0.2rem 0.5rem;
border-left: solid #039be5; border-left: 0.25rem solid #039be5;
line-height: 1.5em; line-height: 1.5em;
font-weight: 100; font-weight: lighter;
margin-left: 0.2em; border-radius: 0.25rem;
color: #666;
}
.chat-box .bubble .reply-quote {
margin: -0.25rem -0.75rem 0.5rem -0.75rem;
}
.chat-box .left .reply-quote {
background-color: #f3f9ed;
}
.chat-box .right .reply-quote {
background-color: white;
} }
.reply-quote-header { .reply-quote-header {
color: #039be5; color: #039be5;
} }
.reply-quote-preview { #reply-quote-preview {
display: flex; display: flex;
align-items: center; align-items: center;
} }
#reply-quote-preview .reply-quote {
width: 100%;
background-color: #fafafa;
margin: 0.35rem 0.5rem 0 0;
}
#reply-quote-preview .cancel {
min-width: 2.4rem;
text-align: center;
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+17 -22
View File
@@ -1242,10 +1242,10 @@ function quotePreviewFmt(fmt, ent) {
return [new_fmt, ent]; return [new_fmt, ent];
case 'BN': case 'BN':
new_fmt.tp = null; new_fmt.tp = null;
return [new_fmt, { tp: 'IC', data: { orig: 'BN', iconName: 'button'}}]; return [new_fmt, { tp: 'IC', data: { orig: 'BN', name: 'button'}}];
case 'FM': case 'FM':
new_fmt.tp = null; new_fmt.tp = null;
return [new_fmt, {tp: 'IC', data: { orig: 'FM', iconName: 'form'}}]; return [new_fmt, {tp: 'IC', data: { orig: 'FM', name: 'form'}}];
case 'RW': case 'RW':
return [null, null]; return [null, null];
case 'EX': case 'EX':
@@ -1255,7 +1255,7 @@ function quotePreviewFmt(fmt, ent) {
// Render it normally. // Render it normally.
new_fmt.at = 0; new_fmt.at = 0;
} }
return [new_fmt, {tp: 'IC', data: { orig: 'EX', iconName: 'attachment'}}]; return [new_fmt, {tp: 'IC', data: { orig: 'EX', name: 'attachment'}}];
case 'QQ': case 'QQ':
// Quote/citation. // Quote/citation.
return [null,null]; return [null,null];
@@ -1348,28 +1348,23 @@ function draftyFormatter(style, data, values, key) {
break; break;
case 'IC': case 'IC':
// Icon. // Icon.
if (data.iconName == 'button') { if (data.name == 'button') {
attr.className = 'flat-button faux'; attr.className = 'flat-button faux';
} else { } else {
let iconName; const icons = {
let iconTitle; form: {
switch (data.iconName) { name: 'dashboard', title: 'drafty_form'
case 'form': },
iconName = 'dashboard'; attachment: {
iconTitle = 'drafty_form'; name: 'attachment', title: 'drafty_attachment'
break; }
case 'attachment': };
iconName = 'attachment'; const icon = icons[data.name];
iconTitle = 'drafty_attachment';
break;
default:
break;
}
el = React.Fragment; el = React.Fragment;
if (iconName && iconTitle) { if (icon) {
const iconKey = data.orig.toLowerCase(); const key = data.orig.toLowerCase();
values = [<i key={iconKey} className="material-icons">{iconName}</i>, values = [<i key={key} className="material-icons">{icon.name}</i>,
formatMessage(messages[iconTitle])].concat(' ', values || []); formatMessage(messages[icon.title])].concat(' ', values || []);
} else { } else {
values = []; values = [];
} }
+4 -2
View File
@@ -168,8 +168,10 @@ class SendMessage extends React.PureComponent {
return ( return (
<div id="send-message-wrapper"> <div id="send-message-wrapper">
{quote ? {quote ?
<div className="reply-quote-preview"> <div id="reply-quote-preview">
<a href="#" onClick={(e) => {e.preventDefault(); this.props.onCancelReply();}}><i className="material-icons gray">close</i></a> <div className="cancel">
<a href="#" onClick={(e) => {e.preventDefault(); this.props.onCancelReply();}}><i className="material-icons gray">close</i></a>
</div>
{quote} {quote}
</div> </div>
: :
+23 -28
View File
@@ -4093,7 +4093,7 @@ function quotePreviewFmt(fmt, ent) {
tp: 'IC', tp: 'IC',
data: { data: {
orig: 'BN', orig: 'BN',
iconName: 'button' name: 'button'
} }
}]; }];
@@ -4103,7 +4103,7 @@ function quotePreviewFmt(fmt, ent) {
tp: 'IC', tp: 'IC',
data: { data: {
orig: 'FM', orig: 'FM',
iconName: 'form' name: 'form'
} }
}]; }];
@@ -4121,7 +4121,7 @@ function quotePreviewFmt(fmt, ent) {
tp: 'IC', tp: 'IC',
data: { data: {
orig: 'EX', orig: 'EX',
iconName: 'attachment' name: 'attachment'
} }
}]; }];
@@ -4220,35 +4220,28 @@ function draftyFormatter(style, data, values, key) {
break; break;
case 'IC': case 'IC':
if (data.iconName == 'button') { if (data.name == 'button') {
attr.className = 'flat-button faux'; attr.className = 'flat-button faux';
} else { } else {
let iconName; const icons = {
let iconTitle; form: {
name: 'dashboard',
switch (data.iconName) { title: 'drafty_form'
case 'form': },
iconName = 'dashboard'; attachment: {
iconTitle = 'drafty_form'; name: 'attachment',
break; title: 'drafty_attachment'
}
case 'attachment': };
iconName = 'attachment'; const icon = icons[data.name];
iconTitle = 'drafty_attachment';
break;
default:
break;
}
el = (react__WEBPACK_IMPORTED_MODULE_0___default().Fragment); el = (react__WEBPACK_IMPORTED_MODULE_0___default().Fragment);
if (iconName && iconTitle) { if (icon) {
const iconKey = data.orig.toLowerCase(); const key = data.orig.toLowerCase();
values = [react__WEBPACK_IMPORTED_MODULE_0___default().createElement("i", { values = [react__WEBPACK_IMPORTED_MODULE_0___default().createElement("i", {
key: iconKey, key: key,
className: "material-icons" className: "material-icons"
}, iconName), formatMessage(messages[iconTitle])].concat(' ', values || []); }, icon.name), formatMessage(messages[icon.title])].concat(' ', values || []);
} else { } else {
values = []; values = [];
} }
@@ -11466,7 +11459,9 @@ class SendMessage extends (react__WEBPACK_IMPORTED_MODULE_0___default().PureComp
return react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { return react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
id: "send-message-wrapper" id: "send-message-wrapper"
}, quote ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { }, quote ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
className: "reply-quote-preview" id: "reply-quote-preview"
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
className: "cancel"
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", { }, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
href: "#", href: "#",
onClick: e => { onClick: e => {
@@ -11475,7 +11470,7 @@ class SendMessage extends (react__WEBPACK_IMPORTED_MODULE_0___default().PureComp
} }
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("i", { }, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("i", {
className: "material-icons gray" className: "material-icons gray"
}, "close")), quote) : null, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", { }, "close"))), quote) : null, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
id: "send-message-panel" id: "send-message-panel"
}, !this.props.disabled ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.props.onAttachFile ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", { }, !this.props.disabled ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, this.props.onAttachFile ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
href: "#", href: "#",
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long