aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/organisms/toolbar
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/organisms/toolbar')
-rw-r--r--src/components/organisms/toolbar/main-nav.tsx18
-rw-r--r--src/components/organisms/toolbar/search.tsx16
-rw-r--r--src/components/organisms/toolbar/settings.tsx14
-rw-r--r--src/components/organisms/toolbar/toolbar.tsx4
4 files changed, 29 insertions, 23 deletions
diff --git a/src/components/organisms/toolbar/main-nav.tsx b/src/components/organisms/toolbar/main-nav.tsx
index 50bbe8b..35e3fd6 100644
--- a/src/components/organisms/toolbar/main-nav.tsx
+++ b/src/components/organisms/toolbar/main-nav.tsx
@@ -1,17 +1,20 @@
import Checkbox, { type CheckboxProps } from '@components/atoms/forms/checkbox';
import Label from '@components/atoms/forms/label';
import Hamburger from '@components/atoms/icons/hamburger';
-import Nav, { type NavItem } from '@components/molecules/nav/nav';
-import { VFC } from 'react';
+import Nav, {
+ type NavProps,
+ type NavItem,
+} from '@components/molecules/nav/nav';
+import { FC } from 'react';
import { useIntl } from 'react-intl';
-import sharedStyles from './toolbar-items.module.scss';
import mainNavStyles from './main-nav.module.scss';
+import sharedStyles from './toolbar-items.module.scss';
export type MainNavProps = {
/**
* Set additional classnames to the nav element.
*/
- className?: string;
+ className?: NavProps['className'];
/**
* The button state.
*/
@@ -26,7 +29,12 @@ export type MainNavProps = {
setIsActive: CheckboxProps['setValue'];
};
-const MainNav: VFC<MainNavProps> = ({
+/**
+ * MainNav component
+ *
+ * Render the main navigation.
+ */
+const MainNav: FC<MainNavProps> = ({
className = '',
isActive,
items,
diff --git a/src/components/organisms/toolbar/search.tsx b/src/components/organisms/toolbar/search.tsx
index 070bce0..72cd576 100644
--- a/src/components/organisms/toolbar/search.tsx
+++ b/src/components/organisms/toolbar/search.tsx
@@ -1,17 +1,17 @@
-import Checkbox, { CheckboxProps } from '@components/atoms/forms/checkbox';
+import Checkbox, { type CheckboxProps } from '@components/atoms/forms/checkbox';
import Label from '@components/atoms/forms/label';
import MagnifyingGlass from '@components/atoms/icons/magnifying-glass';
-import { VFC } from 'react';
+import { FC } from 'react';
import { useIntl } from 'react-intl';
-import SearchModal from '../modals/search-modal';
-import sharedStyles from './toolbar-items.module.scss';
+import SearchModal, { type SearchModalProps } from '../modals/search-modal';
import searchStyles from './search.module.scss';
+import sharedStyles from './toolbar-items.module.scss';
export type SearchProps = {
/**
* Set additional classnames to the modal wrapper.
*/
- className?: string;
+ className?: SearchModalProps['className'];
/**
* The button state.
*/
@@ -22,11 +22,7 @@ export type SearchProps = {
setIsActive: CheckboxProps['setValue'];
};
-const Search: VFC<SearchProps> = ({
- className = '',
- isActive,
- setIsActive,
-}) => {
+const Search: FC<SearchProps> = ({ className = '', isActive, setIsActive }) => {
const intl = useIntl();
const label = isActive
? intl.formatMessage({
diff --git a/src/components/organisms/toolbar/settings.tsx b/src/components/organisms/toolbar/settings.tsx
index 88539fb..3b10226 100644
--- a/src/components/organisms/toolbar/settings.tsx
+++ b/src/components/organisms/toolbar/settings.tsx
@@ -1,11 +1,13 @@
-import Checkbox, { CheckboxProps } from '@components/atoms/forms/checkbox';
+import Checkbox, { type CheckboxProps } from '@components/atoms/forms/checkbox';
import Label from '@components/atoms/forms/label';
import Cog from '@components/atoms/icons/cog';
-import { VFC } from 'react';
+import { FC } from 'react';
import { useIntl } from 'react-intl';
-import SettingsModal from '../modals/settings-modal';
-import sharedStyles from './toolbar-items.module.scss';
+import SettingsModal, {
+ type SettingsModalProps,
+} from '../modals/settings-modal';
import settingsStyles from './settings.module.scss';
+import sharedStyles from './toolbar-items.module.scss';
export type SettingsProps = {
/**
@@ -23,10 +25,10 @@ export type SettingsProps = {
/**
* Set additional classnames to the tooltip wrapper.
*/
- tooltipClassName?: string;
+ tooltipClassName?: SettingsModalProps['tooltipClassName'];
};
-const Settings: VFC<SettingsProps> = ({
+const Settings: FC<SettingsProps> = ({
className = '',
isActive,
setIsActive,
diff --git a/src/components/organisms/toolbar/toolbar.tsx b/src/components/organisms/toolbar/toolbar.tsx
index 81e80cf..f1ce530 100644
--- a/src/components/organisms/toolbar/toolbar.tsx
+++ b/src/components/organisms/toolbar/toolbar.tsx
@@ -1,4 +1,4 @@
-import { useState, VFC } from 'react';
+import { FC, useState } from 'react';
import MainNav, { type MainNavProps } from '../toolbar/main-nav';
import Search from '../toolbar/search';
import Settings from '../toolbar/settings';
@@ -20,7 +20,7 @@ export type ToolbarProps = {
*
* Render the website toolbar.
*/
-const Toolbar: VFC<ToolbarProps> = ({ className = '', nav }) => {
+const Toolbar: FC<ToolbarProps> = ({ className = '', nav }) => {
const [isNavOpened, setIsNavOpened] = useState<boolean>(false);
const [isSettingsOpened, setIsSettingsOpened] = useState<boolean>(false);
const [isSearchOpened, setIsSearchOpened] = useState<boolean>(false);