이 아이디어 정말 좋아요! 이 기능을 구현하는 PR을 검토하고 병합하는 데 기꺼이 참여하겠습니다 ![]()
이 아이디어가 정말 마음에 들어요
그래서 조금 테스트해 봤습니다. 훨씬 더 나은 방법이 있다고 생각하지만, 지금은 제 사이트에서 꽤 잘 작동합니다. ![]()
이를 위해 Big Header - Little Header 컴포넌트의 </head> 코드 템플릿을 사용하고 있습니다.
불행히도 iPhone에서는 푸터 네비게이션이 Discourse 탭 바를 완전히 가리기 때문에 제한 사항이 있습니다. 그래서 저는 그 부분을 숨겼습니다.
이 코드를 업데이트했습니다!
이제 코드를 여기에 공유합니다(병합 가능한지 확신은 없어요):
모바일 </head> 섹션에 이 코드를 배치하세요.
<script type="text/discourse-plugin" version="0.8.18">
$(document).ready(function() {
var lastScrollTop = 0;
var body = $("body");
var scrollMax = 30;
$(window).scroll(function() {
var scroll = $(this).scrollTop();
if (lastScrollTop < scroll && scroll > scrollMax && !body.hasClass("tab-bar-hidden")) {
body.addClass("tab-bar-hidden");
} else if (lastScrollTop > scroll && body.hasClass("tab-bar-hidden")) {
body.removeClass("tab-bar-hidden");
}
lastScrollTop = scroll;
});
});
</script>
모바일 CSS 섹션에 이 코드를 배치하세요:
html:not(.anon) {
#topic-progress-wrapper,
#reply-control.draft {
bottom: 49px;
}
#reply-control.draft {
margin-bottom: env(safe-area-inset-bottom);
padding-bottom: 0px;
transition: all .1s ease-out;
}
.posts-filtered-notice {
transition: all .1s ease-out;
bottom: 49px;
}
}
body.tab-bar-hidden {
.d-tab-bar {
bottom: -49px;
transition: all .2s ease-in;
}
#topic-progress-wrapper:not(.docked),
#reply-control.draft {
bottom: 0;
transition: all .2s ease-in;
}
#reply-control.draft {
margin-bottom: env(safe-area-inset-bottom);
padding-bottom: 0px;
transition: all .2s ease-in;
}
.posts-filtered-notice {
transition: all .2s ease-in;
bottom: 0;
}
}
.d-tab-bar {
transition: all .1s ease-out;
}
body:not(.footer-nav-ipad) .footer-nav {
display: none;
}
데모
정말 멋진 걸 만들었네요!
정말 유용한 컴포넌트네요. 감사합니다!
개별 사용자가 이를 커스터마이즈하거나 완전히 숨길 수 있는 방법이 있나요?
정말 좋습니다, @Don님, 감사합니다! 방금 여러분의 코드(약간의 수정을 포함하여)를 컴포넌트에 푸시했습니다.
개별 사용자가 컴포넌트를 커스터마이즈하거나 숨길 수 있는 내장 옵션은 없지만, Discourse 코어에는 개별 사용자가 컴포넌트를 숨길 수 있도록 사용할 수 있는 우회 방법이 있습니다. 이 컴포넌트를 포함하지 않는 메인 테마의 변형을 생성한 후, 사용자가 설정 → 인터페이스에서 해당 변형을 선택할 수 있도록 하면 됩니다.
다음과 같이 보입니다:
이 컴포넌트를 원하지 않는 사용자는 Grey Amber (w/o Tab Bar)를 선택할 수 있습니다. 이 옵션은 Grey Amber와 정확히 동일하게 구성되었지만, 탭 바 컴포넌트가 포함되지 않습니다.
좋은 아이디어네요! 감사합니다!
@Osama님 감사합니다. 정말 멋집니다! ![]()
CSS에서 한 가지 문제를 발견했습니다. Discourse 탭 바가 활성화되면 컴포저가 위로 밀려 올라갑니다.
전체 #reply-control이 아니라 #reply-control.draft에서만 활성화되는 것이 적절하다고 생각합니다.
네, 이제 수정된 것 같습니다. 알려주셔서 감사합니다! ![]()
이 기능에 정말 감사드립니다. 어떤 Discourse 사이트에나 훌륭한 추가 기능입니다. @discoverearth 모든 사용자에게 영구적으로 표시되도록 설정할 수 있었나요?
사용자가 플랫폼을 탐색하는 동안 탭을 클릭하도록 설정하는 방법을 찾고 있습니다. 이 사용 사례에서는 Kanban, Calendar, Voting 플러그인의 탭을 여는 버튼을 설정하려고 합니다.
Kanban:
카테고리 또는 하위 카테고리에 있을 때 URL에 '?board=default’를 추가하면 Kanban 탭(Board)으로 이동합니다. 따라서 이론적으로는 가능합니다. 문제는 이 플러그인이 사용자가 현재 있는 경로가 아니라 루트 기준의 상대 경로를 사용한다는 점입니다.
(홈페이지의 URL 로직이 다르기 때문에 이에 대한 우회책도 찾아야 합니다).
Calendar:
Calendar 탭은 URL 끝에 '/l/calendar’를 추가해야 합니다.
이것은 가능해 보이지만, 사용자가 현재 있는 카테고리/하위 카테고리보다 위에 있는 URL의 모든 텍스트를 삭제해야 합니다. 예를 들어, 사용자가 ‘latest’ 또는 'kanban’으로 이동한 경우, '/l/calendar’를 끝에 추가하기 전에 URL의 해당 부분을 제거해야 합니다.
이 플러그인들과 함께 사용할 수 있다면 정말 좋을 텐데, 어떻게 해야 할지 아이디어가 있는 분이 있을까요? 현재 모바일에서는 탭 선택기가 기본적으로 숨겨져 있는데, Kanban이나 Calendar와 같은 구성 요소를 많이 사용하는 사이트에는 좋지 않은 상황입니다.
이 플러그인은 잘 만든 작품이지만, DiscourseHub(특히 iPhone에서는)와 함께 사용할 수 없습니다. 동일한 위치에 내비게이션 탭을 숨기기 때문에 포럼을 변경할 수 없게 됩니다.
따라서 이 플러그인은 DiscourseHub를 막거나, 포럼 방문 후 앱을 완전히 종료하도록 사용자를 교육하는 등 UX를 크게 해치는 포럼에서만 유용합니다. ![]()
물론 코딩을 할 수 있는 사람은 브라우저 사용 시에만 이 탭 바를 표시하도록 설정할 수 있겠지만, 같은 기기에서 사용자에게 서로 다른 UI를 가르치는 것은 정말 나쁜 아이디어입니다.
이 컴포넌트 사용 시:
순수 DiscourseHub 사용 시:
기본 버전의 상단 메뉴 버튼처럼 알림 버튼에도 빨간색 알림 배지가 표시되기를 원합니다. 어떻게 해야 하는지 힌트를 주실 수 있을까요? 코딩은 잘 못 합니다.
@nildarar, 버튼에 알림 수가 표시되도록 성공하셨나요? 감사합니다.
안녕하세요! 이 개념이 정말 마음에 듭니다. 감사합니다.
한 가지 질문이 있습니다. 웹사이트 다른 부분과 더 일관성을 유지하기 위해, 채워진 버전 대신 아웃라인 버전의 FontAwesome 아이콘을 사용하길 원합니다.
이를 지정하는 방법이 있을까요? 보통 아이콘의 전체 이름, 예를 들어 far fa-star (단순히 star만 입력하는 대신)을 사용하면 이 차이를 구분할 수 있습니다. 하지만 이렇게 아이콘의 전체 이름을 입력하려고 하면 해당 위치에 아무것도 표시되지 않습니다.
이 문제를 해결할 수 있는 방법이 있을까요?
정말 멋지네요. 팔로우 피드를 표시할 탭을 만들 수 있는 방법이 있을까요? 이렇게 하면 사용자가 팔로우하는 모든 사람의 피드를 쉽게 볼 수 있을 것 같습니다.
또한 페이지별로 적용하는 것도 가능한가요?
.user-main .about {
margin-bottom: 0;
color: var(--secondary);
display: none;
}
피드 페이지에만 적용하고 싶습니다.
확인 차원에서 말씀드리자면, Discourse Follow 의 팔로우 피드를 말씀하시는 건 맞나요? 맞다면, 팔로우 피드로 리다이렉트하려는 탭의 설정에서 feed를 경로(세 번째 세그먼트)로 설정하면 됩니다.
네, 맞아요. 감사합니다!
네, 가능합니다. 중간 효과를 얻으려면 아래 설정을 3번째 또는 4번째 탭에서 시도해 보세요.
New, plus, /new-topic




