header-toolbar.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. export const settingsHeaderToolbar = {
  2. header_toolbar: {
  3. /**
  4. * Default NeoButton style/size for header toolbar items (per platform).
  5. * Desktop is `lg:` and up (`layout.tablet_mode_from`).
  6. * `style` = secondary; `primaryStyle` = primary (item `props.primary: true`).
  7. * Per-item `props.style` / `props.controlSize` override these.
  8. */
  9. neoButton: {
  10. desktop: { style: 'bordered', primaryStyle: 'borderedProminent', controlSize: 'regular' },
  11. mobile: { style: 'glass', primaryStyle: 'glassProminent', controlSize: 'regular' },
  12. },
  13. hor: {
  14. loggedIn: [
  15. { component: 'search', className: '' },
  16. // Heading tabs + More (`header.content_center`) start at `lg`. Apps is the
  17. // same inventory, so hide the launcher there; keep it on native / below `lg`.
  18. { component: 'launcher', className: 'hidden sm:block web:lg:hidden' },
  19. { component: 'add', className: '' },
  20. { component: 'notifications', className: 'hidden sm:block' },
  21. { component: 'link', href: "{messenger}", className: 'hidden sm:block', title: 'Messages', props: { variant: "secondary", rounded: true, size: "base", startDecorator: "MessageSquare" } },
  22. { component: 'account', className: 'hidden lg:block' },
  23. ],
  24. loggedOut: [
  25. { component: 'link', className: 'items-center sm:hidden', href: "/login", title: 'Log In', props: { neoButton: true, borderShape: "circle", image: "UserRound", accessibilityLabel: "Log In" } },
  26. { component: 'link', className: 'items-center hidden sm:block', href: "/login", title: 'Log In', props: { neoButton: true, borderShape: "capsule", title: 'Log In' } },
  27. { component: 'link', className: 'items-center hidden sm:block', href: "/create-account", title: 'Sign Up', props: { neoButton: true, primary: true, borderShape: "capsule", title: 'Sign Up' } },
  28. { component: 'menu_navigation', className: 'items-center sm:hidden', native: false, props: { borderShape: 'circle', image: 'Menu', accessibilityLabel: 'Menu' } },
  29. { component: 'menu_navigation', className: 'items-center hidden sm:block lg:hidden', native: false, props: { borderShape: 'circle', image: 'Menu', accessibilityLabel: 'Menu' } },
  30. ],
  31. },
  32. mixed: {
  33. loggedIn: [
  34. { component: 'search', className: 'lg:hidden' },
  35. { component: 'launcher', className: 'hidden' },
  36. { component: 'add', className: '' },
  37. { component: 'notifications', className: 'hidden sm:block' },
  38. { component: 'link', href: "{messenger}", className: 'hidden sm:block', title: 'Messages', props: { variant: "secondary", rounded: true, size: "base", startDecorator: "MessageSquare" } },
  39. { component: 'account', className: 'hidden sm:block' },
  40. ],
  41. loggedOut: [
  42. { component: 'search', className: '' },
  43. { component: 'launcher', className: '' },
  44. { component: 'link', className: '', href: "/login", title: 'Login', props: { variant: "secondary", rounded: true, size: "base", startDecorator: "UserRound" } },
  45. ],
  46. },
  47. ver: {
  48. loggedIn: {
  49. top: [
  50. { component: 'search', className: 'lg:hidden' },
  51. { component: 'add', className: 'lg:hidden' },
  52. ],
  53. sidebar: [
  54. { component: 'post_button', className: 'flex-auto' },
  55. { component: 'account', className: 'flex-auto' },
  56. { component: 'add', className: 'ml-2' },
  57. ],
  58. },
  59. loggedOut: {
  60. top: [],
  61. },
  62. },
  63. }
  64. }