feat: community page redesign

This commit is contained in:
Jannat Patel
2022-02-23 11:37:05 +05:30
parent 737405d449
commit 22c6a3da4f
5 changed files with 27 additions and 61 deletions

View File

@@ -1,8 +1,13 @@
<div class="common-card-style member-card"> <div class="common-card-style member-card">
{{ widgets.Avatar(member=member, avatar_class=avatar_class) }} {{ widgets.Avatar(member=member, avatar_class=avatar_class) }}
<div class=" member-card-title {% if show_course_count %} font-weight-bold {% endif %}"> <div class="bold-title mt-4">
{{ member.full_name }} {{ member.full_name }}
</div> </div>
{% if member.headline %}
<div> {{ member.headline }} </div>
{% endif %}
{% set course_count = get_authored_courses(member.name) | length %} {% set course_count = get_authored_courses(member.name) | length %}
{% if show_course_count and course_count > 0 %} {% if show_course_count and course_count > 0 %}
{% set suffix = "Courses" if course_count > 1 else "Course" %} {% set suffix = "Courses" if course_count > 1 else "Course" %}

View File

@@ -246,12 +246,12 @@ def get_country_code():
def search_users(start=0, text=""): def search_users(start=0, text=""):
or_filters = get_or_filters(text) or_filters = get_or_filters(text)
count = len(get_users(or_filters, 0, 900000000, text)) count = len(get_users(or_filters, 0, 900000000, text))
users = get_users(or_filters, start, 30, text) users = get_users(or_filters, start, 24, text)
user_details = get_user_details(users) user_details = get_user_details(users)
return { return {
"user_details": user_details, "user_details": user_details,
"start": cint(start) + 30, "start": cint(start) + 24,
"count": count "count": count
} }
@@ -282,7 +282,7 @@ def get_or_filters(text):
def get_user_details(users): def get_user_details(users):
user_details = [] user_details = []
for user in users: for user in users:
details = frappe.get_doc("User", user) details = frappe.db.get_value("User", user, ["name", "username", "full_name", "user_image", "headline"], as_dict=True)
user_details.append(Widgets().MemberCard(member=details, avatar_class="avatar-large")) user_details.append(Widgets().MemberCard(member=details, avatar_class="avatar-large"))
return user_details return user_details

View File

@@ -579,7 +579,7 @@ input[type=checkbox] {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
padding: 1rem 0; padding: 2rem 1rem;
} }
.member-card .talk-title { .member-card .talk-title {
@@ -603,19 +603,6 @@ input[type=checkbox] {
} }
} }
.member-card-title {
margin-top: 0.75rem;
text-align: center;
}
.member-card-large .member-card-title {
font-weight: bold;
}
.member-card-xl .member-card-title {
font-weight: bold;
}
.member-card-medium { .member-card-medium {
width: 160px; width: 160px;
height: 140px; height: 140px;
@@ -680,8 +667,8 @@ input[type=checkbox] {
} }
.avatar-large { .avatar-large {
width: 88px; width: 68px;
height: 88px; height: 68px;
} }
.member-card .avatar-xl { .member-card .avatar-xl {
@@ -742,18 +729,18 @@ input[type=checkbox] {
.member-parent { .member-parent {
display: grid; display: grid;
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
-moz-column-gap: 1rem; -moz-column-gap: 1.25rem;
column-gap: 1rem; column-gap: 1.25rem;
row-gap: 1rem; row-gap: 1.25rem;
} }
@media (max-width: 600px) { @media (max-width: 600px) {
.member-parent { .member-parent {
grid-template-columns: repeat(auto-fill, minmax(125px, 1fr)); grid-template-columns: repeat(auto-fill, minmax(125px, 1fr));
-moz-column-gap: 24px; -moz-column-gap: 1.25rem;
column-gap: 24px; column-gap: 1.25rem;
row-gap: 24px; row-gap: 1.25rem;
} }
} }
@@ -769,25 +756,6 @@ input[type=checkbox] {
flex: 1; flex: 1;
} }
.preview-modal {
padding: 0 !important;
}
.preview-modal .modal-dialog {
width: 90%;
height: 100%;
max-width: none;
}
.preview-modal .modal-content {
height: 90%;
}
.video-iframe {
width: 100%;
height: 90%;
}
.review-modal .modal-dialog { .review-modal .modal-dialog {
width: 50%; width: 50%;
height: 70%; height: 70%;
@@ -1079,7 +1047,7 @@ input[type=checkbox] {
} }
.bold-title { .bold-title {
font-weight: bold; font-weight: 500;
color: var(--gray-800); color: var(--gray-800);
} }

View File

@@ -7,7 +7,7 @@
<input class="search" id="search-user" placeholder="{{ _('Try a Name, Company, or Industry') }}"> <input class="search" id="search-user" placeholder="{{ _('Try a Name, Company, or Industry') }}">
<div class="course-home-headings">Community</div> <div class="course-home-headings">{{ _("Community") }} </div>
<div class="alert alert-dismissible empty-state text-center hide" id="search-empty-state"> <div class="alert alert-dismissible empty-state text-center hide" id="search-empty-state">
<a href="#" class="close-search-empty-state" aria-label="close">&times;</a> <a href="#" class="close-search-empty-state" aria-label="close">&times;</a>
@@ -17,13 +17,13 @@
</div> </div>
<div class="member-parent"> <div class="member-parent">
{% for user in user_details %} {% for user in users %}
{{ widgets.MemberCard(member=user, show_course_count=False, avatar_class="avatar-large") }} {{ widgets.MemberCard(member=user, show_course_count=False, avatar_class="avatar-large") }}
{% endfor %} {% endfor %}
</div> </div>
{% if user_count > user_details | length %} {% if user_count > user_details | length %}
<div class="mt-10 d-flex justify-content-center"> <div class="mt-10 d-flex justify-content-center">
<div class="button is-secondary" id="load-more" data-start="30" data-count="{{ user_count }}">Load More</div> <div class="button is-secondary" id="load-more" data-start="30" data-count="{{ user_count }}">{{ _("Load More") }}</div>
</div> </div>
{% endif %} {% endif %}
</div> </div>

View File

@@ -2,16 +2,9 @@ import frappe
def get_context(context): def get_context(context):
context.user_count = frappe.db.count("User", {"enabled": True}) context.user_count = frappe.db.count("User", {"enabled": True})
users = frappe.get_all("User", context.users = frappe.get_all("User",
{"enabled": True}, filters={"enabled": True},
pluck="name", fields=["name", "username", "full_name", "user_image", "headline"],
start=0, start=0,
page_length=30, page_length=24,
order_by="creation desc") order_by="creation desc")
user_details = []
for user in users:
details = frappe.get_doc("User", user)
user_details.append(details)
context.user_details = user_details