feat(contact): add the project X account alongside Discord (#1313)
* feat(contact): add the project X account alongside Discord Adds https://x.com/fs01c137y as a channel on the in-app Contact page and in the README, next to the existing Discord links — updates, releases, and what is being built next, for people who would rather not sit in a chat server. Follows the ContactPage convention: the URL is a module constant so no surface can drift, and the card explains WHEN to use the channel rather than being a bare link. lucide dropped its Twitter glyph, so the icon is Megaphone, which reads as announcements anyway. contact.follow_* translated in all 21 locales; ContactPage test extended to pin the URL. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix(contact): correct the X handle to @idebpalash Owner's current account. All six references updated in lockstep — README nav row, badge row, CTA block and contributing list, plus the ContactPage constant and the test that pins it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
1600f02abf
commit
b4fc74fa65
@@ -13,6 +13,7 @@
|
||||
<a href="#sponsor--donate">Donate</a> ·
|
||||
<a href="#contributing">Contributing</a> ·
|
||||
<a href="https://discord.gg/bzQavDfVV9">Discord</a> ·
|
||||
<a href="https://x.com/idebpalash">X</a> ·
|
||||
<a href="README_CN.md"><strong>简体中文</strong></a>
|
||||
</p>
|
||||
|
||||
@@ -23,6 +24,7 @@
|
||||
<a href="LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-blue?style=flat-square" alt="License" /></a>
|
||||
<a href="https://github.com/debpalash/OmniVoice-Studio/issues"><img src="https://img.shields.io/github/issues/debpalash/OmniVoice-Studio?style=flat-square&color=ef4444" alt="Issues" /></a>
|
||||
<a href="https://discord.gg/bzQavDfVV9"><img src="https://img.shields.io/badge/Discord-Join_Community-5865F2?style=flat-square&logo=discord&logoColor=white" alt="Discord" /></a>
|
||||
<a href="https://x.com/idebpalash"><img src="https://img.shields.io/badge/X-Follow_for_updates-000000?style=flat-square&logo=x&logoColor=white" alt="Follow on X" /></a>
|
||||
<a href="https://ko-fi.com/debpalash"><img src="https://img.shields.io/badge/Ko--fi-Support_Us-FF5E5B?style=flat-square&logo=ko-fi&logoColor=white" alt="Ko-fi" /></a>
|
||||
<a href="https://paypal.me/palashCoder"><img src="https://img.shields.io/badge/PayPal-Donate-00457C?style=flat-square&logo=paypal&logoColor=white" alt="PayPal" /></a>
|
||||
</p>
|
||||
@@ -484,6 +486,7 @@ OmniVoice is **free** and **AGPL-3.0** — no paid tier, no SaaS revenue. Sponso
|
||||
|
||||
<div align="center">
|
||||
<a href="https://discord.gg/bzQavDfVV9"><img src="https://img.shields.io/badge/💬_Discord-Join_Community-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Join Discord" /></a>
|
||||
<a href="https://x.com/idebpalash"><img src="https://img.shields.io/badge/𝕏_Follow-for_updates-000000?style=for-the-badge&logo=x&logoColor=white" alt="Follow on X" /></a>
|
||||
<br/>
|
||||
<sub>We respond to setup questions within hours, not days.</sub>
|
||||
</div>
|
||||
@@ -515,6 +518,7 @@ Yes please — bug fixes, new TTS engine adapters, UI improvements, docs, transl
|
||||
- 📖 Read the **[Contributing Guide](.github/CONTRIBUTING.md)** for setup, code style, and PR workflow
|
||||
- 🐛 Browse [good first issues](https://github.com/debpalash/OmniVoice-Studio/labels/good%20first%20issue)
|
||||
- 💬 Join our [Discord](https://discord.gg/bzQavDfVV9) to discuss ideas or ask for help
|
||||
- 𝕏 Follow [@idebpalash](https://x.com/idebpalash) for updates and what's being built next
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "البريد الإلكتروني",
|
||||
"email_desc": "الترخيص أو الشراكات أو أي شيء خاص.",
|
||||
"website": "موقع الكتروني",
|
||||
"website_desc": "المزيد عن المشروع والصانع."
|
||||
"website_desc": "المزيد عن المشروع والصانع.",
|
||||
"follow_title": "تابِعنا على X",
|
||||
"follow_desc": "ملاحظات الإصدارات، والمحركات الجديدة، ولمحات عمّا يجري بناؤه لاحقًا. مفيد إن كنت تفضّل عدم البقاء في خادم دردشة.",
|
||||
"follow_cta": "تابِع على X"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "الأذونات",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "E-Mail",
|
||||
"email_desc": "Lizenzen, Partnerschaften oder irgendetwas Privates.",
|
||||
"website": "Website",
|
||||
"website_desc": "Mehr über das Projekt und den Macher."
|
||||
"website_desc": "Mehr über das Projekt und den Macher.",
|
||||
"follow_title": "Auf X folgen",
|
||||
"follow_desc": "Release-Notes, neue Engines und gelegentliche Einblicke in das, was als Nächstes entsteht. Praktisch, wenn Sie nicht in einem Chat-Server sitzen möchten.",
|
||||
"follow_cta": "Auf X folgen"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Berechtigungen",
|
||||
|
||||
@@ -2679,7 +2679,10 @@
|
||||
"email": "Email",
|
||||
"email_desc": "Email — licensing, partnerships, or anything private",
|
||||
"website": "Website",
|
||||
"website_desc": "Website — more about the project and the maker"
|
||||
"website_desc": "Website — more about the project and the maker",
|
||||
"follow_title": "Follow along on X",
|
||||
"follow_desc": "Release notes, new engines, and the occasional look at what is being built next. Handy if you would rather not sit in a chat server.",
|
||||
"follow_cta": "Follow on X"
|
||||
},
|
||||
"firstrun": {
|
||||
"loading": "Preparing setup…",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "Correo electrónico",
|
||||
"email_desc": "Licencias, asociaciones o cualquier cosa privada.",
|
||||
"website": "Sitio web",
|
||||
"website_desc": "Más sobre el proyecto y el creador."
|
||||
"website_desc": "Más sobre el proyecto y el creador.",
|
||||
"follow_title": "Síguenos en X",
|
||||
"follow_desc": "Notas de versión, nuevos motores y algún vistazo a lo que se está construyendo. Útil si prefiere no estar en un servidor de chat.",
|
||||
"follow_cta": "Seguir en X"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Permisos",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "Courriel",
|
||||
"email_desc": "Licences, partenariats ou tout ce qui est privé.",
|
||||
"website": "Site Web",
|
||||
"website_desc": "En savoir plus sur le projet et le créateur."
|
||||
"website_desc": "En savoir plus sur le projet et le créateur.",
|
||||
"follow_title": "Suivez-nous sur X",
|
||||
"follow_desc": "Notes de version, nouveaux moteurs et un aperçu occasionnel de ce qui arrive. Pratique si vous préférez ne pas rester dans un serveur de discussion.",
|
||||
"follow_cta": "Suivre sur X"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Autorisations",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "ईमेल",
|
||||
"email_desc": "लाइसेंसिंग, साझेदारी, या कुछ भी निजी।",
|
||||
"website": "वेबसाइट",
|
||||
"website_desc": "परियोजना और निर्माता के बारे में अधिक जानकारी."
|
||||
"website_desc": "परियोजना और निर्माता के बारे में अधिक जानकारी.",
|
||||
"follow_title": "X पर फ़ॉलो करें",
|
||||
"follow_desc": "रिलीज़ नोट्स, नए इंजन, और आगे क्या बन रहा है उसकी झलक। अगर आप चैट सर्वर में नहीं रहना चाहते तो यह सुविधाजनक है।",
|
||||
"follow_cta": "X पर फ़ॉलो करें"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "अनुमतियाँ",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "Surel",
|
||||
"email_desc": "Perizinan, kemitraan, atau apa pun yang bersifat pribadi.",
|
||||
"website": "Situs web",
|
||||
"website_desc": "Lebih lanjut tentang proyek dan pembuatnya."
|
||||
"website_desc": "Lebih lanjut tentang proyek dan pembuatnya.",
|
||||
"follow_title": "Ikuti di X",
|
||||
"follow_desc": "Catatan rilis, mesin baru, dan sesekali intip apa yang sedang dibangun. Praktis jika Anda tidak ingin berada di server obrolan.",
|
||||
"follow_cta": "Ikuti di X"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Izin",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "E-mail",
|
||||
"email_desc": "Licenze, partnership o qualsiasi cosa privata.",
|
||||
"website": "Sito web",
|
||||
"website_desc": "Maggiori informazioni sul progetto e sul produttore."
|
||||
"website_desc": "Maggiori informazioni sul progetto e sul produttore.",
|
||||
"follow_title": "Segui su X",
|
||||
"follow_desc": "Note di rilascio, nuovi motori e qualche anticipazione su ciò che sta arrivando. Comodo se preferisce non stare in un server di chat.",
|
||||
"follow_cta": "Segui su X"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Autorizzazioni",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "電子メール",
|
||||
"email_desc": "ライセンス、パートナーシップ、その他プライベートなもの。",
|
||||
"website": "ウェブサイト",
|
||||
"website_desc": "プロジェクトとメーカーについて詳しく説明します。"
|
||||
"website_desc": "プロジェクトとメーカーについて詳しく説明します。",
|
||||
"follow_title": "X でフォローする",
|
||||
"follow_desc": "リリースノート、新しいエンジン、そして次に作っているものの様子をときどき。チャットサーバーに常駐したくない方に便利です。",
|
||||
"follow_cta": "X でフォロー"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "権限",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "이메일",
|
||||
"email_desc": "라이센스, 파트너십 또는 개인적인 모든 것.",
|
||||
"website": "웹사이트",
|
||||
"website_desc": "프로젝트와 제작자에 대해 자세히 알아보세요."
|
||||
"website_desc": "프로젝트와 제작자에 대해 자세히 알아보세요.",
|
||||
"follow_title": "X에서 팔로우하기",
|
||||
"follow_desc": "릴리스 노트, 새 엔진, 그리고 다음에 만들고 있는 것들에 대한 이야기. 채팅 서버에 머무르고 싶지 않다면 편리합니다.",
|
||||
"follow_cta": "X에서 팔로우"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "권한",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "E-mail",
|
||||
"email_desc": "Licenties, partnerschappen of iets privés.",
|
||||
"website": "Website",
|
||||
"website_desc": "Meer over het project en de maker."
|
||||
"website_desc": "Meer over het project en de maker.",
|
||||
"follow_title": "Volg ons op X",
|
||||
"follow_desc": "Release-notities, nieuwe engines en af en toe een blik op wat er volgt. Handig als u liever niet in een chatserver zit.",
|
||||
"follow_cta": "Volgen op X"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Machtigingen",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "E-mail",
|
||||
"email_desc": "Licencje, partnerstwa lub cokolwiek prywatnego.",
|
||||
"website": "Strona internetowa",
|
||||
"website_desc": "Więcej o projekcie i twórcy."
|
||||
"website_desc": "Więcej o projekcie i twórcy.",
|
||||
"follow_title": "Obserwuj na X",
|
||||
"follow_desc": "Informacje o wydaniach, nowe silniki i od czasu do czasu zapowiedzi tego, co powstaje. Wygodne, jeśli wolisz nie siedzieć na serwerze czatu.",
|
||||
"follow_cta": "Obserwuj na X"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Uprawnienia",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "E-mail",
|
||||
"email_desc": "Licenciamento, parcerias ou qualquer coisa privada.",
|
||||
"website": "Site",
|
||||
"website_desc": "Mais sobre o projeto e o criador."
|
||||
"website_desc": "Mais sobre o projeto e o criador.",
|
||||
"follow_title": "Siga no X",
|
||||
"follow_desc": "Notas de versão, novos motores e, de vez em quando, uma espreitadela ao que vem a seguir. Prático se preferir não estar num servidor de chat.",
|
||||
"follow_cta": "Seguir no X"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Permissões",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "Электронная почта",
|
||||
"email_desc": "Лицензирование, партнерство или что-то частное.",
|
||||
"website": "Веб-сайт",
|
||||
"website_desc": "Подробнее о проекте и создателе."
|
||||
"website_desc": "Подробнее о проекте и создателе.",
|
||||
"follow_title": "Следите в X",
|
||||
"follow_desc": "Заметки о выпусках, новые движки и иногда — о том, что делается дальше. Удобно, если не хочется сидеть в чат-сервере.",
|
||||
"follow_cta": "Подписаться в X"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Разрешения",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "E-post",
|
||||
"email_desc": "Licensiering, partnerskap eller något privat.",
|
||||
"website": "Webbplats",
|
||||
"website_desc": "Mer om projektet och skaparen."
|
||||
"website_desc": "Mer om projektet och skaparen.",
|
||||
"follow_title": "Följ på X",
|
||||
"follow_desc": "Release-noteringar, nya motorer och ibland en titt på vad som byggs härnäst. Praktiskt om du hellre slipper sitta i en chattserver.",
|
||||
"follow_cta": "Följ på X"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Behörigheter",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "อีเมล",
|
||||
"email_desc": "ใบอนุญาต ห้างหุ้นส่วน หรือสิ่งใดก็ตามที่เป็นส่วนตัว",
|
||||
"website": "เว็บไซต์",
|
||||
"website_desc": "ข้อมูลเพิ่มเติมเกี่ยวกับโครงการและผู้สร้าง"
|
||||
"website_desc": "ข้อมูลเพิ่มเติมเกี่ยวกับโครงการและผู้สร้าง",
|
||||
"follow_title": "ติดตามบน X",
|
||||
"follow_desc": "บันทึกการอัปเดต เอนจินใหม่ ๆ และภาพบางส่วนของสิ่งที่กำลังพัฒนาต่อไป สะดวกหากคุณไม่อยากอยู่ในเซิร์ฟเวอร์แชท",
|
||||
"follow_cta": "ติดตามบน X"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "สิทธิ์การเข้าถึง",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "E-posta",
|
||||
"email_desc": "Lisanslama, ortaklıklar veya özel herhangi bir şey.",
|
||||
"website": "Web sitesi",
|
||||
"website_desc": "Proje ve yapımcı hakkında daha fazla bilgi."
|
||||
"website_desc": "Proje ve yapımcı hakkında daha fazla bilgi.",
|
||||
"follow_title": "X'te takip edin",
|
||||
"follow_desc": "Sürüm notları, yeni motorlar ve sırada ne olduğuna dair ara ara bakışlar. Bir sohbet sunucusunda durmak istemiyorsanız pratik.",
|
||||
"follow_cta": "X'te takip et"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "İzinler",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "Електронна пошта",
|
||||
"email_desc": "Ліцензування, партнерство чи щось приватне.",
|
||||
"website": "Веб-сайт",
|
||||
"website_desc": "Детальніше про проект та виробника."
|
||||
"website_desc": "Детальніше про проект та виробника.",
|
||||
"follow_title": "Стежте в X",
|
||||
"follow_desc": "Нотатки до випусків, нові рушії та час від часу — що будується далі. Зручно, якщо не хочеться сидіти в чат-сервері.",
|
||||
"follow_cta": "Стежити в X"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Дозволи",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "Email",
|
||||
"email_desc": "Cấp phép, hợp tác hoặc bất cứ điều gì riêng tư.",
|
||||
"website": "Trang web",
|
||||
"website_desc": "Thông tin thêm về dự án và nhà sản xuất."
|
||||
"website_desc": "Thông tin thêm về dự án và nhà sản xuất.",
|
||||
"follow_title": "Theo dõi trên X",
|
||||
"follow_desc": "Ghi chú phát hành, engine mới, và đôi khi là hé lộ những gì đang được xây dựng. Tiện nếu bạn không muốn ở trong một máy chủ chat.",
|
||||
"follow_cta": "Theo dõi trên X"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Quyền truy cập",
|
||||
|
||||
@@ -2274,7 +2274,10 @@
|
||||
"email": "电子邮件",
|
||||
"email_desc": "许可、合作伙伴关系或任何私人的东西。",
|
||||
"website": "网站",
|
||||
"website_desc": "有关该项目和制造商的更多信息。"
|
||||
"website_desc": "有关该项目和制造商的更多信息。",
|
||||
"follow_title": "在 X 上关注",
|
||||
"follow_desc": "版本说明、新引擎,以及偶尔透露接下来在做什么。如果你不想常驻聊天服务器,这里更方便。",
|
||||
"follow_cta": "在 X 上关注"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "权限",
|
||||
|
||||
@@ -2267,7 +2267,10 @@
|
||||
"email": "電子郵件",
|
||||
"email_desc": "許可、合作夥伴關係或任何私人的東西。",
|
||||
"website": "網站",
|
||||
"website_desc": "有關該項目和製造商的更多資訊。"
|
||||
"website_desc": "有關該項目和製造商的更多資訊。",
|
||||
"follow_title": "在 X 上追蹤",
|
||||
"follow_desc": "版本說明、新引擎,以及偶爾透露接下來在做什麼。如果你不想常駐聊天伺服器,這裡更方便。",
|
||||
"follow_cta": "在 X 上追蹤"
|
||||
},
|
||||
"permissions": {
|
||||
"title": "權限",
|
||||
|
||||
@@ -11,6 +11,7 @@ import {
|
||||
ShieldAlert,
|
||||
Mail,
|
||||
Globe,
|
||||
Megaphone,
|
||||
} from 'lucide-react';
|
||||
import { Button } from '../ui';
|
||||
import { Card } from '@/components/ui/card';
|
||||
@@ -31,6 +32,7 @@ const DISCORD_URL = 'https://discord.gg/bzQavDfVV9';
|
||||
const SECURITY_URL = `${REPO_URL}/security/advisories/new`;
|
||||
const EMAIL = 'OmniVoice@palash.dev';
|
||||
const WEBSITE_URL = 'https://palash.dev';
|
||||
const X_URL = 'https://x.com/idebpalash';
|
||||
|
||||
// Guidance sections — each is a card with an icon, a heading, and a
|
||||
// "use this when…" sentence so a user lands on the RIGHT channel instead of a
|
||||
@@ -80,6 +82,20 @@ const SECTIONS = [
|
||||
ctaKey: 'contact.community_cta',
|
||||
ctaDefault: 'Join the Discord',
|
||||
},
|
||||
{
|
||||
id: 'follow',
|
||||
icon: Megaphone,
|
||||
hue: '#1d9bf0',
|
||||
kind: 'external',
|
||||
url: X_URL,
|
||||
titleKey: 'contact.follow_title',
|
||||
titleDefault: 'Follow along on X',
|
||||
descKey: 'contact.follow_desc',
|
||||
descDefault:
|
||||
'Release notes, new engines, and the occasional look at what is being built next. Handy if you would rather not sit in a chat server.',
|
||||
ctaKey: 'contact.follow_cta',
|
||||
ctaDefault: 'Follow on X',
|
||||
},
|
||||
{
|
||||
id: 'support',
|
||||
icon: Heart,
|
||||
|
||||
@@ -46,6 +46,7 @@ describe('ContactPage', () => {
|
||||
const href = (name) => screen.getByRole('link', { name }).getAttribute('href');
|
||||
expect(href('Open GitHub Issues')).toBe(`${REPO}/issues`);
|
||||
expect(href('Join the Discord')).toBe('https://discord.gg/bzQavDfVV9');
|
||||
expect(href('Follow on X')).toBe('https://x.com/idebpalash');
|
||||
expect(href('Report privately')).toBe(`${REPO}/security/advisories/new`);
|
||||
expect(href(/licensing/i)).toBe(`mailto:OmniVoice@palash.dev`);
|
||||
expect(href(/more about the project/i)).toBe('https://palash.dev');
|
||||
|
||||
Reference in New Issue
Block a user