mirror of
https://github.com/twbs/bootstrap.git
synced 2024-11-29 11:24:18 +01:00
v5.2.0 migration updates (#36038)
This commit is contained in:
parent
fbf64406df
commit
9e73b6a13c
@ -632,7 +632,7 @@ $hr-height: null !default; // Deprecated in v5.2.0
|
|||||||
// fusv-enable
|
// fusv-enable
|
||||||
|
|
||||||
$hr-border-color: null !default; // Allows for inherited colors
|
$hr-border-color: null !default; // Allows for inherited colors
|
||||||
$hr-border-width: var(--#{$prefix}border-width) !default;
|
$hr-border-width: $border-width !default;
|
||||||
$hr-opacity: .25 !default;
|
$hr-opacity: .25 !default;
|
||||||
|
|
||||||
$legend-margin-bottom: .5rem !default;
|
$legend-margin-bottom: .5rem !default;
|
||||||
@ -679,7 +679,7 @@ $table-hover-bg-factor: .075 !default;
|
|||||||
$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;
|
$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;
|
||||||
|
|
||||||
$table-border-factor: .1 !default;
|
$table-border-factor: .1 !default;
|
||||||
$table-border-width: var(--#{$prefix}border-width) !default;
|
$table-border-width: $border-width !default;
|
||||||
$table-border-color: var(--#{$prefix}border-color) !default;
|
$table-border-color: var(--#{$prefix}border-color) !default;
|
||||||
|
|
||||||
$table-striped-order: odd !default;
|
$table-striped-order: odd !default;
|
||||||
@ -1061,14 +1061,14 @@ $nav-link-transition: color .15s ease-in-out, background-color .15
|
|||||||
$nav-link-disabled-color: $gray-600 !default;
|
$nav-link-disabled-color: $gray-600 !default;
|
||||||
|
|
||||||
$nav-tabs-border-color: $gray-300 !default;
|
$nav-tabs-border-color: $gray-300 !default;
|
||||||
$nav-tabs-border-width: var(--#{$prefix}border-width) !default;
|
$nav-tabs-border-width: $border-width !default;
|
||||||
$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;
|
$nav-tabs-border-radius: $border-radius !default;
|
||||||
$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;
|
$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;
|
||||||
$nav-tabs-link-active-color: $gray-700 !default;
|
$nav-tabs-link-active-color: $gray-700 !default;
|
||||||
$nav-tabs-link-active-bg: $body-bg !default;
|
$nav-tabs-link-active-bg: $body-bg !default;
|
||||||
$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;
|
$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;
|
||||||
|
|
||||||
$nav-pills-border-radius: var(--#{$prefix}border-radius) !default;
|
$nav-pills-border-radius: $border-radius !default;
|
||||||
$nav-pills-link-active-color: $component-active-color !default;
|
$nav-pills-link-active-color: $component-active-color !default;
|
||||||
$nav-pills-link-active-bg: $component-active-bg !default;
|
$nav-pills-link-active-bg: $component-active-bg !default;
|
||||||
// scss-docs-end nav-variables
|
// scss-docs-end nav-variables
|
||||||
@ -1132,8 +1132,8 @@ $dropdown-font-size: $font-size-base !default;
|
|||||||
$dropdown-color: $body-color !default;
|
$dropdown-color: $body-color !default;
|
||||||
$dropdown-bg: $white !default;
|
$dropdown-bg: $white !default;
|
||||||
$dropdown-border-color: rgba($black, .15) !default;
|
$dropdown-border-color: rgba($black, .15) !default;
|
||||||
$dropdown-border-radius: var(--#{$prefix}border-radius) !default;
|
$dropdown-border-radius: $border-radius !default;
|
||||||
$dropdown-border-width: var(--#{$prefix}border-width) !default;
|
$dropdown-border-width: $border-width !default;
|
||||||
$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;
|
$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;
|
||||||
$dropdown-divider-bg: $dropdown-border-color !default;
|
$dropdown-divider-bg: $dropdown-border-color !default;
|
||||||
$dropdown-divider-margin-y: $spacer * .5 !default;
|
$dropdown-divider-margin-y: $spacer * .5 !default;
|
||||||
@ -1188,7 +1188,7 @@ $pagination-padding-x-lg: 1.5rem !default;
|
|||||||
$pagination-color: $link-color !default;
|
$pagination-color: $link-color !default;
|
||||||
$pagination-bg: $white !default;
|
$pagination-bg: $white !default;
|
||||||
$pagination-border-radius: $border-radius !default;
|
$pagination-border-radius: $border-radius !default;
|
||||||
$pagination-border-width: var(--#{$prefix}border-width) !default;
|
$pagination-border-width: $border-width !default;
|
||||||
$pagination-margin-start: calc($pagination-border-width * -1) !default; // stylelint-disable-line function-disallowed-list
|
$pagination-margin-start: calc($pagination-border-width * -1) !default; // stylelint-disable-line function-disallowed-list
|
||||||
$pagination-border-color: $gray-300 !default;
|
$pagination-border-color: $gray-300 !default;
|
||||||
|
|
||||||
@ -1211,8 +1211,8 @@ $pagination-disabled-border-color: $gray-300 !default;
|
|||||||
|
|
||||||
$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
|
$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
|
||||||
|
|
||||||
$pagination-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;
|
$pagination-border-radius-sm: $border-radius-sm !default;
|
||||||
$pagination-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;
|
$pagination-border-radius-lg: $border-radius-lg !default;
|
||||||
// scss-docs-end pagination-variables
|
// scss-docs-end pagination-variables
|
||||||
|
|
||||||
|
|
||||||
@ -1229,9 +1229,9 @@ $placeholder-opacity-min: .2 !default;
|
|||||||
$card-spacer-y: $spacer !default;
|
$card-spacer-y: $spacer !default;
|
||||||
$card-spacer-x: $spacer !default;
|
$card-spacer-x: $spacer !default;
|
||||||
$card-title-spacer-y: $spacer * .5 !default;
|
$card-title-spacer-y: $spacer * .5 !default;
|
||||||
$card-border-width: var(--#{$prefix}border-width) !default;
|
$card-border-width: $border-width !default;
|
||||||
$card-border-color: var(--#{$prefix}border-color) !default;
|
$card-border-color: var(--#{$prefix}border-color) !default;
|
||||||
$card-border-radius: var(--#{$prefix}border-radius) !default;
|
$card-border-radius: $border-radius !default;
|
||||||
$card-box-shadow: null !default;
|
$card-box-shadow: null !default;
|
||||||
$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;
|
$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;
|
||||||
$card-cap-padding-y: $card-spacer-y * .5 !default;
|
$card-cap-padding-y: $card-spacer-y * .5 !default;
|
||||||
@ -1252,9 +1252,9 @@ $accordion-padding-y: 1rem !default;
|
|||||||
$accordion-padding-x: 1.25rem !default;
|
$accordion-padding-x: 1.25rem !default;
|
||||||
$accordion-color: $body-color !default;
|
$accordion-color: $body-color !default;
|
||||||
$accordion-bg: $body-bg !default;
|
$accordion-bg: $body-bg !default;
|
||||||
$accordion-border-width: var(--#{$prefix}border-width) !default;
|
$accordion-border-width: $border-width !default;
|
||||||
$accordion-border-color: var(--#{$prefix}border-color) !default;
|
$accordion-border-color: var(--#{$prefix}border-color) !default;
|
||||||
$accordion-border-radius: var(--#{$prefix}border-radius) !default;
|
$accordion-border-radius: $border-radius !default;
|
||||||
$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;
|
$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;
|
||||||
|
|
||||||
$accordion-body-padding-y: $accordion-padding-y !default;
|
$accordion-body-padding-y: $accordion-padding-y !default;
|
||||||
@ -1288,7 +1288,7 @@ $tooltip-font-size: $font-size-sm !default;
|
|||||||
$tooltip-max-width: 200px !default;
|
$tooltip-max-width: 200px !default;
|
||||||
$tooltip-color: $white !default;
|
$tooltip-color: $white !default;
|
||||||
$tooltip-bg: $black !default;
|
$tooltip-bg: $black !default;
|
||||||
$tooltip-border-radius: var(--#{$prefix}border-radius) !default;
|
$tooltip-border-radius: $border-radius !default;
|
||||||
$tooltip-opacity: .9 !default;
|
$tooltip-opacity: .9 !default;
|
||||||
$tooltip-padding-y: $spacer * .25 !default;
|
$tooltip-padding-y: $spacer * .25 !default;
|
||||||
$tooltip-padding-x: $spacer * .5 !default;
|
$tooltip-padding-x: $spacer * .5 !default;
|
||||||
@ -1318,9 +1318,9 @@ $form-feedback-tooltip-border-radius: $tooltip-border-radius !default;
|
|||||||
$popover-font-size: $font-size-sm !default;
|
$popover-font-size: $font-size-sm !default;
|
||||||
$popover-bg: $white !default;
|
$popover-bg: $white !default;
|
||||||
$popover-max-width: 276px !default;
|
$popover-max-width: 276px !default;
|
||||||
$popover-border-width: var(--#{$prefix}border-width) !default;
|
$popover-border-width: $border-width !default;
|
||||||
$popover-border-color: rgba($black, .2) !default;
|
$popover-border-color: rgba($black, .2) !default;
|
||||||
$popover-border-radius: var(--#{$prefix}border-radius-lg) !default;
|
$popover-border-radius: $border-radius-lg !default;
|
||||||
$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;
|
$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;
|
||||||
$popover-box-shadow: $box-shadow !default;
|
$popover-box-shadow: $box-shadow !default;
|
||||||
|
|
||||||
@ -1353,9 +1353,9 @@ $toast-padding-y: .5rem !default;
|
|||||||
$toast-font-size: .875rem !default;
|
$toast-font-size: .875rem !default;
|
||||||
$toast-color: null !default;
|
$toast-color: null !default;
|
||||||
$toast-background-color: rgba($white, .85) !default;
|
$toast-background-color: rgba($white, .85) !default;
|
||||||
$toast-border-width: var(--#{$prefix}border-width) !default;
|
$toast-border-width: $border-width !default;
|
||||||
$toast-border-color: var(--#{$prefix}border-color) !default;
|
$toast-border-color: var(--#{$prefix}border-color) !default;
|
||||||
$toast-border-radius: var(--#{$prefix}border-radius) !default;
|
$toast-border-radius: $border-radius !default;
|
||||||
$toast-box-shadow: $box-shadow !default;
|
$toast-box-shadow: $box-shadow !default;
|
||||||
$toast-spacing: $container-padding-x !default;
|
$toast-spacing: $container-padding-x !default;
|
||||||
|
|
||||||
@ -1373,7 +1373,7 @@ $badge-font-weight: $font-weight-bold !default;
|
|||||||
$badge-color: $white !default;
|
$badge-color: $white !default;
|
||||||
$badge-padding-y: .35em !default;
|
$badge-padding-y: .35em !default;
|
||||||
$badge-padding-x: .65em !default;
|
$badge-padding-x: .65em !default;
|
||||||
$badge-border-radius: var(--#{$prefix}border-radius) !default;
|
$badge-border-radius: $border-radius !default;
|
||||||
// scss-docs-end badge-variables
|
// scss-docs-end badge-variables
|
||||||
|
|
||||||
|
|
||||||
@ -1392,8 +1392,8 @@ $modal-title-line-height: $line-height-base !default;
|
|||||||
$modal-content-color: null !default;
|
$modal-content-color: null !default;
|
||||||
$modal-content-bg: $white !default;
|
$modal-content-bg: $white !default;
|
||||||
$modal-content-border-color: var(--#{$prefix}border-color) !default;
|
$modal-content-border-color: var(--#{$prefix}border-color) !default;
|
||||||
$modal-content-border-width: var(--#{$prefix}border-width) !default;
|
$modal-content-border-width: $border-width !default;
|
||||||
$modal-content-border-radius: var(--#{$prefix}border-radius-lg) !default;
|
$modal-content-border-radius: $border-radius-lg !default;
|
||||||
$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;
|
$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;
|
||||||
$modal-content-box-shadow-xs: $box-shadow-sm !default;
|
$modal-content-box-shadow-xs: $box-shadow-sm !default;
|
||||||
$modal-content-box-shadow-sm-up: $box-shadow !default;
|
$modal-content-box-shadow-sm-up: $box-shadow !default;
|
||||||
@ -1429,7 +1429,7 @@ $modal-scale-transform: scale(1.02) !default;
|
|||||||
$alert-padding-y: $spacer !default;
|
$alert-padding-y: $spacer !default;
|
||||||
$alert-padding-x: $spacer !default;
|
$alert-padding-x: $spacer !default;
|
||||||
$alert-margin-bottom: 1rem !default;
|
$alert-margin-bottom: 1rem !default;
|
||||||
$alert-border-radius: var(--#{$prefix}border-radius) !default;
|
$alert-border-radius: $border-radius !default;
|
||||||
$alert-link-font-weight: $font-weight-bold !default;
|
$alert-link-font-weight: $font-weight-bold !default;
|
||||||
$alert-border-width: $border-width !default;
|
$alert-border-width: $border-width !default;
|
||||||
$alert-bg-scale: -80% !default;
|
$alert-bg-scale: -80% !default;
|
||||||
@ -1445,7 +1445,7 @@ $alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers widt
|
|||||||
$progress-height: 1rem !default;
|
$progress-height: 1rem !default;
|
||||||
$progress-font-size: $font-size-base * .75 !default;
|
$progress-font-size: $font-size-base * .75 !default;
|
||||||
$progress-bg: $gray-200 !default;
|
$progress-bg: $gray-200 !default;
|
||||||
$progress-border-radius: var(--#{$prefix}border-radius) !default;
|
$progress-border-radius: $border-radius !default;
|
||||||
$progress-box-shadow: $box-shadow-inset !default;
|
$progress-box-shadow: $box-shadow-inset !default;
|
||||||
$progress-bar-color: $white !default;
|
$progress-bar-color: $white !default;
|
||||||
$progress-bar-bg: $primary !default;
|
$progress-bar-bg: $primary !default;
|
||||||
@ -1460,8 +1460,8 @@ $progress-bar-transition: width .6s ease !default;
|
|||||||
$list-group-color: $gray-900 !default;
|
$list-group-color: $gray-900 !default;
|
||||||
$list-group-bg: $white !default;
|
$list-group-bg: $white !default;
|
||||||
$list-group-border-color: rgba($black, .125) !default;
|
$list-group-border-color: rgba($black, .125) !default;
|
||||||
$list-group-border-width: var(--#{$prefix}border-width) !default;
|
$list-group-border-width: $border-width !default;
|
||||||
$list-group-border-radius: var(--#{$prefix}border-radius) !default;
|
$list-group-border-radius: $border-radius !default;
|
||||||
|
|
||||||
$list-group-item-padding-y: $spacer * .5 !default;
|
$list-group-item-padding-y: $spacer * .5 !default;
|
||||||
$list-group-item-padding-x: $spacer !default;
|
$list-group-item-padding-x: $spacer !default;
|
||||||
@ -1489,9 +1489,9 @@ $list-group-action-active-bg: $gray-200 !default;
|
|||||||
// scss-docs-start thumbnail-variables
|
// scss-docs-start thumbnail-variables
|
||||||
$thumbnail-padding: .25rem !default;
|
$thumbnail-padding: .25rem !default;
|
||||||
$thumbnail-bg: $body-bg !default;
|
$thumbnail-bg: $body-bg !default;
|
||||||
$thumbnail-border-width: var(--#{$prefix}border-width) !default;
|
$thumbnail-border-width: $border-width !default;
|
||||||
$thumbnail-border-color: var(--#{$prefix}border-color) !default;
|
$thumbnail-border-color: var(--#{$prefix}border-color) !default;
|
||||||
$thumbnail-border-radius: var(--#{$prefix}border-radius) !default;
|
$thumbnail-border-radius: $border-radius !default;
|
||||||
$thumbnail-box-shadow: $box-shadow-sm !default;
|
$thumbnail-box-shadow: $box-shadow-sm !default;
|
||||||
// scss-docs-end thumbnail-variables
|
// scss-docs-end thumbnail-variables
|
||||||
|
|
||||||
|
@ -15,6 +15,30 @@ toc: true
|
|||||||
|
|
||||||
Bootstrap v5.2.0 features a subtle design update for a handful of components and properties across the project, **most notably through refined `border-radius` values on buttons and form controls**. Our documentation also has been updated with a new homepage, simpler docs layout that no longer collapses sections of the sidebar, and more prominent examples of [Bootstrap Icons](https://icons.getbootstrap.com).
|
Bootstrap v5.2.0 features a subtle design update for a handful of components and properties across the project, **most notably through refined `border-radius` values on buttons and form controls**. Our documentation also has been updated with a new homepage, simpler docs layout that no longer collapses sections of the sidebar, and more prominent examples of [Bootstrap Icons](https://icons.getbootstrap.com).
|
||||||
|
|
||||||
|
### More CSS variables
|
||||||
|
|
||||||
|
**We've updated nearly all our components to use CSS variables.** While Sass still underpins everything, each component has been updated to include CSS variables on the component base classes (e.g., `.btn`), allowing for more real-time customization of Bootstrap.
|
||||||
|
|
||||||
|
The following components are now built with CSS variables:
|
||||||
|
|
||||||
|
- [Alerts]({{< docsref "/components/alerts/" >}})
|
||||||
|
- [Badges]({{< docsref "/components/badge/" >}})
|
||||||
|
- [Breadcrumbs]({{< docsref "/components/breadcrumb/" >}})
|
||||||
|
- [Buttons]({{< docsref "/components/buttons/" >}})
|
||||||
|
- [Dropdowns]({{< docsref "/components/dropdowns/" >}})
|
||||||
|
- [Navbars]({{< docsref "/components/navbar/" >}})
|
||||||
|
- [Pagination]({{< docsref "/components/pagination/" >}})
|
||||||
|
- [Popovers]({{< docsref "/components/popovers/" >}})
|
||||||
|
- [Progress]({{< docsref "/components/progress/" >}})
|
||||||
|
- [Spinners]({{< docsref "/components/spinners/" >}})
|
||||||
|
- [Tooltips]({{< docsref "/components/tooltips/" >}})
|
||||||
|
|
||||||
|
Read more about CSS variables in each component on their respective documentation pages. The rest of our components, forms, and more will be updated by v5.3.
|
||||||
|
|
||||||
|
Our CSS variable usage will be somewhat incomplete until Bootstrap 6. While we'd love to fully implement these across the board, they do run the risk of causing breaking changes. For example, setting `$alert-border-width: var(--bs-border-width)` in our source code breaks potential Sass in your own code if you were doing `$alert-border-width * 2` for some reason.
|
||||||
|
|
||||||
|
As such, wherever possible, we will continue to push towards more CSS variables, but please recognize our implementation may be slightly limited in v5.
|
||||||
|
|
||||||
### New `_maps.scss`
|
### New `_maps.scss`
|
||||||
|
|
||||||
**Bootstrap v5.2.0 introduced a new Sass file with `_maps.scss`.** It pulls out several Sass maps from `_variables.scss` to fix an issue where updates to an original map were not applied to secondary maps that extend them. For example, updates to `$theme-colors` were not being applied to other theme maps that relied on `$theme-colors`, breaking key customization workflows. In short, Sass has a limitation where once a default variable or map has been _used_, it cannot be updated. _There's a similar shortcoming with CSS variables when they're used to compose other CSS variables._
|
**Bootstrap v5.2.0 introduced a new Sass file with `_maps.scss`.** It pulls out several Sass maps from `_variables.scss` to fix an issue where updates to an original map were not applied to secondary maps that extend them. For example, updates to `$theme-colors` were not being applied to other theme maps that relied on `$theme-colors`, breaking key customization workflows. In short, Sass has a limitation where once a default variable or map has been _used_, it cannot be updated. _There's a similar shortcoming with CSS variables when they're used to compose other CSS variables._
|
||||||
@ -66,28 +90,13 @@ Your custom Bootstrap CSS builds should now look something like this with a sepa
|
|||||||
|
|
||||||
### Additional changes
|
### Additional changes
|
||||||
|
|
||||||
- **Introduced new `$enable-container-classes` option. —** Now when opting into the experimental CSS Grid layout, `.container-*` classes will still be compiled, unless this option is set to `false`.
|
- **Introduced new `$enable-container-classes` option. —** Now when opting into the experimental CSS Grid layout, `.container-*` classes will still be compiled, unless this option is set to `false`. Containers also now keep their gutter values.
|
||||||
|
|
||||||
- **Alerts, badges, buttons, dropdowns, navbars, pagination, popovers, and tooltips are now built with CSS variables. —** While Sass still underpins everything, each of these components have been updated to include several CSS variables on the component base classes (e.g., `.btn`), allowing for more real-time customization of Bootstrap.
|
|
||||||
|
|
||||||
Read more about CSS variables in each component on their respective documentation pages.
|
|
||||||
|
|
||||||
- **Thicker table dividers are now opt-in. —** We've removed the thicker and more difficult to override border between table groups and moved it to an optional class you can apply, `.table-group-divider`. [See the table docs for an example.]({{< docsref "/content/tables#table-group-dividers" >}})
|
- **Thicker table dividers are now opt-in. —** We've removed the thicker and more difficult to override border between table groups and moved it to an optional class you can apply, `.table-group-divider`. [See the table docs for an example.]({{< docsref "/content/tables#table-group-dividers" >}})
|
||||||
|
|
||||||
- **Updated several components to use CSS variables. —** While Sass still underpins everything, each of these components have been updated to include several CSS variables on the component base classes (e.g., `.btn`), allowing for more real-time customization of Bootstrap. The following components are now built with CSS variables:
|
- Added `.form-check-reverse` modifier to flip the order of labels and associated checkboxes/radios.
|
||||||
|
|
||||||
- [Alerts]({{< docsref "/components/alerts/" >}})
|
- Added striped columns support to tables via
|
||||||
- [Badges]({{< docsref "/components/badge/" >}})
|
|
||||||
- [Breadcrumbs]({{< docsref "/components/breadcrumb/" >}})
|
|
||||||
- [Buttons]({{< docsref "/components/buttons/" >}})
|
|
||||||
- [Dropdowns]({{< docsref "/components/dropdowns/" >}})
|
|
||||||
- [Navbars]({{< docsref "/components/navbar/" >}})
|
|
||||||
- [Popovers]({{< docsref "/components/popovers/" >}})
|
|
||||||
- [Tooltips]({{< docsref "/components/tooltips/" >}})
|
|
||||||
|
|
||||||
- **Alerts, badges, breadcrumbs, buttons, navbars, popovers, and tooltips are now built with CSS variables. —** While Sass still underpins everything, each of these components have been updated to include several CSS variables on the component base classes (e.g., `.btn`), allowing for more real-time customization of Bootstrap.
|
|
||||||
|
|
||||||
- Updated our grid systems so that containers now keep their gutter values, and enabling the experimental CSS Grid no longer removes container classes.
|
|
||||||
|
|
||||||
## v5.1.0
|
## v5.1.0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user