# 수신 이메일 모달 비활성화 방법

**URL:** https://meta.discourse.org/t/how-to-disable-incoming-email-modal/286868
**Category:** Development
**Created:** [11월 28, 2023, 6:12오후 UTC](https://meta.discourse.org/t/how-to-disable-incoming-email-modal/286868 "2023-11-28T18:12:56Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![kynic](https://avatars.discourse-cdn.com/v4/letter/k/b487fb/32.png) [@kynic](https://meta.discourse.org/u/kynic)
#### Post date: [11월 28, 2023, 6:12오후 UTC](https://meta.discourse.org/t/how-to-disable-incoming-email-modal/286868/1 "2023-11-28T18:12:57Z")

</div>

이 이메일 아이콘을 클릭할 수 없게 하려면 어떻게 해야 하나요?

![image](https://global.discourse-cdn.com/meta/original/4X/f/a/e/faed60ee74b77e2ba23909367f4bd691ca15a216.png)

이 수신 이메일 모델을 비활성화하려면 어떻게 해야 하나요?

 ![Screenshot 2023-11-28 233500](https://global.discourse-cdn.com/meta/original/4X/2/e/9/2e9e4d3afd62130bea8fe680d1ecebf37ea13c5b.png)

그리고 이 기능을 비활성화하려면 어떻게 해야 하나요?

 ![Screenshot 2023-11-28 233911](https://global.discourse-cdn.com/meta/original/4X/c/9/f/c9f27acddcaf83b92ccf94a621f15ac94c756998.png)

---

<div class="post-metadata">

### Author: ![Firepup650](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/firepup650/32/465200_2.png) [@Firepup650](https://meta.discourse.org/u/Firepup650)
#### Post date: [11월 28, 2023, 8:43오후 UTC](https://meta.discourse.org/t/how-to-disable-incoming-email-modal/286868/2 "2023-11-28T20:43:22Z")

</div>

> [@kynic](#):
>
> 이 이메일 아이콘을 클릭 불가능하게 만드는 방법은 무엇인가요?

오늘 알게 된 사실은, 그 아이콘이 클릭 가능하다는 것입니다.

---

<div class="post-metadata">

### Author: ![kynic](https://avatars.discourse-cdn.com/v4/letter/k/b487fb/32.png) [@kynic](https://meta.discourse.org/u/kynic)
#### Post date: [11월 28, 2023, 8:51오후 UTC](https://meta.discourse.org/t/how-to-disable-incoming-email-modal/286868/3 "2023-11-28T20:51:26Z")

</div>

하하, 진짜 짜증나네 😂

그리고 생일 축하해! 😄 ⭐

---

<div class="post-metadata">

### Author: ![Firepup650](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/firepup650/32/465200_2.png) [@Firepup650](https://meta.discourse.org/u/Firepup650)
#### Post date: [11월 28, 2023, 8:54오후 UTC](https://meta.discourse.org/t/how-to-disable-incoming-email-modal/286868/4 "2023-11-28T20:54:07Z")

</div>

> [@kynic](#):
>
> 하하, 그래, 좀 짜증나네 😆

스태프 전용인 것 같아. 스태프 권한이 없는 다른 포럼에서 확인해 봤는데, 그 아이콘을 클릭할 수 없었거든. (적어도 내 폰에서는)

> [@kynic](#):
>
> 그리고 생일 축하해 😁 🌟

고마워! (다만 시차 때문에 아직 여기서는 생일이 아닌데 🙃)

---

<div class="post-metadata">

### Author: ![kynic](https://avatars.discourse-cdn.com/v4/letter/k/b487fb/32.png) [@kynic](https://meta.discourse.org/u/kynic)
#### Post date: [11월 28, 2023, 8:59오후 UTC](https://meta.discourse.org/t/how-to-disable-incoming-email-modal/286868/5 "2023-11-28T20:59:02Z")

</div>

> [@Firepup650](#):
>
> 스태프 전용인 것 같습니다. 제가 스태프 권한이 없는 다른 포럼에서 확인해 봤는데, 아이콘을 클릭할 수 없었거든요. (적어도 제 폰에서는요)

꼭 봐야겠네요. 알려주셔서 감사합니다. 😀

> [@Firepup650](#):
>
> 감사합니다! (다만 시간대 차이도 좀 있어서, 제 지역에서는 아직 생일이 아니에요 🙃)

여기서는 님 이름 옆에 케이크 아이콘이 떠 있네요 하하. 아무튼 미리 생일 축하드립니다. 이 말을 처음 한 사람인 것 같네요 😂

---

<div class="post-metadata">

### Author: ![kynic](https://avatars.discourse-cdn.com/v4/letter/k/b487fb/32.png) [@kynic](https://meta.discourse.org/u/kynic)
#### Post date: [11월 28, 2023, 10:35오후 UTC](https://meta.discourse.org/t/how-to-disable-incoming-email-modal/286868/6 "2023-11-28T22:35:27Z")

</div>

> [@kynic](#):
>
> ![Screenshot 2023-11-28 233500](https://global.discourse-cdn.com/meta/original/4X/2/e/9/2e9e4d3afd62130bea8fe680d1ecebf37ea13c5b.png)

아, 이건 관리자만 볼 수 있는 것이니 문제가 없어요.

> [@kynic](#):
>
> ![Screenshot 2023-11-28 233911](https://global.discourse-cdn.com/meta/original/4X/c/9/f/c9f27acddcaf83b92ccf94a621f15ac94c756998.png)
> 
> Screenshot 2023-11-28 233911791×166 7.74 KB

어쨌든, 저처럼 이것을 비활성화하고 싶지만 방법을 찾지 못하는 사람이 있다면, GPT를 이용해 이렇게 해봤는데 아주 잘 작동했습니다 🙂

```plaintext
<script type="text/discourse-plugin" version="0.8">
  api.onPageChange((url, title) => {
    // 페이지가 완전히 로드될 때까지 대기
    Ember.run.scheduleOnce('afterRender', function() {
      // 클래스가 "elided"인 모든 details 요소 찾기 및 제거
      var elidedDetailsList = document.querySelectorAll('details.elided');
      elidedDetailsList.forEach(function(elidedDetails) {
        elidedDetails.remove();
      });
    });
  });
</script>

```

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [11월 29, 2023, 3:20오후 UTC](https://meta.discourse.org/t/how-to-disable-incoming-email-modal/286868/7 "2023-11-29T15:20:22Z")

</div>

kynic님, 안녕하세요.

`onPageChange`는 사용 범위가 너무 넓을 수 있으며(게시물을 로드하거나 업데이트할 경우 신뢰할 수 없을 수 있음), 대신 `decorateCookedElement`를 사용할 수 있습니다. 이 함수는 모든 게시물의 cooked 요소에 대해 호출됩니다.

추가적으로, 이메일 표시기를 비활성화하는 방법도 소개합니다. 이는 단순히 HTML을 포함하지 않도록 하는 해킹(hack) 방식입니다. 궁금하시다면 원본 코드를 [여기](https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/widgets/post.js#L338-L340)에서 확인하실 수 있습니다.

```js
<script type="text/discourse-plugin" version="0.8">
    api.reopenWidget("post-meta-data", {
        html(attrs) {
            if (!attrs.via_email) {
                return this._super(attrs);
            }
          
            // "post-email-indicator" 위젯을 생성하지 않습니다.
            attrs.via_email = false;
            const html = this._super(attrs);
            attrs.via_email = true;
          
            return html;
        }
    })

    api.decorateCookedElement((element, helper) => {
        if (helper?.getModel().via_email) {
            element.querySelector('details.elided').remove();
        }
        
    }, { onlyStream: true });
</script>

```

CSS만 사용하여 이를 _숨기는_ 방법도 있습니다.

```css
.post-info.via-email,
.cooked details.elided {
    display: none;
}

```

---

<div class="post-metadata">

### Author: ![kynic](https://avatars.discourse-cdn.com/v4/letter/k/b487fb/32.png) [@kynic](https://meta.discourse.org/u/kynic)
#### Post date: [11월 29, 2023, 4:47오후 UTC](https://meta.discourse.org/t/how-to-disable-incoming-email-modal/286868/8 "2023-11-29T16:47:54Z")

</div>

감사합니다 😀

이메일 아이콘이 표시되기를 원하므로 게시물 메타데이터 부분을 제거했습니다. 🙂

현재 콘텐츠 제거와 혹시 모를 상황에 대비하여 CSS로 숨기기 위해 다음 코드를 사용하고 있습니다.

```plaintext
<script type="text/discourse-plugin" version="0.8">
    api.decorateCookedElement((element, helper) => {
        if (helper?.getModel().via_email) {
            element.querySelector('details.elided').remove();
        }
        
    }, { onlyStream: true });
</script>

```

```plaintext

.cooked details.elided {
    display: none;
}

```

이 코드 감사합니다 🚀 😊

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [11월 29, 2023, 5:00오후 UTC](https://meta.discourse.org/t/how-to-disable-incoming-email-modal/286868/9 "2023-11-29T17:00:58Z")

</div>

천만에요 🙂

그리고 맞아요. 스태프만 아이콘을 클릭할 수 있네요! 제 실수였어요. 😄

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [11월 29, 2023, 5:20오후 UTC](https://meta.discourse.org/t/how-to-disable-incoming-email-modal/286868/10 "2023-11-29T17:20:35Z")

</div>

잘했어요 🙂

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [12월 29, 2023, 5:21오후 UTC](https://meta.discourse.org/t/how-to-disable-incoming-email-modal/286868/11 "2023-12-29T17:21:03Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
