mobile friendly

This commit is contained in:
2024-09-12 05:01:36 +03:00
parent 9cb1a977e0
commit 99f2ae1885
26 changed files with 1185 additions and 903 deletions

View File

@@ -10,7 +10,7 @@ import { decryptPublishes, getTempPublish, saveTempPublish } from "./GroupAnnoun
import { AnnouncementList } from "./AnnouncementList";
import { Spacer } from "../../common/Spacer";
import ArrowBackIcon from '@mui/icons-material/ArrowBack';
import { getBaseApiReact, pauseAllQueues, resumeAllQueues } from "../../App";
import { getBaseApiReact, isMobile, pauseAllQueues, resumeAllQueues } from "../../App";
const tempKey = 'accouncement-comment'
@@ -66,7 +66,7 @@ export const AnnouncementDiscussion = ({
if (!selectedAnnouncement) return;
return new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "publishGroupEncryptedResource",
payload: {
@@ -245,7 +245,7 @@ export const AnnouncementDiscussion = ({
return (
<div
style={{
height: "100vh",
height: isMobile ? '100%' : "100vh",
display: "flex",
flexDirection: "column",
width: "100%",

View File

@@ -40,7 +40,7 @@ export const ChatDirect = ({ myAddress, isNewChat, selectedDirect, setSelectedDi
const decryptMessages = (encryptedMessages: any[])=> {
try {
return new Promise((res, rej)=> {
chrome.runtime.sendMessage({ action: "decryptDirect", payload: {
chrome?.runtime?.sendMessage({ action: "decryptDirect", payload: {
data: encryptedMessages,
involvingAddress: selectedDirect?.address
}}, (response) => {
@@ -146,7 +146,7 @@ const sendChatDirect = async ({ chatReference = undefined, messageText}: any)=>
if(!directTo) return
return new Promise((res, rej)=> {
chrome.runtime.sendMessage({ action: "sendChatDirect", payload: {
chrome?.runtime?.sendMessage({ action: "sendChatDirect", payload: {
directTo, chatReference, messageText
}}, async (response) => {
@@ -167,7 +167,7 @@ const sendChatDirect = async ({ chatReference = undefined, messageText}: any)=>
"senderName": myName
})
setNewChat(null)
chrome.runtime.sendMessage({
chrome?.runtime?.sendMessage({
action: "addTimestampEnterChat",
payload: {
timestamp: Date.now(),

View File

@@ -10,7 +10,7 @@ import Tiptap from './TipTap'
import { CustomButton } from '../../App-styles'
import CircularProgress from '@mui/material/CircularProgress';
import { LoadingSnackbar } from '../Snackbar/LoadingSnackbar'
import { getBaseApiReactSocket, pauseAllQueues, resumeAllQueues } from '../../App'
import { getBaseApiReactSocket, isMobile, pauseAllQueues, resumeAllQueues } from '../../App'
import { CustomizedSnackbars } from '../Snackbar/Snackbar'
import { PUBLIC_NOTIFICATION_CODE_FIRST_SECRET_KEY } from '../../constants/codes'
import { useMessageQueue } from '../../MessageQueueContext'
@@ -85,7 +85,7 @@ export const ChatGroup = ({selectedGroup, secretKey, setSecretKey, getSecretKey,
return
}
return new Promise((res, rej)=> {
chrome.runtime.sendMessage({ action: "decryptSingle", payload: {
chrome?.runtime?.sendMessage({ action: "decryptSingle", payload: {
data: encryptedMessages,
secretKeyObject: secretKey
}}, (response) => {
@@ -233,7 +233,7 @@ export const ChatGroup = ({selectedGroup, secretKey, setSecretKey, getSecretKey,
const encryptChatMessage = async (data: string, secretKeyObject: any)=> {
try {
return new Promise((res, rej)=> {
chrome.runtime.sendMessage({ action: "encryptSingle", payload: {
chrome?.runtime?.sendMessage({ action: "encryptSingle", payload: {
data,
secretKeyObject
}}, (response) => {
@@ -252,7 +252,7 @@ export const ChatGroup = ({selectedGroup, secretKey, setSecretKey, getSecretKey,
const sendChatGroup = async ({groupId, typeMessage = undefined, chatReference = undefined, messageText}: any)=> {
try {
return new Promise((res, rej)=> {
chrome.runtime.sendMessage({ action: "sendChatGroup", payload: {
chrome?.runtime?.sendMessage({ action: "sendChatGroup", payload: {
groupId, typeMessage, chatReference, messageText
}}, (response) => {
@@ -336,7 +336,7 @@ const clearEditorContent = () => {
return (
<div style={{
height: '100vh',
height: isMobile ? '100%' : '100vh',
display: 'flex',
flexDirection: 'column',
width: '100%',

View File

@@ -107,7 +107,7 @@ export const CreateCommonSecret = ({groupId, secretKey, isOwner, myAddress, sec
const secretKeyToSend = !secretKey2 ? null : secretKey2
chrome.runtime.sendMessage({ action: "encryptAndPublishSymmetricKeyGroupChat", payload: {
chrome?.runtime?.sendMessage({ action: "encryptAndPublishSymmetricKeyGroupChat", payload: {
groupId: groupId,
previousData: secretKeyToSend
} }, (response) => {
@@ -142,7 +142,7 @@ export const CreateCommonSecret = ({groupId, secretKey, isOwner, myAddress, sec
flexDirection: 'column',
gap: '25px',
maxWidth: '350px',
background: '#4444'
background: '#444444'
}}>
<LoadingButton loading={isLoading} loadingPosition="start" color="warning" variant='contained' onClick={createCommonSecret}>Re-encyrpt key</LoadingButton>
{noSecretKey ? (

View File

@@ -28,7 +28,7 @@ const uid = new ShortUniqueId({ length: 8 });
import CampaignIcon from '@mui/icons-material/Campaign';
import ArrowBackIcon from '@mui/icons-material/ArrowBack';
import { AnnouncementDiscussion } from "./AnnouncementDiscussion";
import { MyContext, getBaseApiReact, pauseAllQueues, resumeAllQueues } from "../../App";
import { MyContext, getBaseApiReact, isMobile, pauseAllQueues, resumeAllQueues } from "../../App";
import { RequestQueueWithPromise } from "../../utils/queue/queue";
import { CustomizedSnackbars } from "../Snackbar/Snackbar";
@@ -39,7 +39,7 @@ export const saveTempPublish = async ({ data, key }: any) => {
return new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "saveTempPublish",
payload: {
@@ -62,7 +62,7 @@ export const getTempPublish = async () => {
return new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "getTempPublish",
payload: {
@@ -81,7 +81,7 @@ export const getTempPublish = async () => {
export const decryptPublishes = async (encryptedMessages: any[], secretKey) => {
try {
return await new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "decryptSingleForPublishes",
payload: {
@@ -182,7 +182,7 @@ export const GroupAnnouncements = ({
const encryptChatMessage = async (data: string, secretKeyObject: any) => {
try {
return new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "encryptSingle",
payload: {
@@ -206,7 +206,7 @@ export const GroupAnnouncements = ({
return new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "publishGroupEncryptedResource",
payload: {
@@ -460,7 +460,7 @@ export const GroupAnnouncements = ({
return (
<div
style={{
height: "100vh",
height: isMobile ? '100%' : "100vh",
display: "flex",
flexDirection: "column",
width: "100%",
@@ -479,7 +479,7 @@ export const GroupAnnouncements = ({
return (
<div
style={{
height: "100vh",
height: isMobile ? '100%' : "100vh",
display: "flex",
flexDirection: "column",
width: "100%",

View File

@@ -6,6 +6,7 @@ import React, {
useState,
} from "react";
import { GroupMail } from "../Group/Forum/GroupMail";
import { isMobile } from "../../App";
@@ -35,7 +36,7 @@ export const GroupForum = ({
return (
<div
style={{
height: "100vh",
height: isMobile ? '100%' : "100vh",
display: "flex",
flexDirection: "column",
width: "100%",

View File

@@ -0,0 +1,31 @@
import * as React from 'react';
import Box from '@mui/material/Box';
import Drawer from '@mui/material/Drawer';
import Button from '@mui/material/Button';
import List from '@mui/material/List';
import Divider from '@mui/material/Divider';
import ListItem from '@mui/material/ListItem';
import ListItemButton from '@mui/material/ListItemButton';
import ListItemIcon from '@mui/material/ListItemIcon';
import ListItemText from '@mui/material/ListItemText';
import InboxIcon from '@mui/icons-material/MoveToInbox';
import MailIcon from '@mui/icons-material/Mail';
import CloseIcon from '@mui/icons-material/Close';
export const DrawerComponent = ({open, setOpen, children}) => {
const toggleDrawer = (newOpen: boolean) => () => {
setOpen(newOpen);
};
return (
<div>
<Drawer open={open} onClose={toggleDrawer(false)}>
<Box sx={{ width: 400, height: '100%' }} role="presentation">
{children}
</Box>
</Drawer>
</div>
);
}

View File

@@ -103,7 +103,7 @@ export const AddGroup = ({ address, open, setOpen }) => {
})
await new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "createGroup",
payload: {

View File

@@ -108,7 +108,7 @@ export const AddGroupList = ({ setInfoSnack, setOpenSnack }) => {
})
setIsLoading(true);
await new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "joinGroup",
payload: {

View File

@@ -123,7 +123,7 @@ export const GroupMail = ({
const updateThreadActivity = async ({threadId, qortalName, groupId, thread}) => {
try {
await new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "updateThreadActivity",
payload: {
@@ -656,6 +656,11 @@ export const GroupMail = ({
thread?.threadData?.createdAt < hasViewedRecent?.timestamp;
return (
<SingleThreadParent
sx={{
flexWrap: 'wrap',
gap: '15px',
height: 'auto'
}}
onClick={() => {
setCurrentThread(thread);
if(thread?.threadId && thread?.threadData?.name){

View File

@@ -94,7 +94,7 @@ export const publishGroupEncryptedResource = async ({
identifier,
}) => {
return new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "publishGroupEncryptedResource",
payload: {
@@ -117,7 +117,7 @@ export const publishGroupEncryptedResource = async ({
export const encryptSingleFunc = async (data: string, secretKeyObject: any) => {
try {
return new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "encryptSingle",
payload: {

View File

@@ -1,5 +1,6 @@
import React from 'react'
import { Box, Modal, useTheme } from '@mui/material'
import { isMobile } from '../../../App'
interface MyModalProps {
open: boolean
@@ -40,7 +41,7 @@ export const ReusableModal: React.FC<MyModalProps> = ({
top: '50%',
left: '50%',
transform: 'translate(-50%, -50%)',
width: '75%',
width: isMobile ? '95%' : '75%',
bgcolor: theme.palette.primary.main,
boxShadow: 24,
p: 4,

File diff suppressed because it is too large Load Diff

View File

@@ -26,7 +26,7 @@ export const InviteMember = ({ groupId, setInfoSnack, setOpenSnack, show }) => {
setIsLoadingInvite(true)
if (!expiryTime || !value) return;
new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "inviteToGroup",
payload: {

View File

@@ -74,7 +74,7 @@ export const ListOfBans = ({ groupId, setInfoSnack, setOpenSnack, show }) => {
})
setIsLoadingUnban(true)
new Promise((res, rej)=> {
chrome.runtime.sendMessage({ action: "cancelBan", payload: {
chrome?.runtime?.sendMessage({ action: "cancelBan", payload: {
groupId,
qortalAddress: address,
}}, (response) => {

View File

@@ -75,7 +75,7 @@ export const ListOfInvites = ({ groupId, setInfoSnack, setOpenSnack, show }) =>
})
setIsLoadingCancelInvite(true)
await new Promise((res, rej)=> {
chrome.runtime.sendMessage({ action: "cancelInvitationToGroup", payload: {
chrome?.runtime?.sendMessage({ action: "cancelInvitationToGroup", payload: {
groupId,
qortalAddress: address,
}}, (response) => {

View File

@@ -74,7 +74,7 @@ export const ListOfJoinRequests = ({ groupId, setInfoSnack, setOpenSnack, show }
})
setIsLoadingAccept(true)
await new Promise((res, rej)=> {
chrome.runtime.sendMessage({ action: "inviteToGroup", payload: {
chrome?.runtime?.sendMessage({ action: "inviteToGroup", payload: {
groupId,
qortalAddress: address,
inviteTime: 10800,

View File

@@ -63,7 +63,7 @@ const ListOfMembers = ({
setIsLoadingKick(true);
new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "kickFromGroup",
payload: {
@@ -107,7 +107,7 @@ const ListOfMembers = ({
});
setIsLoadingBan(true);
await new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "banFromGroup",
payload: {
@@ -153,7 +153,7 @@ const ListOfMembers = ({
});
setIsLoadingMakeAdmin(true);
await new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "makeAdmin",
payload: {
@@ -198,7 +198,7 @@ const ListOfMembers = ({
});
setIsLoadingRemoveAdmin(true);
await new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "removeAdmin",
payload: {

View File

@@ -23,7 +23,7 @@ export const ListOfThreadPostsWatched = () => {
const getPosts = async ()=> {
try {
await new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "getThreadActivity",
payload: {

View File

@@ -77,7 +77,7 @@ export const ManageMembers = ({
})
await new Promise((res, rej) => {
chrome.runtime.sendMessage(
chrome?.runtime?.sendMessage(
{
action: "leaveGroup",
payload: {

View File

@@ -85,7 +85,7 @@ export const UserListOfInvites = ({myAddress, setInfoSnack, setOpenSnack}) => {
setIsLoading(true);
await new Promise((res, rej)=> {
chrome.runtime.sendMessage({ action: "joinGroup", payload: {
chrome?.runtime?.sendMessage({ action: "joinGroup", payload: {
groupId,
}}, (response) => {

View File

@@ -74,7 +74,7 @@ export const WebSocketActive = ({ myAddress, setIsLoadingGroups }) => {
).sort((a, b) => (b.timestamp || 0) - (a.timestamp || 0));
chrome.runtime.sendMessage({
chrome?.runtime?.sendMessage({
action: 'handleActiveGroupDataFromSocket',
payload: {
groups: sortedGroups,