added desktop styles

This commit is contained in:
PhilReact 2024-09-21 21:29:29 +03:00
parent 5a8f21bfb9
commit e1d7147431
12 changed files with 362 additions and 27 deletions

View File

@ -1,8 +1,8 @@
import React from 'react';
export const ChatIcon= ({ color = 'white', height, width }) => {
export const ChatIcon= ({ color = 'white', height = 15, width = 15 }) => {
return (
<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<svg width={width} height={height} viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.5 0C3.35915 0 0 3.35915 0 7.5V13.8169C0 14.4718 0.528169 15 1.1831 15H7.5C11.6408 15 15 11.6408 15 7.5C15 3.35915 11.6408 0 7.5 0ZM11.0915 10.669H3.90845C3.67606 10.669 3.48592 10.4789 3.48592 10.2465C3.48592 10.0141 3.67606 9.82394 3.90845 9.82394H11.0915C11.3239 9.82394 11.5141 10.0141 11.5141 10.2465C11.5141 10.4789 11.3239 10.669 11.0915 10.669ZM11.0915 8.34507H3.90845C3.67606 8.34507 3.48592 8.15493 3.48592 7.92254C3.48592 7.69014 3.67606 7.5 3.90845 7.5H11.0915C11.3239 7.5 11.5141 7.69014 11.5141 7.92254C11.5141 8.15493 11.3239 8.34507 11.0915 8.34507ZM11.0915 6.02113H3.90845C3.67606 6.02113 3.48592 5.83099 3.48592 5.59859C3.48592 5.3662 3.67606 5.17606 3.90845 5.17606H11.0915C11.3239 5.17606 11.5141 5.3662 11.5141 5.59859C11.5141 5.83099 11.3239 6.02113 11.0915 6.02113Z" fill={color}/>
</svg>

View File

@ -1,8 +1,8 @@
import React from 'react';
export const MembersIcon= ({ color = 'white', height, width }) => {
export const MembersIcon= ({ color = 'white', height = 9, width = 15 }) => {
return (
<svg width="15" height="9" viewBox="0 0 15 9" fill="none" xmlns="http://www.w3.org/2000/svg">
<svg width={width} height={height} viewBox="0 0 15 9" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.49996 4.9293C8.77012 4.9293 9.79978 3.94984 9.79978 2.74163C9.79978 1.53341 8.77012 0.553955 7.49996 0.553955C6.2298 0.553955 5.20013 1.53341 5.20013 2.74163C5.20013 3.94984 6.2298 4.9293 7.49996 4.9293Z" fill={color}/>
<path d="M9.30277 4.64917C8.82468 5.05863 8.19406 5.30992 7.50002 5.30992C6.80598 5.30992 6.17536 5.05863 5.69727 4.64917C4.97694 5.02944 4.31037 5.23459 3.95385 6.59055C3.794 7.19904 3.63416 8.18808 3.63416 8.18808C3.63416 8.18808 5.12685 9.00005 7.50031 9.00005C9.87349 9.00005 11.3662 8.18808 11.3662 8.18808C11.3662 8.18808 11.2063 7.19904 11.0465 6.59055C10.6897 5.23487 10.0231 5.02944 9.30277 4.64917Z" fill={color}/>
<path d="M10.0088 3.65572C10.3802 3.94092 10.8519 4.11243 11.3662 4.11243C12.5602 4.11243 13.5278 3.19205 13.5278 2.05652C13.5278 0.920989 12.5599 0.000610352 11.3662 0.000610352C10.5649 0.000610352 9.86676 0.416185 9.49359 1.03301C9.92404 1.48639 10.1882 2.08432 10.1882 2.74201C10.1879 3.06363 10.1239 3.37107 10.0088 3.65572Z" fill={color}/>

View File

@ -1,8 +1,8 @@
import React from 'react';
export const NotificationIcon2= ({ color = 'white', height, width }) => {
export const NotificationIcon2= ({ color = 'white', height = 15, width = 15 }) => {
return (
<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<svg width={width} height={height} viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.50253 0.80505C8.50253 0.360285 8.14231 0 7.69818 0C7.25348 0 6.89325 0.36027 6.89325 0.80505V1.6142C6.89325 2.05896 7.25346 2.41866 7.69818 2.41866C8.14229 2.41866 8.50253 2.05839 8.50253 1.61361V0.80505ZM7.06691 3.12343C7.45178 2.90163 7.944 3.03366 8.16577 3.41857L12.3049 10.5872C12.5231 10.9715 12.3905 11.4603 12.0074 11.6815C11.6243 11.9027 11.1344 11.773 10.9109 11.3916L10.8517 11.2884L7.53454 12.0588C7.73401 12.7922 7.56388 13.5767 7.07751 14.1606C6.59173 14.7444 5.85192 15.0548 5.09454 14.992C4.33771 14.9286 3.65892 14.5009 3.27588 13.8443L3.27353 13.8414L2.86989 13.1431L1.30986 13.5046L1.31045 13.504C1.08047 13.5574 0.842856 13.4547 0.724941 13.2499L0.0713702 12.118C-0.0459665 11.9138 -0.0166327 11.6562 0.144705 11.4837L6.83346 4.32684L6.77245 4.22298C6.66567 4.03814 6.63633 3.8187 6.69207 3.61216C6.74722 3.40561 6.8821 3.23022 7.06691 3.12343ZM4.50841 12.7617L5.96397 12.4237C6.09539 12.7746 5.9364 13.1683 5.59729 13.3279C5.25819 13.4875 4.85338 13.3602 4.66623 13.0351L4.50841 12.7617ZM15 7.30235C15 7.51593 14.9155 7.72072 14.7647 7.87152C14.614 8.02232 14.4092 8.1074 14.1957 8.1074H13.3866C12.9419 8.1074 12.5823 7.74713 12.5823 7.30235C12.5823 6.85817 12.9425 6.49788 13.3872 6.49788H14.1951C14.6398 6.49788 15 6.85815 15 7.30235ZM2.01088 8.10681C2.45558 8.10681 2.81582 7.74713 2.81582 7.30235C2.81582 6.85817 2.4556 6.49788 2.01088 6.49788H1.20185C0.757149 6.49788 0.397502 6.85815 0.397502 7.30235C0.397502 7.74711 0.75772 8.1074 1.20244 8.1074H2.01147L2.01088 8.10681ZM4.35176 3.95659C4.03789 4.2705 3.52864 4.27109 3.21477 3.95717L2.53481 3.27712C2.37465 3.12808 2.28253 2.92036 2.27843 2.70209C2.27491 2.48381 2.35998 2.27374 2.51428 2.11884C2.66857 1.96453 2.8792 1.87943 3.09744 1.88355C3.31568 1.88766 3.52278 1.97978 3.6718 2.13937L4.35295 2.81826C4.50431 2.96906 4.58879 3.17443 4.58879 3.38802C4.58879 3.60161 4.50431 3.80639 4.35295 3.95719L4.35176 3.95659ZM12.861 3.27653L12.8616 3.27712C13.1567 2.95967 13.1479 2.46562 12.8416 2.15932C12.5354 1.85302 12.0414 1.84422 11.724 2.13937L11.0352 2.82589C10.7214 3.1398 10.7214 3.6503 11.0352 3.9648C11.3497 4.27872 11.8595 4.27872 12.1734 3.9648L12.861 3.27829V3.27653Z" fill={color}/>
</svg>

View File

@ -1,11 +1,11 @@
import React from 'react';
export const ThreadsIcon= ({ color = 'white', height, width }) => {
export const ThreadsIcon= ({ color = 'white', height = 11, width = 15 }) => {
return (
<svg width="8" height="9" viewBox="0 0 8 9" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.51017 1.80943H7.76526H8V0.982675C8 0.440572 7.62128 0 7.1518 0H0.8482C0.380282 0 0 0.440572 0 0.982675V5.84347C0 6.38558 0.380282 6.82615 0.8482 6.82615H2.00782L1.90297 9L4 6.82615H5.42723V6.55419V3.06406C5.42723 2.37147 5.91236 1.80943 6.51017 1.80943Z" fill={color}/>
</svg>
<svg width={width} height={height} viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.76526 1.80943H6.51017C5.91236 1.80943 5.42723 2.37147 5.42723 3.06406V6.55419V6.82615H4L1.90297 9L2.00782 6.82615H0.8482C0.380282 6.82615 0 6.38558 0 5.84347V0.982675C0 0.440572 0.380282 0 0.8482 0H7.1518C7.62128 0 8 0.440572 8 0.982675V1.80943H7.76526ZM8.89437 2H14.0458C14.5722 2 15 2.44057 15 2.98268V7.84166C15 8.38558 14.5722 8.82434 14.0458 8.82434H12.7412L12.8592 11L10.5 8.82434H6.95423C6.42606 8.82434 6 8.38558 6 7.84166V7.01672V6.74476V6.47281V2.98268C6 2.44057 6.42606 2 6.95423 2H8.3662H8.63028H8.89437Z" fill={color}/>
</svg>
);

View File

@ -0,0 +1,3 @@
<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.76526 1.80943H6.51017C5.91236 1.80943 5.42723 2.37147 5.42723 3.06406V6.55419V6.82615H4L1.90297 9L2.00782 6.82615H0.8482C0.380282 6.82615 0 6.38558 0 5.84347V0.982675C0 0.440572 0.380282 0 0.8482 0H7.1518C7.62128 0 8 0.440572 8 0.982675V1.80943H7.76526ZM8.89437 2H14.0458C14.5722 2 15 2.44057 15 2.98268V7.84166C15 8.38558 14.5722 8.82434 14.0458 8.82434H12.7412L12.8592 11L10.5 8.82434H6.95423C6.42606 8.82434 6 8.38558 6 7.84166V7.01672V6.74476V6.47281V2.98268C6 2.44057 6.42606 2 6.95423 2H8.3662H8.63028H8.89437Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 688 B

View File

@ -388,7 +388,7 @@ const clearEditorContent = () => {
return (
<div style={{
height: isMobile ? '100%' : '100vh',
height: isMobile ? '100%' : '100%',
display: 'flex',
flexDirection: 'column',
width: '100%',

View File

@ -488,7 +488,7 @@ export const GroupAnnouncements = ({
<div
style={{
// reference to change height
height: isMobile ? `calc(${rootHeight} - 127px` : "100vh",
height: isMobile ? `calc(${rootHeight} - 127px` : "calc(100vh - 70px)",
display: "flex",
flexDirection: "column",
width: "100%",
@ -514,7 +514,7 @@ export const GroupAnnouncements = ({
<div
style={{
// reference to change height
height: isMobile ? `calc(${rootHeight} - 127px` : "100vh",
height: isMobile ? `calc(${rootHeight} - 127px` : "calc(100vh - 70px)",
display: "flex",
flexDirection: "column",
width: "100%",

View File

@ -40,7 +40,7 @@ export const GroupForum = ({
<div
style={{
// reference to change height
height: isMobile ? `calc(${rootHeight} - 127px` : "100vh",
height: isMobile ? `calc(${rootHeight} - 127px` : "calc(100vh - 70px)",
display: "flex",
flexDirection: "column",
width: "100%",

View File

@ -0,0 +1,280 @@
import * as React from "react";
import {
BottomNavigation,
BottomNavigationAction,
ButtonBase,
Typography,
} from "@mui/material";
import { Home, Groups, Message, ShowChart } from "@mui/icons-material";
import Box from "@mui/material/Box";
import BottomLogo from "../../assets/svgs/BottomLogo5.svg";
import { CustomSvg } from "../../common/CustomSvg";
import { WalletIcon } from "../../assets/Icons/WalletIcon";
import { HubsIcon } from "../../assets/Icons/HubsIcon";
import { TradingIcon } from "../../assets/Icons/TradingIcon";
import { MessagingIcon } from "../../assets/Icons/MessagingIcon";
import { HomeIcon } from "../../assets/Icons/HomeIcon";
import { NotificationIcon2 } from "../../assets/Icons/NotificationIcon2";
import { ChatIcon } from "../../assets/Icons/ChatIcon";
import { ThreadsIcon } from "../../assets/Icons/ThreadsIcon";
import { MembersIcon } from "../../assets/Icons/MembersIcon";
const IconWrapper = ({ children, label, color, selected, selectColor }) => {
return (
<Box
sx={{
display: "flex",
justifyContent: "center",
alignItems: "center",
gap: "5px",
flexDirection: "column",
height: "65px",
width: "65px",
borderRadius: "50%",
backgroundColor: selected ? selectColor || "rgba(28, 29, 32, 1)" : "transparent",
}}
>
{children}
<Typography
sx={{
fontFamily: "Inter",
fontSize: "10px",
fontWeight: 500,
color: color,
}}
>
{label}
</Typography>
</Box>
);
};
export const DesktopHeader = ({
selectedGroup,
groupSection,
isUnread,
goToAnnouncements,
isUnreadChat,
goToChat,
goToThreads,
setOpenManageMembers,
groupChatHasUnread,
groupsAnnHasUnread,
directChatHasUnread,
chatMode,
openDrawerGroups,
goToHome,
setIsOpenDrawerProfile,
mobileViewMode,
setMobileViewMode,
setMobileViewModeKeepOpen,
hasUnreadGroups,
hasUnreadDirects,
isHome,
isGroups,
isDirects,
setDesktopSideView,
hasUnreadAnnouncements,
isAnnouncement,
hasUnreadChat,
isChat,
isForum,
setGroupSection
}) => {
const [value, setValue] = React.useState(0);
return (
<Box
sx={{
width: "100%",
display: "flex",
alignItems: "center",
height: "70px", // Footer height
zIndex: 1,
justifyContent: "space-between",
padding: "10px",
}}
>
<Box>
<Typography
sx={{
fontSize: "16px",
fontWeight: 600,
}}
>
{selectedGroup?.groupName}
</Typography>
</Box>
<Box
sx={{
display: "flex",
gap: "20px",
alignItems: "center",
}}
>
<ButtonBase
onClick={() => {
goToHome();
}}
>
<IconWrapper
color="rgba(250, 250, 250, 0.5)"
label="Home"
selected={isHome}
>
<HomeIcon
height={25}
color={isHome ? "white" : "rgba(250, 250, 250, 0.5)"}
/>
</IconWrapper>
</ButtonBase>
<ButtonBase
onClick={() => {
setDesktopSideView("groups");
}}
>
<IconWrapper
color="rgba(250, 250, 250, 0.5)"
label="Hubs"
selected={isGroups}
>
<HubsIcon
height={25}
color={
hasUnreadGroups
? "var(--unread)"
: isGroups
? "white"
: "rgba(250, 250, 250, 0.5)"
}
/>
</IconWrapper>
</ButtonBase>
<ButtonBase
onClick={() => {
setDesktopSideView("directs");
}}
>
<IconWrapper
color="rgba(250, 250, 250, 0.5)"
label="Messaging"
selected={isDirects}
>
<MessagingIcon
height={25}
color={
hasUnreadDirects
? "var(--unread)"
: isDirects
? "white"
: "rgba(250, 250, 250, 0.5)"
}
/>
</IconWrapper>
</ButtonBase>
<Box
sx={{
width: "1px",
height: "50px",
background: "white",
borderRadius: "50px",
}}
/>
<ButtonBase
onClick={() => {
goToAnnouncements()
}}
>
<IconWrapper
color={isAnnouncement ? "black" :"rgba(250, 250, 250, 0.5)"}
label="ANN"
selected={isAnnouncement}
selectColor="#09b6e8"
>
<NotificationIcon2
height={25}
width={20}
color={
hasUnreadAnnouncements
? "var(--unread)"
: isAnnouncement
? "black"
: "rgba(250, 250, 250, 0.5)"
}
/>
</IconWrapper>
</ButtonBase>
<ButtonBase
onClick={() => {
goToChat()
}}
>
<IconWrapper
color={isChat ? "black" :"rgba(250, 250, 250, 0.5)"}
label="Chat"
selected={isChat}
selectColor="#09b6e8"
>
<ChatIcon
height={25}
width={20}
color={
hasUnreadChat
? "var(--unread)"
: isChat
? "black"
: "rgba(250, 250, 250, 0.5)"
}
/>
</IconWrapper>
</ButtonBase>
<ButtonBase
onClick={() => {
setGroupSection("forum");
}}
>
<IconWrapper
color={isForum ? 'black' : "rgba(250, 250, 250, 0.5)"}
label="Threads"
selected={isForum}
selectColor="#09b6e8"
>
<ThreadsIcon
height={25}
width={20}
color={
isForum
? "black"
: "rgba(250, 250, 250, 0.5)"
}
/>
</IconWrapper>
</ButtonBase>
<ButtonBase
onClick={() => {
setOpenManageMembers(true)
}}
>
<IconWrapper
color="rgba(250, 250, 250, 0.5)"
label="Members"
selected={false}
>
<MembersIcon
height={25}
width={20}
color={
isForum
? "white"
: "rgba(250, 250, 250, 0.5)"
}
/>
</IconWrapper>
</ButtonBase>
</Box>
</Box>
);
};

View File

@ -87,6 +87,7 @@ import { ReturnIcon } from "../../assets/Icons/ReturnIcon";
import { ExitIcon } from "../../assets/Icons/ExitIcon";
import { HomeDesktop } from "./HomeDesktop";
import { DesktopFooter } from "../Desktop/DesktopFooter";
import { DesktopHeader } from "../Desktop/DesktopHeader";
// let touchStartY = 0;
// let disablePullToRefresh = false;
@ -807,13 +808,20 @@ export const Group = ({
}
};
useEffect(()=> {
if(!selectedGroup) return
getGroupOwner(selectedGroup?.groupId);
}, [selectedGroup])
console.log('groupOwner', groupOwner)
useEffect(() => {
if (selectedGroup) {
if (selectedGroup && groupOwner && groupOwner?.isOpen === false) {
setTriedToFetchSecretKey(false);
getSecretKey(true);
getGroupOwner(selectedGroup?.groupId);
// getGroupOwner(selectedGroup?.groupId);
}
}, [selectedGroup]);
}, [selectedGroup, groupOwner]);
// const handleNotification = async (data)=> {
// try {
@ -1320,6 +1328,7 @@ export const Group = ({
setNewChat(false);
setSecretKey(null);
setGroupOwner(null)
lastFetchedSecretKey.current = null;
setSecretKeyPublishDate(null);
setAdmins([]);
@ -1367,6 +1376,7 @@ export const Group = ({
setChatMode("groups");
setSelectedGroup(null);
setSecretKey(null);
setGroupOwner(null)
lastFetchedSecretKey.current = null;
setSecretKeyPublishDate(null);
setAdmins([]);
@ -1425,6 +1435,7 @@ export const Group = ({
setChatMode("groups");
setSelectedGroup(null);
setSecretKey(null);
setGroupOwner(null)
lastFetchedSecretKey.current = null;
setSecretKeyPublishDate(null);
setAdmins([]);
@ -1475,6 +1486,7 @@ export const Group = ({
setNewChat(false);
setSelectedDirect(null);
setSecretKey(null);
setGroupOwner(null)
lastFetchedSecretKey.current = null;
setSecretKeyPublishDate(null);
setAdmins([]);
@ -1970,6 +1982,7 @@ export const Group = ({
setAdmins([]);
setSecretKeyDetails(null);
setAdminsWithNames([]);
setGroupOwner(null)
setMembers([]);
setMemberCountFromSecretKeyData(null);
setHideCommonKeyPopup(false);
@ -2153,6 +2166,7 @@ export const Group = ({
info={infoSnack}
setInfo={setInfoSnack}
/>
{isMobile && (
<Header
setMobileViewModeKeepOpen={setMobileViewModeKeepOpen}
@ -2290,6 +2304,44 @@ export const Group = ({
)}
{selectedGroup && (
<>
{!isMobile && selectedGroup && (
<DesktopHeader
selectedGroup={selectedGroup}
groupSection={groupSection}
isUnread={isUnread}
goToAnnouncements={goToAnnouncements}
isUnreadChat={isUnreadChat}
goToChat={goToChat}
goToThreads={goToThreads}
setOpenManageMembers={setOpenManageMembers}
groupChatHasUnread={groupChatHasUnread}
groupsAnnHasUnread={groupsAnnHasUnread}
directChatHasUnread={directChatHasUnread}
chatMode={chatMode}
openDrawerGroups={openDrawerGroups}
goToHome={goToHome}
setIsOpenDrawerProfile={setIsOpenDrawerProfile}
mobileViewMode={mobileViewMode}
setMobileViewMode={setMobileViewMode}
setMobileViewModeKeepOpen={setMobileViewModeKeepOpen}
hasUnreadGroups={groupChatHasUnread ||
groupsAnnHasUnread}
hasUnreadDirects={directChatHasUnread}
myName={userInfo?.name || null}
isHome={groupSection === "home"}
isGroups={desktopSideView === 'groups'}
isDirects={desktopSideView === 'directs'}
setDesktopSideView={setDesktopSideView}
hasUnreadAnnouncements={isUnread}
isAnnouncement={groupSection === "announcement"}
isChat={groupSection === "chat"}
hasUnreadChat={isUnreadChat}
setGroupSection={setGroupSection}
isForum={groupSection === "forum"}
/>
)}
{isMobile && (
<Box
sx={{
@ -2361,7 +2413,7 @@ export const Group = ({
flexGrow: 1,
display: "flex",
// reference to change height
height: isMobile ? "calc(100% - 82px)" : "100%",
height: isMobile ? "calc(100% - 82px)" : "calc(100vh - 70px)",
}}
>
{triedToFetchSecretKey && (
@ -2572,7 +2624,7 @@ export const Group = ({
</Box>
</>
)}
{!isMobile && (
{!isMobile && groupSection === "home" && (
<DesktopFooter
selectedGroup={selectedGroup}
groupSection={groupSection}
@ -2641,13 +2693,13 @@ export const Group = ({
<AuthenticatedContainerInnerRight
sx={{
marginLeft: "auto",
width: "135px",
minWidth: "135px",
width: "31px",
// minWidth: "135px",
padding: "5px",
display: isMobile ? "none" : "flex",
}}
>
<Spacer height="20px" />
{/* <Spacer height="20px" />
<Box
sx={{
display: "flex",
@ -2818,7 +2870,7 @@ export const Group = ({
</Box>
<Spacer height="20px" />
</>
)}
)} */}
{/* <SettingsIcon
sx={{

View File

@ -92,7 +92,7 @@ export const GroupJoinRequests = ({ myAddress, groups, setOpenManageMembers, get
}
}, [myAddress, groups]);
console.log('groupsWithJoinRequests', groupsWithJoinRequests)
return (
<Box sx={{
@ -142,7 +142,7 @@ export const GroupJoinRequests = ({ myAddress, groups, setOpenManageMembers, get
<CustomLoader />
</Box>
)}
{!loading && groupsWithJoinRequests.length === 0 && (
{!loading && (groupsWithJoinRequests.length === 0 || groupsWithJoinRequests?.filter((group)=> group?.data?.length > 0).length === 0) && (
<Box
sx={{
width: "100%",

View File

@ -59,7 +59,7 @@ export const HomeDesktop = ({
>{`, ${userInfo?.name}`}</span>
) : null}
</Typography>
<Spacer height="70px" />
<Spacer height="30px" />
{!isLoadingGroups && (
<Box
sx={{