نص مخفي لزر موضوع جديد

مرحباً! لقد كنت أحاول إجراء تغيير في نمط زر “موضوع جديد”، لكنني لم أتمكن من إيجاد طريقة للقيام بذلك، وأردت أن أعرف ما إذا كان بإمكان أي شخص المساعدة بأفكار حول كيفية حل هذه المشكلة.

هذه هي الطريقة التي يبدو بها زر “موضوع جديد” في عرض سطح المكتب والجوال:

التجاوب يخفي نص “موضوع جديد” من الزر، وأود الاحتفاظ بهذا النص في عرض الجوال أيضًا، كيف يمكنني تحقيق ذلك؟

بالإضافة إلى ذلك، هذه هي عناصر HTML التي تظهر في كل عرض:

العنصر في الجوال:

<button class="btn no-text btn-icon btn-default" id="create-topic" type="button">
<svg class="fa d-icon d-icon-far-pen-to-square svg-icon svg-string" xmlns="http://www.w3.org/2000/svg">
<use href="#far-pen-to-square"></use>
</svg>      
<span aria-hidden="true">
          ​
        </span>
    </button>

العنصر في سطح المكتب:

<button class="btn btn-icon-text btn-default" id="create-topic" type="button">
<svg class="fa d-icon d-icon-far-pen-to-square svg-icon svg-string" xmlns="http://www.w3.org/2000/svg">
<use href="#far-pen-to-square"></use>
</svg>      
<span class="d-button-label">New Post</span>
    </button>

أي مساعدة ستكون موضع تقدير كبير!

إعجاب واحد (1)

لم يكن لدينا في الواقع طريقة جيدة لاستعادة هذا النص على الهاتف المحمول، لذلك أضفت واحدة: DEV: add create-topic-label value transformer by awesomerobot · Pull Request #32621 · discourse/discourse · GitHub — ستحصل على هذا في المرة القادمة التي يتم فيها تحديث Discourse.

سيسمح لك هذا التغيير بتجاوز سلوكنا الافتراضي في ملف تهيئة في سمة عن بعد، أو عبر لوحة المسؤول داخل علامة تبويب JS لمحرر كود المسؤول/التخصيص/السمات:

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer((api) => {

  api.registerValueTransformer("create-topic-label", ({ value, context }) => {
    return context.defaultKey;
  });

});

:backhand_index_pointing_up: سيؤدي هذا إلى تجاوز التبديل الافتراضي للجوال/سطح المكتب بالتسمية، لذلك سيظهر في كلا المكانين:

3 إعجابات