dist
This commit is contained in:
Vendored
+23
-6
@@ -616,6 +616,19 @@ body[showing-chat] #chat-page-wrapper {
|
|||||||
#message-page #message-container {
|
#message-page #message-container {
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
#message-page .reply-header {
|
||||||
|
width: 100%;
|
||||||
|
padding-left: var(--content-padding);
|
||||||
|
gap: var(--gap-in-controls);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
background: var(--surface);
|
||||||
|
}
|
||||||
|
#message-page .reply-header span {
|
||||||
|
width: 100%;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
#message-page #composer {
|
#message-page #composer {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -776,7 +789,7 @@ body[showing-chat] #chat-page-wrapper {
|
|||||||
.message-bubble[sentbyuser] .tile.main span {
|
.message-bubble[sentbyuser] .tile.main span {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.message-bubble > .inline-reply {
|
.message-bubble > :is(.inline-reply, .reply-link, .message-reaction-row) {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -786,16 +799,20 @@ body[showing-chat] #chat-page-wrapper {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding: 0px var(--control-padding);
|
padding: 0px var(--control-padding);
|
||||||
gap: var(--text-gap);
|
}
|
||||||
|
.message-bubble > .inline-reply {
|
||||||
border-left: var(--outline-width) solid var(--primary);
|
border-left: var(--outline-width) solid var(--primary);
|
||||||
|
gap: var(--text-gap);
|
||||||
|
}
|
||||||
|
.message-bubble > .reply-link {
|
||||||
|
gap: 5px;
|
||||||
|
}
|
||||||
|
#message-page[reply-view] :is(.reply-link, .inline-reply) {
|
||||||
|
display: none;
|
||||||
}
|
}
|
||||||
.message-bubble > .message-reaction-row {
|
.message-bubble > .message-reaction-row {
|
||||||
max-width: var(--max-input-width);
|
|
||||||
width: 100%;
|
|
||||||
padding: var(--gap-between-tiles);
|
padding: var(--gap-between-tiles);
|
||||||
background: var(--surface-alt);
|
|
||||||
display: none !important;
|
display: none !important;
|
||||||
overflow: hidden;
|
|
||||||
}
|
}
|
||||||
.message-bubble > .message-reaction-row:has(button:not([count="0"])) {
|
.message-bubble > .message-reaction-row:has(button:not([count="0"])) {
|
||||||
display: grid !important;
|
display: grid !important;
|
||||||
|
|||||||
Vendored
+88
-8
@@ -480,7 +480,10 @@
|
|||||||
stopReaction: "Reaction: stop sign",
|
stopReaction: "Reaction: stop sign",
|
||||||
attentionReaction: "Reaction: exclamation mark",
|
attentionReaction: "Reaction: exclamation mark",
|
||||||
doubleAttentionReaction: "Reaction: double exclamation mark",
|
doubleAttentionReaction: "Reaction: double exclamation mark",
|
||||||
questionReaction: "Reaction: question mark"
|
questionReaction: "Reaction: question mark",
|
||||||
|
//
|
||||||
|
replyPrefixLabel: "Replies: ",
|
||||||
|
replyHeaderLabel: (sender) => `Replies to ${sender}`
|
||||||
},
|
},
|
||||||
task: {
|
task: {
|
||||||
noBoardSelected: "No board selected",
|
noBoardSelected: "No board selected",
|
||||||
@@ -711,7 +714,9 @@
|
|||||||
stopReaction: "Reaktion: Stopp",
|
stopReaction: "Reaktion: Stopp",
|
||||||
attentionReaction: "Reaktion: Ausrufezeichen",
|
attentionReaction: "Reaktion: Ausrufezeichen",
|
||||||
doubleAttentionReaction: "Reaktion: doppeltes Ausrufezeichen",
|
doubleAttentionReaction: "Reaktion: doppeltes Ausrufezeichen",
|
||||||
questionReaction: "Reaktion: Fragezeichen"
|
questionReaction: "Reaktion: Fragezeichen",
|
||||||
|
replyPrefixLabel: "Antworten: ",
|
||||||
|
replyHeaderLabel: (sender) => `Antworten an ${sender}`
|
||||||
},
|
},
|
||||||
task: {
|
task: {
|
||||||
noBoardSelected: "Kein Board ausgew\xE4hlt",
|
noBoardSelected: "Kein Board ausgew\xE4hlt",
|
||||||
@@ -933,7 +938,9 @@
|
|||||||
stopReaction: "Reacci\xF3n: signo de parada",
|
stopReaction: "Reacci\xF3n: signo de parada",
|
||||||
attentionReaction: "Reaccion: signo de atenci\xF3n",
|
attentionReaction: "Reaccion: signo de atenci\xF3n",
|
||||||
doubleAttentionReaction: "Reaccion: signo de atenci\xF3n doble",
|
doubleAttentionReaction: "Reaccion: signo de atenci\xF3n doble",
|
||||||
questionReaction: "Reaccion: signo de interrogaci\xF3n"
|
questionReaction: "Reaccion: signo de interrogaci\xF3n",
|
||||||
|
replyPrefixLabel: "Respuestas: ",
|
||||||
|
replyHeaderLabel: (sender) => `Respuestas a ${sender}`
|
||||||
},
|
},
|
||||||
task: {
|
task: {
|
||||||
noBoardSelected: "Ning\xFAn tablero seleccionado",
|
noBoardSelected: "Ning\xFAn tablero seleccionado",
|
||||||
@@ -1298,7 +1305,7 @@
|
|||||||
this.connectionModel = connectionModel2;
|
this.connectionModel = connectionModel2;
|
||||||
this.chatListModel = chatListModel2;
|
this.chatListModel = chatListModel2;
|
||||||
this.fileTransferModel = fileTransferModel2;
|
this.fileTransferModel = fileTransferModel2;
|
||||||
this.BUILD = "Build 26.09.22.E";
|
this.BUILD = "Build 26.09.23.A";
|
||||||
// CONTEXT
|
// CONTEXT
|
||||||
this.contextStack = /* @__PURE__ */ new Map();
|
this.contextStack = /* @__PURE__ */ new Map();
|
||||||
this.closeContext = (contextId, fromHistoryEvent = false) => {
|
this.closeContext = (contextId, fromHistoryEvent = false) => {
|
||||||
@@ -4060,6 +4067,8 @@
|
|||||||
this.dateSent = "";
|
this.dateSent = "";
|
||||||
this.body = new State("");
|
this.body = new State("");
|
||||||
this.inlineReply = void 0;
|
this.inlineReply = void 0;
|
||||||
|
this.replies = new MapState();
|
||||||
|
this.replyCount = createProxyState([this.replies], () => this.replies.value.size);
|
||||||
this.status = new State(
|
this.status = new State(
|
||||||
void 0
|
void 0
|
||||||
);
|
);
|
||||||
@@ -4156,14 +4165,22 @@
|
|||||||
this.inlineReply = this.messagePageViewModel.chatMessageViewModels.value.get(
|
this.inlineReply = this.messagePageViewModel.chatMessageViewModels.value.get(
|
||||||
this.chatMessage.inlineReplyId
|
this.chatMessage.inlineReplyId
|
||||||
);
|
);
|
||||||
|
this.inlineReply.replies.set(this.chatMessage.id, this);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this.chatMessage = chatMessage;
|
this.chatMessage = chatMessage;
|
||||||
this.sentByUser = sentByUser;
|
this.sentByUser = sentByUser;
|
||||||
this.loadData();
|
this.loadData();
|
||||||
|
let hideForReactions = false;
|
||||||
|
let hideForReplyView = false;
|
||||||
|
const updateHiding = () => {
|
||||||
|
console.log(hideForReactions, hideForReplyView);
|
||||||
|
this.isHidden.value = hideForReactions || hideForReplyView;
|
||||||
|
};
|
||||||
this.messagePageViewModel.reactionFilter.subscribe((content) => {
|
this.messagePageViewModel.reactionFilter.subscribe((content) => {
|
||||||
if (content == void 0) {
|
if (content == void 0) {
|
||||||
this.isHidden.value = false;
|
hideForReactions = false;
|
||||||
|
updateHiding();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let count = 0;
|
let count = 0;
|
||||||
@@ -4193,7 +4210,15 @@
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.isHidden.value = count == 0;
|
hideForReactions = count == 0;
|
||||||
|
updateHiding();
|
||||||
|
});
|
||||||
|
this.messagePageViewModel.replyViewSelectedMessage.subscribe((selectedMessage) => {
|
||||||
|
if (selectedMessage == void 0) hideForReplyView = false;
|
||||||
|
else if (selectedMessage == this) hideForReplyView = false;
|
||||||
|
else if (selectedMessage == this.inlineReply) hideForReplyView = false;
|
||||||
|
else hideForReplyView = true;
|
||||||
|
updateHiding();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -4208,6 +4233,7 @@
|
|||||||
// state
|
// state
|
||||||
this.chatMessageViewModels = new MapState();
|
this.chatMessageViewModels = new MapState();
|
||||||
this.filteredMessageViewModels = new ListState();
|
this.filteredMessageViewModels = new ListState();
|
||||||
|
this.replyViewSelectedMessage = new State(void 0);
|
||||||
this.isFilterModalOpen = new State(false);
|
this.isFilterModalOpen = new State(false);
|
||||||
this.reactionFilter = new State(void 0);
|
this.reactionFilter = new State(void 0);
|
||||||
this.replyingMessage = new State(
|
this.replyingMessage = new State(
|
||||||
@@ -4227,6 +4253,7 @@
|
|||||||
replyId = this.replyingMessage.value.chatMessage.id;
|
replyId = this.replyingMessage.value.chatMessage.id;
|
||||||
}
|
}
|
||||||
this.chatViewModel.chatModel.sendMessage(body, replyId);
|
this.chatViewModel.chatModel.sendMessage(body, replyId);
|
||||||
|
if (this.replyViewSelectedMessage.value != void 0) return;
|
||||||
this.replyingMessage.value = void 0;
|
this.replyingMessage.value = void 0;
|
||||||
};
|
};
|
||||||
this.decryptMessage = async (messageViewModel) => {
|
this.decryptMessage = async (messageViewModel) => {
|
||||||
@@ -4290,6 +4317,15 @@
|
|||||||
this.revokeReactionFilter();
|
this.revokeReactionFilter();
|
||||||
this.searchViewModel.search("");
|
this.searchViewModel.search("");
|
||||||
};
|
};
|
||||||
|
this.setReplyView = (message) => {
|
||||||
|
this.replyViewSelectedMessage.value = message;
|
||||||
|
this.revokeReactionFilter();
|
||||||
|
this.setReply(message);
|
||||||
|
};
|
||||||
|
this.resetReplyView = () => {
|
||||||
|
this.replyViewSelectedMessage.value = void 0;
|
||||||
|
this.resetReply();
|
||||||
|
};
|
||||||
this.setFocus = () => {
|
this.setFocus = () => {
|
||||||
this.focusSetter.callSubscriptions();
|
this.focusSetter.callSubscriptions();
|
||||||
};
|
};
|
||||||
@@ -6356,6 +6392,24 @@
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// src/View/Components/replyLink.tsx
|
||||||
|
function ReplyLink(coreViewModel2, chatMessageViewModel) {
|
||||||
|
const isHidden = createProxyState([chatMessageViewModel.replyCount], () => chatMessageViewModel.replyCount.value == 0);
|
||||||
|
function select() {
|
||||||
|
chatMessageViewModel.messagePageViewModel.setReplyView(chatMessageViewModel);
|
||||||
|
}
|
||||||
|
return /* @__PURE__ */ createElement(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
class: "reply-link",
|
||||||
|
"toggle:hidden": isHidden,
|
||||||
|
"on:click": select
|
||||||
|
},
|
||||||
|
/* @__PURE__ */ createElement("span", null, coreViewModel2.translations.chatPage.message.replyPrefixLabel),
|
||||||
|
/* @__PURE__ */ createElement("b", { class: "ellipsis", "subscribe:innerText": chatMessageViewModel.replyCount })
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// src/View/Components/chatMessage.tsx
|
// src/View/Components/chatMessage.tsx
|
||||||
function ChatMessage3(coreViewModel2, chatMessageViewModel) {
|
function ChatMessage3(coreViewModel2, chatMessageViewModel) {
|
||||||
const statusIcon = createProxyState(
|
const statusIcon = createProxyState(
|
||||||
@@ -6411,10 +6465,35 @@
|
|||||||
/* @__PURE__ */ createElement("span", { class: "icon" }, "reply")
|
/* @__PURE__ */ createElement("span", { class: "icon" }, "reply")
|
||||||
))),
|
))),
|
||||||
MessageReactionButtonRow(coreViewModel2, chatMessageViewModel),
|
MessageReactionButtonRow(coreViewModel2, chatMessageViewModel),
|
||||||
|
ReplyLink(coreViewModel2, chatMessageViewModel),
|
||||||
ChatMessageInfoModal(coreViewModel2, chatMessageViewModel)
|
ChatMessageInfoModal(coreViewModel2, chatMessageViewModel)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// src/View/Components/replyViewHeader.tsx
|
||||||
|
function ReplyViewHeader(coreViewModel2, messagePageViewModel) {
|
||||||
|
const isHidden = createProxyState([messagePageViewModel.replyViewSelectedMessage], () => messagePageViewModel.replyViewSelectedMessage.value == void 0);
|
||||||
|
const label = createProxyState([messagePageViewModel.replyViewSelectedMessage], () => messagePageViewModel.replyViewSelectedMessage.value == void 0 ? "" : coreViewModel2.translations.chatPage.message.replyHeaderLabel(messagePageViewModel.replyViewSelectedMessage.value.sender));
|
||||||
|
const message = createProxyState([messagePageViewModel.replyViewSelectedMessage], () => messagePageViewModel.replyViewSelectedMessage.value == void 0 ? "" : messagePageViewModel.replyViewSelectedMessage.value.body.value);
|
||||||
|
return /* @__PURE__ */ createElement(
|
||||||
|
"div",
|
||||||
|
{
|
||||||
|
class: "reply-header",
|
||||||
|
"toggle:hidden": isHidden
|
||||||
|
},
|
||||||
|
/* @__PURE__ */ createElement("b", { class: "ellipsis", "subscribe:innerText": label }),
|
||||||
|
/* @__PURE__ */ createElement("span", { class: "secondary ellipsis", "subscribe:innerText": message }),
|
||||||
|
/* @__PURE__ */ createElement(
|
||||||
|
"button",
|
||||||
|
{
|
||||||
|
class: "standard square",
|
||||||
|
"on:click": messagePageViewModel.resetReplyView
|
||||||
|
},
|
||||||
|
/* @__PURE__ */ createElement("span", { class: "icon" }, "close")
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// src/View/ChatPages/messagePage.tsx
|
// src/View/ChatPages/messagePage.tsx
|
||||||
function MessagePage(coreViewModel2, messagePageViewModel) {
|
function MessagePage(coreViewModel2, messagePageViewModel) {
|
||||||
messagePageViewModel.loadData();
|
messagePageViewModel.loadData();
|
||||||
@@ -6465,7 +6544,8 @@
|
|||||||
messagePageViewModel.focusSetter.subscribeSilent(() => {
|
messagePageViewModel.focusSetter.subscribeSilent(() => {
|
||||||
ViewController.setFocusWithDelay();
|
ViewController.setFocusWithDelay();
|
||||||
});
|
});
|
||||||
return /* @__PURE__ */ createElement("div", { id: "message-page" }, /* @__PURE__ */ createElement("div", { class: "pane-wrapper" }, /* @__PURE__ */ createElement("div", { class: "pane" }, /* @__PURE__ */ createElement("div", { class: "toolbar" }, /* @__PURE__ */ createElement("span", { class: "title" }, coreViewModel2.translations.chatPage.message.messagesHeadline), /* @__PURE__ */ createElement("span", null, /* @__PURE__ */ createElement(
|
const isInReplyView = createProxyState([messagePageViewModel.replyViewSelectedMessage], () => messagePageViewModel.replyViewSelectedMessage.value != void 0);
|
||||||
|
return /* @__PURE__ */ createElement("div", { id: "message-page", "toggle:reply-view": isInReplyView }, /* @__PURE__ */ createElement("div", { class: "pane-wrapper" }, /* @__PURE__ */ createElement("div", { class: "pane" }, /* @__PURE__ */ createElement("div", { class: "toolbar" }, /* @__PURE__ */ createElement("span", { class: "title" }, coreViewModel2.translations.chatPage.message.messagesHeadline), /* @__PURE__ */ createElement("span", null, /* @__PURE__ */ createElement(
|
||||||
"button",
|
"button",
|
||||||
{
|
{
|
||||||
class: "ghost inset-outline",
|
class: "ghost inset-outline",
|
||||||
@@ -6474,7 +6554,7 @@
|
|||||||
"toggle:selected": messagePageViewModel.isFilterActive
|
"toggle:selected": messagePageViewModel.isFilterActive
|
||||||
},
|
},
|
||||||
/* @__PURE__ */ createElement("span", { class: "icon" }, "filter_alt")
|
/* @__PURE__ */ createElement("span", { class: "icon" }, "filter_alt")
|
||||||
))), /* @__PURE__ */ createElement("div", { class: "content" }, messageContainer, /* @__PURE__ */ createElement("div", { id: "composer" }, /* @__PURE__ */ createElement("div", { class: "content-width-constraint" }, /* @__PURE__ */ createElement(
|
))), /* @__PURE__ */ createElement("div", { class: "content" }, ReplyViewHeader(coreViewModel2, messagePageViewModel), messageContainer, /* @__PURE__ */ createElement("div", { id: "composer" }, /* @__PURE__ */ createElement("div", { class: "content-width-constraint" }, /* @__PURE__ */ createElement(
|
||||||
"div",
|
"div",
|
||||||
{
|
{
|
||||||
class: "reply-preview-wrapper",
|
class: "reply-preview-wrapper",
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import ConnectionModel from "../../Model/Global/connectionModel";
|
|||||||
import ChatListModel from "../../Model/Chat/chatListModel";
|
import ChatListModel from "../../Model/Chat/chatListModel";
|
||||||
|
|
||||||
export default class CoreViewModel {
|
export default class CoreViewModel {
|
||||||
readonly BUILD = "Build 26.09.22.E";
|
readonly BUILD = "Build 26.09.23.A";
|
||||||
|
|
||||||
translations: Translations;
|
translations: Translations;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user