Compare commits
20 Commits
fix/member
...
feat/dashb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7062f8cfb | ||
|
|
40f40a0329 | ||
|
|
4bc1cc1eda | ||
|
|
3743fcd88d | ||
|
|
8fb1da8224 | ||
|
|
a6946094f3 | ||
|
|
e3b25abccb | ||
|
|
74a0dc2fc0 | ||
|
|
6c6fd4bd32 | ||
|
|
09066fa47d | ||
|
|
089723d748 | ||
|
|
18c7faac19 | ||
|
|
076fe1d922 | ||
|
|
c58c8c753c | ||
|
|
789b48b715 | ||
|
|
9feb2d3d07 | ||
|
|
54479764f6 | ||
|
|
5c12221f09 | ||
|
|
b9c3ffe7ab | ||
|
|
63d948cc06 |
@@ -97,7 +97,7 @@ export default function MembersPage() {
|
||||
</td>
|
||||
<td
|
||||
className={twMerge(
|
||||
"w-auto min-w-[120px] overflow-visible sm:w-[35%] sm:min-w-[150px]",
|
||||
"w-auto min-w-[120px] sm:w-[35%] sm:min-w-[150px]",
|
||||
isLastRow && "rounded-br-lg",
|
||||
)}
|
||||
>
|
||||
@@ -121,7 +121,7 @@ export default function MembersPage() {
|
||||
</div>
|
||||
<div
|
||||
className={twMerge(
|
||||
"relative z-50",
|
||||
"relative",
|
||||
(workspace.role !== "admin" || showSkeleton) && "hidden",
|
||||
)}
|
||||
>
|
||||
@@ -172,10 +172,10 @@ export default function MembersPage() {
|
||||
</div>
|
||||
|
||||
<div className="mt-8 flow-root">
|
||||
<div className="-mx-4 -my-2 sm:-mx-6 lg:-mx-8">
|
||||
<div className="inline-block min-w-full overflow-x-auto px-4 py-2 pb-16 align-middle sm:px-6 lg:px-8">
|
||||
<div className="-mx-4 -my-2 overflow-x-auto sm:-mx-6 lg:-mx-8">
|
||||
<div className="inline-block min-w-full px-4 py-2 align-middle sm:px-6 lg:px-8">
|
||||
<div className="h-full shadow ring-1 ring-black ring-opacity-5 sm:rounded-lg">
|
||||
<table className="min-w-full divide-y divide-light-600 overflow-visible dark:divide-dark-600">
|
||||
<table className="min-w-full divide-y divide-light-600 dark:divide-dark-600">
|
||||
<thead className="rounded-t-lg bg-light-300 dark:bg-dark-200">
|
||||
<tr>
|
||||
<th
|
||||
@@ -192,7 +192,7 @@ export default function MembersPage() {
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody className="divide-y divide-light-600 overflow-visible bg-light-50 dark:divide-dark-600 dark:bg-dark-100">
|
||||
<tbody className="divide-y divide-light-600 bg-light-50 dark:divide-dark-600 dark:bg-dark-100">
|
||||
{!isLoading &&
|
||||
data?.members.map((member, index) => (
|
||||
<TableRow
|
||||
|
||||
@@ -166,19 +166,9 @@ export const initAuth = (db: dbClient) => {
|
||||
databaseHooks: {
|
||||
user: {
|
||||
create: {
|
||||
async before(user) {
|
||||
before() {
|
||||
if (env("NEXT_PUBLIC_DISABLE_SIGN_UP")?.toLowerCase() === "true") {
|
||||
const pendingInvitation = await memberRepo.getByEmailAndStatus(
|
||||
db,
|
||||
user.email,
|
||||
"invited",
|
||||
);
|
||||
|
||||
if (!pendingInvitation) {
|
||||
return Promise.resolve(false);
|
||||
}
|
||||
|
||||
return Promise.resolve(true);
|
||||
return Promise.resolve(false);
|
||||
}
|
||||
return Promise.resolve(true);
|
||||
},
|
||||
|
||||
@@ -41,20 +41,6 @@ export const getByPublicId = async (db: dbClient, publicId: string) => {
|
||||
});
|
||||
};
|
||||
|
||||
export const getByEmailAndStatus = async (
|
||||
db: dbClient,
|
||||
email: string,
|
||||
status: MemberStatus,
|
||||
) => {
|
||||
return db.query.workspaceMembers.findFirst({
|
||||
where: and(
|
||||
eq(workspaceMembers.email, email),
|
||||
eq(workspaceMembers.status, status),
|
||||
isNull(workspaceMembers.deletedAt),
|
||||
),
|
||||
});
|
||||
};
|
||||
|
||||
export const acceptInvite = async (
|
||||
db: dbClient,
|
||||
args: { memberId: number; userId: string },
|
||||
|
||||
Reference in New Issue
Block a user