mirror of
https://github.com/hydralauncher/hydra.git
synced 2025-03-09 15:40:26 +00:00
feat: refactor
This commit is contained in:
parent
6d277cd1d8
commit
8c67dda84e
8 changed files with 44 additions and 44 deletions
|
@ -249,6 +249,7 @@
|
||||||
"sending": "Sending",
|
"sending": "Sending",
|
||||||
"friend_request_sent": "Friend request sent",
|
"friend_request_sent": "Friend request sent",
|
||||||
"friends": "Friends",
|
"friends": "Friends",
|
||||||
"friends_list": "Friends list"
|
"friends_list": "Friends list",
|
||||||
|
"user_not_found": "User not found"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -249,6 +249,7 @@
|
||||||
"friends": "Amigos",
|
"friends": "Amigos",
|
||||||
"add": "Adicionar",
|
"add": "Adicionar",
|
||||||
"sending": "Enviando",
|
"sending": "Enviando",
|
||||||
"friends_list": "Lista de amigos"
|
"friends_list": "Lista de amigos",
|
||||||
|
"user_not_found": "Usuário não encontrado"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,10 +40,10 @@ export function App() {
|
||||||
const { clearDownload, setLastPacket } = useDownload();
|
const { clearDownload, setLastPacket } = useDownload();
|
||||||
|
|
||||||
const {
|
const {
|
||||||
showFriendsModal,
|
isFriendsModalVisible,
|
||||||
friendRequetsModalTab,
|
friendRequetsModalTab,
|
||||||
setShowFriendsModal,
|
|
||||||
updateFriendRequests,
|
updateFriendRequests,
|
||||||
|
hideFriendsModal,
|
||||||
} = useUserDetails();
|
} = useUserDetails();
|
||||||
|
|
||||||
const { fetchUserDetails, updateUserDetails, clearUserDetails } =
|
const { fetchUserDetails, updateUserDetails, clearUserDetails } =
|
||||||
|
@ -219,9 +219,9 @@ export function App() {
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<UserFriendModal
|
<UserFriendModal
|
||||||
visible={showFriendsModal}
|
visible={isFriendsModalVisible}
|
||||||
initialTab={friendRequetsModalTab}
|
initialTab={friendRequetsModalTab}
|
||||||
onClose={() => setShowFriendsModal(false, null)}
|
onClose={hideFriendsModal}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
|
|
|
@ -13,12 +13,8 @@ export function SidebarProfile() {
|
||||||
|
|
||||||
const { t } = useTranslation("sidebar");
|
const { t } = useTranslation("sidebar");
|
||||||
|
|
||||||
const {
|
const { userDetails, profileBackground, friendRequests, showFriendsModal } =
|
||||||
userDetails,
|
useUserDetails();
|
||||||
profileBackground,
|
|
||||||
friendRequests,
|
|
||||||
setShowFriendsModal,
|
|
||||||
} = useUserDetails();
|
|
||||||
|
|
||||||
const { gameRunning } = useAppSelector((state) => state.gameRunning);
|
const { gameRunning } = useAppSelector((state) => state.gameRunning);
|
||||||
|
|
||||||
|
@ -88,9 +84,7 @@ export function SidebarProfile() {
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className={styles.friendRequestButton}
|
className={styles.friendRequestButton}
|
||||||
onClick={() =>
|
onClick={() => showFriendsModal(UserFriendModalTab.AddFriend)}
|
||||||
setShowFriendsModal(true, UserFriendModalTab.AddFriend)
|
|
||||||
}
|
|
||||||
>
|
>
|
||||||
<PersonAddIcon size={24} />
|
<PersonAddIcon size={24} />
|
||||||
{friendRequests.length}
|
{friendRequests.length}
|
||||||
|
|
|
@ -6,7 +6,7 @@ export interface UserDetailsState {
|
||||||
userDetails: UserDetails | null;
|
userDetails: UserDetails | null;
|
||||||
profileBackground: null | string;
|
profileBackground: null | string;
|
||||||
friendRequests: FriendRequest[];
|
friendRequests: FriendRequest[];
|
||||||
showFriendsModal: boolean;
|
isFriendsModalVisible: boolean;
|
||||||
friendRequetsModalTab: UserFriendModalTab | null;
|
friendRequetsModalTab: UserFriendModalTab | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ const initialState: UserDetailsState = {
|
||||||
userDetails: null,
|
userDetails: null,
|
||||||
profileBackground: null,
|
profileBackground: null,
|
||||||
friendRequests: [],
|
friendRequests: [],
|
||||||
showFriendsModal: false,
|
isFriendsModalVisible: false,
|
||||||
friendRequetsModalTab: null,
|
friendRequetsModalTab: null,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -31,15 +31,17 @@ export const userDetailsSlice = createSlice({
|
||||||
setFriendRequests: (state, action: PayloadAction<FriendRequest[]>) => {
|
setFriendRequests: (state, action: PayloadAction<FriendRequest[]>) => {
|
||||||
state.friendRequests = action.payload;
|
state.friendRequests = action.payload;
|
||||||
},
|
},
|
||||||
setshowFriendsModal: (state, action: PayloadAction<boolean>) => {
|
setFriendsModalVisible: (
|
||||||
state.showFriendsModal = action.payload;
|
|
||||||
},
|
|
||||||
setFriendRequestsModal: (
|
|
||||||
state,
|
state,
|
||||||
action: PayloadAction<UserFriendModalTab | null>
|
action: PayloadAction<UserFriendModalTab>
|
||||||
) => {
|
) => {
|
||||||
|
state.isFriendsModalVisible = true;
|
||||||
state.friendRequetsModalTab = action.payload;
|
state.friendRequetsModalTab = action.payload;
|
||||||
},
|
},
|
||||||
|
setFriendsModalHidden: (state) => {
|
||||||
|
state.isFriendsModalVisible = false;
|
||||||
|
state.friendRequetsModalTab = null;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -47,6 +49,6 @@ export const {
|
||||||
setUserDetails,
|
setUserDetails,
|
||||||
setProfileBackground,
|
setProfileBackground,
|
||||||
setFriendRequests,
|
setFriendRequests,
|
||||||
setshowFriendsModal,
|
setFriendsModalVisible,
|
||||||
setFriendRequestsModal,
|
setFriendsModalHidden,
|
||||||
} = userDetailsSlice.actions;
|
} = userDetailsSlice.actions;
|
||||||
|
|
|
@ -6,8 +6,8 @@ import {
|
||||||
setProfileBackground,
|
setProfileBackground,
|
||||||
setUserDetails,
|
setUserDetails,
|
||||||
setFriendRequests,
|
setFriendRequests,
|
||||||
setshowFriendsModal,
|
setFriendsModalVisible,
|
||||||
setFriendRequestsModal,
|
setFriendsModalHidden,
|
||||||
} from "@renderer/features";
|
} from "@renderer/features";
|
||||||
import { darkenColor } from "@renderer/helpers";
|
import { darkenColor } from "@renderer/helpers";
|
||||||
import { FriendRequestAction, UserDetails } from "@types";
|
import { FriendRequestAction, UserDetails } from "@types";
|
||||||
|
@ -20,7 +20,7 @@ export function useUserDetails() {
|
||||||
userDetails,
|
userDetails,
|
||||||
profileBackground,
|
profileBackground,
|
||||||
friendRequests,
|
friendRequests,
|
||||||
showFriendsModal,
|
isFriendsModalVisible,
|
||||||
friendRequetsModalTab,
|
friendRequetsModalTab,
|
||||||
} = useAppSelector((state) => state.userDetails);
|
} = useAppSelector((state) => state.userDetails);
|
||||||
|
|
||||||
|
@ -94,18 +94,18 @@ export function useUserDetails() {
|
||||||
dispatch(setFriendRequests(friendRequests || []));
|
dispatch(setFriendRequests(friendRequests || []));
|
||||||
}, [dispatch]);
|
}, [dispatch]);
|
||||||
|
|
||||||
const setShowFriendsModal = useCallback(
|
const showFriendsModal = useCallback(
|
||||||
(showModal: boolean, tab: UserFriendModalTab | null) => {
|
(tab: UserFriendModalTab) => {
|
||||||
dispatch(setFriendRequestsModal(tab));
|
dispatch(setFriendsModalVisible(tab));
|
||||||
dispatch(setshowFriendsModal(showModal));
|
updateFriendRequests();
|
||||||
|
|
||||||
if (showModal) {
|
|
||||||
updateFriendRequests();
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
[dispatch]
|
[dispatch]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const hideFriendsModal = useCallback(() => {
|
||||||
|
dispatch(setFriendsModalHidden());
|
||||||
|
}, [dispatch]);
|
||||||
|
|
||||||
const sendFriendRequest = useCallback(
|
const sendFriendRequest = useCallback(
|
||||||
async (userId: string) => {
|
async (userId: string) => {
|
||||||
return window.electron
|
return window.electron
|
||||||
|
@ -128,8 +128,10 @@ export function useUserDetails() {
|
||||||
userDetails,
|
userDetails,
|
||||||
profileBackground,
|
profileBackground,
|
||||||
friendRequests,
|
friendRequests,
|
||||||
showFriendsModal,
|
|
||||||
friendRequetsModalTab,
|
friendRequetsModalTab,
|
||||||
|
isFriendsModalVisible,
|
||||||
|
showFriendsModal,
|
||||||
|
hideFriendsModal,
|
||||||
fetchUserDetails,
|
fetchUserDetails,
|
||||||
signOut,
|
signOut,
|
||||||
clearUserDetails,
|
clearUserDetails,
|
||||||
|
@ -138,6 +140,5 @@ export function useUserDetails() {
|
||||||
sendFriendRequest,
|
sendFriendRequest,
|
||||||
updateFriendRequests,
|
updateFriendRequests,
|
||||||
updateFriendRequestState,
|
updateFriendRequestState,
|
||||||
setShowFriendsModal,
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ export function UserContent({
|
||||||
profileBackground,
|
profileBackground,
|
||||||
signOut,
|
signOut,
|
||||||
updateFriendRequests,
|
updateFriendRequests,
|
||||||
setShowFriendsModal,
|
showFriendsModal,
|
||||||
} = useUserDetails();
|
} = useUserDetails();
|
||||||
const { showSuccessToast } = useToast();
|
const { showSuccessToast } = useToast();
|
||||||
|
|
||||||
|
@ -332,9 +332,7 @@ export function UserContent({
|
||||||
<div className={styles.friendsSection}>
|
<div className={styles.friendsSection}>
|
||||||
<button
|
<button
|
||||||
className={styles.friendsSectionHeader}
|
className={styles.friendsSectionHeader}
|
||||||
onClick={() =>
|
onClick={() => showFriendsModal(UserFriendModalTab.FriendsList)}
|
||||||
setShowFriendsModal(true, UserFriendModalTab.FriendsList)
|
|
||||||
}
|
|
||||||
>
|
>
|
||||||
<h2>{t("friends")}</h2>
|
<h2>{t("friends")}</h2>
|
||||||
|
|
||||||
|
@ -390,7 +388,7 @@ export function UserContent({
|
||||||
<Button
|
<Button
|
||||||
theme="outline"
|
theme="outline"
|
||||||
onClick={() =>
|
onClick={() =>
|
||||||
setShowFriendsModal(true, UserFriendModalTab.AddFriend)
|
showFriendsModal(UserFriendModalTab.AddFriend)
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<PlusIcon /> {t("add")}
|
<PlusIcon /> {t("add")}
|
||||||
|
|
|
@ -8,12 +8,15 @@ import { UserContent } from "./user-content";
|
||||||
import { SkeletonTheme } from "react-loading-skeleton";
|
import { SkeletonTheme } from "react-loading-skeleton";
|
||||||
import { vars } from "@renderer/theme.css";
|
import { vars } from "@renderer/theme.css";
|
||||||
import * as styles from "./user.css";
|
import * as styles from "./user.css";
|
||||||
|
import { useTranslation } from "react-i18next";
|
||||||
|
|
||||||
export const User = () => {
|
export const User = () => {
|
||||||
const { userId } = useParams();
|
const { userId } = useParams();
|
||||||
const [userProfile, setUserProfile] = useState<UserProfile>();
|
const [userProfile, setUserProfile] = useState<UserProfile>();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
|
||||||
|
const { t } = useTranslation("user_profile");
|
||||||
|
|
||||||
const { showErrorToast } = useToast();
|
const { showErrorToast } = useToast();
|
||||||
|
|
||||||
const dispatch = useAppDispatch();
|
const dispatch = useAppDispatch();
|
||||||
|
@ -24,11 +27,11 @@ export const User = () => {
|
||||||
dispatch(setHeaderTitle(userProfile.displayName));
|
dispatch(setHeaderTitle(userProfile.displayName));
|
||||||
setUserProfile(userProfile);
|
setUserProfile(userProfile);
|
||||||
} else {
|
} else {
|
||||||
showErrorToast("Usuário não encontrado");
|
showErrorToast(t("user_not_found"));
|
||||||
navigate(-1);
|
navigate(-1);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}, [dispatch, userId]);
|
}, [dispatch, userId, t]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getUserProfile();
|
getUserProfile();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue