모바일 사용자를 위한 새 주제 편집 영역이 작습니다

안녕하세요, 모바일 기본 화면에서 빨간색 테두리로 표시된 영역을 표시하지 않는 것이 가능한지 궁금합니다.
어떤 파일/부분을 수정해야 하나요?
감사합니다.

현재 겪고 있는 주요 문제는 휴대폰 및/또는 브라우저의 확대 수준/텍스트 크기입니다.

제 Pixel 6a(작은 폰!)에서 귀하에게 답글을 쓸 때 화면은 다음과 같습니다.

햄버거 버튼을 눌러 도구 모음을 숨길 수 있습니다.

하지만… 더 있습니다 :wink:

  • 이미지에서 빠른 편집이 작동하지 않아요 :man_facepalming: 그래서: of = if

OP의 스크린샷은 주제 편집인 것 같고, 주제 제목, 카테고리, 태그 입력창도 답변에 비해 추가 공간을 차지합니다.

답변해준 건 괜찮은데, 새 토픽은 좀 작아.

더 많은 논의가 이루어지고 있는 기존 Contribute > UX 토픽도 있으니, 의견을 추가하고 싶으시면 아래를 참고해 주세요:

오른쪽 상단의 버거 아이콘(수평 3개 선)을 클릭하여 포맷팅 툴바(빨간색 테두리 영역)를 숨길 수 있습니다.

네, 맞습니다. 하지만 모든 신규 사용자가 이를 아는 것은 아닙니다. 그래서 UX 문제가 될 수 있습니다.

아래의 작은 스크립트를 시도해 볼 수 있습니다. Head 탭에서 테마나 새 컴포넌트 HTML에 추가하세요.

다음 조건을 만족할 때 툴바를 숨깁니다:

  • 새 주제 / 주제 첫 번째 게시물 편집 / 주제 초안
  • 모바일 뷰
  • 사용자가 저장된 설정이 없는 경우. [1]

이 코드는 사용자의 설정을 변경하지 않습니다.

<script type="text/discourse-plugin" version="0.8">

const { on, observes } = require("discourse-common/utils/decorators");

const serviceComposer = api.container.lookup("service:composer");

function canUpdateToolbar(context) {
  return (
    // 새 주제 / 첫 번째 게시물 편집 / 주제 초안
    context._isNewTopic &&
    // 툴바가 숨겨져 있지 않음
    context.showToolbar &&
    // 모바일 뷰만 해당
    context.site.mobileView &&
    // 사용자 설정을 무시하지 않음
    context.keyValueStore.get("toolbar-enabled") === undefined
  );
}

function updateShowToolBar(value) {
  serviceComposer._wasToolbarEnabled = !value;
  // 사용자 브라우저에 상태를 기억하지 않고 툴바를 숨깁니다.
  serviceComposer._toolbarEnabled = value;
  // 계산된 getter를 새로고침
  serviceComposer.notifyPropertyChange("showToolbar");
}

api.modifyClass("component:composer-editor", {
  pluginId: "composer-editor-toolbar",

  @observes("composer.action")
  _composerSwitchAction() {
    // 컴포저를 닫지 않고 답변에서 새 주제로 전환되는 상황을 처리합니다.
    if (canUpdateToolbar(this)) {
      updateShowToolBar(false);
    }
  },

  @on("didInsertElement")
  _composerEditorInit() {
    this.appEvents.one(`${this.composerEventPrefix}:will-open`, () => {
      if (canUpdateToolbar(this)) {
        updateShowToolBar(false);
      }
    });

    this._super(...arguments);
  },

  @on("willDestroyElement")
  _composerClosed() {
    this._super(...arguments);

    // 툴바가 수동으로 숨겨진 경우 복원합니다.
    if (serviceComposer._wasToolbarEnabled) {
      updateShowToolBar(true);
    }
  },
});
</script>

  1. 사용자가 토글을 한 번 클릭하면 브라우저가 상태를 기억합니다 ↩︎

Arkshine님, 답변 감사합니다.
테마의 head 탭에 추가했는데 작동하지 않습니다.
잘못된 방법으로 한 건가요?

그걸 어디에서 필요한가요? 햄버거 버튼을 탭하면 네이티브로 처리됩니다 — 적어도 iPhone에서는요.

그러면 텍스트와 인터페이스 크기를 너무 크게 설정해서 웹사이트가 충분히 표시되지 않는다면, 이건 Chrome/Safari의 문제이고 Google/Apple의 탓이라는 거예요?! :rofl:

전화기에서 인터페이스 설정만 변경하면 끝이에요!

Such a tiny window to edit here on a cell phone 에서 이미 많이 반복된 내용을 논의하고 있는 것 같습니다.

이곳의 논의를 종료하고, 해당 스레드에서 집중적으로 논의하도록 하겠습니다.