diff --git a/packages/messenger-demo/src/App.tsx b/packages/messenger-demo/src/App.tsx
index 057ee923b..41afa4c1a 100644
--- a/packages/messenger-demo/src/App.tsx
+++ b/packages/messenger-demo/src/App.tsx
@@ -11,6 +11,7 @@ function App() {
walletConnectProjectId: process.env.REACT_APP_WALLET_CONNECT_PROJECT_ID,
showAlways: true,
hideFunction: 'attachments,edit,delete', // OPTINAL PARAMETER : 'attachments,edit,delete' or undefined
+ showContacts: true, // true for all contacts / false for default contact
};
return (
diff --git a/packages/messenger-demo/src/index.css b/packages/messenger-demo/src/index.css
index a97b3b832..05ab1ac53 100644
--- a/packages/messenger-demo/src/index.css
+++ b/packages/messenger-demo/src/index.css
@@ -72,5 +72,4 @@ code {
left: 20px;
transform: translate(0, 0);
z-index: 10;
- box-shadow: 6px 6px 20px 0 rgba(05, 010, 020, 1);
}
diff --git a/packages/messenger-widget/src/components/Chat/Chat.tsx b/packages/messenger-widget/src/components/Chat/Chat.tsx
index 640265f60..fd2583d31 100644
--- a/packages/messenger-widget/src/components/Chat/Chat.tsx
+++ b/packages/messenger-widget/src/components/Chat/Chat.tsx
@@ -112,11 +112,13 @@ export function Chat(props: HideFunctionProps) {
return (
{/* Shimmer effect while messages are loading */}
{showShimEffect && (
diff --git a/packages/messenger-widget/src/components/Contacts/Contacts.tsx b/packages/messenger-widget/src/components/Contacts/Contacts.tsx
index ed2670a64..a4226bded 100644
--- a/packages/messenger-widget/src/components/Contacts/Contacts.tsx
+++ b/packages/messenger-widget/src/components/Contacts/Contacts.tsx
@@ -224,6 +224,24 @@ export function Contacts(props: DashboardProps) {
}
}, [contactSelected]);
+ useEffect(() => {
+ if (
+ !props.dm3Props.config.showContacts &&
+ props.dm3Props.config.defaultContact &&
+ !state.accounts.selectedContact &&
+ contacts
+ ) {
+ const defaultContactIndex = contacts.findIndex(
+ (contact) =>
+ contact.contactDetails.account.ensName ===
+ props.dm3Props.config.defaultContact,
+ );
+ if (defaultContactIndex > -1) {
+ setContactSelected(defaultContactIndex);
+ }
+ }
+ }, [contacts]);
+
useEffect(() => {
fetchMessageSizeLimit(state, dispatch);
}, []);
diff --git a/packages/messenger-widget/src/components/RightHeader/RightHeader.css b/packages/messenger-widget/src/components/RightHeader/RightHeader.css
index e56ce2ae1..f95580631 100644
--- a/packages/messenger-widget/src/components/RightHeader/RightHeader.css
+++ b/packages/messenger-widget/src/components/RightHeader/RightHeader.css
@@ -7,7 +7,7 @@
}
.profile-name-container {
- padding: 0.8rem;
+ padding: 0.5rem;
border-top-right-radius: 8px;
}
diff --git a/packages/messenger-widget/src/components/RightHeader/RightHeader.tsx b/packages/messenger-widget/src/components/RightHeader/RightHeader.tsx
index 71eb55d01..26112c5ce 100644
--- a/packages/messenger-widget/src/components/RightHeader/RightHeader.tsx
+++ b/packages/messenger-widget/src/components/RightHeader/RightHeader.tsx
@@ -11,8 +11,10 @@ import {
import { ConnectButton } from '@rainbow-me/rainbowkit';
import { globalConfig } from 'dm3-lib-shared';
import { hasUserProfile } from 'dm3-lib-profile';
+import { HideFunctionProps } from '../../interfaces/props';
+import menuIcon from '../../assets/images/menu.svg';
-export function RightHeader() {
+export function RightHeader(props: HideFunctionProps) {
// fetches context storage
const { state, dispatch } = useContext(GlobalContext);
@@ -32,21 +34,24 @@ export function RightHeader() {
// method to set profile page and set contact
const updateView = () => {
- let profileActive: RightViewSelected = state.uiView.selectedRightView;
- profileActive =
- profileActive === RightViewSelected.Profile
- ? RightViewSelected.Default
- : RightViewSelected.Profile;
+ if (props.showContacts) {
+ let profileActive: RightViewSelected =
+ state.uiView.selectedRightView;
+ profileActive =
+ profileActive === RightViewSelected.Profile
+ ? RightViewSelected.Default
+ : RightViewSelected.Profile;
- dispatch({
- type: UiViewStateType.SetSelectedRightView,
- payload: profileActive,
- });
+ dispatch({
+ type: UiViewStateType.SetSelectedRightView,
+ payload: profileActive,
+ });
- dispatch({
- type: AccountsType.SetSelectedContact,
- payload: undefined,
- });
+ dispatch({
+ type: AccountsType.SetSelectedContact,
+ payload: undefined,
+ });
+ }
};
const fetchDisplayName = async () => {
@@ -102,28 +107,45 @@ export function RightHeader() {
return (
-
-
+ {!props.showContacts && (
+
+
![menu]({menuIcon})
+
+ )}
+
+
+
+
+
+
updateView()}
+ className="profile-name font-weight-500 pointer-cursor text-secondary-color"
+ >
+ {displayName}
+
+
![menu]({profilePic)
updateView()}
+ />
-
updateView()}
- className="profile-name font-weight-500 pointer-cursor text-secondary-color"
- >
- {displayName}
-
-
![menu]({profilePic)
updateView()}
- />
);
}
diff --git a/packages/messenger-widget/src/interfaces/props.ts b/packages/messenger-widget/src/interfaces/props.ts
index 65c8ad9e2..44b1417a9 100644
--- a/packages/messenger-widget/src/interfaces/props.ts
+++ b/packages/messenger-widget/src/interfaces/props.ts
@@ -85,4 +85,6 @@ export interface DeleteDM3NameProps {
export interface HideFunctionProps {
hideFunction?: string;
+ showContacts?: boolean;
+ defaultContact?: string;
}
diff --git a/packages/messenger-widget/src/styles/common.css b/packages/messenger-widget/src/styles/common.css
index 422345d31..80f92d436 100644
--- a/packages/messenger-widget/src/styles/common.css
+++ b/packages/messenger-widget/src/styles/common.css
@@ -132,6 +132,10 @@ input:focus {
height: 0.1rem;
}
+.menu-icon-container {
+ padding: 0.9rem 0.7rem 0.7rem 2rem;
+}
+
/* CSS to rotate the spinner svg image */
@-webkit-keyframes rotating {
from {
diff --git a/packages/messenger-widget/src/views/Dashboard/Dashboard.tsx b/packages/messenger-widget/src/views/Dashboard/Dashboard.tsx
index e7a52aa78..2ad83ce21 100644
--- a/packages/messenger-widget/src/views/Dashboard/Dashboard.tsx
+++ b/packages/messenger-widget/src/views/Dashboard/Dashboard.tsx
@@ -15,6 +15,22 @@ import DeleteMessage from '../../components/DeleteMessage/DeleteMessage';
export default function Dashboard(props: DashboardProps) {
const { state } = useContext(GlobalContext);
+ const getRightViewStyleClasses = () => {
+ if (props.dm3Props.config.showContacts) {
+ return 'p-0 h-100 col-lg-9 col-md-9 col-sm-12';
+ } else {
+ return 'p-0 h-100 col-12';
+ }
+ };
+
+ const getLeftViewStyleClasses = () => {
+ if (props.dm3Props.config.showContacts) {
+ return 'col-lg-3 col-md-3 col-sm-12 p-0 h-100';
+ } else {
+ return 'col-lg-3 col-md-3 col-sm-12 p-0 h-100 display-none';
+ }
+ };
+
return (
@@ -26,20 +42,22 @@ export default function Dashboard(props: DashboardProps) {
{state.uiView.selectedMessageView.actionType ===
MessageActionType.DELETE &&
}
-
diff --git a/packages/messenger-widget/src/views/LeftView/LeftView.css b/packages/messenger-widget/src/views/LeftView/LeftView.css
deleted file mode 100644
index 54147e443..000000000
--- a/packages/messenger-widget/src/views/LeftView/LeftView.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.menu-icon-container {
- padding: 1.53rem 0.7rem 0.7rem 2rem;
-}
diff --git a/packages/messenger-widget/src/views/LeftView/LeftView.tsx b/packages/messenger-widget/src/views/LeftView/LeftView.tsx
index 8b7d10287..5f82d17c7 100644
--- a/packages/messenger-widget/src/views/LeftView/LeftView.tsx
+++ b/packages/messenger-widget/src/views/LeftView/LeftView.tsx
@@ -1,4 +1,3 @@
-import './LeftView.css';
import { Contacts } from '../../components/Contacts/Contacts';
import menuIcon from '../../assets/images/menu.svg';
import ConfigureProfileBox from '../../components/ConfigureProfileBox/ConfigureProfileBox';
diff --git a/packages/messenger-widget/src/views/RightView/RightView.tsx b/packages/messenger-widget/src/views/RightView/RightView.tsx
index a3b1d0021..6e529b36a 100644
--- a/packages/messenger-widget/src/views/RightView/RightView.tsx
+++ b/packages/messenger-widget/src/views/RightView/RightView.tsx
@@ -12,10 +12,11 @@ import { HideFunctionProps } from '../../interfaces/props';
export default function RightView(props: HideFunctionProps) {
// fetches context storage
const { state } = useContext(GlobalContext);
+
return (
<>
-
+
{state.uiView.selectedRightView ===
RightViewSelected.Default && (