아이콘 유형 SiteSetting

I am trying to add a SiteSetting to my plugin that can control the icons displayed for some components. The component itself was already going to be user customizable, so I wanted to add the SiteSetting as a way for staff to define the default icon. I know there is emoji_list type for SiteSettings, but there doesn’t seem to be one for SVG icons?

From what I can see, most plugins/TC use either image upload or plain string for icon settings. Am I missing a type/validator I can use? It feels weird to tell people to look up the styleguide and type the name of the icon.

아이콘 기반 사이트 설정이 없어서 해당 타입을 추가하지 않은 것으로 보입니다. 아이콘 선택기 컴포넌트가 앱의 다른 부분에도 사용되고 있지만, 현재 사이트 설정에는 해당 기능이 포함되어 있지 않습니다.

그건 타당합니다. 코어가 이를 필요로 하는 구체적인 시나리오는 솔직히 잘 떠오르지 않아요. 아마도 테마/TC나 플러그인처럼 UI에 초점을 맞춘 설정이 필요한 경우에만 유용할 것 같거든요.

저는 일반 사용자가 더 쉽게 접근할 수 있는 다른 곳에서 아이콘 선택기 컴포넌트를 사용하고 있습니다. 하지만 제가 염두에 두고 있는 특정 사용 사례는 기본 아이콘 설정 같은 기능에 해당합니다. SiteSetting 타입의 객체와 결합하면, 관리자가 특정 기능을 템플릿화하는 것이 더 쉬워질 것입니다.

코어에서 이를 사용하는 코어 사이트 설정이 없더라도, 코어의 SiteSettings에 icon_type 타입을 추가하는 것에 대해 팀이 개방적인 태도를 보일까요? 필요할 경우, 이 주제를 Contribute > Feature 요청으로 다시 여는 것도 괜찮습니다.

이 문제에 대해 업데이트가 있나요? 리액션 기능이 코어에 추가될 예정이며, 해당 플러그인에는 현재 아이콘 이름을 수동으로 입력해야 하는 Discourse reactions like icon 설정이 있다는 것을 확인했습니다.

지금은 계획이 없지만, 좋은 기회일 수도 있겠네요. 이 아이디어를 전달해 보겠습니다.

네, 이걸 컴포넌트 설정에서 사용할 수 있으면 좋겠어요. 특히 객체 타입(object type) 설정에서요. 이 기능을 추가해 주실 수 있을까요?

비슷한 요청이 여기에도 언급되어 있습니다:

이제 아이콘 유형 사이트 설정이 있습니다.

정말 좋습니다! TC에도 사용할 수 있다고 가정해도 될까요? 이제 이것으로 몇 가지를 업데이트할 때입니다!

그렇지 않을 수도 있다고 봅니다. 여기에는 아이콘 타입이 없습니다.

사이트 설정의 Emoji deny list와 같은 이모지 설정 타입을 테마에서도 사용할 수 없다고 생각합니다.

아직은 아닌 것 같습니다(적어도 저는 작동하게 만들지 못했습니다).

테마 컴포넌트의 object schemas 내에서 type: icon을 지원하는 계획이 있나요? 예를 들어 이런 식으로요?

    links:
        type: objects
        schema:
          name: menu_link
          identifier: text
          properties:
            icon:
              type: icon
              required: true
            text:
              type: string
              required: true
              validations:
                min_length: 1
                max_length: 100
            url:
              type: string
              required: true
              validations:
                min_length: 1
                max_length: 500
...