diff --git a/frappe/public/icons/timeless/message.svg b/frappe/public/icons/timeless/message.svg new file mode 100644 index 0000000000..f63327f5e6 --- /dev/null +++ b/frappe/public/icons/timeless/message.svg @@ -0,0 +1,3 @@ + diff --git a/frappe/public/icons/timeless/search.svg b/frappe/public/icons/timeless/search.svg new file mode 100644 index 0000000000..b99c657525 --- /dev/null +++ b/frappe/public/icons/timeless/search.svg @@ -0,0 +1,3 @@ + diff --git a/frappe/public/js/frappe-web.bundle.js b/frappe/public/js/frappe-web.bundle.js index 9f7875f96b..c962457964 100644 --- a/frappe/public/js/frappe-web.bundle.js +++ b/frappe/public/js/frappe-web.bundle.js @@ -10,6 +10,7 @@ import "./frappe/utils/common.js"; import "./frappe/ui/messages.js"; import "./frappe/translate.js"; import "./frappe/utils/pretty_date.js"; +import "./frappe/utils/datetime.js"; import "./frappe/microtemplate.js"; import "./frappe/query_string.js"; diff --git a/frappe/public/scss/website/index.scss b/frappe/public/scss/website/index.scss index eb6e83e7fe..08d1a0734c 100644 --- a/frappe/public/scss/website/index.scss +++ b/frappe/public/scss/website/index.scss @@ -9,6 +9,7 @@ @import "../common/buttons"; @import "../common/modal"; @import "../desk/toast"; +@import "../desk/css_variables.scss"; @import "../common/indicator"; @import "../common/controls"; @import "../common/awesomeplete"; diff --git a/frappe/templates/base.html b/frappe/templates/base.html index 635fe559ce..3bbb9f46bd 100644 --- a/frappe/templates/base.html +++ b/frappe/templates/base.html @@ -96,6 +96,18 @@ {% block base_scripts %} + + + {{ include_script('frappe-web.bundle.js') }} {% endblock %} diff --git a/frappe/templates/discussions/button.html b/frappe/templates/discussions/button.html index faaa901cbb..b93ff86a47 100644 --- a/frappe/templates/discussions/button.html +++ b/frappe/templates/discussions/button.html @@ -1,7 +1,7 @@ {% if frappe.session.user != "Guest" and (condition is not defined or (condition is defined and condition )) %} {% endif %} diff --git a/frappe/templates/discussions/comment_box.html b/frappe/templates/discussions/comment_box.html index 328d88234c..f172e24a9c 100644 --- a/frappe/templates/discussions/comment_box.html +++ b/frappe/templates/discussions/comment_box.html @@ -1,32 +1,32 @@
diff --git a/frappe/templates/discussions/discussions.js b/frappe/templates/discussions/discussions.js index 3669ac7883..7ebbeba608 100644 --- a/frappe/templates/discussions/discussions.js +++ b/frappe/templates/discussions/discussions.js @@ -2,8 +2,6 @@ frappe.ready(() => { setup_socket_io(); - set_docname_if_missing(); - add_color_to_avatars(); expand_first_discussion(); @@ -52,14 +50,23 @@ frappe.ready(() => { $(document).on("click", ".cancel-comment", (e) => { clear_comment_box(e); }) + + if ($(document).width() <= 550) { + $(document).on("click", ".sidebar-parent", (e) => { + hide_sidebar(); + }) + } + + $(document).on("click", ".back", (e) => { + back_to_sidebar(e); + }) + }) var show_new_topic_modal = (e) => { e.preventDefault(); $("#discussion-modal").modal("show"); var topic = $(e.currentTarget).attr("data-topic"); - $(".modal-headings").text(topic ? "Reply" : "Start a Discussion"); - topic ? $(".topic-title").addClass("hide") : $(".topic-title").removeClass("hide"); $("#submit-discussion").attr("data-topic", topic ? topic : ""); } @@ -87,8 +94,8 @@ var publish_message = (data) => { $(data.template).insertBefore(`.discussion-on-page[data-topic=${data.topic_info.name}] .discussion-form`); } - else if ((decodeURIComponent($(".discussions-parent .course-content-parent").attr("data-doctype")) == data.topic_info.reference_doctype - && decodeURIComponent($(".discussions-parent .course-content-parent").attr("data-docname")) == data.topic_info.reference_docname)) { + else if ((decodeURIComponent($(".discussions-parent .discussions-card").attr("data-doctype")) == data.topic_info.reference_doctype + && decodeURIComponent($(".discussions-parent .discussions-card").attr("data-docname")) == data.topic_info.reference_docname)) { post_message_cleanup(); data.new_topic_template = style_avatar_frame(data.new_topic_template) @@ -114,6 +121,7 @@ var post_message_cleanup = () => { $(".comment-field").css("height", "48px"); $("#discussion-modal").modal("hide"); $("#no-discussions").addClass("hide"); + $(".cancel-comment").addClass("hide"); } var update_reply_count = (topic) => { @@ -122,23 +130,15 @@ var update_reply_count = (topic) => { $(`[data-target='#t${topic}']`).find(".reply-count").text(reply_count); } -var set_docname_if_missing = () => { - if ($("[data-docname='None']").length) { - frappe.call({ - method: "frappe.website.doctype.discussion_topic.discussion_topic.get_docname", - args: { - "route": window.location.href.split("/").slice(-1)[0] - }, - callback: (data) => { - $("[data-docname='None']").attr("data-docname", data.message); - } - }) - } -} - var expand_first_discussion = () => { - $($(".discussions-parent .collapse")[0]).addClass("show"); - $($(".discussions-sidebar [data-toggle='collapse']")[0]).attr("aria-expanded", true); + if ($(document).width() > 550) { + $($(".discussions-parent .collapse")[0]).addClass("show"); + $($(".discussions-sidebar [data-toggle='collapse']")[0]).attr("aria-expanded", true); + } + else { + $("#discussion-group").addClass("hide"); + } + } var search_topic = (e) => { @@ -217,6 +217,7 @@ var submit_discussion = (e) => { } var login_from_discussion = (e) => { + e.preventDefault(); var redirect = $(e.currentTarget).attr("data-redirect") || window.location.href; window.location.href = `/login?redirect-to=${redirect}`; } @@ -249,3 +250,14 @@ var clear_comment_box = (e) => { $(".discussion-on-page .comment-field").val(""); } } + +var hide_sidebar = () => { + $(".discussions-sidebar").addClass("hide"); + $("#discussion-group").removeClass("hide"); +} + +var back_to_sidebar = () => { + $(".discussions-sidebar").removeClass("hide"); + $("#discussion-group").addClass("hide"); + $(".discussion-on-page").collapse("hide"); +} diff --git a/frappe/templates/discussions/discussions_section.html b/frappe/templates/discussions/discussions_section.html index d587100980..db291d9886 100644 --- a/frappe/templates/discussions/discussions_section.html +++ b/frappe/templates/discussions/discussions_section.html @@ -4,55 +4,55 @@ {% include "frappe/templates/discussions/topic_modal.html" %}