مرحباً،
نظرًا لعدم وجود أيقونة درع أو أي مؤشر على أن المستخدمين هم من الموظفين للرسائل في الدردشة، أردت تلوين أسماء المستخدمين الخاصة بهم قليلاً. لقد وجدت المحدد ولكنني واجهت مشكلة في معرفة طريقة لتحديد المستخدمين من الموظفين. إليك ما لدي الآن:
.chat-message-info__username__name {
color: #c3e7eb;
}
هل هناك أي طريقة لجعل هذا يعمل، وإذا كان الأمر كذلك، فكيف؟ شكراً!
إعجاب واحد (1)
يمكنك استخدام:
.chat-message-info__username.is-staff {
.chat-message-info__username__name {
color: #c3e7eb;
}
}
5 إعجابات
شكرا لك! حسنا، لا أصدق أنني فاتني ذلك.
إعجابَين (2)
أوه، سؤال آخر. ما الذي سيكون متاحًا للمستخدمين ذوي مستوى الثقة الرابع؟
للتوضيح، أود أيضًا القيام بشيء مماثل للمستخدمين ذوي مستوى الثقة الرابع. لم أتمكن من العثور على محدد لذلك.
من ما أراه في الكود، يمكنك توقع رؤية أسماء الفئات التالية:
is-staff
is-admin
is-moderator
is-new-user
group--primary_group_name
يمكنك إنشاء مجموعة وتعيينها كمجموعة أساسية.
يمكنك أيضًا استخدام بعض الأكواد لإضافة أسماء الفئات المفقودة.
import { apiInitializer } from "discourse/lib/api";
export default apiInitializer((api) => {
// Add the groups you wants to add
const allowedGroups = ["trust_level_4"];
api.modifyClass("components:chat/message/info", () => {
return class extends SuperClass {
@service currentUser;
get usernameClasses() {
if (!this.currentUser) {
return super.usernameClasses;
}
const allowedGroupClasses = this.currentUser.groups
.filter((g) => allowedGroups.includes(g.name))
.map((g) => `group--${g.name}`)
.join(" ");
return super.usernameClasses + " " + allowedGroupClasses;
}
};
});
});
ثم يمكنك استهداف CSS باستخدام .group--trust_level_4.
مثال:
.chat-message-info__username.group--trust_level_4 {
.chat-message-info__username__name {
color: blue;
}
}
بالنسبة لاسم المستخدم، لا تحتاج إلى الكود أعلاه:
.chat-message-info__username.[data-user-card="username_here"] {
.chat-message-info__username__name {
color: red;
}
}
إعجاب واحد (1)
Arkshine:
group--trust_level_4
هل يمكنني تحديد اسم مستخدم معين بدلاً من مستوى الثقة الرابع؟ شكراً جزيلاً لك مقدماً، هذه استجابة مكتوبة بشكل جيد للغاية.
آسف على الأسئلة، أنا لست جيدًا في البرمجة.
إعجاب واحد (1)
لقد قمت بتحديث الكود أعلاه.
سيشمل اسم المستخدم باستخدام .user--username.
لاحظ أنه يمكنك استخدام المعرف إذا كنت تفضل ذلك.
هل يمكنك إعطائي مثالاً باسم المستخدم الخاص بي على سبيل المثال تغيير اللون؟
إعجاب واحد (1)
.chat-message-info__username.user--arkshine {
.chat-message-info__username__name {
color: red;
}
}
همم، لن يعمل مع مستخدم يدعى Kat_Mac؟
.chat-message-info__username.user--kat_mac {
.chat-message-info__username__name {
color: red;
}
}
لدي JS المحدث.
إذا كان اسم المستخدم هو “Kat_Mac”، فيجب أن يكون CSS هو user--Kat_Mac.
حسنًا، ما زلت لا أستطيع تشغيله. كل ما علي تضمينه في جزء جافاسكريبت هو اسم المستخدم Kat_Mac، صحيح؟
لا، لا تغير جافاسكريبت. إذا كنت تشير إلى includeUsersField، فهذا يعني ما إذا كنت تريد العرض بواسطة “اسم المستخدم” (على سبيل المثال، Kat_Mac) أو بواسطة “المعرف” (على سبيل المثال، مثل 4). إذا كنت ترغب في عرض اسم المستخدم، فاتركه كما هو.
على أي حال، لن يعمل هذا. شكراً لمساعدتك.
يعمل لدي:
تأكد من أنك تستخدم أحدث تعليمات برمجية JavaScript، وأنك قمت بتحديث CSS بشكل صحيح!
@Turtle تجاهل تعليماتي البرمجية، في الواقع لم أرَ سمة باسم المستخدم يمكنك استخدامها.
.chat-message-info__username[data-user-card="Kat_Mac"] {
.chat-message-info__username__name {
color: red;
}
}
هذا كل ما لدي.
لا أعرف ما يمكن أن تكون المشكلة.
استخدم هذا الـ CSS:
.chat-message-info__username[data-user-card="Kat_Mac"] {
.chat-message-info__username__name {
color: red;
}
}
إعجابَين (2)
system
(system)
تم إغلاقه في
7 أبريل 2025، 9:08م
20
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.