add admin toggle to user actions; update state management for admin status
Build Images and Deploy / Update-PROD-Stack (push) Successful in 1m19s
Build Images and Deploy / Update-PROD-Stack (push) Successful in 1m19s
This commit is contained in:
@@ -19,6 +19,7 @@ export function AdminUserActions({ user }: { user: UserData }) {
|
|||||||
const [balance, setBalance] = useState(String(user.balance))
|
const [balance, setBalance] = useState(String(user.balance))
|
||||||
const [points, setPoints] = useState(String(user.researchPoints))
|
const [points, setPoints] = useState(String(user.researchPoints))
|
||||||
const [hidden, setHidden] = useState(user.isHidden)
|
const [hidden, setHidden] = useState(user.isHidden)
|
||||||
|
const [isAdmin, setIsAdmin] = useState(user.isAdmin)
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
const [resetUrl, setResetUrl] = useState<string | null>(null)
|
const [resetUrl, setResetUrl] = useState<string | null>(null)
|
||||||
const [lotteryReset, setLotteryReset] = useState(false)
|
const [lotteryReset, setLotteryReset] = useState(false)
|
||||||
@@ -34,6 +35,7 @@ export function AdminUserActions({ user }: { user: UserData }) {
|
|||||||
balance: parseFloat(balance),
|
balance: parseFloat(balance),
|
||||||
researchPoints: parseInt(points, 10),
|
researchPoints: parseInt(points, 10),
|
||||||
isHidden: hidden,
|
isHidden: hidden,
|
||||||
|
isAdmin,
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
const data = await res.json()
|
const data = await res.json()
|
||||||
@@ -133,6 +135,23 @@ export function AdminUserActions({ user }: { user: UserData }) {
|
|||||||
}`} />
|
}`} />
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="flex items-center justify-between">
|
||||||
|
<div>
|
||||||
|
<label className="text-sm text-slate-400">Admin</label>
|
||||||
|
<p className="text-xs text-slate-500">Full access to the admin panel</p>
|
||||||
|
</div>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={() => setIsAdmin((a) => !a)}
|
||||||
|
className={`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${
|
||||||
|
isAdmin ? 'bg-amber-500' : 'bg-slate-600'
|
||||||
|
}`}
|
||||||
|
>
|
||||||
|
<span className={`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${
|
||||||
|
isAdmin ? 'translate-x-6' : 'translate-x-1'
|
||||||
|
}`} />
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{error && (
|
{error && (
|
||||||
|
|||||||
Reference in New Issue
Block a user