refactor: move display text logic to BulkMembersDialog component

- Replace individual text props with single isOrganizer boolean prop
- Add computed properties for title, description, buttonText, and emptyStateText
- Simplify parent component interface by removing text prop passing
- Update quote style from single to double quotes for consistency
- Improve component encapsulation and maintainability
This commit is contained in:
Jose Olarte III
2025-10-30 16:11:45 +08:00
parent b37051f25d
commit 9628d5c8c6
2 changed files with 24 additions and 16 deletions

View File

@@ -145,10 +145,7 @@ export default class BulkMembersDialog extends Vue {
@Prop({ default: "" }) activeDid!: string;
@Prop({ default: "" }) apiServer!: string;
@Prop({ required: true }) dialogType!: "admit" | "visibility";
@Prop({ required: true }) title!: string;
@Prop({ required: true }) description!: string;
@Prop({ required: true }) buttonText!: string;
@Prop({ required: true }) emptyStateText!: string;
@Prop({ required: true }) isOrganizer!: boolean;
// Vue notification system
$notify!: (
@@ -187,6 +184,28 @@ export default class BulkMembersDialog extends Vue {
return selectedCount > 0 && selectedCount < this.membersData.length;
}
get title() {
return this.isOrganizer
? "Admit Pending Members"
: "Add Members to Contacts";
}
get description() {
return this.isOrganizer
? "Would you like to admit these members to the meeting and add them to your contacts?"
: "Would you like to add these members to your contacts?";
}
get buttonText() {
return this.isOrganizer ? "Admit + Add to Contacts" : "Add to Contacts";
}
get emptyStateText() {
return this.isOrganizer
? "No pending members to admit"
: "No members are not in your contacts";
}
created() {
this.notify = createNotifyHelpers(this.$notify);
}