@initial_state_json = serializable_resource.to_json
end
- def more; end
+ def more
+ render layout: 'public'
+ end
- def terms; end
+ def terms
+ render layout: 'public'
+ end
private
}
}
+.rich-formatting {
+ font-family: 'mastodon-font-sans-serif', sans-serif;
+ font-size: 16px;
+ font-weight: 400;
+ font-size: 16px;
+ line-height: 30px;
+ color: $darker-text-color;
+ padding-right: 10px;
+
+ a {
+ color: $highlight-text-color;
+ text-decoration: underline;
+ }
+
+ p,
+ li {
+ font-family: 'mastodon-font-sans-serif', sans-serif;
+ font-size: 16px;
+ font-weight: 400;
+ font-size: 16px;
+ line-height: 30px;
+ margin-bottom: 12px;
+ color: $darker-text-color;
+
+ a {
+ color: $highlight-text-color;
+ text-decoration: underline;
+ }
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+
+ em {
+ display: inline;
+ margin: 0;
+ padding: 0;
+ font-weight: 700;
+ background: transparent;
+ font-family: inherit;
+ font-size: inherit;
+ line-height: inherit;
+ color: lighten($darker-text-color, 10%);
+ }
+
+ h1 {
+ font-family: 'mastodon-font-display', sans-serif;
+ font-size: 26px;
+ line-height: 30px;
+ font-weight: 500;
+ margin-bottom: 20px;
+ color: $secondary-text-color;
+
+ small {
+ font-family: 'mastodon-font-sans-serif', sans-serif;
+ display: block;
+ font-size: 18px;
+ font-weight: 400;
+ color: lighten($darker-text-color, 10%);
+ }
+ }
+
+ h2 {
+ font-family: 'mastodon-font-display', sans-serif;
+ font-size: 22px;
+ line-height: 26px;
+ font-weight: 500;
+ margin-bottom: 20px;
+ color: $secondary-text-color;
+ }
+
+ h3 {
+ font-family: 'mastodon-font-display', sans-serif;
+ font-size: 18px;
+ line-height: 24px;
+ font-weight: 500;
+ margin-bottom: 20px;
+ color: $secondary-text-color;
+ }
+
+ h4 {
+ font-family: 'mastodon-font-display', sans-serif;
+ font-size: 16px;
+ line-height: 24px;
+ font-weight: 500;
+ margin-bottom: 20px;
+ color: $secondary-text-color;
+ }
+
+ h5 {
+ font-family: 'mastodon-font-display', sans-serif;
+ font-size: 14px;
+ line-height: 24px;
+ font-weight: 500;
+ margin-bottom: 20px;
+ color: $secondary-text-color;
+ }
+
+ h6 {
+ font-family: 'mastodon-font-display', sans-serif;
+ font-size: 12px;
+ line-height: 24px;
+ font-weight: 500;
+ margin-bottom: 20px;
+ color: $secondary-text-color;
+ }
+
+ ul,
+ ol {
+ margin-left: 20px;
+
+ &[type='a'] {
+ list-style-type: lower-alpha;
+ }
+
+ &[type='i'] {
+ list-style-type: lower-roman;
+ }
+ }
+
+ ul {
+ list-style: disc;
+ }
+
+ ol {
+ list-style: decimal;
+ }
+
+ li > ol,
+ li > ul {
+ margin-top: 6px;
+ }
+
+ hr {
+ width: 100%;
+ height: 0;
+ border: 0;
+ border-bottom: 1px solid rgba($ui-base-lighter-color, .6);
+ margin: 20px 0;
+
+ &.spacer {
+ height: 1px;
+ border: 0;
+ }
+ }
+}
+
+.information-board {
+ background: darken($ui-base-color, 4%);
+ padding: 20px 0;
+
+ .container-alt {
+ position: relative;
+ padding-right: 280px + 15px;
+ }
+
+ &__sections {
+ display: flex;
+ justify-content: space-between;
+ flex-wrap: wrap;
+ }
+
+ &__section {
+ flex: 1 0 0;
+ font-family: 'mastodon-font-sans-serif', sans-serif;
+ font-size: 16px;
+ line-height: 28px;
+ color: $primary-text-color;
+ text-align: right;
+ padding: 10px 15px;
+
+ span,
+ strong {
+ display: block;
+ }
+
+ span {
+ &:last-child {
+ color: $secondary-text-color;
+ }
+ }
+
+ strong {
+ font-weight: 500;
+ font-size: 32px;
+ line-height: 48px;
+ }
+
+ @media screen and (max-width: $column-breakpoint) {
+ text-align: center;
+ }
+ }
+
+ .panel {
+ position: absolute;
+ width: 280px;
+ box-sizing: border-box;
+ background: darken($ui-base-color, 8%);
+ padding: 20px;
+ padding-top: 10px;
+ border-radius: 4px 4px 0 0;
+ right: 0;
+ bottom: -40px;
+
+ .panel-header {
+ font-family: 'mastodon-font-display', sans-serif;
+ font-size: 14px;
+ line-height: 24px;
+ font-weight: 500;
+ color: $darker-text-color;
+ padding-bottom: 5px;
+ margin-bottom: 15px;
+ border-bottom: 1px solid lighten($ui-base-color, 4%);
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+
+ a,
+ span {
+ font-weight: 400;
+ color: darken($darker-text-color, 10%);
+ }
+
+ a {
+ text-decoration: none;
+ }
+ }
+ }
+
+ .owner {
+ text-align: center;
+
+ .avatar {
+ width: 80px;
+ height: 80px;
+ margin: 0 auto;
+ margin-bottom: 15px;
+
+ img {
+ display: block;
+ width: 80px;
+ height: 80px;
+ border-radius: 48px;
+ }
+ }
+
+ .name {
+ font-size: 14px;
+
+ a {
+ display: block;
+ color: $primary-text-color;
+ text-decoration: none;
+
+ &:hover {
+ .display_name {
+ text-decoration: underline;
+ }
+ }
+ }
+
+ .username {
+ display: block;
+ color: $darker-text-color;
+ }
+ }
+ }
+}
+
.landing-page {
.grid {
display: grid;
}
}
- .information-board {
- background: darken($ui-base-color, 4%);
- padding: 20px 0;
-
- .container-alt {
- position: relative;
- padding-right: 280px + 15px;
- }
-
- &__sections {
- display: flex;
- justify-content: space-between;
- flex-wrap: wrap;
- }
-
- &__section {
- flex: 1 0 0;
- font-family: 'mastodon-font-sans-serif', sans-serif;
- font-size: 16px;
- line-height: 28px;
- color: $primary-text-color;
- text-align: right;
- padding: 10px 15px;
-
- span,
- strong {
- display: block;
- }
-
- span {
- &:last-child {
- color: $secondary-text-color;
- }
- }
-
- strong {
- font-weight: 500;
- font-size: 32px;
- line-height: 48px;
- }
-
- @media screen and (max-width: $column-breakpoint) {
- text-align: center;
- }
- }
-
- .panel {
- position: absolute;
- width: 280px;
- box-sizing: border-box;
- background: darken($ui-base-color, 8%);
- padding: 20px;
- padding-top: 10px;
- border-radius: 4px 4px 0 0;
- right: 0;
- bottom: -40px;
-
- .panel-header {
- font-family: 'mastodon-font-display', sans-serif;
- font-size: 14px;
- line-height: 24px;
- font-weight: 500;
- color: $darker-text-color;
- padding-bottom: 5px;
- margin-bottom: 15px;
- border-bottom: 1px solid lighten($ui-base-color, 4%);
- text-overflow: ellipsis;
- white-space: nowrap;
- overflow: hidden;
-
- a,
- span {
- font-weight: 400;
- color: darken($darker-text-color, 10%);
- }
-
- a {
- text-decoration: none;
- }
- }
- }
-
- .owner {
- text-align: center;
-
- .avatar {
- width: 80px;
- height: 80px;
- margin: 0 auto;
- margin-bottom: 15px;
-
- img {
- display: block;
- width: 80px;
- height: 80px;
- border-radius: 48px;
- }
- }
-
- .name {
- font-size: 14px;
-
- a {
- display: block;
- color: $primary-text-color;
- text-decoration: none;
-
- &:hover {
- .display_name {
- text-decoration: underline;
- }
- }
- }
-
- .username {
- display: block;
- color: $darker-text-color;
- }
- }
- }
- }
-
&.alternative {
padding: 10px 0;
}
}
- .extended-description {
- padding: 50px 0;
- font-family: 'mastodon-font-sans-serif', sans-serif;
- font-size: 16px;
- font-weight: 400;
- font-size: 16px;
- line-height: 30px;
- color: $darker-text-color;
-
- a {
- color: $highlight-text-color;
- text-decoration: underline;
- }
- }
-
.footer-links {
padding-bottom: 50px;
text-align: right;
}
}
+.grid-3 {
+ display: grid;
+ grid-gap: 10px;
+ grid-template-columns: 3fr 1fr;
+ grid-auto-columns: 25%;
+ grid-auto-rows: max-content;
+
+ .column-0 {
+ grid-column: 1/3;
+ grid-row: 1;
+ }
+
+ .column-1 {
+ grid-column: 1;
+ grid-row: 2;
+ }
+
+ .column-2 {
+ grid-column: 2;
+ grid-row: 2;
+ }
+
+ .column-3 {
+ grid-column: 1/3;
+ grid-row: 3;
+ }
+}
+
.public-layout {
@media screen and (max-width: $no-gap-breakpoint) {
padding-top: 48px;
}
}
+ &--no-bar {
+ margin-bottom: 0;
+
+ .public-account-header__image,
+ .public-account-header__image img {
+ border-radius: 4px;
+ }
+ }
+
@media screen and (max-width: $no-gap-breakpoint) {
margin-bottom: 0;
box-shadow: none;
}
}
+.box-widget {
+ padding: 20px;
+ border-radius: 4px;
+ background: $ui-base-color;
+ box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
+}
+
+.contact-widget,
+.landing-page__information.contact-widget {
+ box-sizing: border-box;
+ padding: 20px;
+ height: 100%;
+ border-radius: 4px;
+ background: $ui-base-color;
+ box-shadow: 0 0 15px rgba($base-shadow-color, 0.2);
+}
+
+.contact-widget {
+ font-size: 15px;
+ color: $darker-text-color;
+ line-height: 20px;
+ word-wrap: break-word;
+ font-weight: 400;
+
+ p {
+ margin-bottom: 10px;
+
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+
+ &__mail {
+ margin-top: 10px;
+
+ a {
+ color: $primary-text-color;
+ text-decoration: none;
+ }
+ }
+}
+
.moved-account-widget {
padding: 15px;
padding-bottom: 20px;
+++ /dev/null
-.account
- .account__wrapper
- - if @instance_presenter.contact_account
- = link_to TagManager.instance.url_for(@instance_presenter.contact_account), class: 'account__display-name' do
- .account__avatar-wrapper
- .account__avatar{ style: "background-image: url(#{@instance_presenter.contact_account.avatar.url})" }
- %span.display-name
- %bdi
- %strong.display-name__html.emojify= display_name(@instance_presenter.contact_account, custom_emojify: true)
- %span.display-name__account @#{@instance_presenter.contact_account.acct}
- - else
- .account__display-name
- .account__avatar-wrapper
- .account__avatar{ style: "background-image: url(#{full_asset_url('avatars/original/missing.png', skip_pipeline: true)})" }
- %span.display-name
- %strong= t 'about.contact_missing'
- %span.display-name__account= t 'about.contact_unavailable'
-
- = link_to t('about.learn_more'), about_more_path, class: 'button button-alternative'
+++ /dev/null
-.panel
- .panel-header
- = succeed ':' do
- = t 'about.contact'
- - if contact.site_contact_email.present?
- = mail_to contact.site_contact_email, nil, title: contact.site_contact_email
- - else
- %span= t 'about.contact_unavailable'
- .panel-body
- - if contact.contact_account
- .owner
- .avatar= image_tag contact.contact_account.avatar.url
- .name
- = link_to TagManager.instance.url_for(contact.contact_account) do
- %span.display_name.emojify= display_name(contact.contact_account, custom_emojify: true)
- %span.username @#{contact.contact_account.acct}
- - else
- .owner
- .avatar= image_tag full_asset_url('avatars/original/missing.png', skip_pipeline: true)
- .name
- %span.display_name= t 'about.contact_missing'
- %span.username= t 'about.contact_unavailable'
= javascript_pack_tag 'public', integrity: true, crossorigin: 'anonymous'
= render partial: 'shared/og'
-.landing-page
- .header-wrapper.compact
- .header
- = render 'links'
+.grid-3
+ .column-0
+ .public-account-header.public-account-header--no-bar
+ .public-account-header__image
+ = image_tag @instance_presenter.hero&.file&.url || @instance_presenter.thumbnail&.file&.url || asset_pack_path('preview.jpg'), alt: @instance_presenter.site_title, class: 'parallax'
- .container-alt.hero
- .heading
- %h3= t('about.description_headline', domain: site_hostname)
- %p= @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname)
+ .column-1
+ .landing-page__call-to-action{ dir: 'ltr' }
+ .row
+ .row__information-board
+ .information-board__section
+ %span= t 'about.user_count_before'
+ %strong= number_with_delimiter @instance_presenter.user_count
+ %span= t 'about.user_count_after'
+ .information-board__section
+ %span= t 'about.status_count_before'
+ %strong= number_with_delimiter @instance_presenter.status_count
+ %span= t 'about.status_count_after'
+ .row__mascot
+ .landing-page__mascot
+ = image_tag asset_pack_path('elephant_ui_plane.svg')
- .information-board
- .container-alt
- .information-board__sections
- .information-board__section
- %span= t 'about.user_count_before'
- %strong= number_with_delimiter @instance_presenter.user_count
- %span= t 'about.user_count_after'
- .information-board__section
- %span= t 'about.status_count_before'
- %strong= number_with_delimiter @instance_presenter.status_count
- %span= t 'about.status_count_after'
- .information-board__section
- %span= t 'about.domain_count_before'
- %strong= number_with_delimiter @instance_presenter.domain_count
- %span= t 'about.domain_count_after'
- = render 'contact', contact: @instance_presenter
+ .column-2
+ .landing-page__information.contact-widget
+ %p= t 'about.administered_by'
- .extended-description
- .container-alt
- = @instance_presenter.site_extended_description.html_safe.presence || t('about.extended_description_html')
+ = account_link_to(@instance_presenter.contact_account)
- .footer-links
- .container-alt
- %p
- = link_to t('about.source_code'), @instance_presenter.source_url
- = " (#{@instance_presenter.version_number})"
+ - if @instance_presenter.site_contact_email.present?
+ %p.contact-widget__mail
+ = succeed ':' do
+ = t 'about.contact'
+ %br/
+ = mail_to @instance_presenter.site_contact_email, nil, title: @instance_presenter.site_contact_email
+
+ .column-3
+ .box-widget
+ .rich-formatting= @instance_presenter.site_extended_description.html_safe.presence || t('about.extended_description_html')
%p= t 'about.about_mastodon_html'
%div.contact
%h3= t 'about.administered_by'
- = render 'administration'
+ = account_link_to(@instance_presenter.contact_account, link_to(t('about.learn_more'), about_more_path, class: 'button button-alternative'))
= render 'features'
%p= t 'about.about_mastodon_html'
%div.contact
%h3= t 'about.administered_by'
- = render 'administration'
+ = account_link_to(@instance_presenter.contact_account, link_to(t('about.learn_more'), about_more_path, class: 'button button-alternative'))
= render 'features'
- content_for :page_title do
= t('terms.title', instance: site_hostname)
-.landing-page
- .header-wrapper.compact
- .header
- = render 'links'
-
- .extended-description
- .container-alt
- = @instance_presenter.site_terms.html_safe.presence || t('terms.body_html')
+.grid
+ .column-0
+ .box-widget
+ .rich-formatting= @instance_presenter.site_terms.html_safe.presence || t('terms.body_html')
+ .column-1
+ = render 'application/sidebar'
contact: للتواصل معنا
contact_missing: غير محدد
contact_unavailable: غير متوفر
- description_headline: ما هو %{domain}?
- domain_count_after: خوادم أخرى
- domain_count_before: متصل بـ
extended_description_html: |
<h3>مكان جيد للقواعد</h3>
<p>لا يوجد تفصيل طويل حتى الآن.</p>
about:
about_mastodon_html: Mastodon ye una rede social basada en protocolos abiertos y software de códigu llibre. Ye descentralizada, como'l corréu electrónicu.
contact_unavailable: N/D
- description_headline: "¿Qué ye %{domain}?"
- domain_count_after: otres instancies
features:
not_a_product_title: Yes una persona, non un productu
source_code: Códigu fonte
about_this: За тази инстанция
closed_registrations: В момента регистрациите за тази инстанция са затворени.
contact: За контакти
- description_headline: Какво е %{domain}?
- domain_count_after: други инстанции
- domain_count_before: Свързани към
other_instances: Други инстанции
source_code: Програмен код
status_count_after: публикации
contact: Contacte
contact_missing: No configurat
contact_unavailable: N/D
- description_headline: Què es %{domain}?
- domain_count_after: altres instàncies
- domain_count_before: Connectada a
extended_description_html: |
<h3>Un bon lloc per les regles</h3>
<p>Encara no s'ha configurat la descripció ampliada.</p>
contact: Cuntattu
contact_missing: Mancante
contact_unavailable: Micca dispunibule
- description_headline: Quale hè %{domain} ?
- domain_count_after: altre istanze
- domain_count_before: Cunnettati à
extended_description_html: |
<h3>Una bona piazza per e regule</h3>
<p>A descrizzione stesa ùn hè micca stata riempiuta.</p>
contact: Kontakt
contact_missing: Nenastaveno
contact_unavailable: Neuvedeno
- description_headline: Co je %{domain}?
- domain_count_after: dalším instancím
- domain_count_before: Připojeno k
extended_description_html: |
<h3>Dobré místo pro pravidla</h3>
<p>Rozšířený popis ještě nebyl nastaven.</p>
contact: Kontakt
contact_missing: Ikke sat
contact_unavailable: Ikke tilgængeligt
- description_headline: Hvad er %{domain}?
- domain_count_after: andre instanser
- domain_count_before: Forbundet til
extended_description_html: |
<h3>Et godt sted for regler</h3>
<p>Den udvidede beskrivelse er endnu ikke blevet opsat.</p>
contact: Kontakt
contact_missing: Nicht angegeben
contact_unavailable: N/A
- description_headline: Was ist %{domain}?
- domain_count_after: anderen Instanzen
- domain_count_before: Vernetzt mit
extended_description_html: |
<h3>Ein guter Platz für Regeln</h3>
<p>Die erweiterte Beschreibung wurde noch nicht aufgesetzt.</p>
contact: Επικοινωνία
contact_missing: Δεν έχει οριστεί
contact_unavailable: Μ/Δ
- description_headline: Τι είναι το %{domain};
- domain_count_after: άλλους διακομιστές
- domain_count_before: Συνδέεται με
extended_description_html: |
<h3>Ένα καλό σημείο για κανόνες</h3>
<p>Η αναλυτική περιγραφή δεν έχει ακόμα οριστεί</p>
contact: Contact
contact_missing: Not set
contact_unavailable: N/A
- description_headline: What is %{domain}?
documentation: Documentation
- domain_count_after: other instances
- domain_count_before: Connected to
extended_description_html: |
<h3>A good place for rules</h3>
<p>The extended description has not been set up yet.</p>
contact: Kontakti
contact_missing: Ne elektita
contact_unavailable: Ne disponebla
- description_headline: Kio estas %{domain}?
- domain_count_after: aliaj nodoj
- domain_count_before: Konektita al
extended_description_html: |
<h3>Bona loko por reguloj</h3>
<p>La detala priskribo ne estis elektita.</p>
contact: Contacto
contact_missing: No especificado
contact_unavailable: N/A
- description_headline: "¿Qué es %{domain}?"
- domain_count_after: otras instancias
- domain_count_before: Conectado a
extended_description_html: |
<h3>Un buen lugar para las reglas</h3>
<p>La descripción extendida no se ha colocado aún.</p>
contact: Kontaktua
contact_missing: Ezarri gabe
contact_unavailable: E/E
- description_headline: Zer da %{domain}?
- domain_count_after: instantzia desberdinetara
- domain_count_before: Konektatuta
extended_description_html: |
<h3>Arauentzako toki egoki bat</h3>
<p>Azalpen luzea ez da ezarri oraindik.</p>
contact: تماس
contact_missing: تعیین نشده
contact_unavailable: موجود نیست
- description_headline: "%{domain} چیست؟"
- domain_count_after: سرور دیگر
- domain_count_before: متصل به
extended_description_html: |
<h3>جای خوبی برای قانونها</h3>
<p>توضیحات تکمیلی نوشته نشده است.</p>
contact: Ota yhteyttä
contact_missing: Ei asetettu
contact_unavailable: Ei saatavilla
- description_headline: Mikä on %{domain}?
- domain_count_after: muuhun instanssiin
- domain_count_before: Yhdistyneenä
extended_description_html: |
<h3>Hyvä paikka säännöille</h3>
<p>Pidempää kuvausta ei ole vielä laadittu.</p>
contact: Contact
contact_missing: Manquant
contact_unavailable: Non disponible
- description_headline: Qu’est-ce que %{domain} ?
- domain_count_after: autres instances
- domain_count_before: Connecté⋅e⋅s à
extended_description_html: |
<h3>Un bon endroit pour les règles</h3>
<p>La description étendue n’a pas été remplie.</p>
contact: Contacto
contact_missing: Non establecido
contact_unavailable: N/A
- description_headline: Qué é %{domain}?
- domain_count_after: outras instancias
- domain_count_before: Conectada a
extended_description_html: |
<h3>Un bo lugar para regras</h3>
<p>A descrición extendida aínda non se proporcionou.</p>
contact: צור קשר
contact_missing: אין
contact_unavailable: לא רלוונטי/חסר
- description_headline: מהו %{domain}?
- domain_count_after: שרתים אחרים
- domain_count_before: מחובר אל
extended_description_html: |
<h3>מקום טוב לכללים</h3>
<p>התיאור המורחב טרם הוגדר.</p>
about_this: O ovoj instanci
closed_registrations: Registracije na ovoj instanci su trenutno zatvorene.
contact: Kontakt
- description_headline: Što je %{domain}?
- domain_count_after: druge instance
- domain_count_before: Spojen na
other_instances: Druge instance
source_code: Izvorni kod
status_count_after: statusi
contact: Kapcsolat
contact_missing: Nincs megadva
contact_unavailable: N/A
- description_headline: Mi az a %{domain}?
- domain_count_after: további instanciával
- domain_count_before: Kapcsolatban
extended_description_html: |
<h3>Ez itt a szabályzat helye</h3>
<p>Még nem állítottál be bővebb leírást.</p>
about_this: Tentang server ini
closed_registrations: Pendaftaran untuk server ini sedang ditutup.
contact: Kontak
- description_headline: Apa itu %{domain}?
- domain_count_after: server lain
- domain_count_before: Terhubung dengan
other_instances: Server lain
source_code: Kode sumber
status_count_after: status
about_this: Pri ta instaluro
closed_registrations: Membresko ne nun esas posible en ta instaluro.
contact: Kontaktar
- description_headline: Quo esas %{domain}?
- domain_count_after: altra instaluri
- domain_count_before: Konektita ad
other_instances: Altra instaluri
source_code: Fontkodexo
status_count_after: mesaji
contact: Contatti
contact_missing: Non impostato
contact_unavailable: N/D
- description_headline: Cos'è %{domain}?
- domain_count_after: altri server
- domain_count_before: Connesso a
extended_description_html: |
<h3>Un buon posto per le regole</h3>
<p>La descrizione estesa non è ancora stata preparata.</p>
contact: 連絡先
contact_missing: 未設定
contact_unavailable: N/A
- description_headline: "%{domain} とは?"
- domain_count_after: 個のインスタンス
- domain_count_before: 接続中
extended_description_html: |
<h3>ルールを書くのに適した場所</h3>
<p>詳細説明が設定されていません。</p>
contact: 연락처
contact_missing: 미설정
contact_unavailable: N/A
- description_headline: "%{domain} (은)는 무엇인가요?"
- domain_count_after: 개의 인스턴스
- domain_count_before: 연결된
extended_description_html: |
<h3>룰을 작성하는 장소</h3>
<p>아직 설명이 작성되지 않았습니다.</p>
contact: Contact
contact_missing: Niet ingesteld
contact_unavailable: n.v.t
- description_headline: Wat is %{domain}?
- domain_count_after: andere servers
- domain_count_before: Verbonden met
extended_description_html: |
<h3>Een goede plek voor richtlijnen</h3>
<p>De uitgebreide omschrijving is nog niet ingevuld.</p>
contact: Kontakt
contact_missing: Ikke innstilt
contact_unavailable: Ikke tilgjengelig
- description_headline: Hva er %{domain}?
- domain_count_after: andre instanser
- domain_count_before: Koblet til
extended_description_html: |
<h3>En god plassering for regler</h3>
<p>En utvidet beskrivelse er ikke satt opp ennå.</p>
contact: Contacte
contact_missing: Pas parametrat
contact_unavailable: Pas disponible
- description_headline: Qué es %{domain} ?
- domain_count_after: autras instàncias
- domain_count_before: Connectat a
extended_description_html: |
<h3>Una bona plaça per las règlas</h3>
<p>La descripcion longa es pas estada causida pel moment.</p>
contact: Kontakt
contact_missing: Nie ustawiono
contact_unavailable: Nie dotyczy
- description_headline: Czym jest %{domain}?
documentation: Dokumentacja
- domain_count_after: instancjami
- domain_count_before: Serwer połączony z
extended_description_html: |
<h3>Dobre miejsce na zasady użytkowania</h3>
<p>Nie ustawiono jeszcze szczegółowego opisu</p>
contact: Contato
contact_missing: Não definido
contact_unavailable: N/A
- description_headline: O que é %{domain}?
- domain_count_after: outras instâncias
- domain_count_before: Conectado a
extended_description_html: |
<h3>Um bom lugar para regras</h3>
<p>A descrição da instância ainda não foi feita.</p>
contact: Contacto
contact_missing: Não configurado
contact_unavailable: n.d.
- description_headline: O que é o %{domain}?
- domain_count_after: outras instâncias
- domain_count_before: Ligado a
extended_description_html: |
<h3>Um bom lugar para regras</h3>
<p>A descrição estendida ainda não foi configurada.</p>
contact: Связаться
contact_missing: Не установлено
contact_unavailable: Недоступен
- description_headline: Что такое %{domain}?
- domain_count_after: другими узлами
- domain_count_before: Связан с
extended_description_html: |
<h3>Хорошее место для правил</h3>
<p>Расширенное описание еще не настроено.</p>
contact: Kontakt
contact_missing: Nezadané
contact_unavailable: Neuvedené
- description_headline: Čo je %{domain}?
- domain_count_after: ďalším instanciám
- domain_count_before: Pripojený k
extended_description_html: |
<h3>Pravidlá</h3>
<p>Žiadne zatiaľ nie sú</p>
contact: Kontakt
contact_missing: Ni nastavljeno
contact_unavailable: Ni na voljo
- description_headline: Kaj je %{domain}?
- domain_count_after: ostala vozlišča
- domain_count_before: Povezan z
extended_description_html: |
<h3>Dober prostor za pravila</h3>
<p>Razširjen opis še ni bil nastavljen.</p>
contact: Kontakt
contact_missing: Nije postavljeno
contact_unavailable: N/A
- description_headline: Šta je %{domain}?
- domain_count_after: ostale instance
- domain_count_before: Povezan na
extended_description_html: |
<h3>Dobro mesto za pravila</h3>
<p>Prošireni opis koji još nije postavljen.</p>
contact: Контакт
contact_missing: Није постављено
contact_unavailable: N/A
- description_headline: Шта је %{domain}?
- domain_count_after: остале инстанце
- domain_count_before: Повезан на
extended_description_html: |
<h3>Добро место за правила</h3>
<p>Проширени опис који још није постављен.</p>
contact: Kontakt
contact_missing: Inte inställd
contact_unavailable: N/A
- description_headline: Vad är %{domain}?
- domain_count_after: andra instanser
- domain_count_before: Uppkopplad mot
extended_description_html: |
<h3>En bra plats för regler</h3>
<p>Den utökade beskrivningen har inte konfigurerats ännu.</p>
about_this: เกี่ยวกับอินซะแตนซ์นี้
closed_registrations: อินซะแตนซ์นี้ปิดรับลงทะเบียนแล้ว.
contact: ติดต่อ
- description_headline: โดเมนคือ %{domain} ?
- domain_count_after: อินซะแตนซ์อื่นๆ
- domain_count_before: เชื่อมต่อกับ
other_instances: อินซะแตนซ์อื่นๆ
source_code: ซอร์สโค๊ด
status_count_after: สถานะ
about_this: Bu sunucu hakkında
closed_registrations: Bu sunucu şu anda yeni kayıt almamaktadır.
contact: İletişim
- description_headline: Peki %{domain} nedir?
- domain_count_after: sunucu var.
- domain_count_before: Bağlı olduğu
other_instances: Diğer sunucular
source_code: Kaynak kodu
status_count_after: adet gönderi yazıldı.
closed_registrations: На даний момент реєстрація на цій інстанції закрита.
contact: Зв'язатися
contact_missing: Не зазначено
- description_headline: Що таке %{domain}?
- domain_count_after: іншими інстанціями
- domain_count_before: Зв'язаний з
features:
humane_approach_title: Більш людський підхід
real_conversation_title: Побудований для справжньої розмови
contact: 联系方式
contact_missing: 未设定
contact_unavailable: 未公开
- description_headline: 关于 %{domain}
- domain_count_after: 个其它实例
- domain_count_before: 现已接入
extended_description_html: |
<h3>这里可以写一些规定</h3>
<p>本站尚未设置详细介绍。</p>
contact: 聯絡
contact_missing: 未設定
contact_unavailable: 未公開
- description_headline: 甚麼是 %{domain} ?
- domain_count_after: 個其他服務站
- domain_count_before: 已連接至
extended_description_html: |
<h3>這裡可以寫一些網站規則</h3>
<p>本站未有詳細介紹</p>
contact: 聯絡我們
contact_missing: 未設定
contact_unavailable: 未公開
- description_headline: 關於 %{domain}?
- domain_count_after: 個站點相連
- domain_count_before: 與其他
extended_description_html: |
<h3>這裡可以寫一些網站規則</h3>
<p>本站點未有詳細介紹</p>
+++ /dev/null
-# frozen_string_literal: true
-
-require 'rails_helper'
-
-describe 'about/_contact.html.haml' do
- describe 'the contact account', without_verify_partial_doubles: true do
- before do
- allow(view).to receive(:display_name).and_return('Display Name!')
- end
-
- it 'shows info when account is present' do
- account = Account.new(username: 'admin')
- contact = double(contact_account: account, site_contact_email: '')
- render 'about/contact', contact: contact
-
- expect(rendered).to have_content('@admin')
- end
-
- it 'does not show info when account is missing' do
- contact = double(contact_account: nil, site_contact_email: '')
- render 'about/contact', contact: contact
-
- expect(rendered).not_to have_content('@')
- end
- end
-
- describe 'the contact email' do
- it 'show info when email is present' do
- contact = double(site_contact_email: 'admin@example.com', contact_account: nil)
- render 'about/contact', contact: contact
-
- expect(rendered).to have_content('admin@example.com')
- end
- end
-end