Migrate MembersList.vue to PlatformServiceMixin logging patterns

- Remove legacy logConsoleAndDb import from db/index
- Replace 3 logging calls with this.$logAndConsole() mixin method
- Add CSS linting suppressions for Tailwind @apply directives
- Create migration checklist documentation

Note: Untested due to meeting component accessibility limitations
Passes lint checks and TypeScript compilation
This commit is contained in:
Matthew Raymer
2025-07-06 05:32:50 +00:00
parent e883029531
commit 08a9fa9946
2 changed files with 121 additions and 4 deletions

View File

@@ -161,7 +161,6 @@
<script lang="ts">
import { Component, Vue, Prop } from "vue-facing-decorator";
import { logConsoleAndDb } from "../db/index";
import {
errorStringForLog,
getHeaders,
@@ -232,7 +231,7 @@ export default class MembersList extends Vue {
await this.decryptMemberContents();
}
} catch (error) {
logConsoleAndDb(
this.$logAndConsole(
"Error fetching members: " + errorStringForLog(error),
true,
);
@@ -474,7 +473,7 @@ export default class MembersList extends Vue {
}
}
} catch (error) {
logConsoleAndDb(
this.$logAndConsole(
"Error toggling admission: " + errorStringForLog(error),
true,
);
@@ -506,7 +505,10 @@ export default class MembersList extends Vue {
3000,
);
} catch (err) {
logConsoleAndDb("Error adding contact: " + errorStringForLog(err), true);
this.$logAndConsole(
"Error adding contact: " + errorStringForLog(err),
true,
);
let message = "An error prevented adding this contact.";
if (err instanceof Error && err.message?.indexOf("already exists") > -1) {
message = "This person is already in your contact list.";
@@ -528,30 +530,35 @@ export default class MembersList extends Vue {
<style scoped>
/* Button Classes */
.btn-action-refresh {
/* stylelint-disable-next-line at-rule-no-unknown */
@apply w-8 h-8 flex items-center justify-center rounded-full
bg-blue-100 text-blue-600 hover:bg-blue-200 hover:text-blue-800
transition-colors;
}
.btn-add-contact {
/* stylelint-disable-next-line at-rule-no-unknown */
@apply ml-2 w-8 h-8 flex items-center justify-center rounded-full
bg-green-100 text-green-600 hover:bg-green-200 hover:text-green-800
transition-colors;
}
.btn-info-contact {
/* stylelint-disable-next-line at-rule-no-unknown */
@apply ml-2 mb-2 w-6 h-6 flex items-center justify-center rounded-full
bg-slate-100 text-slate-500 hover:bg-slate-200 hover:text-slate-800
transition-colors;
}
.btn-admission {
/* stylelint-disable-next-line at-rule-no-unknown */
@apply mr-2 w-6 h-6 flex items-center justify-center rounded-full
bg-blue-100 text-blue-600 hover:bg-blue-200 hover:text-blue-800
transition-colors;
}
.btn-info-admission {
/* stylelint-disable-next-line at-rule-no-unknown */
@apply mr-2 mb-2 w-6 h-6 flex items-center justify-center rounded-full
bg-slate-100 text-slate-500 hover:bg-slate-200 hover:text-slate-800
transition-colors;