diff --git a/client/src/components/Admin/GitHubPanel.tsx b/client/src/components/Admin/GitHubPanel.tsx
index 64b469a..ad76c2a 100644
--- a/client/src/components/Admin/GitHubPanel.tsx
+++ b/client/src/components/Admin/GitHubPanel.tsx
@@ -1,5 +1,5 @@
import { useState, useEffect } from 'react'
-import { Tag, Calendar, ExternalLink, ChevronDown, ChevronUp, Loader2, Heart, Coffee } from 'lucide-react'
+import { Tag, Calendar, ExternalLink, ChevronDown, ChevronUp, Loader2, Heart, Coffee, Bug, Lightbulb, BookOpen } from 'lucide-react'
import { getLocaleForLanguage, useTranslation } from '../../i18n'
import apiClient from '../../api/client'
@@ -176,6 +176,63 @@ export default function GitHubPanel() {
+
+
{/* Loading / Error / Releases */}
{loading ? (
diff --git a/client/src/components/Settings/AboutTab.tsx b/client/src/components/Settings/AboutTab.tsx
index 261f328..26cb3ad 100644
--- a/client/src/components/Settings/AboutTab.tsx
+++ b/client/src/components/Settings/AboutTab.tsx
@@ -1,5 +1,5 @@
import React from 'react'
-import { Info, Coffee, Heart, ExternalLink } from 'lucide-react'
+import { Info, Coffee, Heart, ExternalLink, Bug, Lightbulb, BookOpen } from 'lucide-react'
import { useTranslation } from '../../i18n'
import Section from './Section'
@@ -12,12 +12,21 @@ export default function AboutTab({ appVersion }: Props): React.ReactElement {
return (
-
-
- TREK
- v{appVersion}
-
-
+
+
+ {t('settings.about.description')}
+
+
+ {t('settings.about.madeWith')}{' '}
+
+ {' '}{t('settings.about.madeBy')}{' '}
+ v{appVersion}
+
+
+
)
}
diff --git a/client/src/i18n/translations/ar.ts b/client/src/i18n/translations/ar.ts
index 6bd8b31..43f29ee 100644
--- a/client/src/i18n/translations/ar.ts
+++ b/client/src/i18n/translations/ar.ts
@@ -256,6 +256,14 @@ const ar: Record
= {
'settings.mcp.toast.deleteError': 'فشل حذف الرمز',
'settings.account': 'الحساب',
'settings.about': 'حول',
+ 'settings.about.reportBug': 'الإبلاغ عن خطأ',
+ 'settings.about.reportBugHint': 'وجدت مشكلة؟ أخبرنا',
+ 'settings.about.featureRequest': 'اقتراح ميزة',
+ 'settings.about.featureRequestHint': 'اقترح ميزة جديدة',
+ 'settings.about.wikiHint': 'التوثيق والأدلة',
+ 'settings.about.description': 'TREK هو مخطط سفر مستضاف ذاتيًا يساعدك على تنظيم رحلاتك من أول فكرة حتى آخر ذكرى. تخطيط يومي، ميزانية، قوائم تعبئة، صور والمزيد — كل شيء في مكان واحد، على خادمك الخاص.',
+ 'settings.about.madeWith': 'صُنع بـ',
+ 'settings.about.madeBy': 'بواسطة موريس ومجتمع مفتوح المصدر متنامٍ.',
'settings.username': 'اسم المستخدم',
'settings.email': 'البريد الإلكتروني',
'settings.role': 'الدور',
diff --git a/client/src/i18n/translations/br.ts b/client/src/i18n/translations/br.ts
index 65ecdae..12612da 100644
--- a/client/src/i18n/translations/br.ts
+++ b/client/src/i18n/translations/br.ts
@@ -226,6 +226,14 @@ const br: Record = {
'settings.off': 'Desligado',
'settings.account': 'Conta',
'settings.about': 'Sobre',
+ 'settings.about.reportBug': 'Reportar um bug',
+ 'settings.about.reportBugHint': 'Encontrou um problema? Nos avise',
+ 'settings.about.featureRequest': 'Solicitar recurso',
+ 'settings.about.featureRequestHint': 'Sugira um novo recurso',
+ 'settings.about.wikiHint': 'Documentação e guias',
+ 'settings.about.description': 'TREK é um planejador de viagens auto-hospedado que ajuda você a organizar suas viagens da primeira ideia à última lembrança. Planejamento diário, orçamento, listas de bagagem, fotos e muito mais — tudo em um só lugar, no seu próprio servidor.',
+ 'settings.about.madeWith': 'Feito com',
+ 'settings.about.madeBy': 'por Maurice e uma crescente comunidade open-source.',
'settings.username': 'Nome de usuário',
'settings.email': 'E-mail',
'settings.role': 'Função',
diff --git a/client/src/i18n/translations/cs.ts b/client/src/i18n/translations/cs.ts
index 31a8fd4..defebfb 100644
--- a/client/src/i18n/translations/cs.ts
+++ b/client/src/i18n/translations/cs.ts
@@ -204,6 +204,14 @@ const cs: Record = {
'settings.mcp.toast.deleteError': 'Nepodařilo se smazat token',
'settings.account': 'Účet',
'settings.about': 'O aplikaci',
+ 'settings.about.reportBug': 'Nahlásit chybu',
+ 'settings.about.reportBugHint': 'Našli jste problém? Dejte nám vědět',
+ 'settings.about.featureRequest': 'Navrhnout funkci',
+ 'settings.about.featureRequestHint': 'Navrhněte novou funkci',
+ 'settings.about.wikiHint': 'Dokumentace a návody',
+ 'settings.about.description': 'TREK je samohostovaný plánovač cest, který vám pomůže organizovat výlety od prvního nápadu po poslední vzpomínku. Denní plánování, rozpočet, balicí seznamy, fotky a mnoho dalšího — vše na jednom místě, na vašem vlastním serveru.',
+ 'settings.about.madeWith': 'Vytvořeno s',
+ 'settings.about.madeBy': 'Mauricem a rostoucí open-source komunitou.',
'settings.username': 'Uživatelské jméno',
'settings.email': 'E-mail',
'settings.role': 'Role',
diff --git a/client/src/i18n/translations/de.ts b/client/src/i18n/translations/de.ts
index 6716779..d5fad2d 100644
--- a/client/src/i18n/translations/de.ts
+++ b/client/src/i18n/translations/de.ts
@@ -251,6 +251,14 @@ const de: Record = {
'settings.mcp.toast.deleteError': 'Token konnte nicht gelöscht werden',
'settings.account': 'Konto',
'settings.about': 'Über',
+ 'settings.about.reportBug': 'Bug melden',
+ 'settings.about.reportBugHint': 'Problem gefunden? Melde es uns',
+ 'settings.about.featureRequest': 'Feature vorschlagen',
+ 'settings.about.featureRequestHint': 'Schlage ein neues Feature vor',
+ 'settings.about.wikiHint': 'Dokumentation & Anleitungen',
+ 'settings.about.description': 'TREK ist ein selbst gehosteter Reiseplaner, der dir hilft, deine Trips von der ersten Idee bis zur letzten Erinnerung zu organisieren. Tagesplanung, Budget, Packlisten, Fotos und vieles mehr — alles an einem Ort, auf deinem eigenen Server.',
+ 'settings.about.madeWith': 'Entwickelt mit',
+ 'settings.about.madeBy': 'von Maurice und einer wachsenden Open-Source-Community.',
'settings.username': 'Benutzername',
'settings.email': 'E-Mail',
'settings.role': 'Rolle',
diff --git a/client/src/i18n/translations/en.ts b/client/src/i18n/translations/en.ts
index c0f3997..a2c5a4d 100644
--- a/client/src/i18n/translations/en.ts
+++ b/client/src/i18n/translations/en.ts
@@ -272,6 +272,14 @@ const en: Record = {
'settings.mcp.toast.deleteError': 'Failed to delete token',
'settings.account': 'Account',
'settings.about': 'About',
+ 'settings.about.reportBug': 'Report a Bug',
+ 'settings.about.reportBugHint': 'Found an issue? Let us know',
+ 'settings.about.featureRequest': 'Feature Request',
+ 'settings.about.featureRequestHint': 'Suggest a new feature',
+ 'settings.about.wikiHint': 'Documentation & guides',
+ 'settings.about.description': 'TREK is a self-hosted travel planner that helps you organize your trips from the first idea to the last memory. Day planning, budget, packing lists, photos and much more — all in one place, on your own server.',
+ 'settings.about.madeWith': 'Made with',
+ 'settings.about.madeBy': 'by Maurice and a growing open-source community.',
'settings.username': 'Username',
'settings.email': 'Email',
'settings.role': 'Role',
diff --git a/client/src/i18n/translations/es.ts b/client/src/i18n/translations/es.ts
index 6c35e6c..c487b25 100644
--- a/client/src/i18n/translations/es.ts
+++ b/client/src/i18n/translations/es.ts
@@ -252,6 +252,14 @@ const es: Record = {
'settings.mcp.toast.deleteError': 'Error al eliminar el token',
'settings.account': 'Cuenta',
'settings.about': 'Acerca de',
+ 'settings.about.reportBug': 'Reportar un error',
+ 'settings.about.reportBugHint': 'Encontraste un problema? Avísanos',
+ 'settings.about.featureRequest': 'Solicitar función',
+ 'settings.about.featureRequestHint': 'Sugiere una nueva función',
+ 'settings.about.wikiHint': 'Documentación y guías',
+ 'settings.about.description': 'TREK es un planificador de viajes autoalojado que te ayuda a organizar tus viajes desde la primera idea hasta el último recuerdo. Planificación diaria, presupuesto, listas de equipaje, fotos y mucho más — todo en un solo lugar, en tu propio servidor.',
+ 'settings.about.madeWith': 'Hecho con',
+ 'settings.about.madeBy': 'por Maurice y una creciente comunidad de código abierto.',
'settings.username': 'Usuario',
'settings.email': 'Correo',
'settings.role': 'Rol',
diff --git a/client/src/i18n/translations/fr.ts b/client/src/i18n/translations/fr.ts
index 9ba8e1e..b1615c9 100644
--- a/client/src/i18n/translations/fr.ts
+++ b/client/src/i18n/translations/fr.ts
@@ -251,6 +251,14 @@ const fr: Record = {
'settings.mcp.toast.deleteError': 'Impossible de supprimer le token',
'settings.account': 'Compte',
'settings.about': 'À propos',
+ 'settings.about.reportBug': 'Signaler un bug',
+ 'settings.about.reportBugHint': 'Un problème ? Faites-le nous savoir',
+ 'settings.about.featureRequest': 'Proposer une fonctionnalité',
+ 'settings.about.featureRequestHint': 'Suggérez une nouvelle fonctionnalité',
+ 'settings.about.wikiHint': 'Documentation et guides',
+ 'settings.about.description': 'TREK est un planificateur de voyage auto-hébergé qui vous aide à organiser vos voyages de la première idée au dernier souvenir. Planification journalière, budget, listes de bagages, photos et bien plus — le tout au même endroit, sur votre propre serveur.',
+ 'settings.about.madeWith': 'Fait avec',
+ 'settings.about.madeBy': 'par Maurice et une communauté open-source grandissante.',
'settings.username': 'Nom d\'utilisateur',
'settings.email': 'E-mail',
'settings.role': 'Rôle',
diff --git a/client/src/i18n/translations/hu.ts b/client/src/i18n/translations/hu.ts
index af7aa8e..3d6c660 100644
--- a/client/src/i18n/translations/hu.ts
+++ b/client/src/i18n/translations/hu.ts
@@ -203,6 +203,14 @@ const hu: Record = {
'settings.mcp.toast.deleteError': 'Nem sikerült törölni a tokent',
'settings.account': 'Fiók',
'settings.about': 'Névjegy',
+ 'settings.about.reportBug': 'Hiba bejelentése',
+ 'settings.about.reportBugHint': 'Problémát találtál? Jelezd nekünk',
+ 'settings.about.featureRequest': 'Funkció javaslat',
+ 'settings.about.featureRequestHint': 'Javasolj egy új funkciót',
+ 'settings.about.wikiHint': 'Dokumentáció és útmutatók',
+ 'settings.about.description': 'A TREK egy saját szerveren üzemeltetett útitervező, amely segít az utazásaid megszervezésében az első ötlettől az utolsó emlékig. Napi tervezés, költségvetés, csomagolási listák, fotók és még sok más — minden egy helyen, a saját szervereden.',
+ 'settings.about.madeWith': 'Készítve',
+ 'settings.about.madeBy': 'Maurice és egy növekvő nyílt forráskódú közösség által.',
'settings.username': 'Felhasználónév',
'settings.email': 'E-mail',
'settings.role': 'Szerepkör',
diff --git a/client/src/i18n/translations/it.ts b/client/src/i18n/translations/it.ts
index 5852db5..0a504f9 100644
--- a/client/src/i18n/translations/it.ts
+++ b/client/src/i18n/translations/it.ts
@@ -203,6 +203,14 @@ const it: Record = {
'settings.mcp.toast.deleteError': 'Impossibile eliminare il token',
'settings.account': 'Account',
'settings.about': 'Informazioni',
+ 'settings.about.reportBug': 'Segnala un bug',
+ 'settings.about.reportBugHint': 'Hai trovato un problema? Faccelo sapere',
+ 'settings.about.featureRequest': 'Richiedi funzionalità',
+ 'settings.about.featureRequestHint': 'Suggerisci una nuova funzionalità',
+ 'settings.about.wikiHint': 'Documentazione e guide',
+ 'settings.about.description': 'TREK è un pianificatore di viaggi self-hosted che ti aiuta a organizzare i tuoi viaggi dalla prima idea all\'ultimo ricordo. Pianificazione giornaliera, budget, liste bagagli, foto e molto altro — tutto in un unico posto, sul tuo server.',
+ 'settings.about.madeWith': 'Fatto con',
+ 'settings.about.madeBy': 'da Maurice e una crescente comunità open-source.',
'settings.username': 'Username',
'settings.email': 'Email',
'settings.role': 'Ruolo',
diff --git a/client/src/i18n/translations/nl.ts b/client/src/i18n/translations/nl.ts
index b36a2ed..93c4e78 100644
--- a/client/src/i18n/translations/nl.ts
+++ b/client/src/i18n/translations/nl.ts
@@ -251,6 +251,14 @@ const nl: Record = {
'settings.mcp.toast.deleteError': 'Token verwijderen mislukt',
'settings.account': 'Account',
'settings.about': 'Over',
+ 'settings.about.reportBug': 'Bug melden',
+ 'settings.about.reportBugHint': 'Probleem gevonden? Laat het ons weten',
+ 'settings.about.featureRequest': 'Feature aanvragen',
+ 'settings.about.featureRequestHint': 'Stel een nieuwe functie voor',
+ 'settings.about.wikiHint': 'Documentatie en handleidingen',
+ 'settings.about.description': 'TREK is een zelf-gehoste reisplanner die je helpt je reizen te organiseren van het eerste idee tot de laatste herinnering. Dagplanning, budget, paklijsten, foto\'s en nog veel meer — alles op één plek, op je eigen server.',
+ 'settings.about.madeWith': 'Gemaakt met',
+ 'settings.about.madeBy': 'door Maurice en een groeiende open-source community.',
'settings.username': 'Gebruikersnaam',
'settings.email': 'E-mail',
'settings.role': 'Rol',
diff --git a/client/src/i18n/translations/pl.ts b/client/src/i18n/translations/pl.ts
index 7a65ad6..b020286 100644
--- a/client/src/i18n/translations/pl.ts
+++ b/client/src/i18n/translations/pl.ts
@@ -221,6 +221,14 @@ const pl: Record = {
'settings.mcp.toast.deleteError': 'Nie udało się usunąć tokenu',
'settings.account': 'Konto',
'settings.about': 'O aplikacji',
+ 'settings.about.reportBug': 'Zgłoś błąd',
+ 'settings.about.reportBugHint': 'Znalazłeś problem? Daj nam znać',
+ 'settings.about.featureRequest': 'Zaproponuj funkcję',
+ 'settings.about.featureRequestHint': 'Zaproponuj nową funkcję',
+ 'settings.about.wikiHint': 'Dokumentacja i poradniki',
+ 'settings.about.description': 'TREK to samodzielnie hostowany planer podróży, który pomaga organizować wyprawy od pierwszego pomysłu po ostatnie wspomnienie. Planowanie dzienne, budżet, listy pakowania, zdjęcia i wiele więcej — wszystko w jednym miejscu, na własnym serwerze.',
+ 'settings.about.madeWith': 'Stworzone z',
+ 'settings.about.madeBy': 'przez Maurice\'a i rosnącą społeczność open-source.',
'settings.username': 'Nazwa użytkownika',
'settings.email': 'E-mail',
'settings.role': 'Rola',
diff --git a/client/src/i18n/translations/ru.ts b/client/src/i18n/translations/ru.ts
index 5b1448c..3cf4cc7 100644
--- a/client/src/i18n/translations/ru.ts
+++ b/client/src/i18n/translations/ru.ts
@@ -251,6 +251,14 @@ const ru: Record = {
'settings.mcp.toast.deleteError': 'Не удалось удалить токен',
'settings.account': 'Аккаунт',
'settings.about': 'О приложении',
+ 'settings.about.reportBug': 'Сообщить об ошибке',
+ 'settings.about.reportBugHint': 'Нашли проблему? Сообщите нам',
+ 'settings.about.featureRequest': 'Предложить функцию',
+ 'settings.about.featureRequestHint': 'Предложите новую функцию',
+ 'settings.about.wikiHint': 'Документация и руководства',
+ 'settings.about.description': 'TREK — это самостоятельно размещаемый планировщик путешествий, который помогает организовать поездки от первой идеи до последнего воспоминания. Планирование по дням, бюджет, списки вещей, фото и многое другое — всё в одном месте, на вашем собственном сервере.',
+ 'settings.about.madeWith': 'Сделано с',
+ 'settings.about.madeBy': 'Морисом и растущим open-source сообществом.',
'settings.username': 'Имя пользователя',
'settings.email': 'Эл. почта',
'settings.role': 'Роль',
diff --git a/client/src/i18n/translations/zh.ts b/client/src/i18n/translations/zh.ts
index 192a339..5dc7421 100644
--- a/client/src/i18n/translations/zh.ts
+++ b/client/src/i18n/translations/zh.ts
@@ -251,6 +251,14 @@ const zh: Record = {
'settings.mcp.toast.deleteError': '删除令牌失败',
'settings.account': '账户',
'settings.about': '关于',
+ 'settings.about.reportBug': '报告错误',
+ 'settings.about.reportBugHint': '发现问题?告诉我们',
+ 'settings.about.featureRequest': '功能建议',
+ 'settings.about.featureRequestHint': '建议一个新功能',
+ 'settings.about.wikiHint': '文档和指南',
+ 'settings.about.description': 'TREK 是一个自托管的旅行规划工具,帮助你从最初的想法到最后的回忆,全程组织你的旅行。日程规划、预算、行李清单、照片等——一切尽在一处,在你自己的服务器上。',
+ 'settings.about.madeWith': '用',
+ 'settings.about.madeBy': '由 Maurice 和不断壮大的开源社区打造。',
'settings.username': '用户名',
'settings.email': '邮箱',
'settings.role': '角色',