diff --git a/apps/web/public/dictionaries/de-DE.json b/apps/web/public/dictionaries/de-DE.json index 98a50353..20ae6bd9 100644 --- a/apps/web/public/dictionaries/de-DE.json +++ b/apps/web/public/dictionaries/de-DE.json @@ -248,6 +248,10 @@ "collection_removed_successfully": "Sammlung erfolgreich entfernt.", "collection_added_successfully": "Sammlung erfolgreich hinzugefügt." }, + "notifications_dropdown": { + "notifications": "Benachrichtigungen", + "no_notifications": "Keine Benachrichtigungen gefunden." + }, "settings_dropdown": { "theme": "Thema", "light": "🌞 Hell", diff --git a/apps/web/public/dictionaries/en-US.json b/apps/web/public/dictionaries/en-US.json index ec133f99..e71575ea 100644 --- a/apps/web/public/dictionaries/en-US.json +++ b/apps/web/public/dictionaries/en-US.json @@ -248,6 +248,10 @@ "collection_removed_successfully": "Collection removed successfully.", "collection_added_successfully": "Collection added successfully." }, + "notifications_dropdown": { + "notifications": "Notifications", + "no_notifications": "No notifications yet." + }, "settings_dropdown": { "theme": "Theme", "light": "🌞 Light", diff --git a/apps/web/public/dictionaries/es-ES.json b/apps/web/public/dictionaries/es-ES.json index 8d557ed4..93a55efd 100644 --- a/apps/web/public/dictionaries/es-ES.json +++ b/apps/web/public/dictionaries/es-ES.json @@ -248,6 +248,10 @@ "collection_removed_successfully": "Colección eliminada con éxito.", "collection_added_successfully": "Colección añadida con éxito." }, + "notifications_dropdown": { + "notifications": "Notificaciones", + "no_notifications": "No tienes notificaciones." + }, "settings_dropdown": { "theme": "Tema", "light": "🌞 Claro", diff --git a/apps/web/public/dictionaries/fr-FR.json b/apps/web/public/dictionaries/fr-FR.json index 6a7126c9..e72b5ef3 100644 --- a/apps/web/public/dictionaries/fr-FR.json +++ b/apps/web/public/dictionaries/fr-FR.json @@ -249,6 +249,10 @@ "collection_removed_successfully": "Collection supprimée avec succès.", "collection_added_successfully": "Collection ajoutée avec succès." }, + "notifications_dropdown": { + "notifications": "Notifications", + "no_notifications": "Aucune notification trouvée." + }, "settings_dropdown": { "theme": "Thème", "light": "🌞 Clair", diff --git a/apps/web/public/dictionaries/it-IT.json b/apps/web/public/dictionaries/it-IT.json index 81666325..4013a4a9 100644 --- a/apps/web/public/dictionaries/it-IT.json +++ b/apps/web/public/dictionaries/it-IT.json @@ -249,6 +249,10 @@ "collection_removed_successfully": "Collezione rimossa con successo.", "collection_added_successfully": "Collezione aggiunta con successo." }, + "notifications_dropdown": { + "notifications": "Notifiche", + "no_notifications": "Nessuna notifica." + }, "settings_dropdown": { "theme": "Tema", "light": "🌞 Chiaro", diff --git a/apps/web/public/dictionaries/ja-JP.json b/apps/web/public/dictionaries/ja-JP.json index 554fea16..b0c190a2 100644 --- a/apps/web/public/dictionaries/ja-JP.json +++ b/apps/web/public/dictionaries/ja-JP.json @@ -248,6 +248,10 @@ "collection_removed_successfully": "コレクションが正常に削除されました。", "collection_added_successfully": "コレクションが正常に追加されました。" }, + "notifications_dropdown": { + "notifications": "通知", + "no_notifications": "通知はありません。" + }, "settings_dropdown": { "theme": "テーマ", "light": "🌞 ライト", diff --git a/apps/web/public/dictionaries/pt-BR.json b/apps/web/public/dictionaries/pt-BR.json index e4a5c3b2..344c662a 100644 --- a/apps/web/public/dictionaries/pt-BR.json +++ b/apps/web/public/dictionaries/pt-BR.json @@ -248,6 +248,10 @@ "collection_removed_successfully": "Coleção removida com sucesso.", "collection_added_successfully": "Coleção adicionada com sucesso." }, + "notifications_dropdown": { + "notifications": "Notificações", + "no_notifications": "Nenhuma notificação." + }, "settings_dropdown": { "theme": "Tema", "light": "🌞 Claro", diff --git a/apps/web/src/components/header/header.tsx b/apps/web/src/components/header/header.tsx index 034438a3..cbb592d6 100644 --- a/apps/web/src/components/header/header.tsx +++ b/apps/web/src/components/header/header.tsx @@ -2,6 +2,7 @@ import { CommandSearch } from '../command-search' import { SettingsDropdown } from '../settings-dropdown' +import { NotificationsDropdown } from '../notifications-dropdown' import { HeaderNavigationMenu } from './header-navigation-menu' import { HeaderNavigationDrawer } from './header-navigation-drawer' import { Logo } from '../logo' @@ -17,6 +18,7 @@ export const Header = () => {
+
diff --git a/apps/web/src/components/notifications-dropdown/index.ts b/apps/web/src/components/notifications-dropdown/index.ts new file mode 100644 index 00000000..71e0940b --- /dev/null +++ b/apps/web/src/components/notifications-dropdown/index.ts @@ -0,0 +1 @@ +export * from './notifications-dropdown' diff --git a/apps/web/src/components/notifications-dropdown/notifications-dropdown.tsx b/apps/web/src/components/notifications-dropdown/notifications-dropdown.tsx new file mode 100644 index 00000000..3711922d --- /dev/null +++ b/apps/web/src/components/notifications-dropdown/notifications-dropdown.tsx @@ -0,0 +1,45 @@ +'use client' + +import { BellIcon } from 'lucide-react' + +import { Button } from '../ui/button' +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuGroup, + DropdownMenuTrigger, + DropdownMenuLabel, +} from '../ui/dropdown-menu' +import { useLanguage } from '@/context/language' + +export const NotificationsDropdown = () => { + const { dictionary } = useLanguage() + + return ( + + + + + + + + + {dictionary.notifications_dropdown.notifications} + +
+ +

+ {dictionary.notifications_dropdown.no_notifications} +

+
+
+
+
+ ) +} diff --git a/apps/web/src/utils/dictionaries/get-dictionaries.types.ts b/apps/web/src/utils/dictionaries/get-dictionaries.types.ts index 0eedd777..0610826e 100644 --- a/apps/web/src/utils/dictionaries/get-dictionaries.types.ts +++ b/apps/web/src/utils/dictionaries/get-dictionaries.types.ts @@ -228,6 +228,10 @@ export type Dictionary = { collection_removed_successfully: string collection_added_successfully: string } + notifications_dropdown: { + notifications: string + no_notifications: string + } settings_dropdown: { theme: string light: string