Compare commits

..

No commits in common. "017a624c667bafa76fb8f225374a6d30bb4f97af" and "3fb3ef927ab8b5d4fec5e95209642ce6ed795ff7" have entirely different histories.

5 changed files with 152 additions and 168 deletions

View File

@ -167,8 +167,7 @@
information hidden to make reading information hidden to make reading
messages easier. messages easier.
<ul> <ul>
<li>Tap on the <i class="bi <li>Tap on the pound sign to see the
bi-clock"></i> clock to see the
date and time of the message.</li> date and time of the message.</li>
<li>Tap again to hide the popup.</li> <li>Tap again to hide the popup.</li>
<li>Long chat messages are scrollable. <li>Long chat messages are scrollable.

View File

@ -63,7 +63,7 @@ th, td {
} }
.message-mobile-date-time { .message-mobile-date-time {
width: 2em; width: 1em;
} }
.message-from-user { .message-from-user {

View File

@ -103,8 +103,7 @@ function processFragment() {
async function saveToDatabase(filename: string, xml: string) { async function saveToDatabase(filename: string, xml: string) {
db.entries db.entries
.put({ filename, backupData: xml }) .put({ filename, backupData: xml })
.then(_ => toggleLoadPrevious(true)) .catch(err => displayFatalError('Saving Failed', err));
.catch(err => console.error('Saving Failed', err));
} }
function displayBackup(xsltProcessor: XSLTProcessor, filename: string, xmlText: string): boolean { function displayBackup(xsltProcessor: XSLTProcessor, filename: string, xmlText: string): boolean {
@ -137,29 +136,7 @@ function displayBackup(xsltProcessor: XSLTProcessor, filename: string, xmlText:
} }
} }
function toggleLoadPrevious(toggle: boolean) { function initEvents() {
ui.loadPreviousButtons.forEach(btn => {
if (toggle) {
btn.classList.remove('disabled');
} else {
btn.classList.add('disabled');
}
});
}
async function initEvents() {
db.entries.count()
.then(count => {
if (count < 1) {
toggleLoadPrevious(false);
}
})
.catch(err => {
//Something wrong with db access, disable buttons anyway.
console.error(err);
toggleLoadPrevious(false);
});
ui.loadPreviousButtons.forEach(button => button.addEventListener('click', async () => { ui.loadPreviousButtons.forEach(button => button.addEventListener('click', async () => {
await populateSavedBackups(); await populateSavedBackups();
})); }));
@ -213,7 +190,15 @@ async function populateSavedBackups() {
} }
window.addEventListener('DOMContentLoaded', async () => { window.addEventListener('DOMContentLoaded', async () => {
await initEvents(); window.addEventListener('resize', () => {
if (window.innerWidth <= 500) {
ui.chatDisplay.querySelector('table')?.classList.add('table-sm');
} else {
ui.chatDisplay.querySelector('table')?.classList.remove('table-sm');
}
});
initEvents();
showLoadingIndicator(false); showLoadingIndicator(false);
showApplication(true); showApplication(true);
}); });

View File

@ -8,9 +8,9 @@ export const chatDisplay: HTMLElement = document.getElementById('chat-display')!
export const fileSelector: HTMLInputElement = document.getElementById('backup-file')! as HTMLInputElement; export const fileSelector: HTMLInputElement = document.getElementById('backup-file')! as HTMLInputElement;
export const savedBackups: HTMLSelectElement = document.getElementById('saved-backups')! as HTMLSelectElement; export const savedBackups: HTMLSelectElement = document.getElementById('saved-backups')! as HTMLSelectElement;
export const viewNewButtons = export const viewNewButtons =
<NodeListOf<HTMLElement>>document.querySelectorAll('#unloaded-view-new-button, #loaded-view-new-button'); document.querySelectorAll('#unloaded-view-new-button, #loaded-view-new-button');
export const loadPreviousButtons = export const loadPreviousButtons =
<NodeListOf<HTMLElement>>document.querySelectorAll('#unloaded-load-previous-button, #loaded-load-previous-button'); document.querySelectorAll('#unloaded-load-previous-button, #loaded-load-previous-button');
export const previousBackupsList: HTMLDivElement = document.getElementById('previous-backups-list')! as HTMLDivElement; export const previousBackupsList: HTMLDivElement = document.getElementById('previous-backups-list')! as HTMLDivElement;
export const noFileLoadedControls: HTMLDivElement = document.getElementById('no-file-loaded-controls')! as HTMLDivElement; export const noFileLoadedControls: HTMLDivElement = document.getElementById('no-file-loaded-controls')! as HTMLDivElement;
export const fileLoadedControls: HTMLDivElement = document.getElementById('file-loaded-controls')! as HTMLDivElement; export const fileLoadedControls: HTMLDivElement = document.getElementById('file-loaded-controls')! as HTMLDivElement;

View File

@ -96,7 +96,7 @@ https://github.com/jerecui/MSNChatHistoryCombiner
</xsl:template> </xsl:template>
<xsl:template match="From/User"> <xsl:template match="From/User">
<a class="info-popover" href="javascript:void(0);" tabindex="0" <a class="info-popover" href="#" tabindex="0"
data-bs-trigger="focus" data-bs-trigger="focus"
data-bs-container="body" data-bs-toggle="popover" data-bs-container="body" data-bs-toggle="popover"
data-bs-placement="bottom" data-bs-title="Username"> data-bs-placement="bottom" data-bs-title="Username">
@ -119,14 +119,14 @@ https://github.com/jerecui/MSNChatHistoryCombiner
<!-- mobile shows a popover span for date/time --> <!-- mobile shows a popover span for date/time -->
<td class="d-lg-none message-mobile-date-time"> <td class="d-lg-none message-mobile-date-time">
<a class="info-popover" href="javascript:void(0);" tabindex="0" <a class="info-popover" href="#" tabindex="0"
data-bs-trigger="focus" data-bs-trigger="focus"
data-bs-container="body" data-bs-toggle="popover" data-bs-container="body" data-bs-toggle="popover"
data-bs-placement="right" data-bs-title="Date/Time"> data-bs-placement="right" data-bs-title="Date/Time">
<xsl:attribute name="data-bs-content"> <xsl:attribute name="data-bs-content">
<xsl:value-of select="@Date"/>&#160;<xsl:value-of select="@Time"/> <xsl:value-of select="@Date"/>&#160;<xsl:value-of select="@Time"/>
</xsl:attribute> </xsl:attribute>
<i class="bi bi-clock"></i> #
</a> </a>
</td> </td>
<td class="d-none d-lg-table-cell message-date"> <xsl:value-of select="@Date"/> </td> <td class="d-none d-lg-table-cell message-date"> <xsl:value-of select="@Date"/> </td>