-
+
Upload Banner
diff --git a/app/(admin)/admin/users/[id]/edit/components/AdminUserPrivilegeInput.tsx b/app/(admin)/admin/users/[id]/edit/components/AdminUserPrivilegeInput.tsx
index 7b076d6..5f08df0 100644
--- a/app/(admin)/admin/users/[id]/edit/components/AdminUserPrivilegeInput.tsx
+++ b/app/(admin)/admin/users/[id]/edit/components/AdminUserPrivilegeInput.tsx
@@ -1,13 +1,15 @@
"use client";
-import { useState, useEffect } from "react";
-import { UserSensitiveResponse, UserPrivilege } from "@/lib/types/api";
-import { Button } from "@/components/ui/button";
import { Shield } from "lucide-react";
+import { useEffect, useState } from "react";
+
+import { Button } from "@/components/ui/button";
+import { Label } from "@/components/ui/label";
import { MultiSelect } from "@/components/ui/multi-select";
-import { useAdminEditPrivilege } from "@/lib/hooks/api/user/useAdminUserEdit";
import { useToast } from "@/hooks/use-toast";
-import { Label } from "@/components/ui/label";
+import { useAdminEditPrivilege } from "@/lib/hooks/api/user/useAdminUserEdit";
+import type { UserSensitiveResponse } from "@/lib/types/api";
+import { UserPrivilege } from "@/lib/types/api";
const PRIVILEGE_OPTIONS = [
{
@@ -38,12 +40,12 @@ export default function AdminUserPrivilegeInput({
user: UserSensitiveResponse;
}) {
const [selectedPrivileges, setSelectedPrivileges] = useState(
- user.privilege
+ user.privilege,
);
const [error, setError] = useState(null);
- const { trigger: editPrivilege, isMutating: isUpdatingPrivilege } =
- useAdminEditPrivilege(user.user_id);
+ const { trigger: editPrivilege, isMutating: isUpdatingPrivilege }
+ = useAdminEditPrivilege(user.user_id);
const { toast } = useToast();
useEffect(() => {
@@ -63,7 +65,8 @@ export default function AdminUserPrivilegeInput({
description: `Updated privileges for ${user.username}.`,
variant: "success",
});
- } catch (err: any) {
+ }
+ catch (err: any) {
const errorMessage = err.message ?? "Unknown error.";
setError(errorMessage);
toast({
@@ -76,24 +79,23 @@ export default function AdminUserPrivilegeInput({
const currentPrivileges = user.privilege;
- const hasChanges =
- selectedPrivileges.length !== currentPrivileges.length ||
- !selectedPrivileges.every((p) => currentPrivileges.includes(p));
+ const hasChanges
+ = selectedPrivileges.length !== currentPrivileges.length
+ || !selectedPrivileges.every(p => currentPrivileges.includes(p));
return (
- setSelectedPrivileges(values as UserPrivilege[])
- }
+ setSelectedPrivileges(values as UserPrivilege[])}
defaultValue={Object.values(user.privilege).filter(
- (v) => v != UserPrivilege.USER
+ v => v !== UserPrivilege.USER,
)}
placeholder="Select privileges..."
className="flex-1"
@@ -107,10 +109,12 @@ export default function AdminUserPrivilegeInput({
{error &&
{error}
}
- {selectedPrivileges.filter((p) => p !== UserPrivilege.USER).length >
- 0 && (
+ {selectedPrivileges.some(p => p !== UserPrivilege.USER) && (
- Selected {selectedPrivileges.length}{" "}
+ Selected
+ {" "}
+ {selectedPrivileges.length}
+ {" "}
{selectedPrivileges.length === 1 ? "privilege" : "privileges"}
)}
diff --git a/app/(admin)/admin/users/[id]/edit/components/AdminUserProfile.tsx b/app/(admin)/admin/users/[id]/edit/components/AdminUserProfile.tsx
index cef8577..48a312e 100644
--- a/app/(admin)/admin/users/[id]/edit/components/AdminUserProfile.tsx
+++ b/app/(admin)/admin/users/[id]/edit/components/AdminUserProfile.tsx
@@ -1,16 +1,17 @@
"use client";
+import { FileText, Flag, Gamepad2, Globe } from "lucide-react";
import { useState } from "react";
-import { UserSensitiveResponse } from "@/lib/types/api";
+
+import ChangeCountryInput from "@/app/(website)/settings/components/ChangeCountryInput";
+import ChangeDescriptionInput from "@/app/(website)/settings/components/ChangeDescriptionInput";
+import ChangePlaystyleForm from "@/app/(website)/settings/components/ChangePlaystyleForm";
+import ChangeSocialsForm from "@/app/(website)/settings/components/ChangeSocialsForm";
+import Spinner from "@/components/Spinner";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
-import { FileText, Flag, Globe, Gamepad2 } from "lucide-react";
import { useUserMetadata } from "@/lib/hooks/api/user/useUserMetadata";
-import Spinner from "@/components/Spinner";
-import ChangeCountryInput from "@/app/(website)/settings/components/ChangeCountryInput";
-import ChangeSocialsForm from "@/app/(website)/settings/components/ChangeSocialsForm";
-import ChangePlaystyleForm from "@/app/(website)/settings/components/ChangePlaystyleForm";
-import ChangeDescriptionInput from "@/app/(website)/settings/components/ChangeDescriptionInput";
+import type { UserSensitiveResponse } from "@/lib/types/api";
export default function AdminUserProfile({
user,
@@ -24,7 +25,7 @@ export default function AdminUserProfile({
-
+
Profile Information
@@ -32,32 +33,32 @@ export default function AdminUserProfile({
-
+
About
-
+
Country
-
+
Socials
-
+
Playstyle
-
+
-
+
-
+
{userMetadata && user ? (
-
+
{userMetadata && user ? (
data.password === data.confirmPassword, {
+ .refine(data => data.password === data.confirmPassword, {
message: "Passwords do not match",
path: ["confirmPassword"],
});
@@ -62,8 +61,8 @@ export default function AdminUserResetPassword({
const [showPasswordDialog, setShowPasswordDialog] = useState(false);
const [error, setError] = useState(null);
- const { trigger: changePassword, isMutating: isChangingPassword } =
- useAdminPasswordChange(user.user_id);
+ const { trigger: changePassword, isMutating: isChangingPassword }
+ = useAdminPasswordChange(user.user_id);
const { toast } = useToast();
const form = useForm>({
@@ -104,7 +103,7 @@ export default function AdminUserResetPassword({
variant: "destructive",
});
},
- }
+ },
);
}
@@ -112,7 +111,7 @@ export default function AdminUserResetPassword({