feat: refactor

This commit is contained in:
Zamitto 2024-07-17 18:17:32 -03:00
parent 6d277cd1d8
commit 8c67dda84e
8 changed files with 44 additions and 44 deletions

View file

@ -249,6 +249,7 @@
"sending": "Sending",
"friend_request_sent": "Friend request sent",
"friends": "Friends",
"friends_list": "Friends list"
"friends_list": "Friends list",
"user_not_found": "User not found"
}
}

View file

@ -249,6 +249,7 @@
"friends": "Amigos",
"add": "Adicionar",
"sending": "Enviando",
"friends_list": "Lista de amigos"
"friends_list": "Lista de amigos",
"user_not_found": "Usuário não encontrado"
}
}

View file

@ -40,10 +40,10 @@ export function App() {
const { clearDownload, setLastPacket } = useDownload();
const {
showFriendsModal,
isFriendsModalVisible,
friendRequetsModalTab,
setShowFriendsModal,
updateFriendRequests,
hideFriendsModal,
} = useUserDetails();
const { fetchUserDetails, updateUserDetails, clearUserDetails } =
@ -219,9 +219,9 @@ export function App() {
/>
<UserFriendModal
visible={showFriendsModal}
visible={isFriendsModalVisible}
initialTab={friendRequetsModalTab}
onClose={() => setShowFriendsModal(false, null)}
onClose={hideFriendsModal}
/>
<main>

View file

@ -13,12 +13,8 @@ export function SidebarProfile() {
const { t } = useTranslation("sidebar");
const {
userDetails,
profileBackground,
friendRequests,
setShowFriendsModal,
} = useUserDetails();
const { userDetails, profileBackground, friendRequests, showFriendsModal } =
useUserDetails();
const { gameRunning } = useAppSelector((state) => state.gameRunning);
@ -88,9 +84,7 @@ export function SidebarProfile() {
<button
type="button"
className={styles.friendRequestButton}
onClick={() =>
setShowFriendsModal(true, UserFriendModalTab.AddFriend)
}
onClick={() => showFriendsModal(UserFriendModalTab.AddFriend)}
>
<PersonAddIcon size={24} />
{friendRequests.length}

View file

@ -6,7 +6,7 @@ export interface UserDetailsState {
userDetails: UserDetails | null;
profileBackground: null | string;
friendRequests: FriendRequest[];
showFriendsModal: boolean;
isFriendsModalVisible: boolean;
friendRequetsModalTab: UserFriendModalTab | null;
}
@ -14,7 +14,7 @@ const initialState: UserDetailsState = {
userDetails: null,
profileBackground: null,
friendRequests: [],
showFriendsModal: false,
isFriendsModalVisible: false,
friendRequetsModalTab: null,
};
@ -31,15 +31,17 @@ export const userDetailsSlice = createSlice({
setFriendRequests: (state, action: PayloadAction<FriendRequest[]>) => {
state.friendRequests = action.payload;
},
setshowFriendsModal: (state, action: PayloadAction<boolean>) => {
state.showFriendsModal = action.payload;
},
setFriendRequestsModal: (
setFriendsModalVisible: (
state,
action: PayloadAction<UserFriendModalTab | null>
action: PayloadAction<UserFriendModalTab>
) => {
state.isFriendsModalVisible = true;
state.friendRequetsModalTab = action.payload;
},
setFriendsModalHidden: (state) => {
state.isFriendsModalVisible = false;
state.friendRequetsModalTab = null;
},
},
});
@ -47,6 +49,6 @@ export const {
setUserDetails,
setProfileBackground,
setFriendRequests,
setshowFriendsModal,
setFriendRequestsModal,
setFriendsModalVisible,
setFriendsModalHidden,
} = userDetailsSlice.actions;

View file

@ -6,8 +6,8 @@ import {
setProfileBackground,
setUserDetails,
setFriendRequests,
setshowFriendsModal,
setFriendRequestsModal,
setFriendsModalVisible,
setFriendsModalHidden,
} from "@renderer/features";
import { darkenColor } from "@renderer/helpers";
import { FriendRequestAction, UserDetails } from "@types";
@ -20,7 +20,7 @@ export function useUserDetails() {
userDetails,
profileBackground,
friendRequests,
showFriendsModal,
isFriendsModalVisible,
friendRequetsModalTab,
} = useAppSelector((state) => state.userDetails);
@ -94,18 +94,18 @@ export function useUserDetails() {
dispatch(setFriendRequests(friendRequests || []));
}, [dispatch]);
const setShowFriendsModal = useCallback(
(showModal: boolean, tab: UserFriendModalTab | null) => {
dispatch(setFriendRequestsModal(tab));
dispatch(setshowFriendsModal(showModal));
if (showModal) {
const showFriendsModal = useCallback(
(tab: UserFriendModalTab) => {
dispatch(setFriendsModalVisible(tab));
updateFriendRequests();
}
},
[dispatch]
);
const hideFriendsModal = useCallback(() => {
dispatch(setFriendsModalHidden());
}, [dispatch]);
const sendFriendRequest = useCallback(
async (userId: string) => {
return window.electron
@ -128,8 +128,10 @@ export function useUserDetails() {
userDetails,
profileBackground,
friendRequests,
showFriendsModal,
friendRequetsModalTab,
isFriendsModalVisible,
showFriendsModal,
hideFriendsModal,
fetchUserDetails,
signOut,
clearUserDetails,
@ -138,6 +140,5 @@ export function useUserDetails() {
sendFriendRequest,
updateFriendRequests,
updateFriendRequestState,
setShowFriendsModal,
};
}

View file

@ -37,7 +37,7 @@ export function UserContent({
profileBackground,
signOut,
updateFriendRequests,
setShowFriendsModal,
showFriendsModal,
} = useUserDetails();
const { showSuccessToast } = useToast();
@ -332,9 +332,7 @@ export function UserContent({
<div className={styles.friendsSection}>
<button
className={styles.friendsSectionHeader}
onClick={() =>
setShowFriendsModal(true, UserFriendModalTab.FriendsList)
}
onClick={() => showFriendsModal(UserFriendModalTab.FriendsList)}
>
<h2>{t("friends")}</h2>
@ -390,7 +388,7 @@ export function UserContent({
<Button
theme="outline"
onClick={() =>
setShowFriendsModal(true, UserFriendModalTab.AddFriend)
showFriendsModal(UserFriendModalTab.AddFriend)
}
>
<PlusIcon /> {t("add")}

View file

@ -8,12 +8,15 @@ import { UserContent } from "./user-content";
import { SkeletonTheme } from "react-loading-skeleton";
import { vars } from "@renderer/theme.css";
import * as styles from "./user.css";
import { useTranslation } from "react-i18next";
export const User = () => {
const { userId } = useParams();
const [userProfile, setUserProfile] = useState<UserProfile>();
const navigate = useNavigate();
const { t } = useTranslation("user_profile");
const { showErrorToast } = useToast();
const dispatch = useAppDispatch();
@ -24,11 +27,11 @@ export const User = () => {
dispatch(setHeaderTitle(userProfile.displayName));
setUserProfile(userProfile);
} else {
showErrorToast("Usuário não encontrado");
showErrorToast(t("user_not_found"));
navigate(-1);
}
});
}, [dispatch, userId]);
}, [dispatch, userId, t]);
useEffect(() => {
getUserProfile();