F NAV - 테마 컴포넌트 컨셉

안녕하세요 :waving_hand:

Discourse Tab Bar for Mobile를 기반으로 한 새로운 테마 컴포넌트를 개발하고 있습니다.

이 테마 컴포넌트는 탭에 함수를 사용할 수 있는 기능을 추가합니다. 이제 이 함수로는 햄버거 메뉴, 알림, 검색을 사용할 수 있습니다.

  • Hamburger: 탭을 클릭하면 햄버거 메뉴가 열립니다.
  • Notifications: 탭에 알림을 표시합니다.
  • Search: 컨텍스트에 기반한 /search를 엽니다.

헤더 아이콘도 수정합니다. 햄버거 메뉴, 사용자 메뉴, 검색 아이콘을 제거하고 사용자 메뉴 프로필 내용을 포함하는 새로운 DMenu 아바타를 추가합니다. 아래로 스크롤하면 주제를 제외하고 모든 곳에서 헤더를 숨겨서 뷰를 최대화합니다.


알림 탭의 벨 아이콘을 무음(Do not disturb)이 활성화되어 있으면 bell-slash로 변경하고 시간을 표시합니다. 또한 리뷰 가능한 항목이 있으면 /review로, 그렇지 않으면 /notifications 페이지로 라우트를 동적으로 변경합니다.


데모는 여기에서 확인하세요: https://discourse.theme-creator.io/theme/Don/f-nav

지금은 이것까지입니다…

어떻게 생각하시나요? 감사합니다 :slightly_smiling_face:

정말 좋아요. 또 잘하셨네요.

채팅 버튼은 어디에 있을까요?

정말 멋져 보입니다! :clap:

알림을 분리한 것은 매우 합리적입니다. Central 테마도 같은 방식을 채택했는데, 사용자 메뉴 접근이 더 쉬워지고 편안해집니다(압도적인 느낌이 덜합니다). 깔끔하고, 필수 링크들이 바로 보입니다. 제 생각에는 UX 측면에서 정말 큰 개선입니다. 좋습니다.

메뉴 안의 링크에 대해:

  • "Summary"라는 단어를 "Profile"로 바꾸는 것을 추천합니다. 이 맥락에서 이해하기가 더 쉽습니다.
  • "Activity"는 도움이 되지 않습니다. 대신 "Messages"로 바꾸는 것이 좋습니다. 받은 편지함으로 바로 접근할 수 있는 것은 필수입니다.
  • "Bookmark"도 추가되면 좋을 것 같습니다.

하단 패널은 확신이 서지 않습니다. :thinking:
아마도 하단을 보는 데 익숙하지 않은 것 같습니다.

  • 알림 버튼은 프로필로 이동하는 대신 오른쪽 패널을 열어야 합니다. 알림을 빠르게 확인하고 싶을 때 더 적합한 뷰이며, 알림과 무관한 추가 콘텐츠가 없습니다.

햄버거 메뉴가 열릴 때 짧은 깜빡임 효과가 있습니다.

피드백이 도움이 되길 바랍니다. :+1:

피드백 감사합니다 :hugs:

음, 저는 F NAV 안에 메시지 및 채팅을 포함하는 멀티 탭을 만들고 싶습니다. 모바일 앱 폴더와 비슷한 개념이죠. 그러면 안에 무엇이 있는지 보고, 예를 들어 DMenu에서 열 수 있습니다. 열지 않을 때는 통합된 읽지 않음 표시를 보이지만, 열면 개별 읽지 않음 배지가 표시됩니다. Arkshine님이 언급했듯이 메시지는 우선순위가 높아야 하므로, 메시지를 보기 위해 모달로 열리도록 할 것입니다.


훌륭한 아이디어들입니다! 위에서 언급했듯이 메시지는 F NAV에 있어야 한다고 생각하지만, 사용자 정의가 가능할 것입니다. :thinking:


여기서의 원래 아이디어는 읽지 않은 알림이 있으면 필터를 '읽지 않음’으로 설정하여 알림으로 리다이렉트하고, 없으면 필터 없이 전체 알림으로, 검토 가능한 알림이 있으면 검토 페이지로 이동하는 것이었습니다. 그런데 제가 추가하는 것을 잊어버렸네요 :sweat_smile: 모바일에서는 페이지 리다이렉트가 더 편리하다고 생각합니다… 하지만 제가 틀렸을 수도 있습니다 :thinking:

수정: 추가했습니다. 이제 읽지 않은 알림이 있으면 /u/username/notifications?filter=unread로 리다이렉트됩니다.


음, 그렇네요. 햄버거 메뉴를 외부 클릭으로 닫을 때 애니메이션이 제대로 추가되지 않는 것 같습니다. 스와이프로 닫으면 잘 작동하는데, 아마 그래서 제가 눈치채지 못했던 것 같습니다. :thinking:

감사합니다 :slightly_smiling_face:

훌륭한 작업이네요. 컴포넌트 감사합니다. 시도해 보겠습니다.

특히 모바일 헤더 섹션에서 더 단순해진 외관을 갖추게 되었습니다. 이 모습이 마음에 듭니다. 그곳의 혼잡함이 사라지고 더 깔끔한 인상을 줍니다. 가장 잘 알려진 애플리케이션들도 현재 이 방식으로 사용하고 있습니다. 예를 들어: x.com. 추가할 수 있을 것 같은 기능들을 몇 가지 제안합니다:

  • 위젯에 새 주제(New topic) 버튼을 추가할 수 있습니다.
  • 게시글을 클릭하여 진입했을 때, 홈 버튼 대신 뒤로 가기 아이콘을 표시할 수 있습니다. 사용자가 이 아이콘을 클릭하면 마지막으로 있던 곳으로 돌아갈 수 있습니다.
  • 게시글을 클릭했을 때, 홈 페이지에서 선택된 활성 버튼의 스타일을 변경할 수 있습니다. 예를 들어 투명하게 처리할 수 있습니다.
  • 홈 페이지 아이콘에 읽지 않은 메시지 수를 표시할 수 있습니다. 이 부분은 확신이 없습니다. 화면이 더 복잡해 보일 수 있기 때문입니다. 또는 대안으로:

@Don

카테고리에 대한 단축키를 정의할 수 있을까요?
하단에 특수 카테고리를 위한 아이콘을 배치해 보고 싶습니다.
사이드바의 카테고리 단축키처럼 업데이트되었거나 새로운 주제에 대한 표시를 보여줄 수 있어야 합니다.

피드백 감사합니다 @ozkn :slight_smile:
토픽 라우트에서 홈 아이콘 변경 사항과 새로 생성되거나 업데이트된 토픽을 나타내는 점(dot) 표시기를 추가했습니다. 고정된 새로 생성되거나 업데이트된 토픽 테마 컴포넌트도 추가하는 것이 좋을 것 같습니다… 또한 알림 배지의 위치와 크기(크기를 줄이고 숫자를 굵게)도 변경했습니다.

@Don, 정말 잘하셨습니다. 정말 훌륭한 테마 컴포넌트입니다. 안드로이드에서 스와이프가 잘 작동하지 않는 문제를 발견했는데, 특히 PWA에서 더 두드러집니다. 이는 디스코urs가 아니라 특정 휴대폰에 고유한 문제일 수 있지만, 그럼에도 불구하고 존재하는 문제입니다. 이 플러그인은 그 격차를 메워주며, 특히 iOS에서 유용합니다. F NAV 바에 여유 공간이 있으므로, 여기에 또 다른 Nav 항목을 추가할 여지가 있는 것 같습니다.

F는 무엇을 의미합니까?

Footer일 것 같네요? :wink:

멀티 탭에 대한 아이디어입니다. 탭 아이콘은 변경할 것 같지만, 이건 그냥 첫 번째 버전입니다. 채팅과 메시지를 포함하고 있습니다. 채팅은 헤더의 채팅 아이콘과 동일하게 작동하며, 메시지는 메시지 모달을 엽니다. 채팅이 비활성화되면 DMenu도 비활성화되고, 내비게이션에는 메시지만 표시될 것으로 보입니다.

채팅이 활성화된 경우:

좋아요. 바로 사용해보고 싶어요.

사용자가 로그인되어 있지 않으면 아무것도 바뀌지 않죠?

안녕하세요 :wave: 여기서 조금씩 진행되고 있습니다… 알림 버블을 만들고, 알림 개수에 대한 조정을 하며 그 외 몇 가지 작업을 했습니다. :slightly_smiling_face:

이제 채팅이 활성화되어 있지 않거나 사용자가 설정에서 채팅을 꺼둔 경우, 멀티 탭이 자동으로 메시지 탭으로 변경됩니다. 하지만 이제 관리자는 메시지 탭과 채팅 탭을 별도로 추가할 수도 있습니다.

알림 버블은 긴급한 정도에 따라 색상이 변합니다.

멀티 탭의 긴급 알림은 녹색이며, 아래처럼 보입니다. :arrow_down_small:

펼친 상태


개인 메시지는 항상 녹색이지만, 채팅은 예를 들어 읽지 않은 채널 메시지 알림처럼 원래처럼 파란색일 수 있습니다.

펼친 상태


단일 알림

안녕하세요 :wave:

여기서 업데이트가 조금 더 진행되었습니다… 탭 활성 상태를 재구성했는데, 이제 동적 탭 목적지와 함께 더 잘 작동합니다.

수정했습니다… 감사합니다 :slightly_smiling_face:

이제는 옵션으로 제공되며, 관리자가 선호하는 방식을 선택할 수 있습니다.
notificationToRoute: 알림 페이지로 리디렉션합니다
notificationMenu: 알림 메뉴를 엽니다


이 변경 사항을 테마 제작기에 추가했으니, 이제 다음과 같이 작동합니다.

잘하셨네요 @Don. 이 F NAV 테마 컴포넌트가 당신 것이 아니라는 걸 알지만, 검색 창이 열릴 때 닫을 수 있는 X 버튼이 있으면 좋겠습니다. 제가 놓치고 있는 건지 모르겠지만, 그럴 수도 있습니다. 검색 아이콘을 클릭한 후 검색을 하지 않기로 결정하면, 창을 깔끔하게 닫을 방법이 없습니다.

Brian님, 안녕하세요 :wave: 정확히 어떤 말씀이신지 잘 모르겠습니다. 검색 아이콘을 누르면 /search 페이지로 리다이렉트되므로, 브라우저/모바일 내비게이션 또는 제스처를 이용해 뒤로 갈 수 있습니다.


다시 업데이트합니다… 헤더 아이콘을 삭제하지 않고 CSS로 숨기는 것으로 결정했습니다. 어제 햄버거 메뉴 열기 애니메이션을 수정하던 중, 이 방식이 더 쉽고 깔끔하며 안전하다고 생각하게 되었습니다. 이렇게 하면 기본 헤더 아이콘의 클릭 이벤트를 트리거할 수 있기 때문입니다. 이제 햄버거 메뉴, 알림 메뉴, 검색이 이 방식으로 작동합니다. 기본 헤더 채팅 아이콘도 CSS로 숨겨져 있는데, /chat 페이지에서는 헤더에 표시되도록 되어 있습니다.

설정을 최대한 단순하게 만들려고 노력하고 있습니다.
4개의 필드가 포함되며, 설명은 아직 빠져 있습니다. 대상(Destination)은 선택 사항입니다. 기능을 선택하면 필요한 항목이 포함되므로 이 필드는 비워 두시면 됩니다.

관리자는 탭을 쉽게 생성/삭제/변경하고, 기능 중 하나를 선택하거나 탭에 사용자 지정 대상을 추가할 수 있습니다.
기능 :arrow_down_small:

예를 들어, 주제 생성 탭을 추가하는 것은 다음과 같이 간단합니다.


Screenshot 2024-12-12 at 18.55.50

@Don, 내 발언이 좀 불분명한 것 같아. :confused: 내 코멘트는 당신의 컴포넌트와 전혀 관련이 없어. 검색 인터페이스를 열었거나 실수로 클릭한 후 검색을 진행하지 않기로 결정했을 때 닫을 수 있는 ‘x’ 버튼이 있으면 유용할 것 같아. 나는 종종 실수로 페이지나 디스코르스를 벗어나게 돼. :exploding_head:

정말 멋져, 직접 써보고 싶어 죽겠다!

테마 컴포넌트가 준비되었습니다 :tada:
모두 감사합니다 :hugs:

이전과 비슷한 문제입니다: DiscourseHub를 사용하는 것이 정말 어렵습니다. 지금은 브라우저와 PWA에서만 사용할 수 있습니다.

저한테는 DiscourseHub에서 잘 작동합니다.