diff --git a/net/web/src/context/useCardContext.hook.js b/net/web/src/context/useCardContext.hook.js
index 8c779bf0..40c0c094 100644
--- a/net/web/src/context/useCardContext.hook.js
+++ b/net/web/src/context/useCardContext.hook.js
@@ -311,6 +311,22 @@ export function useCardContext() {
console.log(err);
}
},
+ isUnsealed: (cardId, channelId, sealKey) => {
+ try {
+ const card = cards.current.get(cardId);
+ const channel = card.channels.get(channelId);
+ const { seals } = JSON.parse(channel.data.channelDetail.data);
+ for (let i = 0; i < seals.length; i++) {
+ if (seals[i].publicKey === sealKey.public) {
+ return sealKey.private != null;
+ }
+ }
+ }
+ catch(err) {
+ console.log(err);
+ }
+ return false;
+ },
unsealChannelSummary: (cardId, channelId, sealKey) => {
try {
const card = cards.current.get(cardId);
diff --git a/net/web/src/context/useChannelContext.hook.js b/net/web/src/context/useChannelContext.hook.js
index 06a2448d..7a476d4c 100644
--- a/net/web/src/context/useChannelContext.hook.js
+++ b/net/web/src/context/useChannelContext.hook.js
@@ -164,6 +164,21 @@ export function useChannelContext() {
console.log(err);
}
},
+ isUnsealed: (channelId, sealKey) => {
+ try {
+ const channel = channels.current.get(channelId);
+ const { seals } = JSON.parse(channel.data.channelDetail.data);
+ for (let i = 0; i < seals.length; i++) {
+ if (seals[i].publicKey === sealKey.public) {
+ return sealKey.private != null;
+ }
+ }
+ }
+ catch(err) {
+ console.log(err);
+ }
+ return false;
+ },
unsealChannelSummary: (channelId, sealKey) => {
try {
const channel = channels.current.get(channelId);
diff --git a/net/web/src/session/channels/channelItem/ChannelItem.jsx b/net/web/src/session/channels/channelItem/ChannelItem.jsx
index dc78bcf2..11a6d690 100644
--- a/net/web/src/session/channels/channelItem/ChannelItem.jsx
+++ b/net/web/src/session/channels/channelItem/ChannelItem.jsx
@@ -21,7 +21,15 @@ export function ChannelItem({ item, openChannel, active }) {