Files
kashilo/js/components/pages/page-about.js

239 lines
12 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { getCurrentLanguage, i18n } from '../../i18n.js'
class PageAbout extends HTMLElement {
connectedCallback() {
this._unsubs = []
this.render()
this._unsubs.push(i18n.subscribe(() => this.render()))
}
disconnectedCallback() {
this._unsubs.forEach(fn => fn())
this._unsubs = []
}
getContent(lang) {
const content = {
de: /* html */`
<h1>Über kashilo.com</h1>
<p>kashilo.com ist eine Privacy-First Kleinanzeigen-Plattform. Nutzer können Anzeigen erstellen und über Ende-zu-Ende verschlüsselte Nachrichten kommunizieren — ohne persönliche Daten preiszugeben.</p>
<p>Die Bezahlung erfolgt ausschliesslich über Monero (XMR). Kein KYC, keine E-Mail, kein Tracking.</p>
<p>Die Veröffentlichung einer Anzeige kostet 1 USD (zahlbar in Monero). Keine versteckten Gebühren, keine Abos.</p>
<h2>Prinzipien</h2>
<ul>
<li>Keine persönlichen Daten erforderlich</li>
<li>Ende-zu-Ende verschlüsselte Kommunikation</li>
<li>Monero (XMR) als einziges Zahlungsmittel</li>
<li>Open Source & selbst gehostet</li>
<li>Betrieben aus der Schweiz</li>
</ul>
<h2>Open Source</h2>
<p>Der komplette Quellcode ist öffentlich einsehbar und unter der <strong>AGPL-3.0 Lizenz</strong> verfügbar.</p>
<p><a href="https://gitea.pro/schmidt1024/kashilo" target="_blank" rel="noopener">Quellcode auf Gitea</a></p>
`,
en: /* html */`
<h1>About kashilo.com</h1>
<p>kashilo.com is a privacy-first classifieds platform. Users can create listings and communicate via end-to-end encrypted messages — without revealing any personal data.</p>
<p>Payments are made exclusively in Monero (XMR). No KYC, no email, no tracking.</p>
<p>Publishing a listing costs $1 (payable in Monero). No hidden fees, no subscriptions.</p>
<h2>Principles</h2>
<ul>
<li>No personal data required</li>
<li>End-to-end encrypted communication</li>
<li>Monero (XMR) as sole payment method</li>
<li>Open source & self-hosted</li>
<li>Operated from Switzerland</li>
</ul>
<h2>Open Source</h2>
<p>The complete source code is publicly available under the <strong>AGPL-3.0 License</strong>.</p>
<p><a href="https://gitea.pro/schmidt1024/kashilo" target="_blank" rel="noopener">Source code on Gitea</a></p>
`,
fr: /* html */`
<h1>À propos de kashilo.com</h1>
<p>kashilo.com est une plateforme de petites annonces axée sur la confidentialité. Les utilisateurs peuvent créer des annonces et communiquer via des messages chiffrés de bout en bout — sans révéler de données personnelles.</p>
<p>Les paiements s'effectuent exclusivement en Monero (XMR). Pas de KYC, pas d'e-mail, pas de tracking.</p>
<p>La publication d'une annonce coûte 1 USD (payable en Monero). Pas de frais cachés, pas d'abonnements.</p>
<h2>Principes</h2>
<ul>
<li>Aucune donnée personnelle requise</li>
<li>Communication chiffrée de bout en bout</li>
<li>Monero (XMR) comme seul moyen de paiement</li>
<li>Open source & auto-hébergé</li>
<li>Exploité depuis la Suisse</li>
</ul>
<h2>Open Source</h2>
<p>Le code source complet est disponible publiquement sous la <strong>licence AGPL-3.0</strong>.</p>
<p><a href="https://gitea.pro/schmidt1024/kashilo" target="_blank" rel="noopener">Code source sur Gitea</a></p>
`,
it: /* html */`
<h1>Informazioni su kashilo.com</h1>
<p>kashilo.com è una piattaforma di annunci incentrata sulla privacy. Gli utenti possono creare annunci e comunicare tramite messaggi crittografati end-to-end — senza rivelare dati personali.</p>
<p>I pagamenti avvengono esclusivamente in Monero (XMR). Nessun KYC, nessuna email, nessun tracking.</p>
<p>La pubblicazione di un annuncio costa 1 USD (pagabile in Monero). Nessun costo nascosto, nessun abbonamento.</p>
<h2>Principi</h2>
<ul>
<li>Nessun dato personale richiesto</li>
<li>Comunicazione crittografata end-to-end</li>
<li>Monero (XMR) come unico metodo di pagamento</li>
<li>Open source e self-hosted</li>
<li>Gestito dalla Svizzera</li>
</ul>
<h2>Open Source</h2>
<p>Il codice sorgente completo è disponibile pubblicamente con <strong>licenza AGPL-3.0</strong>.</p>
<p><a href="https://gitea.pro/schmidt1024/kashilo" target="_blank" rel="noopener">Codice sorgente su Gitea</a></p>
`,
es: /* html */`
<h1>Acerca de kashilo.com</h1>
<p>kashilo.com es una plataforma de clasificados centrada en la privacidad. Los usuarios pueden crear anuncios y comunicarse mediante mensajes cifrados de extremo a extremo — sin revelar datos personales.</p>
<p>Los pagos se realizan exclusivamente en Monero (XMR). Sin KYC, sin email, sin rastreo.</p>
<p>Publicar un anuncio cuesta 1 USD (pagable en Monero). Sin costes ocultos, sin suscripciones.</p>
<h2>Principios</h2>
<ul>
<li>No se requieren datos personales</li>
<li>Comunicación cifrada de extremo a extremo</li>
<li>Monero (XMR) como único método de pago</li>
<li>Código abierto y autoalojado</li>
<li>Operado desde Suiza</li>
</ul>
<h2>Open Source</h2>
<p>El código fuente completo está disponible públicamente bajo la <strong>licencia AGPL-3.0</strong>.</p>
<p><a href="https://gitea.pro/schmidt1024/kashilo" target="_blank" rel="noopener">Código fuente en Gitea</a></p>
`,
pt: /* html */`
<h1>Sobre o kashilo.com</h1>
<p>kashilo.com é uma plataforma de classificados focada em privacidade. Os usuários podem criar anúncios e se comunicar por mensagens criptografadas de ponta a ponta — sem revelar dados pessoais.</p>
<p>Os pagamentos são feitos exclusivamente em Monero (XMR). Sem KYC, sem email, sem rastreamento.</p>
<p>Publicar um anúncio custa 1 USD (pagável em Monero). Sem taxas ocultas, sem assinaturas.</p>
<h2>Princípios</h2>
<ul>
<li>Nenhum dado pessoal necessário</li>
<li>Comunicação criptografada de ponta a ponta</li>
<li>Monero (XMR) como único método de pagamento</li>
<li>Código aberto e auto-hospedado</li>
<li>Operado a partir da Suíça</li>
</ul>
<h2>Open Source</h2>
<p>O código-fonte completo está disponível publicamente sob a <strong>licença AGPL-3.0</strong>.</p>
<p><a href="https://gitea.pro/schmidt1024/kashilo" target="_blank" rel="noopener">Código-fonte no Gitea</a></p>
`,
ru: /* html */`
<h1>О kashilo.com</h1>
<p>kashilo.com — это платформа объявлений с приоритетом конфиденциальности. Пользователи могут создавать объявления и общаться через сквозное шифрование — без раскрытия личных данных.</p>
<p>Оплата осуществляется исключительно в Monero (XMR). Без KYC, без email, без отслеживания.</p>
<p>Публикация объявления стоит 1 USD (оплата в Monero). Без скрытых комиссий, без подписок.</p>
<h2>Принципы</h2>
<ul>
<li>Не требуются личные данные</li>
<li>Сквозное шифрование коммуникаций</li>
<li>Monero (XMR) как единственный способ оплаты</li>
<li>Открытый исходный код, собственный хостинг</li>
<li>Управляется из Швейцарии</li>
</ul>
<h2>Open Source</h2>
<p>Полный исходный код доступен публично под <strong>лицензией AGPL-3.0</strong>.</p>
<p><a href="https://gitea.pro/schmidt1024/kashilo" target="_blank" rel="noopener">Исходный код на Gitea</a></p>
`
}
return content[lang] || content.de
}
render() {
const lang = getCurrentLanguage()
const backLabel = { de: 'Zurück zur Startseite', en: 'Back to Home', fr: 'Retour à l\'accueil', it: 'Torna alla home', es: 'Volver al inicio', pt: 'Voltar ao Início', ru: 'На главную' }
this.innerHTML = /* html */`
<div class="legal-page">
<a href="#/" class="back-link">← ${backLabel[lang] || backLabel.en}</a>
<div class="legal-content">
${this.getContent(lang)}
</div>
</div>
`
}
}
customElements.define('page-about', PageAbout)
const style = document.createElement('style')
style.textContent = /* css */`
page-about .legal-page {
padding: var(--space-lg) 0;
max-width: 800px;
margin: 0 auto;
}
page-about .back-link {
display: inline-block;
color: var(--color-text-muted);
text-decoration: none;
font-size: var(--font-size-sm);
margin-bottom: var(--space-lg);
transition: color 0.2s;
}
page-about .back-link:hover {
color: var(--color-text);
}
page-about .legal-content h1 {
font-size: var(--font-size-2xl);
margin: 0 0 var(--space-xs);
}
page-about .legal-content h2 {
font-size: var(--font-size-lg);
margin: var(--space-xl) 0 var(--space-sm);
padding-top: var(--space-md);
border-top: 1px solid var(--color-border);
}
page-about .legal-content h2:first-of-type {
border-top: none;
}
page-about .legal-content p {
line-height: 1.7;
margin: 0 0 var(--space-sm);
color: var(--color-text-secondary);
}
page-about .legal-content ul {
margin: 0 0 var(--space-sm);
padding-left: var(--space-lg);
color: var(--color-text-secondary);
}
page-about .legal-content ul li {
line-height: 1.7;
margin-bottom: var(--space-xs);
}
@media (max-width: 768px) {
page-about .legal-page {
padding: var(--space-md) 0;
}
page-about .legal-content h1 {
font-size: var(--font-size-xl);
}
page-about .legal-content h2 {
font-size: var(--font-size-base);
}
}
`
document.head.appendChild(style)