forked from federated-nexus/website
Merge pull request 'Add privacy policy' (#6) from policy into main
Reviewed-on: federated-nexus/website#6
This commit is contained in:
commit
c8558f288c
20 changed files with 1170 additions and 943 deletions
15
.github/workflows/astro.yml
vendored
15
.github/workflows/astro.yml
vendored
|
|
@ -19,21 +19,20 @@ jobs:
|
|||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
- uses: denoland/setup-deno@v2.0.3
|
||||
with:
|
||||
node-version: "20"
|
||||
cache: true
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm i
|
||||
run: deno i
|
||||
|
||||
- name: Build with Astro
|
||||
run: npm run astro build
|
||||
run: deno run astro build
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
uses: actions/upload-pages-artifact@v4
|
||||
with:
|
||||
path: dist
|
||||
|
||||
|
|
@ -47,4 +46,4 @@ jobs:
|
|||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
uses: actions/deploy-pages@v4.0.5
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { defineConfig, passthroughImageService } from "astro/config"
|
|||
import starlight from "@astrojs/starlight"
|
||||
|
||||
export default defineConfig({
|
||||
trailingSlash: "never",
|
||||
trailingSlash: "always",
|
||||
build: { format: "directory" },
|
||||
integrations: [
|
||||
starlight({
|
||||
|
|
@ -36,6 +36,7 @@ export default defineConfig({
|
|||
autogenerate: { directory: "services" },
|
||||
},
|
||||
{ slug: "code" },
|
||||
{ slug: "privacy-policy" },
|
||||
{ slug: "donate" },
|
||||
],
|
||||
|
||||
|
|
|
|||
7
deno.json
Normal file
7
deno.json
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"imports": {
|
||||
"fs": "node:fs",
|
||||
"url": "node:url",
|
||||
"path": "node:path"
|
||||
}
|
||||
}
|
||||
|
|
@ -9,9 +9,9 @@
|
|||
"astro": "astro"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@astrojs/starlight": "^0.34.3",
|
||||
"astro": "^5.1.8",
|
||||
"prettier": "^3.6.2",
|
||||
"@astrojs/starlight": "^0.34.8",
|
||||
"astro": "^5.18.1",
|
||||
"prettier": "^3.8.1",
|
||||
"prettier-plugin-astro": "^0.14.1",
|
||||
"sharp": "^0.33.5",
|
||||
"starlight": "^0.3.9"
|
||||
|
|
|
|||
|
|
@ -9,14 +9,14 @@ hero:
|
|||
actions:
|
||||
- text: Postuler
|
||||
icon: email
|
||||
link: register
|
||||
link: register/
|
||||
- text: Rejoignez notre salle Matrix
|
||||
variant: minimal
|
||||
icon: matrix
|
||||
link: https://matrix.to/#/#community:federated.nexus
|
||||
- text: Faire un don
|
||||
icon: seti:shell
|
||||
link: donate
|
||||
link: donate/
|
||||
banner:
|
||||
content: Si vous rencontrez des problèmes, consultez <a href="https://status.federated.nexus">notre page d'état.</a>
|
||||
---
|
||||
|
|
@ -26,27 +26,27 @@ import { CardGrid, Card } from "@astrojs/starlight/components"
|
|||
<CardGrid>
|
||||
|
||||
<Card title="Communications privées et libres" icon="comment">
|
||||
[Matrix](https://matrix.org) est une plateforme de communication open source. Sur Federated Nexus, elle est représentée par une instance basée sur un logiciel libre [Continuwuity](https://continuwuity.org/). [En savoir plus...](services/matrix)
|
||||
[Matrix](https://matrix.org) est une plateforme de communication open source. Sur Federated Nexus, elle est représentée par une instance basée sur un logiciel libre [Continuwuity](https://continuwuity.org/). [En savoir plus...](services/matrix/)
|
||||
</Card>
|
||||
|
||||
<Card title="Maison rapide et libre pour votre code" icon="seti:git">
|
||||
[Forgejo](https://forgejo.org) est un git forge open source qui, contrairement à GitHub, n'entraînera jamais d'IA sur votre code 🙃. Nous en proposons une instance sur [git.federated.nexus](https://git.federated.nexus). [En savoir plus...](services/forgejo)
|
||||
[Forgejo](https://forgejo.org) est un git forge open source qui, contrairement à GitHub, n'entraînera jamais d'IA sur votre code 🙃. Nous en proposons une instance sur [git.federated.nexus](https://git.federated.nexus). [En savoir plus...](services/forgejo/)
|
||||
</Card>
|
||||
|
||||
<Card title="Écriture collaborative Open Source" icon="document">
|
||||
[LaSuite Docs](https://github.com/suitenumerique/docs) est une alternative libre et open source à Google Docs, conçue pour une collaboration fluide en temps réel. Vous pouvez rédiger des documents dans une interface graphique similaire à celle de Google Docs, puis les exporter au format DocX ou PDF. Vous pouvez également ajouter des sous-documents et partager des liens avec d'autres personnes, même celles qui ne possèdent pas de compte. [En savoir plus...](services/docs)
|
||||
[LaSuite Docs](https://github.com/suitenumerique/docs) est une alternative libre et open source à Google Docs, conçue pour une collaboration fluide en temps réel. Vous pouvez rédiger des documents dans une interface graphique similaire à celle de Google Docs, puis les exporter au format DocX ou PDF. Vous pouvez également ajouter des sous-documents et partager des liens avec d'autres personnes, même celles qui ne possèdent pas de compte. [En savoir plus...](services/docs/)
|
||||
</Card>
|
||||
|
||||
<Card title="Recherche rapide et privée simplifiée" icon="magnifier">
|
||||
[SearXNG](https://searxng.org) vous permet de vous connecter à l'aide de votre compte Federated Nexus et d'effectuer des recherches rapides et axées sur la confidentialité sur le Web, sans aucun suivi, profilage ou publicité intrusive. [En savoir plus...](services/searxng)
|
||||
[SearXNG](https://searxng.org) vous permet de vous connecter à l'aide de votre compte Federated Nexus et d'effectuer des recherches rapides et axées sur la confidentialité sur le Web, sans aucun suivi, profilage ou publicité intrusive. [En savoir plus...](services/searxng/)
|
||||
</Card>
|
||||
|
||||
<Card title="Naviguer sur Reddit en toute confidentialité" icon="reddit">
|
||||
[Redlib](https://github.com/redlib-org/redlib) est une interface alternative libre et open source pour Reddit, conçue pour supprimer le suivi, les publicités et les distractions. Vous pouvez parcourir les publications, lire les commentaires et vous abonner à des communautés, sans encombrement ni logiciel espion. [En savoir plus...](services/redlib)
|
||||
[Redlib](https://github.com/redlib-org/redlib) est une interface alternative libre et open source pour Reddit, conçue pour supprimer le suivi, les publicités et les distractions. Vous pouvez parcourir les publications, lire les commentaires et vous abonner à des communautés, sans encombrement ni logiciel espion. [En savoir plus...](services/redlib/)
|
||||
</Card>
|
||||
|
||||
<Card title="Communauté amicale et inclusive" icon="heart">
|
||||
Nous souhaitons maintenir une communauté amicale, diversifiée et inclusive. Dans ce cadre, nous n'hésitons pas à bannir toute personne intolérante, homophobe ou hostile. Nous suivons le [Contributor Covenant](code).
|
||||
Nous souhaitons maintenir une communauté amicale, diversifiée et inclusive. Dans ce cadre, nous n'hésitons pas à bannir toute personne intolérante, homophobe ou hostile. Nous suivons le [Contributor Covenant](code/).
|
||||
</Card>
|
||||
|
||||
<Card title="Plus à venir bientôt" icon="approve-check">
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
title: Forgejo
|
||||
---
|
||||
|
||||
[Forgejo](https://forgejo.org)est une forge Git libre et open source. Très légère et performante, Forgejo est une bonne alternative à GitHub. Nous hébergeons Forgejo à l'adresse https://git.federated.nexus.
|
||||
[Forgejo](https://forgejo.org) est une forge Git libre et open source. Très légère et performante, Forgejo est une bonne alternative à GitHub. Nous hébergeons Forgejo à l'adresse https://git.federated.nexus.
|
||||
|
||||
## Connexion
|
||||
|
||||
|
|
|
|||
|
|
@ -9,14 +9,14 @@ hero:
|
|||
actions:
|
||||
- text: Apply to Join
|
||||
icon: email
|
||||
link: register
|
||||
link: register/
|
||||
- text: Join our Matrix room
|
||||
variant: minimal
|
||||
icon: matrix
|
||||
link: https://matrix.to/#/#community:federated.nexus
|
||||
- text: Donate
|
||||
icon: seti:shell
|
||||
link: donate
|
||||
link: donate/
|
||||
banner:
|
||||
content: If you are experiencing issues, check <a href="https://status.federated.nexus">our status page.</a>
|
||||
---
|
||||
|
|
@ -26,11 +26,11 @@ import { CardGrid, Card } from "@astrojs/starlight/components"
|
|||
<CardGrid>
|
||||
|
||||
<Card title="Private and Free Communications" icon="comment">
|
||||
Federated Nexus hosts a free [Matrix](https://matrix.org) instance, using the [Continuwuity](https://continuwuity.org/) software. Matrix is an open-source communications platform, allowing you to chat to communities of your choice. [Learn More...](services/matrix)
|
||||
Federated Nexus hosts a free [Matrix](https://matrix.org) instance, using the [Continuwuity](https://continuwuity.org/) software. Matrix is an open-source communications platform, allowing you to chat to communities of your choice. [Learn More...](services/matrix/)
|
||||
</Card>
|
||||
|
||||
<Card title="A Fast and Free Home for Your Code" icon="seti:git">
|
||||
We host a free instance of [Forgejo](https://forgejo.org) at [git.federated.nexus](https://git.federated.nexus)! Forgejo is an open source git forge, that (unlike GitHub) will never train an AI on your code 🙃. [Learn More...](services/forgejo)
|
||||
We host a free instance of [Forgejo](https://forgejo.org) at [git.federated.nexus](https://git.federated.nexus)! Forgejo is an open source git forge, that (unlike GitHub) will never train an AI on your code 🙃. [Learn More...](services/forgejo/)
|
||||
</Card>
|
||||
|
||||
<Card title="Open Source Collaborative Editing" icon="document">
|
||||
|
|
@ -38,11 +38,11 @@ import { CardGrid, Card } from "@astrojs/starlight/components"
|
|||
</Card>
|
||||
|
||||
<Card title="Fast & Private Search Made Simple" icon="magnifier">
|
||||
We run a [SearXNG](https://searxng.org) instance that allows you to log in using your Federated Nexus account and perform fast, privacy-focused searches across the web—completely free from tracking, profiling, or intrusive advertising. [Learn More...](services/searxng)
|
||||
We run a [SearXNG](https://searxng.org) instance that allows you to log in using your Federated Nexus account and perform fast, privacy-focused searches across the web—completely free from tracking, profiling, or intrusive advertising. [Learn More...](services/searxng/)
|
||||
</Card>
|
||||
|
||||
<Card title="Browse Reddit Privately" icon="reddit">
|
||||
[Redlib](https://github.com/redlib-org/redlib) is a free and open source alternative frontend for Reddit, designed to strip out tracking, ads, and distractions. You can browse posts, read comments, and subscribe to subreddits—without the bloat or spyware. [Learn More...](services/redlib)
|
||||
[Redlib](https://github.com/redlib-org/redlib) is a free and open source alternative frontend for Reddit, designed to strip out tracking, ads, and distractions. You can browse posts, read comments, and subscribe to subreddits—without the bloat or spyware. [Learn More...](services/redlib/)
|
||||
</Card>
|
||||
|
||||
<Card title="Friendly and Inclusive Community" icon="heart">
|
||||
|
|
|
|||
19
src/content/docs/privacy-policy.mdx
Normal file
19
src/content/docs/privacy-policy.mdx
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
title: Privacy Policy
|
||||
---
|
||||
|
||||
Federated Nexus is operated by Henry Hiles (QuadRadical).
|
||||
|
||||
Federated Nexus collects and stores account email addresses and usernames indefinitely for spam prevention and account management.
|
||||
|
||||
Due to limitations of the Matrix protocol, it is not possible to remove sent messages when an account is deactivated. Messages sent through this server may therefore persist indefinitely.
|
||||
|
||||
Because Federated Nexus participates in the Matrix federation network, messages and account identifiers may be transmitted to and stored by other Matrix homeservers outside our control.
|
||||
|
||||
We keep logs of requests made to our servers for operational and security purposes. These logs include IP addresses, and are automatically deleted at the start of each month.
|
||||
|
||||
Federated Nexus may use essential cookies for authentication and session management when accessing web services. These cookies are required for the service to function and are not used for tracking or advertising.
|
||||
|
||||
We do not sell personal data.
|
||||
|
||||
For privacy inquiries or data requests, contact: info@federated.nexus.
|
||||
|
|
@ -9,14 +9,14 @@ hero:
|
|||
actions:
|
||||
- text: Подать заявку
|
||||
icon: email
|
||||
link: register
|
||||
link: register/
|
||||
- text: Присоединяйтесь к нашей комнате в Matrix
|
||||
variant: minimal
|
||||
icon: matrix
|
||||
link: https://matrix.to/#/#community:federated.nexus
|
||||
- text: Пожертвовать
|
||||
icon: seti:shell
|
||||
link: donate
|
||||
link: donate/
|
||||
banner:
|
||||
content: Если у вас возникли проблемы, проверьте <a href="https://status.federated.nexus">нашу страницу состояния.</a>
|
||||
---
|
||||
|
|
@ -26,27 +26,27 @@ import { CardGrid, Card } from "@astrojs/starlight/components"
|
|||
<CardGrid>
|
||||
|
||||
<Card title="Частное и свободное общение" icon="comment">
|
||||
[Matrix](https://matrix.org) — это платформа для общения, с открытым исходным кодом. На Federated Nexus она представлена экземпляром на основе свободного ПО [Continuwuity](https://continuwuity.org/). [Подробнее...](services/matrix)
|
||||
[Matrix](https://matrix.org) — это платформа для общения, с открытым исходным кодом. На Federated Nexus она представлена экземпляром на основе свободного ПО [Continuwuity](https://continuwuity.org/). [Подробнее...](services/matrix/)
|
||||
</Card>
|
||||
|
||||
<Card title="Быстрый и свободный дом для вашего кода" icon="seti:git">
|
||||
[Forgejo](https://forgejo.org) — это git-forge с открытым исходным кодом, который (в отличие от GitHub) никогда не будет обучать ИИ вашим кодом 🙃. На [git.federated.nexus](https://git.federated.nexus) мы предоставляем его экземпляр. [Подробнее...](services/forgejo)
|
||||
[Forgejo](https://forgejo.org) — это git-forge с открытым исходным кодом, который (в отличие от GitHub) никогда не будет обучать ИИ вашим кодом 🙃. На [git.federated.nexus](https://git.federated.nexus) мы предоставляем его экземпляр. [Подробнее...](services/forgejo/)
|
||||
</Card>
|
||||
|
||||
<Card title="Редактор для совместной правки документов, с открытым исходным кодом" icon="document">
|
||||
[LaSuite Docs](https://github.com/suitenumerique/docs) — это свободная альтернатива Google Docs с открытым исходным кодом для беспрепятственного совместного использования в режиме реального времени. Вы можете создавать документы в графическом интерфейсе, похожем на Google Docs; экспортировать их в форматах DocX или PDF. Вы также можете добавлять вложенные документы и делиться ссылками с другими пользователями, даже с теми, у кого нет учётной записи. [Подробнее...](services/docs)
|
||||
[LaSuite Docs](https://github.com/suitenumerique/docs) — это свободная альтернатива Google Docs с открытым исходным кодом для беспрепятственного совместного использования в режиме реального времени. Вы можете создавать документы в графическом интерфейсе, похожем на Google Docs; экспортировать их в форматах DocX или PDF. Вы также можете добавлять вложенные документы и делиться ссылками с другими пользователями, даже с теми, у кого нет учётной записи. [Подробнее...](services/docs/)
|
||||
</Card>
|
||||
|
||||
<Card title="Быстрый и конфиденциальный поиск стал проще" icon="magnifier">
|
||||
[SearXNG](https://searxng.org) позволяет вам войти в систему с помощью вашей учётной записи Federated Nexus и выполнять быстрый поиск в Интернете с упором на конфиденциальность — без отслеживания, профилирования или навязчивой рекламы. [Подробнее...](services/searxng)
|
||||
[SearXNG](https://searxng.org) позволяет вам войти в систему с помощью вашей учётной записи Federated Nexus и выполнять быстрый поиск в Интернете с упором на конфиденциальность — без отслеживания, профилирования или навязчивой рекламы. [Подробнее...](services/searxng/)
|
||||
</Card>
|
||||
|
||||
<Card title="Просматривайте Reddit конфиденциально" icon="reddit">
|
||||
[Redlib](https://github.com/redlib-org/redlib) — это свободный интерфейс с открытым исходным кодом для Reddit, разработанный для избавления от отслеживания, рекламы и отвлекающих факторов. Вы можете просматривать публикации, читать комментарии и подписываться на сообщества — без лишних проблем и шпионского ПО. [Подробнее...](services/redlib)
|
||||
[Redlib](https://github.com/redlib-org/redlib) — это свободный интерфейс с открытым исходным кодом для Reddit, разработанный для избавления от отслеживания, рекламы и отвлекающих факторов. Вы можете просматривать публикации, читать комментарии и подписываться на сообщества — без лишних проблем и шпионского ПО. [Подробнее...](services/redlib/)
|
||||
</Card>
|
||||
|
||||
<Card title="Дружественное и открытое сообщество" icon="heart">
|
||||
Мы стремимся поддерживать дружеское, разнообразное и открытое сообщество. В рамках этого мы не побоимся применять меры наказания в виде бана к любым фанатикам, гомофобам или другим недружелюбным людям. Мы следуем требованиям [Contributor Covenant](code).
|
||||
Мы стремимся поддерживать дружеское, разнообразное и открытое сообщество. В рамках этого мы не побоимся применять меры наказания в виде бана к любым фанатикам, гомофобам или другим недружелюбным людям. Мы следуем требованиям [Contributor Covenant](code/).
|
||||
</Card>
|
||||
|
||||
<Card title="Это ещё не всё" icon="approve-check">
|
||||
|
|
|
|||
|
|
@ -9,14 +9,14 @@ hero:
|
|||
actions:
|
||||
- text: Подати заявку
|
||||
icon: email
|
||||
link: register
|
||||
link: register/
|
||||
- text: Приєднуйтесь до нашої кімнати Matrix
|
||||
variant: minimal
|
||||
icon: matrix
|
||||
link: https://matrix.to/#/#community:federated.nexus
|
||||
- text: Пожертвувати
|
||||
icon: seti:shell
|
||||
link: donate
|
||||
link: donate/
|
||||
banner:
|
||||
content: Якщо у вас виникли проблеми, перевірте <a href="https://status.federated.nexus">нашу сторінку стану.</a>
|
||||
---
|
||||
|
|
@ -26,27 +26,27 @@ import { CardGrid, Card } from "@astrojs/starlight/components"
|
|||
<CardGrid>
|
||||
|
||||
<Card title="Приватне та вільне спілкування" icon="comment">
|
||||
[Matrix](https://matrix.org) — це платформа для спілкування, з відкритим вихідним кодом. На Federated Nexus вона представлена екземпляром на основі вільного ПЗ [Continuwuity](https://continuwuity.org/). [Докладніше...](services/matrix)
|
||||
[Matrix](https://matrix.org) — це платформа для спілкування, з відкритим вихідним кодом. На Federated Nexus вона представлена екземпляром на основі вільного ПЗ [Continuwuity](https://continuwuity.org/). [Докладніше...](services/matrix/)
|
||||
</Card>
|
||||
|
||||
<Card title="Швидкий і вільний дім для вашого коду" icon="seti:git">
|
||||
[Forgejo](https://forgejo.org) — це відкритий git-forge, який (на відміну від GitHub) ніколи не буде навчати штучний інтелект вашим кодом 🙃. На [git.federated.nexus](https://git.federated.nexus) ми надаємо його екземпляр. [Докладніше...](services/forgejo)
|
||||
[Forgejo](https://forgejo.org) — це відкритий git-forge, який (на відміну від GitHub) ніколи не буде навчати штучний інтелект вашим кодом 🙃. На [git.federated.nexus](https://git.federated.nexus) ми надаємо його екземпляр. [Докладніше...](services/forgejo/)
|
||||
</Card>
|
||||
|
||||
<Card title="Спільне редагування з відкритим кодом" icon="document">
|
||||
[LaSuite Docs](https://github.com/suitenumerique/docs) — це вільна альтернатива Google Docs з відкритим кодом, призначена для безперебійної співпраці в режимі реального часу. Ви можете створювати документи в графічному інтерфейсі, схожому на Google Docs, та експортувати їх у форматі DocX або PDF. Ви також можете додавати вкладені документи та ділитися посиланнями з іншими, навіть тими, хто не має облікового запису. [Докладніше...](services/docs)
|
||||
[LaSuite Docs](https://github.com/suitenumerique/docs) — це вільна альтернатива Google Docs з відкритим кодом, призначена для безперебійної співпраці в режимі реального часу. Ви можете створювати документи в графічному інтерфейсі, схожому на Google Docs, та експортувати їх у форматі DocX або PDF. Ви також можете додавати вкладені документи та ділитися посиланнями з іншими, навіть тими, хто не має облікового запису. [Докладніше...](services/docs/)
|
||||
</Card>
|
||||
|
||||
<Card title="Швидкий та приватний пошук став простішим" icon="magnifier">
|
||||
[SearXNG](https://searxng.org) дозволяє вам увійти за допомогою вашого облікового запису Federated Nexus і виконувати швидкий пошук в Інтернеті з акцентом на конфіденційність — без відстеження, профілювання або настирливої реклами. [Докладніше...](services/searxng)
|
||||
[SearXNG](https://searxng.org) дозволяє вам увійти за допомогою вашого облікового запису Federated Nexus і виконувати швидкий пошук в Інтернеті з акцентом на конфіденційність — без відстеження, профілювання або настирливої реклами. [Докладніше...](services/searxng/)
|
||||
</Card>
|
||||
|
||||
<Card title="Переглядайте Reddit приватно" icon="reddit">
|
||||
[Redlib](https://github.com/redlib-org/redlib) — це вільний інтерфейс з відкритим кодом для Reddit, призначений для усунення відстеження, реклами та відволікаючих факторів. Ви можете переглядати публікації, читати коментарі та підписуватися на спільноти без зайвих даних та шпигунського програмного забезпечення. [Докладніше...](services/redlib)
|
||||
[Redlib](https://github.com/redlib-org/redlib) — це вільний інтерфейс з відкритим кодом для Reddit, призначений для усунення відстеження, реклами та відволікаючих факторів. Ви можете переглядати публікації, читати коментарі та підписуватися на спільноти без зайвих даних та шпигунського програмного забезпечення. [Докладніше...](services/redlib/)
|
||||
</Card>
|
||||
|
||||
<Card title="Дружня та відкрита спільнота" icon="heart">
|
||||
Ми прагнемо підтримувати дружню, різноманітну та відкриту спільноту. В рамках цього ми не боїмося блокувати будь-яких нетерпимих, гомофобних або інших недружніх людей. Ми дотримуємося [Contributor Covenant](code).
|
||||
Ми прагнемо підтримувати дружню, різноманітну та відкриту спільноту. В рамках цього ми не боїмося блокувати будь-яких нетерпимих, гомофобних або інших недружніх людей. Ми дотримуємося [Contributor Covenant](code/).
|
||||
</Card>
|
||||
|
||||
<Card title="Незабаром буде більше" icon="approve-check">
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ import "../../styles/page.css"
|
|||
<span id="error" class="error"> </span>
|
||||
<button type="submit"><span>Envoyer</span></button>
|
||||
|
||||
<a href="/register"
|
||||
<a href="/register/"
|
||||
>Vous n'avez pas encore de compte ? Inscrivez-vous dès maintenant !</a
|
||||
>
|
||||
</form>
|
||||
|
|
@ -38,7 +38,7 @@ import "../../styles/page.css"
|
|||
const params = new URLSearchParams(window.location.search)
|
||||
for (const name of ["redirect_uri", "state", "nonce"]) {
|
||||
const input = document.querySelector(
|
||||
`input[name="${name}"]`
|
||||
`input[name="${name}"]`,
|
||||
) as HTMLInputElement
|
||||
if (input && params.has(name)) input.value = params.get(name)!
|
||||
}
|
||||
|
|
@ -74,7 +74,7 @@ import "../../styles/page.css"
|
|||
identifier: { type: "m.id.user", user: username },
|
||||
password,
|
||||
}),
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
if (!res.ok) {
|
||||
|
|
@ -84,12 +84,12 @@ import "../../styles/page.css"
|
|||
const data = await res.json()
|
||||
|
||||
const id = form.querySelector(
|
||||
'input[name="user_id"]'
|
||||
'input[name="user_id"]',
|
||||
) as HTMLInputElement
|
||||
id.value = data.user_id
|
||||
|
||||
const token = form.querySelector(
|
||||
'input[name="access_token"]'
|
||||
'input[name="access_token"]',
|
||||
) as HTMLInputElement
|
||||
token.value = data.access_token
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import "../../styles/page.css"
|
|||
pattern="^[A-Za-z0-9]+$"
|
||||
/>
|
||||
</label>
|
||||
|
||||
<div class="honeypot">
|
||||
<input
|
||||
type="text"
|
||||
|
|
@ -25,11 +26,24 @@ import "../../styles/page.css"
|
|||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<label>
|
||||
E-mail
|
||||
<input name="email" type="email" required />
|
||||
</label>
|
||||
|
||||
<label class="checkbox">
|
||||
<input name="code" type="checkbox" value="yes" required />
|
||||
I have read and agree to the <a href="../code/">Code of Conduct</a>.
|
||||
</label>
|
||||
|
||||
<label class="checkbox">
|
||||
<input name="policy" type="checkbox" value="yes" required />
|
||||
I have read and agree to the <a href="../privacy-policy/"
|
||||
>Privacy Policy</a
|
||||
>.
|
||||
</label>
|
||||
|
||||
<button type="submit"><span>Envoyer</span></button>
|
||||
</form>
|
||||
</StarlightPage>
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ import "../styles/page.css"
|
|||
<span id="error" class="error"> </span>
|
||||
<button type="submit"><span>Submit</span></button>
|
||||
|
||||
<a href="/register">Don't have an account? Sign up now!</a>
|
||||
<a href="/register/">Don't have an account? Sign up now!</a>
|
||||
</form>
|
||||
</StarlightPage>
|
||||
|
||||
|
|
@ -36,7 +36,7 @@ import "../styles/page.css"
|
|||
const params = new URLSearchParams(window.location.search)
|
||||
for (const name of ["redirect_uri", "state", "nonce"]) {
|
||||
const input = document.querySelector(
|
||||
`input[name="${name}"]`
|
||||
`input[name="${name}"]`,
|
||||
) as HTMLInputElement
|
||||
if (input && params.has(name)) input.value = params.get(name)!
|
||||
}
|
||||
|
|
@ -72,7 +72,7 @@ import "../styles/page.css"
|
|||
identifier: { type: "m.id.user", user: username },
|
||||
password,
|
||||
}),
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
if (!res.ok) {
|
||||
|
|
@ -82,12 +82,12 @@ import "../styles/page.css"
|
|||
const data = await res.json()
|
||||
|
||||
const id = form.querySelector(
|
||||
'input[name="user_id"]'
|
||||
'input[name="user_id"]',
|
||||
) as HTMLInputElement
|
||||
id.value = data.user_id
|
||||
|
||||
const token = form.querySelector(
|
||||
'input[name="access_token"]'
|
||||
'input[name="access_token"]',
|
||||
) as HTMLInputElement
|
||||
token.value = data.access_token
|
||||
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ import "../styles/page.css"
|
|||
pattern="^[A-Za-z0-9]+$"
|
||||
/>
|
||||
</label>
|
||||
|
||||
<div class="honeypot">
|
||||
<input
|
||||
type="text"
|
||||
|
|
@ -24,11 +25,24 @@ import "../styles/page.css"
|
|||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<label>
|
||||
Email
|
||||
<input name="email" type="email" required />
|
||||
</label>
|
||||
|
||||
<label class="checkbox">
|
||||
<input name="code" type="checkbox" value="yes" required />
|
||||
I have read and agree to the <a href="../code/">Code of Conduct</a>.
|
||||
</label>
|
||||
|
||||
<label class="checkbox">
|
||||
<input name="policy" type="checkbox" value="yes" required />
|
||||
I have read and agree to the <a href="../privacy-policy/"
|
||||
>Privacy Policy</a
|
||||
>.
|
||||
</label>
|
||||
|
||||
<button type="submit"><span>Submit</span></button>
|
||||
</form>
|
||||
</StarlightPage>
|
||||
|
|
|
|||
|
|
@ -28,7 +28,8 @@ import "../../styles/page.css"
|
|||
<span id="error" class="error"> </span>
|
||||
<button type="submit"><span>Отправить</span></button>
|
||||
|
||||
<a href="/register">У вас ещё нет учётной записи? Зарегистрируйтесь!</a>
|
||||
<a href="/register/">У вас ещё нет учётной записи? Зарегистрируйтесь!</a
|
||||
>
|
||||
</form>
|
||||
</StarlightPage>
|
||||
|
||||
|
|
@ -36,7 +37,7 @@ import "../../styles/page.css"
|
|||
const params = new URLSearchParams(window.location.search)
|
||||
for (const name of ["redirect_uri", "state", "nonce"]) {
|
||||
const input = document.querySelector(
|
||||
`input[name="${name}"]`
|
||||
`input[name="${name}"]`,
|
||||
) as HTMLInputElement
|
||||
if (input && params.has(name)) input.value = params.get(name)!
|
||||
}
|
||||
|
|
@ -72,7 +73,7 @@ import "../../styles/page.css"
|
|||
identifier: { type: "m.id.user", user: username },
|
||||
password,
|
||||
}),
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
if (!res.ok) {
|
||||
|
|
@ -82,12 +83,12 @@ import "../../styles/page.css"
|
|||
const data = await res.json()
|
||||
|
||||
const id = form.querySelector(
|
||||
'input[name="user_id"]'
|
||||
'input[name="user_id"]',
|
||||
) as HTMLInputElement
|
||||
id.value = data.user_id
|
||||
|
||||
const token = form.querySelector(
|
||||
'input[name="access_token"]'
|
||||
'input[name="access_token"]',
|
||||
) as HTMLInputElement
|
||||
token.value = data.access_token
|
||||
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ import "../../styles/page.css"
|
|||
pattern="^[A-Za-z0-9]+$"
|
||||
/>
|
||||
</label>
|
||||
|
||||
<div class="honeypot">
|
||||
<input
|
||||
type="text"
|
||||
|
|
@ -24,11 +25,24 @@ import "../../styles/page.css"
|
|||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<label>
|
||||
E-mail
|
||||
<input name="email" type="email" required />
|
||||
</label>
|
||||
|
||||
<label class="checkbox">
|
||||
<input name="code" type="checkbox" value="yes" required />
|
||||
I have read and agree to the <a href="../code/">Code of Conduct</a>.
|
||||
</label>
|
||||
|
||||
<label class="checkbox">
|
||||
<input name="policy" type="checkbox" value="yes" required />
|
||||
I have read and agree to the <a href="../privacy-policy/"
|
||||
>Privacy Policy</a
|
||||
>.
|
||||
</label>
|
||||
|
||||
<button type="submit"><span>Отправить</span></button>
|
||||
</form>
|
||||
</StarlightPage>
|
||||
|
|
|
|||
|
|
@ -28,7 +28,8 @@ import "../../styles/page.css"
|
|||
<span id="error" class="error"> </span>
|
||||
<button type="submit"><span>Надіслати</span></button>
|
||||
|
||||
<a href="/register">Не маєте облікового запису? Зареєструйтесь зараз!</a
|
||||
<a href="/register/"
|
||||
>Не маєте облікового запису? Зареєструйтесь зараз!</a
|
||||
>
|
||||
</form>
|
||||
</StarlightPage>
|
||||
|
|
@ -37,7 +38,7 @@ import "../../styles/page.css"
|
|||
const params = new URLSearchParams(window.location.search)
|
||||
for (const name of ["redirect_uri", "state", "nonce"]) {
|
||||
const input = document.querySelector(
|
||||
`input[name="${name}"]`
|
||||
`input[name="${name}"]`,
|
||||
) as HTMLInputElement
|
||||
if (input && params.has(name)) input.value = params.get(name)!
|
||||
}
|
||||
|
|
@ -73,7 +74,7 @@ import "../../styles/page.css"
|
|||
identifier: { type: "m.id.user", user: username },
|
||||
password,
|
||||
}),
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
if (!res.ok) {
|
||||
|
|
@ -83,12 +84,12 @@ import "../../styles/page.css"
|
|||
const data = await res.json()
|
||||
|
||||
const id = form.querySelector(
|
||||
'input[name="user_id"]'
|
||||
'input[name="user_id"]',
|
||||
) as HTMLInputElement
|
||||
id.value = data.user_id
|
||||
|
||||
const token = form.querySelector(
|
||||
'input[name="access_token"]'
|
||||
'input[name="access_token"]',
|
||||
) as HTMLInputElement
|
||||
token.value = data.access_token
|
||||
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ import "../../styles/page.css"
|
|||
pattern="^[A-Za-z0-9]+$"
|
||||
/>
|
||||
</label>
|
||||
|
||||
<div class="honeypot">
|
||||
<input
|
||||
type="text"
|
||||
|
|
@ -24,11 +25,24 @@ import "../../styles/page.css"
|
|||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<label>
|
||||
E-mail
|
||||
<input name="email" type="email" required />
|
||||
</label>
|
||||
|
||||
<label class="checkbox">
|
||||
<input name="code" type="checkbox" value="yes" required />
|
||||
I have read and agree to the <a href="../code/">Code of Conduct</a>.
|
||||
</label>
|
||||
|
||||
<label class="checkbox">
|
||||
<input name="policy" type="checkbox" value="yes" required />
|
||||
I have read and agree to the <a href="../privacy-policy/"
|
||||
>Privacy Policy</a
|
||||
>.
|
||||
</label>
|
||||
|
||||
<button type="submit"><span>Надіслати</span></button>
|
||||
</form>
|
||||
</StarlightPage>
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ body {
|
|||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
& main form {
|
||||
& * {
|
||||
display: block;
|
||||
|
|
@ -21,6 +22,11 @@ body {
|
|||
margin-top: 0.3rem;
|
||||
}
|
||||
|
||||
& .checkbox * {
|
||||
width: auto;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
& button {
|
||||
margin: 1.4rem 0;
|
||||
cursor: pointer;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue