352 lines
19 KiB
JavaScript
352 lines
19 KiB
JavaScript
import { getCurrentLanguage, i18n } from '../../i18n.js'
|
||
|
||
class PageImprint 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>Impressum</h1>
|
||
<div class="legal-draft-notice">ENTWURF — Bitte durch eine Fachperson prüfen lassen.</div>
|
||
<p class="legal-meta">kashilo.com — Anonymer Marktplatz | Stand: Februar 2026</p>
|
||
|
||
<h2>1. Angaben gemäss Schweizer Recht</h2>
|
||
<p>Verantwortlich für diese Website:</p>
|
||
<address class="legal-address">
|
||
[Name des Betreibers]<br>
|
||
[Strasse Nr.]<br>
|
||
[PLZ Ort], [Kanton]<br>
|
||
Schweiz
|
||
</address>
|
||
<p>E-Mail: [E-Mail oder Kontaktformular]<br>
|
||
UID: [UID-Nummer falls vorhanden]</p>
|
||
|
||
<h2>2. Vertretungsberechtigte Person</h2>
|
||
<p>[Name des Betreibers]</p>
|
||
|
||
<h2>3. Haftungsausschluss</h2>
|
||
<p>Die Inhalte dieser Website werden mit grösstmöglicher Sorgfalt erstellt. Der Betreiber übernimmt jedoch keine Gewähr für die Richtigkeit, Vollständigkeit und Aktualität der bereitgestellten Inhalte.</p>
|
||
<p>Die Nutzung der Inhalte erfolgt auf eigene Gefahr. Haftungsansprüche gegen den Betreiber, die sich auf Schäden materieller oder ideeller Art beziehen, sind grundsätzlich ausgeschlossen, sofern kein nachweislich vorsätzliches oder grob fahrlässiges Verschulden vorliegt.</p>
|
||
|
||
<h2>4. Haftung für Links</h2>
|
||
<p>Diese Website enthält Links zu externen Websites Dritter. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter verantwortlich. Bei Bekanntwerden von Rechtsverletzungen werden solche Links umgehend entfernt.</p>
|
||
|
||
<h2>5. Urheberrecht</h2>
|
||
<p>Die durch den Betreiber erstellten Inhalte und Werke auf dieser Website unterliegen dem Schweizer Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung ausserhalb der Grenzen des Urheberrechts bedürfen der schriftlichen Zustimmung des Betreibers.</p>
|
||
|
||
<h2>6. Anwendbares Recht</h2>
|
||
<p>Es gilt ausschliesslich Schweizer Recht. Gerichtsstand ist der Sitz des Betreibers.</p>
|
||
`,
|
||
en: /* html */`
|
||
<h1>Legal Notice</h1>
|
||
<div class="legal-draft-notice">DRAFT — Please have this reviewed by a legal professional.</div>
|
||
<p class="legal-meta">kashilo.com — Anonymous Marketplace | Last updated: February 2026</p>
|
||
|
||
<h2>1. Information according to Swiss law</h2>
|
||
<p>Responsible for this website:</p>
|
||
<address class="legal-address">
|
||
[Operator Name]<br>
|
||
[Street No.]<br>
|
||
[ZIP City], [Canton]<br>
|
||
Switzerland
|
||
</address>
|
||
<p>Email: [Email or contact form]<br>
|
||
UID: [UID number if applicable]</p>
|
||
|
||
<h2>2. Authorized representative</h2>
|
||
<p>[Operator Name]</p>
|
||
|
||
<h2>3. Disclaimer</h2>
|
||
<p>The contents of this website are created with the utmost care. However, the operator assumes no liability for the accuracy, completeness, or timeliness of the content provided.</p>
|
||
<p>Use of the content is at your own risk. Liability claims against the operator relating to material or immaterial damages are excluded unless there is proven intentional or grossly negligent fault.</p>
|
||
|
||
<h2>4. Liability for links</h2>
|
||
<p>This website contains links to external third-party websites. The respective provider is always responsible for the content of linked pages. If any legal violations become known, such links will be removed immediately.</p>
|
||
|
||
<h2>5. Copyright</h2>
|
||
<p>The content and works created by the operator on this website are subject to Swiss copyright law. Reproduction, editing, distribution, and any kind of use beyond the limits of copyright law require written consent of the operator.</p>
|
||
|
||
<h2>6. Governing law</h2>
|
||
<p>Swiss law applies exclusively. Place of jurisdiction is the operator's domicile.</p>
|
||
`,
|
||
fr: /* html */`
|
||
<h1>Mentions légales</h1>
|
||
<div class="legal-draft-notice">ÉBAUCHE — Veuillez faire vérifier ce document par un professionnel du droit.</div>
|
||
<p class="legal-meta">kashilo.com — Marché anonyme | Mise à jour : février 2026</p>
|
||
|
||
<h2>1. Informations selon le droit suisse</h2>
|
||
<p>Responsable de ce site web :</p>
|
||
<address class="legal-address">
|
||
[Nom de l'exploitant]<br>
|
||
[Rue N°]<br>
|
||
[NPA Ville], [Canton]<br>
|
||
Suisse
|
||
</address>
|
||
<p>E-mail : [E-mail ou formulaire de contact]<br>
|
||
IDE : [Numéro IDE le cas échéant]</p>
|
||
|
||
<h2>2. Personne autorisée à représenter</h2>
|
||
<p>[Nom de l'exploitant]</p>
|
||
|
||
<h2>3. Clause de non-responsabilité</h2>
|
||
<p>Le contenu de ce site web est élaboré avec le plus grand soin. L'exploitant décline toutefois toute responsabilité quant à l'exactitude, l'exhaustivité et l'actualité des contenus fournis.</p>
|
||
<p>L'utilisation des contenus se fait aux risques de l'utilisateur. Toute réclamation en responsabilité contre l'exploitant est exclue, sauf en cas de faute intentionnelle ou de négligence grave avérée.</p>
|
||
|
||
<h2>4. Responsabilité pour les liens</h2>
|
||
<p>Ce site contient des liens vers des sites web tiers. Le fournisseur respectif est toujours responsable du contenu des pages liées. En cas de connaissance de violations légales, ces liens seront immédiatement supprimés.</p>
|
||
|
||
<h2>5. Droits d'auteur</h2>
|
||
<p>Les contenus et œuvres créés par l'exploitant sur ce site sont soumis au droit d'auteur suisse. La reproduction, le traitement, la distribution et toute forme d'utilisation au-delà des limites du droit d'auteur nécessitent le consentement écrit de l'exploitant.</p>
|
||
|
||
<h2>6. Droit applicable</h2>
|
||
<p>Le droit suisse s'applique exclusivement. Le for juridique est le domicile de l'exploitant.</p>
|
||
`,
|
||
it: /* html */`
|
||
<h1>Avviso legale</h1>
|
||
<div class="legal-draft-notice">BOZZA — Si prega di far verificare questo documento da un professionista legale.</div>
|
||
<p class="legal-meta">kashilo.com — Mercato anonimo | Aggiornamento: febbraio 2026</p>
|
||
|
||
<h2>1. Informazioni secondo il diritto svizzero</h2>
|
||
<p>Responsabile di questo sito web:</p>
|
||
<address class="legal-address">
|
||
[Nome dell'operatore]<br>
|
||
[Via N.]<br>
|
||
[CAP Città], [Cantone]<br>
|
||
Svizzera
|
||
</address>
|
||
<p>E-mail: [E-mail o modulo di contatto]<br>
|
||
IDI: [Numero IDI se disponibile]</p>
|
||
|
||
<h2>2. Persona autorizzata a rappresentare</h2>
|
||
<p>[Nome dell'operatore]</p>
|
||
|
||
<h2>3. Esclusione di responsabilità</h2>
|
||
<p>I contenuti di questo sito web sono creati con la massima cura. L'operatore non si assume tuttavia alcuna responsabilità per la correttezza, completezza e attualità dei contenuti forniti.</p>
|
||
<p>L'utilizzo dei contenuti avviene a proprio rischio. Reclami di responsabilità contro l'operatore sono esclusi, salvo colpa intenzionale o grave negligenza dimostrata.</p>
|
||
|
||
<h2>4. Responsabilità per i link</h2>
|
||
<p>Questo sito web contiene link a siti web di terze parti. Il rispettivo fornitore è sempre responsabile del contenuto delle pagine collegate. In caso di violazioni legali note, tali link verranno immediatamente rimossi.</p>
|
||
|
||
<h2>5. Diritto d'autore</h2>
|
||
<p>I contenuti e le opere create dall'operatore su questo sito web sono soggetti al diritto d'autore svizzero. La riproduzione, l'elaborazione, la distribuzione e qualsiasi tipo di utilizzo al di fuori dei limiti del diritto d'autore richiedono il consenso scritto dell'operatore.</p>
|
||
|
||
<h2>6. Diritto applicabile</h2>
|
||
<p>Si applica esclusivamente il diritto svizzero. Il foro competente è il domicilio dell'operatore.</p>
|
||
`,
|
||
es: /* html */`
|
||
<h1>Aviso legal</h1>
|
||
<div class="legal-draft-notice">BORRADOR — Por favor, haga revisar este documento por un profesional legal.</div>
|
||
<p class="legal-meta">kashilo.com — Mercado anónimo | Actualización: febrero 2026</p>
|
||
|
||
<h2>1. Información según la legislación suiza</h2>
|
||
<p>Responsable de este sitio web:</p>
|
||
<address class="legal-address">
|
||
[Nombre del operador]<br>
|
||
[Calle N.°]<br>
|
||
[CP Ciudad], [Cantón]<br>
|
||
Suiza
|
||
</address>
|
||
<p>Correo electrónico: [Correo electrónico o formulario de contacto]<br>
|
||
IDE: [Número IDE si corresponde]</p>
|
||
|
||
<h2>2. Persona autorizada para representar</h2>
|
||
<p>[Nombre del operador]</p>
|
||
|
||
<h2>3. Descargo de responsabilidad</h2>
|
||
<p>El contenido de este sitio web se elabora con el mayor cuidado. Sin embargo, el operador no asume responsabilidad por la exactitud, integridad o actualidad del contenido proporcionado.</p>
|
||
<p>El uso del contenido es bajo su propio riesgo. Las reclamaciones de responsabilidad contra el operador están excluidas, salvo culpa intencional o negligencia grave demostrada.</p>
|
||
|
||
<h2>4. Responsabilidad por enlaces</h2>
|
||
<p>Este sitio web contiene enlaces a sitios web de terceros. El proveedor respectivo es siempre responsable del contenido de las páginas enlazadas. Si se detectan infracciones legales, dichos enlaces serán eliminados de inmediato.</p>
|
||
|
||
<h2>5. Derechos de autor</h2>
|
||
<p>Los contenidos y obras creados por el operador en este sitio web están sujetos a la legislación suiza sobre derechos de autor. La reproducción, edición, distribución y cualquier tipo de uso fuera de los límites de los derechos de autor requieren el consentimiento por escrito del operador.</p>
|
||
|
||
<h2>6. Legislación aplicable</h2>
|
||
<p>Se aplica exclusivamente la legislación suiza. El fuero es el domicilio del operador.</p>
|
||
`,
|
||
pt: /* html */`
|
||
<h1>Aviso legal</h1>
|
||
<div class="legal-draft-notice">RASCUNHO — Por favor, solicite a revisão deste documento por um profissional jurídico.</div>
|
||
<p class="legal-meta">kashilo.com — Mercado anônimo | Atualização: fevereiro 2026</p>
|
||
|
||
<h2>1. Informações conforme a legislação suíça</h2>
|
||
<p>Responsável por este site:</p>
|
||
<address class="legal-address">
|
||
[Nome do operador]<br>
|
||
[Rua N.º]<br>
|
||
[CEP Cidade], [Cantão]<br>
|
||
Suíça
|
||
</address>
|
||
<p>E-mail: [E-mail ou formulário de contato]<br>
|
||
IDE: [Número IDE se aplicável]</p>
|
||
|
||
<h2>2. Pessoa autorizada a representar</h2>
|
||
<p>[Nome do operador]</p>
|
||
|
||
<h2>3. Isenção de responsabilidade</h2>
|
||
<p>O conteúdo deste site é elaborado com o maior cuidado. No entanto, o operador não assume responsabilidade pela exatidão, integridade ou atualidade do conteúdo fornecido.</p>
|
||
<p>O uso do conteúdo é por sua conta e risco. Reivindicações de responsabilidade contra o operador estão excluídas, salvo culpa intencional ou negligência grave comprovada.</p>
|
||
|
||
<h2>4. Responsabilidade por links</h2>
|
||
<p>Este site contém links para sites de terceiros. O respectivo provedor é sempre responsável pelo conteúdo das páginas vinculadas. Se forem detectadas violações legais, tais links serão removidos imediatamente.</p>
|
||
|
||
<h2>5. Direitos autorais</h2>
|
||
<p>Os conteúdos e obras criados pelo operador neste site estão sujeitos à legislação suíça de direitos autorais. A reprodução, edição, distribuição e qualquer tipo de uso além dos limites dos direitos autorais requerem o consentimento por escrito do operador.</p>
|
||
|
||
<h2>6. Legislação aplicável</h2>
|
||
<p>Aplica-se exclusivamente a legislação suíça. O foro competente é o domicílio do operador.</p>
|
||
`,
|
||
ru: /* html */`
|
||
<h1>Правовая информация</h1>
|
||
<div class="legal-draft-notice">ЧЕРНОВИК — Пожалуйста, передайте этот документ на проверку юристу.</div>
|
||
<p class="legal-meta">kashilo.com — Анонимный маркетплейс | Обновлено: февраль 2026</p>
|
||
|
||
<h2>1. Сведения согласно швейцарскому праву</h2>
|
||
<p>Ответственный за данный сайт:</p>
|
||
<address class="legal-address">
|
||
[Имя оператора]<br>
|
||
[Улица, дом]<br>
|
||
[Индекс Город], [Кантон]<br>
|
||
Швейцария
|
||
</address>
|
||
<p>E-mail: [E-mail или контактная форма]<br>
|
||
UID: [UID-номер при наличии]</p>
|
||
|
||
<h2>2. Уполномоченное лицо</h2>
|
||
<p>[Имя оператора]</p>
|
||
|
||
<h2>3. Отказ от ответственности</h2>
|
||
<p>Содержание данного сайта создаётся с максимальной тщательностью. Однако оператор не несёт ответственности за точность, полноту и актуальность предоставленного содержания.</p>
|
||
<p>Использование содержания осуществляется на собственный риск. Претензии к оператору по возмещению материального или нематериального ущерба исключаются, за исключением доказанного умысла или грубой небрежности.</p>
|
||
|
||
<h2>4. Ответственность за ссылки</h2>
|
||
<p>Данный сайт содержит ссылки на внешние сайты третьих лиц. За содержание связанных страниц всегда несёт ответственность соответствующий провайдер. При обнаружении нарушений такие ссылки будут незамедлительно удалены.</p>
|
||
|
||
<h2>5. Авторское право</h2>
|
||
<p>Содержание и произведения, созданные оператором на данном сайте, подлежат швейцарскому авторскому праву. Воспроизведение, обработка, распространение и любое использование за пределами авторского права требуют письменного согласия оператора.</p>
|
||
|
||
<h2>6. Применимое право</h2>
|
||
<p>Применяется исключительно швейцарское право. Место юрисдикции — местонахождение оператора.</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-imprint', PageImprint)
|
||
|
||
const style = document.createElement('style')
|
||
style.textContent = /* css */`
|
||
page-imprint .legal-page {
|
||
padding: var(--space-lg) 0;
|
||
max-width: 800px;
|
||
margin: 0 auto;
|
||
}
|
||
|
||
page-imprint .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-imprint .back-link:hover {
|
||
color: var(--color-text);
|
||
}
|
||
|
||
page-imprint .legal-content h1 {
|
||
font-size: var(--font-size-2xl);
|
||
margin: 0 0 var(--space-xs);
|
||
}
|
||
|
||
page-imprint .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-imprint .legal-content h2:first-of-type {
|
||
border-top: none;
|
||
}
|
||
|
||
page-imprint .legal-content p {
|
||
line-height: 1.7;
|
||
margin: 0 0 var(--space-sm);
|
||
color: var(--color-text-secondary);
|
||
}
|
||
|
||
page-imprint .legal-content ul {
|
||
margin: 0 0 var(--space-sm);
|
||
padding-left: var(--space-lg);
|
||
color: var(--color-text-secondary);
|
||
}
|
||
|
||
page-imprint .legal-content ul li {
|
||
line-height: 1.7;
|
||
margin-bottom: var(--space-xs);
|
||
}
|
||
|
||
page-imprint .legal-meta {
|
||
color: var(--color-text-muted);
|
||
font-size: var(--font-size-sm);
|
||
}
|
||
|
||
page-imprint .legal-draft-notice {
|
||
background: var(--color-bg-secondary);
|
||
border: 1px solid var(--color-border);
|
||
border-radius: var(--radius-md);
|
||
padding: var(--space-sm) var(--space-md);
|
||
font-size: var(--font-size-sm);
|
||
color: var(--color-text-muted);
|
||
margin-bottom: var(--space-lg);
|
||
}
|
||
|
||
page-imprint .legal-address {
|
||
font-style: normal;
|
||
line-height: 1.8;
|
||
margin: var(--space-sm) 0;
|
||
color: var(--color-text-secondary);
|
||
}
|
||
|
||
@media (max-width: 768px) {
|
||
page-imprint .legal-page {
|
||
padding: var(--space-md) 0;
|
||
}
|
||
|
||
page-imprint .legal-content h1 {
|
||
font-size: var(--font-size-xl);
|
||
}
|
||
|
||
page-imprint .legal-content h2 {
|
||
font-size: var(--font-size-base);
|
||
}
|
||
}
|
||
`
|
||
document.head.appendChild(style)
|