# 일부 사용자가 '비슷한 주제' 창에 대해 불만을 제기

**URL:** https://meta.discourse.org/t/some-users-complaining-about-topic-similar-to-window/216505
**Category:** Feature
**Created:** [1월 30, 2022, 6:50오후 UTC](https://meta.discourse.org/t/some-users-complaining-about-topic-similar-to-window/216505 "2022-01-30T18:50:30Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Jim\_Starkweather](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jim_starkweather/32/181916_2.png) [@Jim\_Starkweather](https://meta.discourse.org/u/Jim_Starkweather)
#### Post date: [1월 30, 2022, 6:50오후 UTC](https://meta.discourse.org/t/some-users-complaining-about-topic-similar-to-window/216505/1 "2022-01-30T18:50:30Z")

</div>

여러 회원(주요版主 포함)들이 "이 주제가 다른 주제와 유사합니다"라는 기능에 대해 불만을 표출하고 있습니다. 일부는 화면 크기 때문일 수 있으며, 해당 기능을 표시하는 div가 화면의 일부를 가리고 있는 등의 문제 때문인 것 같습니다.

 ![eb46e0667e60ac73d827a70bc4ab6f16114685fe](https://global.discourse-cdn.com/meta/original/3X/e/b/eb46e0667e60ac73d827a70bc4ab6f16114685fe.png)

생각해 본 건데… 사용자가 이 기능을 끌 수 있는 옵션을 제공하면 어떨까요?

---

<div class="post-metadata">

### Author: ![Jim\_Starkweather](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jim_starkweather/32/181916_2.png) [@Jim\_Starkweather](https://meta.discourse.org/u/Jim_Starkweather)
#### Post date: [1월 30, 2022, 6:51오후 UTC](https://meta.discourse.org/t/some-users-complaining-about-topic-similar-to-window/216505/2 "2022-01-30T18:51:46Z")

</div>

네, 최소 텍스트 검색 값을 더 높은 값으로 설정할 수 있는 옵션에 대해 잘 알고 있습니다. 이미 25자로 설정해 두었는데, 이 기능이 더 많은 회원들을 불편하게 하지 않는다면 유용할 것 같다고 생각합니다.

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [1월 30, 2022, 6:53오후 UTC](https://meta.discourse.org/t/some-users-complaining-about-topic-similar-to-window/216505/3 "2022-01-30T18:53:42Z")

</div>

설정 **max\_similar\_results** 을 0으로 변경할까요? 아니면 단순히 값을 줄이는 것만으로도 될까요?

---

<div class="post-metadata">

### Author: ![Jim\_Starkweather](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jim_starkweather/32/181916_2.png) [@Jim\_Starkweather](https://meta.discourse.org/u/Jim_Starkweather)
#### Post date: [2월 2, 2022, 11:50오후 UTC](https://meta.discourse.org/t/some-users-complaining-about-topic-similar-to-window/216505/4 "2022-02-02T23:50:42Z")

</div>

그렇게 하면 사실상 기능을 끄는 셈이 되지만, 내가 묻고자 한 것은 그런 것이 아닙니다. 가장 좋은 해결책은 이 기능을 **싫어하는** 사용자가 쿠키나 계정 설정을 통해 이를 억제할 수 있도록 하는 것입니다.

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2월 3, 2022, 10:29오전 UTC](https://meta.discourse.org/t/some-users-complaining-about-topic-similar-to-window/216505/5 "2022-02-03T10:29:30Z")

</div>

이것은 꽤 쉽게 할 수 있습니다.

> [@Optional Mobile Title Header](https://meta.discourse.org/t/optional-mobile-title-switch-component/104238):
>
> discourse2Summary Optional Mobile Title Header makes the feature where the header switches to mobile title optional for both users and sites.eyeglassesPreview [Preview on Discourse Theme Creator](https://discourse.theme-creator.io/theme/Discourse/optional-mobile-title-header-switch)hammer_and_wrenchRepository Link [https://github.com/discourse/discourse-optional-title-mobile-header](https://github.com/discourse/discourse-optional-title-mobile-header)open_bookNew to Discourse Themes? [Beginner’s guide to using Discourse Themes](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966) Install this theme component Features When disabled per user prefs → interface: …

이 컴포넌트의 코드를 확인하고 CSS를 사용하여 사용자의 설정에서 요소를 숨기도록(대상: `.similar-topics`) 수정할 수 있습니다. 저는 [https://unicyclist.com/](https://unicyclist.com/) 에서 헤더 오른쪽 상단의 기부 아이콘을 숨기는 설정을 사용자가 가질 수 있도록 정확히 그렇게 구현했습니다.

![image](https://global.discourse-cdn.com/meta/original/3X/a/d/adf382a5b7d7b8ea35506d44f6b2dc15a46a8738.png)

![image](https://global.discourse-cdn.com/meta/original/3X/1/7/172f9356c6b17d3d34f52f11ba9b2aec9d922e40.png)

* * *

기본적으로, 제가 원래 플러그인에 대해 한 유일한 변경 사항은 설정 값을 쿠키에 저장하는 것입니다(서버 비용으로 매년 사용자에게 기부를 상기시키고 싶기 때문입니다).

제 테마 컴포넌트 코드입니다:

```js
<script type="text/discourse-plugin" version="0.8">
    // 쿠키 만료 기간을 1년으로 설정
    function setHideDonationCookie(value=null) {
        var now = new Date();
        var time = now.getTime();
        var expireTime = time + 1000*60*60*24*365;
        now.setTime(expireTime);
        document.cookie = 'donationButton=' + value + ';expires='+now.toUTCString()+';path=/';
    }
    // 쿠키 값을 반환
    function getCookie(name) {
        var dc = document.cookie;
        var prefix = name + "=";
        var begin = dc.indexOf("; " + prefix);
        if (begin == -1) {
            begin = dc.indexOf(prefix);
            if (begin != 0) return null;
        }
        else
        {
            begin += 2;
            var end = document.cookie.indexOf(";", begin);
            if (end == -1) {
            end = dc.length;
            }
        }
        return decodeURI(dc.substring(begin + prefix.length, end));
    } 

function getToggleDonationIcon() {
  let pref = getCookie('donationButton');

  let result = settings.default_enabled;
  if (pref !== null) {
    result = pref === "true";
  }
  return result;
}

// HTML 코드에 CSS 규칙을 추가합니다
if (getToggleDonationIcon()) {
  let style = document.createElement('style');
  style.innerHTML = ".header-icon-help-fund-servers-fees{ display: none; }";
  document.head.appendChild(style);
}

// 기술적으로는 여기에서 현재 사용자만 수정하면 됩니다
api.modifyClass("model:user", {
  toggleDonationIcon: function() {
    return getToggleDonationIcon();
  }.property()
});

api.modifyClass("controller:preferences/interface", {
  actions: {
    save() {
      this._super();
      // 쿠키 값을 설정 값으로 설정
      if(this.get("model.toggleDonationIcon") != getToggleDonationIcon()) {
        setHideDonationCookie(this.get("model.toggleDonationIcon").toString());
        if(this.get("model.toggleDonationIcon") == false) {
            document.getElementsByClassName("header-icon-help-fund-servers-fees")[0].style.display = "";
        }
        else {
            document.getElementsByClassName("header-icon-help-fund-servers-fees")[0].style.display = "none";
        }
      }
    }
  }
});
</script>

<script type='text/x-handlebars' data-template-name='/connectors/user-preferences-interface/add-selector'>
  {{preference-checkbox labelKey=(theme-prefix 'donation_icon_toggle') checked=model.toggleDonationIcon}} 
</script>

```
