Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Added complete timestamps (local and GMT) as title attribute of message headers. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | chatroom-dev |
| Files: | files | file ages | folders |
| SHA3-256: |
696135b65e77b36603dbb0bbce761c20 |
| User & Date: | stephan 2020-12-23 04:19:45.569 |
Context
|
2020-12-23
| ||
| 04:39 | Re-added .message-content min-width which was lost when we rolled back [7e6d2f0a1]. ... (check-in: 67e5bd67d5 user: stephan tags: chatroom-dev) | |
| 04:19 | Added complete timestamps (local and GMT) as title attribute of message headers. ... (check-in: 696135b65e user: stephan tags: chatroom-dev) | |
| 04:06 | Attempt to fix the "NaN" date problem in chat. ... (check-in: aefa8e5d1f user: drh tags: chatroom-dev) | |
Changes
Changes to src/chat.js.
| ︙ | ︙ | |||
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
if(f.injectPoint.nextSibling){
f.injectPoint.parentNode.insertBefore(e, f.injectPoint.nextSibling);
}else{
f.injectPoint.parentNode.appendChild(e);
}
};
const textNode = (T)=>document.createTextNode(T);
function newcontent(jx){
var i;
for(i=0; i<jx.msgs.length; ++i){
let m = jx.msgs[i];
let row = document.createElement("fieldset");
if( m.msgid>mxMsg ) mxMsg = m.msgid;
row.classList.add('message-row');
| > > > > > > > > > > > > > > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
if(f.injectPoint.nextSibling){
f.injectPoint.parentNode.insertBefore(e, f.injectPoint.nextSibling);
}else{
f.injectPoint.parentNode.appendChild(e);
}
};
const textNode = (T)=>document.createTextNode(T);
/** Returns the local time string of Date object d, defaulting
to the current time. */
const localTimeString = function ff(d){
if(!ff.pad){
ff.pad = (x)=>(''+x).length>1 ? x : '0'+x;
}
d || (d = new Date());
return [
d.getFullYear(),'-',ff.pad(d.getMonth()+1/*sigh*/),
'-',ff.pad(d.getDate()),
' ',ff.pad(d.getHours()),':',ff.pad(d.getMinutes()),
':',ff.pad(d.getSeconds())
].join('');
};
function newcontent(jx){
var i;
for(i=0; i<jx.msgs.length; ++i){
let m = jx.msgs[i];
let row = document.createElement("fieldset");
if( m.msgid>mxMsg ) mxMsg = m.msgid;
row.classList.add('message-row');
|
| ︙ | ︙ | |||
44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
if( m.xfrom===_me ){
whoName = 'me';
row.classList.add('user-is-me');
}else{
whoName = m.xfrom;
}
var d = new Date(m.mtime + "Z");
if( d.getMinutes().toString()!="NaN" ){
/* Show local time when we can compute it */
eWho.append(textNode(whoName+' @ '+
d.getHours()+":"+(d.getMinutes()+100).toString().slice(1,3)
))
}else{
/* Show UTC on systems where Date() does not work */
| > > > > > > > | 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
if( m.xfrom===_me ){
whoName = 'me';
row.classList.add('user-is-me');
}else{
whoName = m.xfrom;
}
var d = new Date(m.mtime + "Z");
eWho.setAttribute('title',localTimeString(d)
+' client-local\n'
+d.toISOString()
.replace('T',' ')
.replace(/\.\d+/,'')
.replace('Z', ' GMT')
);
if( d.getMinutes().toString()!="NaN" ){
/* Show local time when we can compute it */
eWho.append(textNode(whoName+' @ '+
d.getHours()+":"+(d.getMinutes()+100).toString().slice(1,3)
))
}else{
/* Show UTC on systems where Date() does not work */
|
| ︙ | ︙ |
Changes to src/default.css.
| ︙ | ︙ | |||
1496 1497 1498 1499 1500 1501 1502 |
margin-top: -0.75em;
}
/* User name for the post (a LEGEND element) */
.message-row .message-user {
border-radius: 0.25em 0.25em 0 0;
padding: 0 0.5em;
/*text-align: left; Firefox requires the 'align' attribute */
| | | 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 |
margin-top: -0.75em;
}
/* User name for the post (a LEGEND element) */
.message-row .message-user {
border-radius: 0.25em 0.25em 0 0;
padding: 0 0.5em;
/*text-align: left; Firefox requires the 'align' attribute */
margin-left: 0.15em;
padding: 0 0.5em 0em 0.5em;
margin-bottom: 0.4em;
}
/* Reposition "my" posts to the right */
.message-row.user-is-me .message-user {
/*text-align: right; Firefox requires the 'align' attribute */
margin-left: 0;
|
| ︙ | ︙ |