new things.

This commit is contained in:
Dan Chadwick 2024-05-18 21:34:59 -04:00
parent 90559e017d
commit 5456271fb1
28 changed files with 713 additions and 349 deletions

View File

@ -26,10 +26,13 @@
"drupal/devel_entity_updates": "^4.1",
"drupal/field_group": "^3.4",
"drupal/google_tag": "^2.0",
"drupal/jsonapi_permission_access": "1.0.1",
"drupal/layout_builder_styles": "^2.0",
"drupal/migrate_plus": "^6.0",
"drupal/migrate_tools": "^6.0",
"drupal/pathauto": "^1.12",
"drupal/stage_file_proxy": "^2.1",
"drupal/views_bulk_operations": "^4.2",
"drupal/views_json_source": "^2.0",
"drush/drush": "^12.4",
"symfony/css-selector": "^6",

665
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -4,4 +4,4 @@ default_form: feedback
flood:
limit: 5
interval: 3600
user_default_enabled: true
user_default_enabled: false

View File

@ -0,0 +1,60 @@
uuid: fadc38ce-447f-4989-9804-96dffd93b81e
langcode: en
status: true
dependencies:
config:
- field.field.media.protected_file.field_media_document
- media.type.protected_file
module:
- file
- path
id: media.protected_file.default
targetEntityType: media
bundle: protected_file
mode: default
content:
created:
type: datetime_timestamp
weight: 10
region: content
settings: { }
third_party_settings: { }
field_media_document:
type: file_generic
weight: 0
region: content
settings:
progress_indicator: throbber
third_party_settings: { }
name:
type: string_textfield
weight: -5
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
path:
type: path
weight: 30
region: content
settings: { }
third_party_settings: { }
status:
type: boolean_checkbox
weight: 100
region: content
settings:
display_label: true
third_party_settings: { }
uid:
type: entity_reference_autocomplete
weight: 5
region: content
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
third_party_settings: { }
hidden: { }

View File

@ -0,0 +1,27 @@
uuid: ddb0e740-6417-4a65-8abf-4c31381e30be
langcode: en
status: true
dependencies:
config:
- core.entity_form_mode.media.media_library
- field.field.media.protected_file.field_media_document
- media.type.protected_file
id: media.protected_file.media_library
targetEntityType: media
bundle: protected_file
mode: media_library
content:
name:
type: string_textfield
weight: 0
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
hidden:
created: true
field_media_document: true
path: true
status: true
uid: true

View File

@ -0,0 +1,27 @@
uuid: 1383cd00-cc6a-4a5f-ace8-17b39540b7a1
langcode: en
status: true
dependencies:
config:
- field.field.media.protected_file.field_media_document
- media.type.protected_file
module:
- file
id: media.protected_file.default
targetEntityType: media
bundle: protected_file
mode: default
content:
field_media_document:
type: file_default
label: visually_hidden
settings:
use_description_as_link_text: true
third_party_settings: { }
weight: 0
region: content
hidden:
created: true
name: true
thumbnail: true
uid: true

View File

@ -0,0 +1,32 @@
uuid: 04afd3f8-510a-49dd-8fe6-3ca277e20aa7
langcode: en
status: true
dependencies:
config:
- core.entity_view_mode.media.media_library
- field.field.media.protected_file.field_media_document
- image.style.medium
- media.type.protected_file
module:
- image
id: media.protected_file.media_library
targetEntityType: media
bundle: protected_file
mode: media_library
content:
thumbnail:
type: image
label: hidden
settings:
image_link: ''
image_style: medium
image_loading:
attribute: lazy
third_party_settings: { }
weight: 0
region: content
hidden:
created: true
field_media_document: true
name: true
uid: true

View File

@ -36,7 +36,9 @@ module:
options: 0
path: 0
path_alias: 0
sdc: 0
search: 0
serialization: 0
shortcut: 0
system: 0
taxonomy: 0

View File

@ -0,0 +1,27 @@
uuid: f66dc202-5cc8-48cb-9cd4-0aeb7ff435b7
langcode: en
status: true
dependencies:
config:
- field.storage.media.field_media_document
- media.type.protected_file
module:
- file
id: media.protected_file.field_media_document
field_name: field_media_document
entity_type: media
bundle: protected_file
label: File
description: ''
required: true
translatable: true
default_value: { }
default_value_callback: ''
settings:
handler: 'default:file'
handler_settings: { }
file_directory: '[date:custom:Y]-[date:custom:m]'
file_extensions: 'txt doc docx pdf'
max_filesize: ''
description_field: false
field_type: file

View File

@ -24,6 +24,6 @@ settings:
handler_settings: { }
file_directory: '[date:custom:Y]-[date:custom:m]'
file_extensions: mp4
max_filesize: ''
max_filesize: '50 MB'
description_field: false
field_type: file

View File

@ -18,7 +18,7 @@ settings:
target_type: file
display_field: false
display_default: false
uri_scheme: public
uri_scheme: private
module: file
locked: false
cardinality: 1

View File

@ -0,0 +1,13 @@
uuid: 918f3f67-95d5-49fc-8020-1f1a0bb87be1
langcode: en
status: true
dependencies: { }
id: protected_file
label: 'Protected File'
description: ''
source: file
queue_thumbnail_downloads: false
new_revision: false
source_configuration:
source_field: field_media_document
field_map: { }

View File

@ -1,5 +1,3 @@
_core:
default_config_hash: jtno5biznHZbrIgKwzq-ze-7XaQxLCGe6PeUOR7bRiQ
cache:
page:
max_age: 86400

View File

@ -12,3 +12,4 @@ page:
admin_compact_mode: false
weight_select_max: 100
default_langcode: en
mail_notification: ''

View File

@ -3,114 +3,28 @@ _core:
langcode: en
cancel_confirm:
subject: 'Account cancellation request for [user:display-name] at [site:name]'
body: |-
[user:display-name]
A request to cancel your account has been made at [site:name].
You may now cancel your account on [site:url-brief] by clicking this link or copying and pasting it into your browser:
[user:cancel-url]
NOTE: The cancellation of your account is not reversible.
This link expires in one day and nothing will happen if it is not used.
-- [site:name] team
body: "[user:display-name]\r\n\r\nA request to cancel your account has been made at [site:name].\r\n\r\nYou may now cancel your account on [site:url-brief] by clicking this link or copying and pasting it into your browser:\r\n\r\n[user:cancel-url]\r\n\r\nNOTE: The cancellation of your account is not reversible.\r\n\r\nThis link expires in one day and nothing will happen if it is not used.\r\n\r\n-- [site:name] team"
password_reset:
subject: 'Replacement login information for [user:display-name] at [site:name]'
body: |-
[user:display-name],
A request to reset the password for your account has been made at [site:name].
You may now log in by clicking this link or copying and pasting it into your browser:
[user:one-time-login-url]
This link can only be used once to log in and will lead you to a page where you can set your password. It expires after one day and nothing will happen if it's not used.
-- [site:name] team
body: "[user:display-name],\r\n\r\nA request to reset the password for your account has been made at [site:name].\r\n\r\nYou may now log in by clicking this link or copying and pasting it into your browser:\r\n\r\n[user:one-time-login-url]\r\n\r\nThis link can only be used once to log in and will lead you to a page where you can set your password. It expires after one day and nothing will happen if it's not used.\r\n\r\n-- [site:name] team"
register_admin_created:
subject: 'An administrator created an account for you at [site:name]'
body: |-
[user:display-name],
A site administrator at [site:name] has created an account for you. You may now log in by clicking this link or copying and pasting it into your browser:
[user:one-time-login-url]
This link can only be used once to log in and will lead you to a page where you can set your password.
After setting your password, you will be able to log in at [site:login-url] in the future using:
username: [user:name]
password: Your password
-- [site:name] team
body: "[user:display-name],\r\n\r\nA site administrator at [site:name] has created an account for you. You may now log in by clicking this link or copying and pasting it into your browser:\r\n\r\n[user:one-time-login-url]\r\n\r\nThis link can only be used once to log in and will lead you to a page where you can set your password.\r\n\r\nAfter setting your password, you will be able to log in at [site:login-url] in the future using:\r\n\r\nusername: [user:name]\r\npassword: Your password\r\n\r\n-- [site:name] team"
register_no_approval_required:
subject: 'Account details for [user:display-name] at [site:name]'
body: |-
[user:display-name],
Thank you for registering at [site:name]. You may now log in by clicking this link or copying and pasting it into your browser:
[user:one-time-login-url]
This link can only be used once to log in and will lead you to a page where you can set your password.
After setting your password, you will be able to log in at [site:login-url] in the future using:
username: [user:name]
password: Your password
-- [site:name] team
body: "[user:display-name],\r\n\r\nThank you for registering at [site:name]. You may now log in by clicking this link or copying and pasting it into your browser:\r\n\r\n[user:one-time-login-url]\r\n\r\nThis link can only be used once to log in and will lead you to a page where you can set your password.\r\n\r\nAfter setting your password, you will be able to log in at [site:login-url] in the future using:\r\n\r\nusername: [user:name]\r\npassword: Your password\r\n\r\n-- [site:name] team"
register_pending_approval:
subject: 'Account details for [user:display-name] at [site:name] (pending admin approval)'
body: |-
[user:display-name],
Thank you for registering at [site:name]. Your application for an account is currently pending approval. Once it has been approved, you will receive another email containing information about how to log in, set your password, and other details.
-- [site:name] team
body: "[user:display-name],\r\n\r\nThank you for registering at [site:name]. Your application for an account is currently pending approval. Once it has been approved, you will receive another email containing information about how to log in, set your password, and other details.\r\n\r\n-- [site:name] team"
register_pending_approval_admin:
subject: 'Account details for [user:display-name] at [site:name] (pending admin approval)'
body: |-
[user:display-name] has applied for an account.
[user:edit-url]
body: "[user:display-name] has applied for an account.\r\n\r\n[user:edit-url]"
status_activated:
subject: 'Account details for [user:display-name] at [site:name] (approved)'
body: |-
[user:display-name],
Your account at [site:name] has been activated.
You may now log in by clicking this link or copying and pasting it into your browser:
[user:one-time-login-url]
This link can only be used once to log in and will lead you to a page where you can set your password.
After setting your password, you will be able to log in at [site:login-url] in the future using:
username: [user:account-name]
password: Your password
-- [site:name] team
body: "[user:display-name],\r\n\r\nYour account at [site:name] has been activated.\r\n\r\nYou may now log in by clicking this link or copying and pasting it into your browser:\r\n\r\n[user:one-time-login-url]\r\n\r\nThis link can only be used once to log in and will lead you to a page where you can set your password.\r\n\r\nAfter setting your password, you will be able to log in at [site:login-url] in the future using:\r\n\r\nusername: [user:account-name]\r\npassword: Your password\r\n\r\n-- [site:name] team"
status_blocked:
subject: 'Account details for [user:display-name] at [site:name] (blocked)'
body: |-
[user:display-name],
Your account on [site:name] has been blocked.
-- [site:name] team
body: "[user:display-name],\r\n\r\nYour account on [site:name] has been blocked.\r\n\r\n-- [site:name] team"
status_canceled:
subject: 'Account details for [user:display-name] at [site:name] (canceled)'
body: |-
[user:display-name],
Your account on [site:name] has been canceled.
-- [site:name] team
body: "[user:display-name],\r\n\r\nYour account on [site:name] has been canceled.\r\n\r\n-- [site:name] team"

View File

@ -12,7 +12,7 @@ notify:
register_admin_created: true
register_no_approval_required: true
register_pending_approval: true
register: visitors_admin_approval
register: admin_only
cancel_method: user_cancel_block
password_reset_timeout: 86400
password_strength: true

View File

@ -2,5 +2,7 @@
# import all fighters.
drush @self.local ev '\Drupal::service("ufc.importer")->importFighters()';
# import fights.
ddev drush @self.local ev '\Drupal::service("ufc.import_fighters")->importFighters();';
ddev drush @self.local ev '\Drupal::service("ufc.import_fights")->importEvents();';
ddev drush @self.local ev '\Drupal::service("ufc.import_fights")->createEvents();';

View File

@ -159,6 +159,8 @@ private function getFighterData(int $id, bool $is_f1 = TRUE): array {
$extracted_values = $this->extractValuesFromFields($id, $this->fields, $prefix);
/* return $extracted_values; */
return $this->normalizeData($extracted_values);
}

View File

@ -181,8 +181,8 @@
*
* WARNING: The above defaults are designed for database portability. Changing
* them may cause unexpected behavior, including potential data loss. See
* https://www.drupal.org/developing/api/database/configuration for more
* information on these defaults and the potential issues.
* https://www.drupal.org/docs/8/api/database-api/database-configuration for
* more information on these defaults and the potential issues.
*
* More details can be found in the constructor methods for each driver:
* - \Drupal\mysql\Driver\Database\mysql\Connection::__construct()

View File

@ -900,6 +900,7 @@
}
$settings['file_public_path'] = 'sites/default/files';
$settings['file_private_path'] = $app_root . '/../private-files';
$config['image.settings']['allow_insecure_derivatives'] = TRUE;
$settings['config_sync_directory'] = '../config/default';

View File

@ -53,5 +53,5 @@
*
* @see default.settings.php
* @see \Drupal\Core\DrupalKernel::getSitePath()
* @see https://www.drupal.org/documentation/install/multi-site
* @see https://www.drupal.org/docs/getting-started/multisite-drupal
*/

View File

@ -0,0 +1,12 @@
name: Accordion
props:
type: object
properties: { }
slots:
# Content.
accordion_headline:
title: Accordion Title
description: "The accordion title."
accordion_content:
title: Accordion Content
description: "The accordion content."

View File

@ -0,0 +1,14 @@
{% set classes = [
'accordion',
] %}
<div class="accordion">
<div class="accordion-item">
<h2 class="accordion-header">
{% block accordion_title %}{% endblock %}
</h2>
</div>
<div class="accordion-body">
{% block accordion_content %}{% endblock %}
</div>
</div>

View File

@ -0,0 +1,17 @@
name: Button
props:
type: object
required:
- type
properties:
type:
type: string
title: Type
description: "The type of button to render"
# The enum directive restricts the possible values in the element to our list.
enum: ['primary', 'secondary', 'danger']
slots:
# Content to display in the chip.
button_text:
title: Button Text
description: The text for the button

View File

@ -0,0 +1,7 @@
((Drupal) => {
Drupal.behaviors.button = {
attach(context) {
console.log("hello");
},
};
})(Drupal);

View File

@ -0,0 +1,10 @@
{%
set classes = [
'btn',
'btn-' ~ type|clean_class,
]
%}
<button class="{{ classes|join(" ") }}">
{% block button_text %}{% endblock %}
</button>

View File

@ -32,6 +32,10 @@ $container-plus-padding: 1216px;
@import "partials/footer";
@import "partials/recent-fights";
html {
font-size: 100%;
}
body {
background: $base_light;
color: $muted;

View File

@ -15,6 +15,20 @@
</main>
</section>
<footer aria-label="Site footer" class="footer" id="footer" role="contentinfo">
{{ include('dchadwick:button', {text: 'Click me', type: 'danger'}, with_context = false) }}
{% embed 'dchadwick:accordion' %}
{% block accordion_title %}
Click Me!
{% endblock %}
{% block accordion_content %}
Here is some content that goes in the place where the body is.
{% endblock %}
{% endembed %}
<div class="footer--bottom">
{{ page.footer_bottom }}
</div>