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/devel_entity_updates": "^4.1",
"drupal/field_group": "^3.4", "drupal/field_group": "^3.4",
"drupal/google_tag": "^2.0", "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_plus": "^6.0",
"drupal/migrate_tools": "^6.0", "drupal/migrate_tools": "^6.0",
"drupal/pathauto": "^1.12", "drupal/pathauto": "^1.12",
"drupal/stage_file_proxy": "^2.1", "drupal/stage_file_proxy": "^2.1",
"drupal/views_bulk_operations": "^4.2",
"drupal/views_json_source": "^2.0", "drupal/views_json_source": "^2.0",
"drush/drush": "^12.4", "drush/drush": "^12.4",
"symfony/css-selector": "^6", "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: flood:
limit: 5 limit: 5
interval: 3600 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 options: 0
path: 0 path: 0
path_alias: 0 path_alias: 0
sdc: 0
search: 0 search: 0
serialization: 0
shortcut: 0 shortcut: 0
system: 0 system: 0
taxonomy: 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: { } handler_settings: { }
file_directory: '[date:custom:Y]-[date:custom:m]' file_directory: '[date:custom:Y]-[date:custom:m]'
file_extensions: mp4 file_extensions: mp4
max_filesize: '' max_filesize: '50 MB'
description_field: false description_field: false
field_type: file field_type: file

View File

@ -18,7 +18,7 @@ settings:
target_type: file target_type: file
display_field: false display_field: false
display_default: false display_default: false
uri_scheme: public uri_scheme: private
module: file module: file
locked: false locked: false
cardinality: 1 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: cache:
page: page:
max_age: 86400 max_age: 86400

View File

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

View File

@ -3,114 +3,28 @@ _core:
langcode: en langcode: en
cancel_confirm: cancel_confirm:
subject: 'Account cancellation request for [user:display-name] at [site:name]' subject: 'Account cancellation request for [user:display-name] at [site:name]'
body: |- 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"
[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
password_reset: password_reset:
subject: 'Replacement login information for [user:display-name] at [site:name]' subject: 'Replacement login information for [user:display-name] at [site:name]'
body: |- 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"
[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
register_admin_created: register_admin_created:
subject: 'An administrator created an account for you at [site:name]' subject: 'An administrator created an account for you at [site:name]'
body: |- 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"
[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
register_no_approval_required: register_no_approval_required:
subject: 'Account details for [user:display-name] at [site:name]' subject: 'Account details for [user:display-name] at [site:name]'
body: |- 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"
[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
register_pending_approval: register_pending_approval:
subject: 'Account details for [user:display-name] at [site:name] (pending admin approval)' subject: 'Account details for [user:display-name] at [site:name] (pending admin approval)'
body: |- 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"
[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
register_pending_approval_admin: register_pending_approval_admin:
subject: 'Account details for [user:display-name] at [site:name] (pending admin approval)' subject: 'Account details for [user:display-name] at [site:name] (pending admin approval)'
body: |- body: "[user:display-name] has applied for an account.\r\n\r\n[user:edit-url]"
[user:display-name] has applied for an account.
[user:edit-url]
status_activated: status_activated:
subject: 'Account details for [user:display-name] at [site:name] (approved)' subject: 'Account details for [user:display-name] at [site:name] (approved)'
body: |- 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"
[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
status_blocked: status_blocked:
subject: 'Account details for [user:display-name] at [site:name] (blocked)' subject: 'Account details for [user:display-name] at [site:name] (blocked)'
body: |- body: "[user:display-name],\r\n\r\nYour account on [site:name] has been blocked.\r\n\r\n-- [site:name] team"
[user:display-name],
Your account on [site:name] has been blocked.
-- [site:name] team
status_canceled: status_canceled:
subject: 'Account details for [user:display-name] at [site:name] (canceled)' subject: 'Account details for [user:display-name] at [site:name] (canceled)'
body: |- body: "[user:display-name],\r\n\r\nYour account on [site:name] has been canceled.\r\n\r\n-- [site:name] team"
[user:display-name],
Your account on [site:name] has been canceled.
-- [site:name] team

View File

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

View File

@ -2,5 +2,7 @@
# import all fighters. # import all fighters.
drush @self.local ev '\Drupal::service("ufc.importer")->importFighters()'; 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); $extracted_values = $this->extractValuesFromFields($id, $this->fields, $prefix);
/* return $extracted_values; */
return $this->normalizeData($extracted_values); return $this->normalizeData($extracted_values);
} }

View File

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

View File

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

View File

@ -53,5 +53,5 @@
* *
* @see default.settings.php * @see default.settings.php
* @see \Drupal\Core\DrupalKernel::getSitePath() * @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/footer";
@import "partials/recent-fights"; @import "partials/recent-fights";
html {
font-size: 100%;
}
body { body {
background: $base_light; background: $base_light;
color: $muted; color: $muted;

View File

@ -15,6 +15,20 @@
</main> </main>
</section> </section>
<footer aria-label="Site footer" class="footer" id="footer" role="contentinfo"> <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"> <div class="footer--bottom">
{{ page.footer_bottom }} {{ page.footer_bottom }}
</div> </div>