diff --git a/template/app/src/admin/dashboards/users/SwitcherOne.tsx b/template/app/src/admin/dashboards/users/SwitcherOne.tsx deleted file mode 100644 index 084cabe..0000000 --- a/template/app/src/admin/dashboards/users/SwitcherOne.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { type User } from 'wasp/entities'; -import { useState } from 'react'; -import { cn } from '../../../client/cn'; - -const SwitcherOne = ({ user, updateIsUserAdminById }: { user?: Partial; updateIsUserAdminById?: any }) => { - const [enabled, setEnabled] = useState(user?.isAdmin || false); - - return ( -
- -
- ); -}; - -export default SwitcherOne; diff --git a/template/app/src/admin/dashboards/users/UsersTable.tsx b/template/app/src/admin/dashboards/users/UsersTable.tsx index 6e1dccd..af5cace 100644 --- a/template/app/src/admin/dashboards/users/UsersTable.tsx +++ b/template/app/src/admin/dashboards/users/UsersTable.tsx @@ -1,9 +1,17 @@ import { type SubscriptionStatus } from '../../../payment/plans'; -import { updateIsUserAdminById, useQuery, getPaginatedUsers } from 'wasp/client/operations'; +import { useQuery, getPaginatedUsers } from 'wasp/client/operations'; import { useState, useEffect } from 'react'; -import SwitcherOne from './SwitcherOne'; +import SwitcherOne from '../../elements/forms/SwitcherOne'; import LoadingSpinner from '../../layout/LoadingSpinner'; import DropdownEditDelete from './DropdownEditDelete'; +import { updateIsUserAdminById } from 'wasp/client/operations'; +import { type User } from 'wasp/entities'; + +const AdminSwitch = ({ id, isAdmin }: Pick) => { + return ( + updateIsUserAdminById({ id: id, isAdmin: !isAdmin })} /> + ); +}; const UsersTable = () => { const [skip, setskip] = useState(0); @@ -11,7 +19,7 @@ const UsersTable = () => { const [email, setEmail] = useState(undefined); const [isAdminFilter, setIsAdminFilter] = useState(undefined); const [statusOptions, setStatusOptions] = useState([]); - const { data, isLoading, error } = useQuery(getPaginatedUsers, { + const { data, isLoading } = useQuery(getPaginatedUsers, { skip, emailContains: email, isAdmin: isAdminFilter, @@ -51,7 +59,7 @@ const UsersTable = () => {
{!!statusOptions && statusOptions.length > 0 ? ( - statusOptions.map((opt, idx) => ( + statusOptions.map((opt) => ( { {['past_due', 'canceled', 'active', 'deleted', null].map((status) => { if (!statusOptions.includes(status as SubscriptionStatus)) { - return ; + return ( + + ); } })} @@ -226,7 +238,7 @@ const UsersTable = () => {
- +
diff --git a/template/app/src/admin/elements/forms/FormElementsPage.tsx b/template/app/src/admin/elements/forms/FormElementsPage.tsx index 745e004..3debb5d 100644 --- a/template/app/src/admin/elements/forms/FormElementsPage.tsx +++ b/template/app/src/admin/elements/forms/FormElementsPage.tsx @@ -2,9 +2,10 @@ import { type AuthUser } from 'wasp/auth'; import Breadcrumb from '../../layout/Breadcrumb'; import DefaultLayout from '../../layout/DefaultLayout'; import CheckboxOne from './CheckboxOne'; -import SwitcherOne from '../../dashboards/users/SwitcherOne'; import SwitcherTwo from './SwitcherTwo'; +import SwitcherOne from './SwitcherOne'; import { useRedirectHomeUnlessUserIsAdmin } from '../../useRedirectHomeUnlessUserIsAdmin'; +import { useState } from 'react'; const FormElements = ({ user }: { user: AuthUser }) => { useRedirectHomeUnlessUserIsAdmin({ user }); @@ -56,10 +57,7 @@ const FormElements = ({ user }: { user: AuthUser }) => {

Toggle switch input

-
- - -
+
{/* */} @@ -172,7 +170,13 @@ const FormElements = ({ user }: { user: AuthUser }) => {
- + { - + { Design - + { Development - + {
- - + { ); }; +function SwitchExamples() { + const [isFirstOn, setIsFirstOn] = useState(false); + const [isSecondOn, setIsSecondOn] = useState(false); + return ( +
+ setIsFirstOn(!isFirstOn)} /> + setIsSecondOn(!isSecondOn)} /> +
+ ); +} + export default FormElements; diff --git a/template/app/src/admin/elements/forms/SwitcherOne.tsx b/template/app/src/admin/elements/forms/SwitcherOne.tsx new file mode 100644 index 0000000..fabf701 --- /dev/null +++ b/template/app/src/admin/elements/forms/SwitcherOne.tsx @@ -0,0 +1,28 @@ +import { cn } from '../../../client/cn'; +import { ChangeEventHandler } from 'react'; + +const SwitcherOne = ({ + isOn, + onChange, +}: { + isOn: boolean; + onChange: ChangeEventHandler; +}) => { + return ( +
+ +
+ ); +}; + +export default SwitcherOne; diff --git a/template/app/src/admin/elements/forms/SwitcherTwo.tsx b/template/app/src/admin/elements/forms/SwitcherTwo.tsx index 55fcbd9..3c07747 100644 --- a/template/app/src/admin/elements/forms/SwitcherTwo.tsx +++ b/template/app/src/admin/elements/forms/SwitcherTwo.tsx @@ -1,60 +1,32 @@ -import { useState } from 'react'; +import { ChangeEventHandler, useState } from 'react'; import { cn } from '../../../client/cn'; -const SwitcherTwo = () => { - const [enabled, setEnabled] = useState(false); - +const SwitcherTwo = ({ + isOn, + onChange, +}: { + isOn: boolean; + onChange: ChangeEventHandler; +}) => { return (
-