# F NAV - Theme component concept

**URL:** https://meta.discourse.org/t/f-nav-theme-component-concept/340226
**Category:** Development
**Created:** [December 3, 2024, 9:59pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226 "2024-12-03T21:59:05Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [December 3, 2024, 9:59pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/1 "2024-12-03T21:59:06Z")

</div>

Hello 👋

I am working on a new theme component based on [Discourse Tab Bar for Mobile](https://meta.discourse.org/t/discourse-tab-bar-for-mobile/75696).

The theme component adds the ability to use functions to the tabs. These function now can be hamburger, notifications, search.

- Hamburger: tab opens hamburger menu
- Notifications: adds notifications to the tab
- Search: opens context based `/search`

It also modifies the header icons. Removes hamburger, user-menu, search and adds a new DMenu avatar which contains the user menu profile content. When you scroll down it hides everywhere except in topic the header to maximize the view.

 ![The image shows a screenshot of a mobile application's user profile with various theme settings options and recent posts. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/4/a/b/4ab08e15f1330dfe80e59ccde79a93e9aed90c58.jpeg)

* * *

It change the notification tab bell icon to bell-slash if do not disturb is active and adds the time. It also dynamically change the route if there is reviewable then it redirect to `/review` otherwise it goes to `/notifications` page.

 ![A screenshot of a Theme Creator app displaying various topics such as "A basic guide on writing a basic guide," "Seamus the surfer dog," and "Narnia Holiday Pics." (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/7/1/d/71daef284590dca0dcdf1bf3a627d8e9af8a0a6a.jpeg)

* * *

Here is the demo: [https://discourse.theme-creator.io/theme/Don/f-nav](https://discourse.theme-creator.io/theme/Don/f-nav)

That’s it right now…

What do you think? Thanks 🙂

---

<div class="post-metadata">

### Author: ![David\_Ghost](https://avatars.discourse-cdn.com/v4/letter/d/c37758/32.png) [@David\_Ghost](https://meta.discourse.org/u/David_Ghost)
#### Post date: [December 3, 2024, 10:38pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/2 "2024-12-03T22:38:43Z")

</div>

I love it. Nice job again.

Where will be the chat button?

---

<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: [December 4, 2024, 4:16am UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/3 "2024-12-04T04:16:50Z")

</div>

This looks really nice! 👏

Separating the notifications makes a lot of sense. The Central theme does the same, making the user menu easier to access and comfortable (feels less imposing). It’s straight, and you have the essential links. This is such a big UX improvement IMO, love it.

About the links inside the menu:

- I would replace the word “Summary” with “Profile”; it’s easier to understand in this context.
- “Activity” is not super helpful; I would replace it with “Messages” instead. Direct access to your inbox is a must-have.
- I think a “Bookmark” would be welcome too.

I’m not sure about the bottom panel. 🤔  
I guess I’m not used to looking at the bottom.

- The notification button should open the right panel instead of going to the profile. The view is more suited when you want to take a fast look, and you don’t have extra content unrelated to the notification.

The hamburger menu opens with a brief blink effect.

I hope the feedback helps. 👍

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [December 4, 2024, 6:16am UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/4 "2024-12-04T06:16:45Z")

</div>

Thanks for the feedbacks 🤗

> [@David\_Ghost](#):
>
> Where will be the chat button?

Well, I would like to create a multi-tab in the F NAV which contains the messages and chat. Just something like on mobile phone app folders. So you’ll see what’s in there and can open it in a DMenu for example. It separately shows the unread badges when it opens otherwise you see a consolidated unread indicator. The messages should have priority as Arkshine mentioned so it would opens in a modal to view messages.

* * *

> [@Arkshine](#):
>
> About the links inside the menu:
> 
> - I would replace the word “Summary” with “Profile”; it’s easier to understand in this context.
> - “Activity” is not super helpful; I would replace it with “Messages” instead. Direct access to your inbox is a must-have.
> - I think a “Bookmark” would be welcome too.

Great ideas! I think messages should be in F NAV as I mentioned above, but I think it will be customizable. 🤔

* * *

> [@Arkshine](#):
>
> The notification button should open the right panel instead of going to the profile. The view is more suited when you want to take a fast look, and you don’t have extra content unrelated to the notification.

The original idea here was to redirect users to notifications with filter unread if there is unread notification and goes to all without filter if there isn’t and goes to review page if there is reviewable notification. But I forget to add it 😅 I think it’s more comfortable on mobile to redirect the page… But maybe I am wrong with it 🤔

Edit: I’ve added it. Now it redirect to `/u/username/notifications?filter=unread` if there is unread notification.

* * *

> [@Arkshine](#):
>
> The hamburger menu opens with a brief blink effect.

Hmm yeah it seems it doesn’t add the animation correctly if you close hamburger menu with click outside. Closing with swipe works fine, I think this is why I didn’t noticed it. 🤔

Thanks 🙂

---

<div class="post-metadata">

### Author: ![ozkn](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ozkn/32/196013_2.png) [@ozkn](https://meta.discourse.org/u/ozkn)
#### Post date: [December 4, 2024, 11:12am UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/5 "2024-12-04T11:12:28Z")

</div>

Great job thanks for the component I will try it.

It has gained a simpler appearance especially in the header section on mobile. I like it like this, the crowd there is gone and there is a simpler look. Most well-known applications now use it this way, for example: [x.com](http://x.com). Features I see that can be added:

- New topic button can be added to the widget
- When I click on a post and enter it, instead of the home button, there can be a go back icon. When the user clicks on this icon, they can go to the last place they left off.
- When I click on a post, the homepage selected active button can change. It can be transparent.
- There could be the number of unread messages on the homepage icon. I am not sure about this, it may make it look more crowded or alternative:  
 ![Screenshot_20241204_142920](https://global.discourse-cdn.com/meta/original/4X/5/d/d/5dd107a911627028fb93a8b293addc0fad86afc3.jpeg)

@Don

---

<div class="post-metadata">

### Author: ![thoka](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thoka/32/115652_2.png) [@thoka](https://meta.discourse.org/u/thoka)
#### Post date: [December 4, 2024, 8:31pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/6 "2024-12-04T20:31:35Z")

</div>

Is it possible to define shortcuts to categories?  
I would love to try to have icons for special categories at the bottom.  
They should be able to display indicators about updated or new topics, as the category shortcuts in the sidebar.

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [December 4, 2024, 9:41pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/7 "2024-12-04T21:41:45Z")

</div>

Thanks for the feedback @ozkn 🙂  
I’ve added the home icon change on topic routes and the new or updated topic dot indicator. It’ll be probably a good idea to add the sticky new or updated topic theme component… I changed the notification badge position and size (made it smaller and the number bolder) too.

---

<div class="post-metadata">

### Author: ![BrianC](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/brianc/32/487568_2.png) [@BrianC](https://meta.discourse.org/u/BrianC)
#### Post date: [December 4, 2024, 10:13pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/8 "2024-12-04T22:13:04Z")

</div>

Beautiful job @Don. Really great theme component. I have discovered some issues on Android where swiping does not work well, especially in PWA. It may be specific to the phones and not Discourse but exists non the less so this bridges that gap, especially for IOS. Seems like there is room for another Nav item with the available room on F NAV bar.

---

<div class="post-metadata">

### Author: ![denvergeeks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/denvergeeks/32/327671_2.png) [@denvergeeks](https://meta.discourse.org/u/denvergeeks)
#### Post date: [December 5, 2024, 1:35am UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/9 "2024-12-05T01:35:16Z")

</div>

What does F stand for?

---

<div class="post-metadata">

### Author: ![chapoi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chapoi/32/537252_2.png) [@chapoi](https://meta.discourse.org/u/chapoi)
#### Post date: [December 5, 2024, 7:04am UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/10 "2024-12-05T07:04:47Z")

</div>

I’m guessing **F** ooter? 😉

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [December 6, 2024, 9:15am UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/11 "2024-12-06T09:15:06Z")

</div>

> [@Don](#):
>
> I would like to create a multi-tab

This is the idea for multi tab. I will change the tab icon I think but this is just the first version of it. It is contains the chat and messages. The chat works just like the header chat icon and the messages is opens a messages modal. It probably will work if chat disabled then DMenu will be disable too and only messages be on nav.

If chat enabled:

 ![The image shows a pop-up with icons for email and chat, suggesting a user interface for communication. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/2/8/f/28fa7324b42d65df134882d3e2b6701fe7b16709.jpeg)

---

<div class="post-metadata">

### Author: ![David\_Ghost](https://avatars.discourse-cdn.com/v4/letter/d/c37758/32.png) [@David\_Ghost](https://meta.discourse.org/u/David_Ghost)
#### Post date: [December 6, 2024, 5:09pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/12 "2024-12-06T17:09:47Z")

</div>

Nice. I can’t wait to start using it.

When the user is not logged in, nothing changes, right?

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [December 10, 2024, 3:02pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/13 "2024-12-10T15:02:37Z")

</div>

Hello 👋 Some progress here… I made the notifications bubbles, made some adjustment on number notifications and some other… 🙂

Multi tab is change now automatically to message tab if chat is not enabled or user turn it off in user settings. But now admins can add separately the message and chat tab too.

The notifications bubble changes as it is urgent or not.

Multi tab urgent notifications are green and looks like this. 🔽

 ![Screenshot 2024-12-10 at 15.41.45](https://global.discourse-cdn.com/meta/original/4X/3/5/0/350d5d7c2ad42a908e6d52ca7905f74099ef3ca5.png)

Expanded

 ![Screenshot 2024-12-10 at 15.41.59](https://global.discourse-cdn.com/meta/original/4X/2/d/b/2db8944bdfba7b8b192be31c3cbe34ff0633c196.png)

* * *

Personal message is always green but chat can be blue as originally for example unread channel message notification.

 ![Screenshot 2024-12-10 at 15.42.41](https://global.discourse-cdn.com/meta/original/4X/5/5/5/555568bf6702595c24927f69dc4d0a9de4d9c693.png)

Expanded

 ![Screenshot 2024-12-10 at 15.42.53](https://global.discourse-cdn.com/meta/original/4X/d/c/e/dcee214b56d58456e4bc82d5d93437b4bc706e19.png)

* * *

Single notification

 ![Screenshot 2024-12-10 at 15.43.25](https://global.discourse-cdn.com/meta/original/4X/9/2/1/92193ac9241400b37e10403bf4f55fa46aa23628.png)

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [December 11, 2024, 5:44pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/14 "2024-12-11T17:44:26Z")

</div>

Hello 👋

Some more update here… I’ve rebuild the tabs active state, now it works better with dynamic tab destinations too.

> [@Arkshine](#):
>
> The hamburger menu opens with a brief blink effect.

I’ve fixed it… Thanks 🙂

> [@Arkshine](#):
>
> The notification button should open the right panel instead of going to the profile.

Now this is an option and admins can choose which one preferred.  
`notificationToRoute`: redirects to notifications page  
`notificationMenu`: opens notification menu

* * *

I’ve added these changes to the theme creator, so now it works like this.

---

<div class="post-metadata">

### Author: ![BrianC](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/brianc/32/487568_2.png) [@BrianC](https://meta.discourse.org/u/BrianC)
#### Post date: [December 11, 2024, 11:47pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/15 "2024-12-11T23:47:40Z")

</div>

Nice work @Don I know this isn’t you F NAV theme component but it would great if there was an x to close the search window when it opens. Unless I’m missing it, which is possible once you click the search icon if you decide not to search it is not clean to close the window.

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [December 12, 2024, 6:04pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/16 "2024-12-12T18:04:56Z")

</div>

> [@BrianC](#):
>
> it would great if there was an x to close the search window when it opens

Hey Brian 👋 I’m not sure I understand. When you tap the search icon it will redirect to the `/search` page so you can go back with the browser/mobile navigation or gesture.

* * *

Some update again… I’ve decided to not delete header icons, only hide it with CSS. Yesterday, when I fix the hamburger menu opening animation I figured out it will more easier, clean and safe I think because this way we can trigger the default header icons click. Now the hamburger, notification menu and search working this way. The default header chat icon is also just hidden with CSS because on `/chat` pages it will show on header.

I try to make the settings simple as possible.  
It will contains 4 fields the descriptions are missing yet. Destination is optional because if you choose a function it will include the necessary thing and this field should leave empty.

 ![Screenshot 2024-12-12 at 18.45.26](https://global.discourse-cdn.com/meta/original/4X/3/9/d/39d5b02b1611ccd642e78dc10ecb6c4334743546.png)

Admins can simply create/remove/change tabs and select from one of the functions or add a custom destination to the tab.  
Functions 🔽

 ![Screenshot 2024-12-12 at 18.46.05](https://global.discourse-cdn.com/meta/original/4X/8/7/a/87a5cba2bc9dd682ca907593962c2b53626a98da.png)

E.g. adding topic creation tab will simply looks like this.

 ![Screenshot 2024-12-12 at 18.53.57](https://global.discourse-cdn.com/meta/original/4X/7/9/7/797e2a298cbf94448fa4a2961fcd0e4e4d59381d.png)  
 ![Screenshot 2024-12-12 at 18.55.50](https://global.discourse-cdn.com/meta/original/4X/2/d/1/2d1348ac9aca8239cfe6d82292ce1ca35f05ea6a.png)

---

<div class="post-metadata">

### Author: ![BrianC](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/brianc/32/487568_2.png) [@BrianC](https://meta.discourse.org/u/BrianC)
#### Post date: [December 13, 2024, 3:47am UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/17 "2024-12-13T03:47:41Z")

</div>

> [@Don](#):
>
> Hey Brian 👋 I’m not sure I understand. When you tap the search icon it will redirect to the `/search` page so you can go back with the browser/mobile navigation or gesture.

Hi @Don my statement is rather incoherent, 😕 My comment has nothing to do with your component. I think it would be helpful to have an x to close the search interface of you decide not to search after opening or clicked by mistake. I often end up backing out of the page or Discourse accidently. 🤯

Looks fantastic, can’t wait to give it a try!

 ![A screenshot of the Theme Creator app showing a search bar, an option to search topics or posts, and a "Search" button. (Captioned by AI)](https://global.discourse-cdn.com/meta/original/4X/a/5/f/a5f3f2b29a08ab4c020732c9cb6db789d3420804.png)

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [December 13, 2024, 1:25pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/18 "2024-12-13T13:25:04Z")

</div>

The theme component is ready 🎉  
Thanks for everyone 🤗

> [@F NAV - Mobile Navigation Tabs](https://meta.discourse.org/t/f-nav-mobile-navigation-tabs/342277):
>
> information_sourceSummary F NAV - Mobile Navigation TabseyeglassesPreview [Theme Creator](https://discourse.theme-creator.io/theme/Don/f-nav-component)hammer_and_wrenchRepository [GitHub - VaperinaDEV/f-nav-for-mobile: F NAV - Mobile Navigation Tabs · GitHub](https://github.com/VaperinaDEV/f-nav-for-mobile)questionInstall Guide [How to install a theme or theme component](https://meta.discourse.org/t/how-do-i-install-a-theme-or-theme-component/63682)open_bookNew to Discourse Themes? [Beginner’s guide to using Discourse Themes](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966) Install this theme component Hello wave Before, I have created a #Development [topic](https://meta.discourse.org/t/f-nav-theme-component-concept/340226) for it as a theme component concep…

---

<div class="post-metadata">

### Author: ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)
#### Post date: [December 13, 2024, 2:08pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/19 "2024-12-13T14:08:34Z")

</div>

Same issue than with earlier a little bit similar one: using with DiscourseHub is really hard. Now it is only for browsers and PWAs.

---

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [December 13, 2024, 2:15pm UTC](https://meta.discourse.org/t/f-nav-theme-component-concept/340226/20 "2024-12-13T14:15:32Z")

</div>

Works fine for me in DiscourseHub.

[Next page](https://meta.discourse.org/t/f-nav-theme-component-concept/340226.md?page=2)
