forked from jsnbuchanan/crowd-funder-for-time-pwa
WIP: mockup for set visibility dialog
This commit is contained in:
103
src/App.vue
103
src/App.vue
@@ -352,6 +352,109 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
v-if="notification.type === 'set-visibility-to-meeting-members'"
|
||||||
|
class="absolute inset-0 h-screen flex flex-col items-center justify-center bg-slate-900/50"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="flex w-11/12 max-w-lg mx-auto my-4 overflow-y-scroll bg-white rounded-lg shadow-lg"
|
||||||
|
>
|
||||||
|
<div class="w-full px-6 py-6 text-slate-900 text-center">
|
||||||
|
<h3 class="text-lg font-semibold leading-[1.25] mb-2">
|
||||||
|
Set Visibility to Meeting Members
|
||||||
|
</h3>
|
||||||
|
<p class="text-sm mb-4">
|
||||||
|
Would you like to <b>make your activities visible</b> to the
|
||||||
|
following members? (This will also add them as contacts if
|
||||||
|
they aren't already.)
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<!-- Custom table area - you can customize this -->
|
||||||
|
<div class="mb-4">
|
||||||
|
<table
|
||||||
|
class="w-full border-collapse border border-slate-300 text-sm text-start"
|
||||||
|
>
|
||||||
|
<thead>
|
||||||
|
<tr class="bg-slate-100 font-medium">
|
||||||
|
<th class="border border-slate-300 px-3 py-2">
|
||||||
|
<label class="flex items-center gap-2">
|
||||||
|
<input type="checkbox" checked />
|
||||||
|
Select All
|
||||||
|
</label>
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<!-- Sample data - replace with your actual data -->
|
||||||
|
<tr>
|
||||||
|
<td class="border border-slate-300 px-3 py-2">
|
||||||
|
<label class="flex items-center gap-2">
|
||||||
|
<input type="checkbox" checked />
|
||||||
|
John Doe
|
||||||
|
|
||||||
|
<!-- Friend indicator -->
|
||||||
|
<font-awesome
|
||||||
|
icon="user-circle"
|
||||||
|
class="fa-fw ms-auto text-slate-400"
|
||||||
|
/>
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="border border-slate-300 px-3 py-2">
|
||||||
|
<label class="flex items-center gap-2">
|
||||||
|
<input type="checkbox" checked />
|
||||||
|
Jane Smith
|
||||||
|
|
||||||
|
<!-- Friend indicator -->
|
||||||
|
<font-awesome
|
||||||
|
icon="user-circle"
|
||||||
|
class="fa-fw ms-auto text-slate-400"
|
||||||
|
/>
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="border border-slate-300 px-3 py-2">
|
||||||
|
<label class="flex items-center gap-2">
|
||||||
|
<input type="checkbox" checked />
|
||||||
|
Jim Beam
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="border border-slate-300 px-3 py-2">
|
||||||
|
<label class="flex items-center gap-2">
|
||||||
|
<input type="checkbox" checked />
|
||||||
|
Susie Q
|
||||||
|
</label>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="space-y-2">
|
||||||
|
<button
|
||||||
|
class="block w-full text-center text-md font-bold uppercase bg-blue-600 text-white px-2 py-2 rounded-md"
|
||||||
|
@click="
|
||||||
|
notification.onYes ? notification.onYes() : null;
|
||||||
|
close(notification.id);
|
||||||
|
"
|
||||||
|
>
|
||||||
|
Set Visibility
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
class="block w-full text-center text-md font-bold uppercase bg-slate-600 text-white px-2 py-2 rounded-md"
|
||||||
|
@click="close(notification.id)"
|
||||||
|
>
|
||||||
|
Maybe Later
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Notification>
|
</Notification>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<!-- Sub View Heading -->
|
<!-- Sub View Heading -->
|
||||||
<div id="SubViewHeading" class="flex gap-4 items-start mb-8">
|
<div id="SubViewHeading" class="flex gap-4 items-start mb-8">
|
||||||
<h1 class="grow text-xl text-center font-semibold leading-tight">
|
<h1 class="grow text-xl text-center font-semibold leading-tight">
|
||||||
Meeting Members
|
Meeting Member<a href="#" @click="showAddMembersNotification">s</a>
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<!-- Spacer (no Back button) -->
|
<!-- Spacer (no Back button) -->
|
||||||
@@ -77,6 +77,7 @@ import {
|
|||||||
} from "../libs/endorserServer";
|
} from "../libs/endorserServer";
|
||||||
import { generateSaveAndActivateIdentity } from "../libs/util";
|
import { generateSaveAndActivateIdentity } from "../libs/util";
|
||||||
import { PlatformServiceMixin } from "@/utils/PlatformServiceMixin";
|
import { PlatformServiceMixin } from "@/utils/PlatformServiceMixin";
|
||||||
|
import { NotificationIface } from "../constants/app";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
components: {
|
components: {
|
||||||
@@ -97,6 +98,7 @@ export default class OnboardMeetingMembersView extends Vue {
|
|||||||
projectLink = "";
|
projectLink = "";
|
||||||
$route!: RouteLocationNormalizedLoaded;
|
$route!: RouteLocationNormalizedLoaded;
|
||||||
$router!: Router;
|
$router!: Router;
|
||||||
|
$notify!: (notification: NotificationIface, timeout?: number) => void;
|
||||||
|
|
||||||
userNameDialog!: InstanceType<typeof UserNameDialog>;
|
userNameDialog!: InstanceType<typeof UserNameDialog>;
|
||||||
|
|
||||||
@@ -257,5 +259,19 @@ export default class OnboardMeetingMembersView extends Vue {
|
|||||||
handleError(message: string) {
|
handleError(message: string) {
|
||||||
this.errorMessage = message;
|
this.errorMessage = message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
showAddMembersNotification() {
|
||||||
|
this.$notify(
|
||||||
|
{
|
||||||
|
group: "modal",
|
||||||
|
type: "set-visibility-to-meeting-members",
|
||||||
|
onYes: async () => {
|
||||||
|
// Handle the "Add Selected" action - you can implement the actual logic here
|
||||||
|
console.log("User confirmed adding selected members as contacts");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-1,
|
||||||
|
); // -1 means no auto-dismiss, stays open until user acts
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user