F NAV - 移动端导航选项卡

嗨 @Don,再次感谢 F NAV,它一直是我们社区移动端体验中移动布局的支柱。

我 fork 了它,以便适配一些我们需要的功能。如果你认为这些更改适合放入组件中,我很乐意以 PR 的形式提交,或者你也可以直接采纳这些代码:

1. /chat 中的 F NAV,替代聊天页脚
导航栏不再在全屏聊天页面中隐藏自身,而是保留显示,同时隐藏聊天页面自带的页脚(.c-footer)。其标签页(频道、私信、主题串、星标、搜索)在聊天侧边栏中也可用。

为了在聊天界面下方留出空间,导航栏在 /chat 页面上设置了 core 的 footer-nav-visible 类(仅由导航栏自行添加和移除,以确保 core 的 PWA 导航栏保留其自身状态),并将 --footer-nav-height 设置为导航栏的高度。core 的 chat-height mixin 已经减去了该高度。当键盘弹出时,导航栏会暂时隐藏。

此外,它在移动端全屏聊天页面中恢复了头部的侧边栏按钮,因为聊天插件通常会隐藏该按钮,而此处页脚的标签页位于侧边栏中。

2. 离开聊天,类似 AI 机器人标签页
在聊天内部,打开聊天的标签页会显示 shuffle 图标,并返回到 lastKnownAppURL,这与 AI 机器人标签页从其对话中返回的行为一致。

该标签页可以是“聊天”标签页、“多任务”标签页,或者是指向 /chat 的自定义标签页。此行为实现在 f-nav-item 中,因为标签页自身的点击处理程序会优先于内部图标的链接。

3. 撰写标签页
这是一个新的 compose 函数,指向 /new-topic 的自定义标签页也会触发它:

  • 在用户可以发布回复的主题中,它显示 reply 图标并打开回复编辑器(使用 composer.focusComposer({ topic }),以便草稿像往常一样重新打开)。
  • 在其他所有位置,它会打开一个新主题,并预选当前类别(使用 composer.openNewTopic)。

每项更改都很小且独立,因此可以分别合并。只需告诉我你希望将哪些更改作为 PR 提交,我就会针对 main 分支创建 PR。

***一个问题:*该仓库尚未指定许可证。你是否考虑添加一个许可证,以便明确 fork 和贡献的相关事宜?

希望这能帮到你!

2 个赞