add shirt sizes information hint and optional link

This commit is contained in:
Xu 2023-09-28 12:18:15 +02:00 committed by Igor Scheller
parent 50b1abe0d1
commit 276b1aa976
9 changed files with 53 additions and 1 deletions

View File

@ -383,6 +383,9 @@ return [
'4XL' => '4XLarge Straight-Cut',
],
// T-shirt Size-Guide link
'tshirt_link' => env('TSHIRT_LINK', null),
// Whether to show the current day of the event (-2, -1, 0, 1, 2…) in footer and on the dashboard.
// The event start date has to be set for it to appear.
'enable_show_day_of_event' => false,

View File

@ -23,6 +23,8 @@ $theme-colors: map-merge($theme-colors, $custom-colors);
$form-label-font-weight: $font-weight-bold;
$choices-guttering: auto;
@import '~bootstrap/scss/utilities';
@import '~bootstrap/scss/root';

View File

@ -1625,6 +1625,16 @@ msgstr "Dies kann jederzeit durch eine E-Mail an <a href=\"mailto:%s\">%1$s</a>
msgid "settings.profile.shirt_size"
msgstr "T-Shirt-Größe"
msgid "settings.profile.shirt_size.hint"
msgstr "Ein straight-cut T-Shirt hat breite Schultern und einen fast quadratischen Körper. "
"Ein fitted-cut (tailliertes) T-Shirt hat eine geschwungene Seitennaht, die an der Taille schmaler "
"ist und einen größeren Brust- sowie Hüft-Umfang hat. "
"Normalerweise fallen fitted-cut (taillierte) T-Shirts kleiner aus als straight-cut T-Shirts in der gleichen Größe, "
"außerdem sind die Größen von Marke zu Marke unterscheiden."
msgid "settings.profile.shirt.link"
msgstr "Mehr Informationen"
msgid "settings.profile.angeltypes.info"
msgstr "Du kannst deine Engeltypen <a href=\"%s\">auf der Engeltypen-Seite</a> verwalten."

View File

@ -344,6 +344,16 @@ msgstr "To withdraw your approval, send an e-mail to <a href=\"mailto:%s\">%1$s<
msgid "settings.profile.shirt_size"
msgstr "T-shirt size"
msgid "settings.profile.shirt_size.hint"
msgstr "A straight-cut shirt has wide shoulders and a body which is almost square. "
"A fitted-cut t-shirt has a curved side seam which comes in at the waist "
"and goes out at the upper and lower ends. "
"Normally fitted-cut shirts are smaller then same size straight-cut shirts, "
"and sizes differ between brands."
msgid "settings.profile.shirt.link"
msgstr "More information"
msgid "settings.profile.angeltypes.info"
msgstr "You can manage your Angeltypes <a href=\"%s\">on the Angeltypes page</a>."

View File

@ -202,6 +202,15 @@ Renders a select element wrapped in a DIV with mb-3.
<option value="{{ value }}"{% if opt.selected is defined and value == opt.selected %} selected{% endif %}>{{ decription }}</option>
{% endfor %}
</select>
{% if opt.form_text|default('') %}
<div class="form-text">
{% if opt.raw_form_text|default(false) %}
{{ opt.form_text|raw }}
{% else %}
{{ opt.form_text }}
{% endif %}
</div>
{% endif %}
</div>
{%- endmacro %}

View File

@ -239,6 +239,14 @@
'required': isTShirtSizeRequired,
'required_icon': isTShirtSizeRequired,
'selected': f.formData('tshirt_size', ''),
'info': __('settings.profile.shirt_size.hint'),
'raw_form_text': true,
'form_text': (tShirtLink ? m.icon('info-circle')
~ ' <a href="'
~ tShirtLink|escape('html_attr')
~ '" target="_blank" rel="noopener">'
~ __('settings.profile.shirt.link')|e
~ '</a>' : ''),
}
) }}
</div>

View File

@ -155,6 +155,14 @@
'required_icon': isTShirtSizeRequired,
'default_option': __('form.select_placeholder'),
'disabled': user.state.got_shirt,
'info': __('settings.profile.shirt_size.hint'),
'raw_form_text': true,
'form_text': (tShirtLink ? m.icon('info-circle')
~ ' <a href="'
~ tShirtLink|escape('html_attr')
~ '">'
~ __('settings.profile.shirt.link')|e
~ '</a>' : ''),
}) }}
</div>
{% endif %}

View File

@ -91,6 +91,7 @@ class RegistrationController extends BaseController
[
'minPasswordLength' => $this->config->get('min_password_length'),
'tShirtSizes' => $this->config->get('tshirt_sizes'),
'tShirtLink' => $this->config->get('tshirt_link'),
'angelTypes' => AngelType::whereHideRegister(false)->get(),
'preselectedAngelTypes' => $preselectedAngelTypes,
'buildUpStartDate' => $this->userFactory->determineBuildUpStartDate()->format('Y-m-d'),

View File

@ -46,8 +46,9 @@ class SettingsController extends BaseController
[
'settings_menu' => $this->settingsMenu(),
'user' => $user,
'goodie_tshirt' => $this->config->get('goodie_type') === GoodieType::Tshirt->value,
'goodie_enabled' => $this->config->get('goodie_type') !== GoodieType::None->value,
'goodie_tshirt' => $this->config->get('goodie_type') === GoodieType::Tshirt->value,
'tShirtLink' => $this->config->get('tshirt_link'),
'isPronounRequired' => $requiredFields['pronoun'],
'isFirstnameRequired' => $requiredFields['firstname'],
'isLastnameRequired' => $requiredFields['lastname'],