commit
7a2c27fe57
|
@ -310,7 +310,7 @@ function array_contains {
|
|||
|
||||
|
||||
print_title 'Generating language from code...'
|
||||
gulp lang
|
||||
npx gulp lang
|
||||
|
||||
print_title 'Getting languages'
|
||||
|
||||
|
|
|
@ -10,8 +10,9 @@ DEFAULT_LASTVERSION='4.0'
|
|||
|
||||
# Checks if AWS is available and configured.
|
||||
function check_aws {
|
||||
aws --version &> /dev/null
|
||||
AWS_SERVICE=1
|
||||
|
||||
aws --version &> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
AWS_SERVICE=0
|
||||
echo 'AWS not installed. Check https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html for more info.'
|
||||
|
@ -19,7 +20,7 @@ function check_aws {
|
|||
fi
|
||||
|
||||
# In order to login to AWS, use credentials file or AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY vars.
|
||||
if [ ! -f ~/.aws/credentials ] && [ [ -z $AWS_ACCESS_KEY_ID ] || [ -z $AWS_SECRET_ACCESS_KEY ] ]; then
|
||||
if [ ! -f ~/.aws/credentials ] && ([ -z "$AWS_ACCESS_KEY_ID" ] || [ -z "$AWS_SECRET_ACCESS_KEY" ]); then
|
||||
AWS_SERVICE=0
|
||||
lastversion=$DEFAULT_LASTVERSION
|
||||
echo 'AWS Cannot authenticate. Use aws configure or set the proper env vars.'
|
||||
|
@ -63,6 +64,13 @@ function get_last_version {
|
|||
lastversion=$DEFAULT_LASTVERSION
|
||||
}
|
||||
|
||||
# Create langfolder
|
||||
function create_langfolder {
|
||||
if [ ! -d $LANGPACKSFOLDER ]; then
|
||||
mkdir $LANGPACKSFOLDER
|
||||
fi
|
||||
}
|
||||
|
||||
# Get all language list from AWS.
|
||||
function get_all_languages_aws {
|
||||
langsfiles=`aws s3 ls s3://$BUCKET/$lastversion/`
|
||||
|
@ -87,6 +95,8 @@ function get_language {
|
|||
|
||||
get_last_version
|
||||
|
||||
create_langfolder
|
||||
|
||||
echo "Getting $lang language"
|
||||
|
||||
pushd $LANGPACKSFOLDER > /dev/null
|
||||
|
@ -115,7 +125,7 @@ function get_languages {
|
|||
return
|
||||
fi
|
||||
else
|
||||
mkdir $LANGPACKSFOLDER
|
||||
create_langfolder
|
||||
fi
|
||||
|
||||
|
||||
|
|
|
@ -34,8 +34,6 @@ export class AddonBlockLearningPlansHandlerService extends CoreBlockBaseHandler
|
|||
* @return Data or promise resolved with the data.
|
||||
*/
|
||||
getDisplayData(): CoreBlockHandlerData {
|
||||
// @todo
|
||||
|
||||
return {
|
||||
title: 'addon.block_learningplans.pluginname',
|
||||
class: 'addon-block-learning-plans',
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
</ion-card>
|
||||
<ion-card *ngIf="plan">
|
||||
<ion-card-header class="ion-text-wrap">
|
||||
<h2>{{ 'addon.competency.learningplancompetencies' | translate }}</h2>
|
||||
<ion-card-title>{{ 'addon.competency.learningplancompetencies' | translate }}</ion-card-title>
|
||||
</ion-card-header>
|
||||
<ion-list>
|
||||
<ion-item class="ion-text-wrap" *ngIf="plan.competencycount == 0">
|
||||
|
|
|
@ -3377,7 +3377,7 @@ export type AddonMessagesMarkMessageReadResult = {
|
|||
* Result of WS core_message_send_instant_messages.
|
||||
*/
|
||||
export type AddonMessagesSendInstantMessagesMessage = {
|
||||
msgid: number; // Test this to know if it succeeds: id of the created message if it succeeded, -1 when failed.
|
||||
msgid: number; // Test this to know if it succeeds: i of the created message if it succeeded, -1 when failed.
|
||||
clientmsgid?: string; // Your own id for the message.
|
||||
errormessage?: string; // Error message - if it failed.
|
||||
text?: string; // @since 3.6. The text of the message.
|
||||
|
|
|
@ -22,8 +22,6 @@
|
|||
.addon-data-advanced-search {
|
||||
padding: 16px;
|
||||
width: 100%;
|
||||
// @todo check if needed
|
||||
// @include safe-area-padding-horizontal(16px !important, 16px !important);
|
||||
}
|
||||
|
||||
.addon-data-contents form,
|
||||
|
|
|
@ -17,8 +17,6 @@ $grid-column-paddings: (
|
|||
white-space: normal;
|
||||
word-break: break-word;
|
||||
padding: 16px;
|
||||
// @todo check if needed
|
||||
// @include safe-area-padding-horizontal(16px !important, 16px !important);
|
||||
|
||||
background-color: var(--ion-item-background);
|
||||
border-width: 1px 0;
|
||||
|
|
|
@ -49,8 +49,6 @@ declare module '@singletons/events' {
|
|||
|
||||
/**
|
||||
* Service that provides some features for forums.
|
||||
*
|
||||
* @todo Add all content.
|
||||
*/
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class AddonModForumProvider {
|
||||
|
|
|
@ -61,51 +61,62 @@
|
|||
<!-- List of user attempts. -->
|
||||
<ion-card class="addon-mod_quiz-table" *ngIf="quiz && attempts.length">
|
||||
<ion-card-header class="ion-text-wrap">
|
||||
<ion-card-header>
|
||||
<ion-card-title>{{ 'addon.mod_quiz.summaryofattempts' | translate }}</ion-card-title>
|
||||
</ion-card-header>
|
||||
</ion-card-header>
|
||||
<ion-card-content>
|
||||
<ion-card-content role="table">
|
||||
<!-- "Header" of the table -->
|
||||
<ion-item class="ion-text-wrap addon-mod_quiz-table-header" detail="true">
|
||||
<ion-label>
|
||||
<ion-row class="ion-align-items-center">
|
||||
<ion-col class="ion-text-center ion-hide-md-down" *ngIf="quiz.showAttemptColumn">
|
||||
<strong>{{ 'addon.mod_quiz.attemptnumber' | translate }}</strong>
|
||||
<ion-item class="ion-text-wrap addon-mod_quiz-table-header">
|
||||
<ion-label role="rowgroup">
|
||||
<ion-row class="ion-align-items-center" role="row">
|
||||
<ion-col class="ion-text-center" *ngIf="quiz.showAttemptColumn" role="columnheader">
|
||||
<strong class="ion-hide-md-up" aria-hidden="true">#</strong>
|
||||
<span class="sr-only ion-hide-md-up">{{ 'addon.mod_quiz.attemptnumber' | translate }}</span>
|
||||
<strong class="ion-hide-md-down">{{ 'addon.mod_quiz.attemptnumber' | translate }}</strong>
|
||||
</ion-col>
|
||||
<ion-col class="ion-text-center ion-hide-md-up" *ngIf="quiz.showAttemptColumn"><strong>#</strong></ion-col>
|
||||
<ion-col size="7"><strong>{{ 'addon.mod_quiz.attemptstate' | translate }}</strong></ion-col>
|
||||
<ion-col class="ion-text-center ion-hide-md-down" *ngIf="quiz.showMarkColumn">
|
||||
<ion-col size="7" role="columnheader">
|
||||
<strong>{{ 'addon.mod_quiz.attemptstate' | translate }}</strong>
|
||||
</ion-col>
|
||||
<ion-col class="ion-text-center ion-hide-md-down" *ngIf="quiz.showMarkColumn" role="columnheader">
|
||||
<strong>{{ 'addon.mod_quiz.marks' | translate }} / {{ quiz.sumGradesFormatted }}</strong>
|
||||
</ion-col>
|
||||
<ion-col class="ion-text-center" *ngIf="quiz.showGradeColumn">
|
||||
<ion-col class="ion-text-center" *ngIf="quiz.showGradeColumn" role="columnheader">
|
||||
<strong>{{ 'addon.mod_quiz.grade' | translate }} / {{ quiz.gradeFormatted }}</strong>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
<div role="rowgroup">
|
||||
<!-- List of attempts. -->
|
||||
<ion-item class="ion-text-wrap" *ngFor="let attempt of attempts" button detail="true"
|
||||
<ion-item
|
||||
button
|
||||
detail="true"
|
||||
*ngFor="let attempt of attempts"
|
||||
class="ion-text-wrap"
|
||||
[ngClass]='{"addon-mod_quiz-highlighted": attempt.highlightGrade}'
|
||||
[attr.aria-label]="'core.seemoredetail' | translate" (click)="viewAttempt(attempt.id)">
|
||||
[attr.aria-label]="'core.seemoredetail' | translate"
|
||||
(click)="viewAttempt(attempt.id)"
|
||||
>
|
||||
<ion-label>
|
||||
<ion-row class="ion-align-items-center">
|
||||
<ion-col class="ion-text-center" *ngIf="quiz.showAttemptColumn && attempt.preview">
|
||||
<ion-row class="ion-align-items-center" role="row">
|
||||
<ion-col class="ion-text-center" *ngIf="quiz.showAttemptColumn && attempt.preview" role="cell">
|
||||
{{ 'addon.mod_quiz.preview' | translate }}
|
||||
</ion-col>
|
||||
<ion-col class="ion-text-center" *ngIf="quiz.showAttemptColumn && !attempt.preview">
|
||||
<ion-col class="ion-text-center" *ngIf="quiz.showAttemptColumn && !attempt.preview" role="cell">
|
||||
{{ attempt.attempt }}
|
||||
</ion-col>
|
||||
<ion-col size="7">
|
||||
<ion-col size="7" role="cell">
|
||||
<p *ngFor="let sentence of attempt.readableState">{{ sentence }}</p>
|
||||
</ion-col>
|
||||
<ion-col class="ion-text-center ion-hide-md-down" *ngIf="quiz.showMarkColumn">
|
||||
<ion-col class="ion-text-center ion-hide-md-down" *ngIf="quiz.showMarkColumn" role="cell">
|
||||
<p>{{ attempt.readableMark }}</p>
|
||||
</ion-col>
|
||||
<ion-col class="ion-text-center" *ngIf="quiz.showGradeColumn"><p>{{ attempt.readableGrade }}</p></ion-col>
|
||||
<ion-col class="ion-text-center" *ngIf="quiz.showGradeColumn" role="cell">
|
||||
<p>{{ attempt.readableGrade }}</p>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</ion-label>
|
||||
</ion-item>
|
||||
</div>
|
||||
</ion-card-content>
|
||||
</ion-card>
|
||||
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
<ion-card *ngIf="attempt">
|
||||
<ion-card-header class="ion-text-wrap">
|
||||
<ion-card-title>
|
||||
<span *ngIf="attempt.preview">{{ 'addon.mod_quiz.reviewofpreview' | translate }}</span>
|
||||
<span *ngIf="!attempt.preview">{{ 'addon.mod_quiz.reviewofattempt' | translate:{$a: attempt.attempt} }}</span>
|
||||
<ng-container *ngIf="attempt.preview">{{ 'addon.mod_quiz.reviewofpreview' | translate }}</ng-container>
|
||||
<ng-container *ngIf="!attempt.preview">{{ 'addon.mod_quiz.reviewofattempt' | translate:{$a: attempt.attempt} }}</ng-container>
|
||||
</ion-card-title>
|
||||
</ion-card-header>
|
||||
<ion-list lines="none">
|
||||
|
|
|
@ -35,7 +35,7 @@ const routes: Routes = [
|
|||
canDeactivate: [CanLeaveGuard],
|
||||
},
|
||||
{
|
||||
path: ':courseId/:cmId/:submissionId/edit', // @todo
|
||||
path: ':courseId/:cmId/:submissionId/edit',
|
||||
component: AddonModWorkshopEditSubmissionPage,
|
||||
canDeactivate: [CanLeaveGuard],
|
||||
},
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
:host {
|
||||
// @todo
|
||||
// .card-md core-file + core-file > .item-md.item-block > .item-inner,
|
||||
// core-file + core-file > .item-md.item-block > .item-inner {
|
||||
// border-top: 1px solid $list-md-border-color;
|
||||
// }
|
||||
|
||||
// .card-ios core-file + core-file > .item-ios.item-block > .item-inner,
|
||||
// core-file + core-file > .item-ios.item-block > .item-inner {
|
||||
// border-top: $hairlines-width solid $list-ios-border-color;
|
||||
// .buttons {
|
||||
// min-height: 53px;
|
||||
// min-width: 58px;
|
||||
// }
|
||||
// }
|
||||
|
||||
// core-file > .item.item-block > .item-inner {
|
||||
// border-bottom: 0;
|
||||
// @include safe-area-padding(null, 0px, null, null);
|
||||
// .buttons {
|
||||
// display: flex;
|
||||
// flex-flow: row;
|
||||
// align-items: center;
|
||||
// z-index: 1;
|
||||
// justify-content: space-around;
|
||||
// align-content: center;
|
||||
// min-height: 52px;
|
||||
// min-width: 53px;
|
||||
// }
|
||||
// }
|
||||
}
|
|
@ -34,7 +34,6 @@ import { CoreWSFile } from '@services/ws';
|
|||
@Component({
|
||||
selector: 'core-file',
|
||||
templateUrl: 'core-file.html',
|
||||
styleUrls: ['file.scss'],
|
||||
})
|
||||
export class CoreFileComponent implements OnInit, OnDestroy {
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
:host {
|
||||
position: relative;
|
||||
width: var(--core-avatar-size);
|
||||
height: var(--core-avatar-size);
|
||||
|
||||
.clickable {
|
||||
cursor: pointer;
|
||||
|
|
|
@ -4,9 +4,6 @@
|
|||
background: var(--background);
|
||||
|
||||
ion-item-divider {
|
||||
min-height: 60px;
|
||||
.core-button-spinner {
|
||||
margin: 0;
|
||||
}
|
||||
min-height: var(--item-divider-min-height);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
box-shadow: none !important;
|
||||
flex-grow: 1;
|
||||
max-width: 100%;
|
||||
// @todo @include core-split-area-start();
|
||||
}
|
||||
|
||||
div.core-course-blocks-side {
|
||||
|
@ -24,7 +23,6 @@
|
|||
min-width: var(--side-blocks-min-width);
|
||||
box-shadow: var(--side-blocks-box-shadow);
|
||||
z-index: 2;
|
||||
// @todo @include core-split-area-end();
|
||||
}
|
||||
|
||||
.core-course-blocks-content,
|
||||
|
|
|
@ -52,31 +52,4 @@
|
|||
}
|
||||
}
|
||||
|
||||
// @todo
|
||||
// .item-divider {
|
||||
// .label {
|
||||
// margin-top: 0;
|
||||
// margin-bottom: 0;
|
||||
// }
|
||||
|
||||
// core-format-text {
|
||||
// line-height: 44px;
|
||||
// }
|
||||
|
||||
// ion-badge core-format-text {
|
||||
// line-height: normal;
|
||||
// margin-bottom: 9px;
|
||||
// }
|
||||
|
||||
// &.core-section-download .label{
|
||||
// @include margin(null, 0, null, null);
|
||||
// }
|
||||
// }
|
||||
|
||||
// div.core-section-download {
|
||||
// @include padding(null, 0, null, null);
|
||||
// }
|
||||
|
||||
//
|
||||
|
||||
}
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
// @todo Review commented styles.
|
||||
// ion-app.app-root {
|
||||
// .safe-area-page,
|
||||
// .safe-padding-horizontal {
|
||||
// core-course-module-description {
|
||||
// padding-left: 0 !important;
|
||||
// padding-right: 0 !important;
|
||||
// .item-ios.item-block {
|
||||
// @include safe-area-padding-horizontal($item-ios-padding-end / 2, null);
|
||||
|
||||
// .item-inner {
|
||||
// @include safe-area-padding-horizontal(null, $item-ios-padding-end / 2);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
|
@ -28,7 +28,10 @@
|
|||
</p>
|
||||
</ion-label>
|
||||
<ng-container *ngIf="!isEnrolled">
|
||||
<ion-icon *ngFor="let icon of icons" color="dark" size="small"
|
||||
[name]="icon.icon" [attr.aria-label]="icon.label | translate" slot="end"></ion-icon>
|
||||
<ion-icon *ngFor="let icon of icons" color="dark" size="small" [name]="icon.icon"
|
||||
[title]="icon.label | translate"
|
||||
[attr.aria-label]="icon.label | translate"
|
||||
slot="end">
|
||||
</ion-icon>
|
||||
</ng-container>
|
||||
</ion-item>
|
||||
|
|
|
@ -1,7 +1,18 @@
|
|||
@import "~theme/globals";
|
||||
|
||||
// @todo darkmode
|
||||
// @todo RTL layout
|
||||
:host {
|
||||
--header-background: var(--white);
|
||||
--odd-cell-background: var(--gray-lighter);
|
||||
--even-cell-background: var(--white);
|
||||
--icon-color: #999999;
|
||||
}
|
||||
|
||||
:host-context(body.dark) {
|
||||
--header-background: var(--black);
|
||||
--odd-cell-background: var(--gray-darker);
|
||||
--even-cell-background: var(--black);
|
||||
--icon-color: #eeeeee;
|
||||
}
|
||||
|
||||
:host-context(ion-app.md) {
|
||||
--border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, .13))));
|
||||
|
@ -18,16 +29,12 @@
|
|||
font-size: 16px;
|
||||
color: var(--ion-text-color);
|
||||
|
||||
// @include darkmode() {
|
||||
// color: $core-dark-text-color;
|
||||
// }
|
||||
|
||||
tr {
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 10px 0 10px 10px;
|
||||
@include padding(10px, 10px, 10px, null);
|
||||
vertical-align: top;
|
||||
white-space: normal;
|
||||
text-align: start;
|
||||
|
@ -36,11 +43,7 @@
|
|||
thead th {
|
||||
vertical-align: bottom;
|
||||
font-weight: bold;
|
||||
background-color: var(--white);
|
||||
|
||||
// @include darkmode() {
|
||||
// background-color: $black;
|
||||
// }
|
||||
background-color: var(--header-background);
|
||||
}
|
||||
|
||||
tbody th {
|
||||
|
@ -48,15 +51,15 @@
|
|||
}
|
||||
|
||||
#gradeitem {
|
||||
padding-left: 5px;
|
||||
@include padding(null, null, null, 5px);
|
||||
}
|
||||
|
||||
.core-grades-table-gradeitem {
|
||||
padding-left: 5px;
|
||||
@include padding(null, null, null, 5px);
|
||||
font-weight: bold;
|
||||
|
||||
&.column-itemname {
|
||||
padding-left: 0;
|
||||
@include padding(null, null, null, 0);
|
||||
}
|
||||
|
||||
img {
|
||||
|
@ -65,17 +68,17 @@
|
|||
}
|
||||
|
||||
ion-icon {
|
||||
color: #999999;
|
||||
color: var(--icon-color);
|
||||
}
|
||||
|
||||
span {
|
||||
margin-left: 5px;
|
||||
@include margin(null, null, null, 5px);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.core-grades-table-feedback {
|
||||
padding-left: 5px;
|
||||
@include padding(null, null, null, 5px);
|
||||
|
||||
.no-overflow {
|
||||
overflow: auto;
|
||||
|
@ -89,27 +92,16 @@
|
|||
}
|
||||
|
||||
.odd {
|
||||
|
||||
td, th, th[aria-current="page"] {
|
||||
background-color: var(--gray-lighter);
|
||||
|
||||
// @include darkmode() {
|
||||
// background-color: $gray-darker;
|
||||
// }
|
||||
background-color: var(--odd-cell-background);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.even {
|
||||
|
||||
td, th, th[aria-current="page"] {
|
||||
background-color: var(--white);
|
||||
|
||||
// @include darkmode() {
|
||||
// background-color: $black;
|
||||
// }
|
||||
background-color: var(--even-cell-background);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.core-grades-grade-clickable {
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
(ionCancel)="filterChanged()" [placeholder]="'core.login.findyoursite' | translate">
|
||||
</ion-searchbar>
|
||||
<ng-container *ngFor="let site of filteredSites">
|
||||
<ng-container *ngTemplateOutlet="site"></ng-container>
|
||||
<ng-container *ngTemplateOutlet="sitelisting; context: {site: site}"></ng-container>
|
||||
</ng-container>
|
||||
</ion-list>
|
||||
</ng-container>
|
||||
|
|
|
@ -2,14 +2,6 @@
|
|||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.searchbar-ios {
|
||||
background: transparent;
|
||||
|
||||
.searchbar-input {
|
||||
background-color: white; // @todo $searchbar-ios-toolbar-input-background;
|
||||
}
|
||||
}
|
||||
|
||||
.item {
|
||||
&.core-login-need-help {
|
||||
margin-top: 16px;
|
||||
|
|
|
@ -17,10 +17,3 @@ $core-dashboard-logo: false !default;
|
|||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
ion-badge.core-course-download-courses-progress {
|
||||
display: block;
|
||||
// @include float(start);
|
||||
// @include margin(12px, 12px, null, 12px);
|
||||
}
|
||||
|
||||
|
|
|
@ -6,11 +6,11 @@
|
|||
[autocorrect]="autocorrect" [spellcheck]="spellcheck" [core-auto-focus]="autoFocus"
|
||||
[disabled]="disabled" role="searchbox" (ionFocus)="focus($event)">
|
||||
</ion-input>
|
||||
<ion-button slot="end" fill="clear" type="submit" size="small" [attr.aria-label]="searchLabel"
|
||||
<ion-button slot="end" fill="clear" type="submit" [attr.aria-label]="searchLabel"
|
||||
[disabled]="disabled || !searchText || (searchText.length < lengthCheck)">
|
||||
<ion-icon name="fas-search" slot="icon-only" aria-hidden="true"></ion-icon>
|
||||
</ion-button>
|
||||
<ion-button *ngIf="showClear" slot="end" fill="clear" size="small"
|
||||
<ion-button *ngIf="showClear" slot="end" fill="clear"
|
||||
[attr.aria-label]="'core.clearsearch' | translate" [disabled]="searched == '' || disabled"
|
||||
(click)="clearForm()">
|
||||
<ion-icon name="fas-backspace" slot="icon-only" aria-hidden="true"></ion-icon>
|
||||
|
|
|
@ -228,7 +228,7 @@ $core-login-text-color-dark: $white !default;
|
|||
$core-star-color: $brand-color !default;
|
||||
|
||||
$core-large-avatar-size: 90px !default;
|
||||
$core-avatar-size: 40px !default;
|
||||
$core-avatar-size: 44px !default;
|
||||
|
||||
$core-send-message-input-background: $gray !default;
|
||||
$core-send-message-input-color: $black !default;
|
||||
|
@ -252,7 +252,7 @@ $addon-messages-avatar-size: 30px !default;
|
|||
$addon-messages-discussion-badge: $primary !default;
|
||||
$addon-messages-discussion-badge-text: $white !default;
|
||||
|
||||
$addon-forum-avatar-size: 28px !default;
|
||||
$addon-forum-avatar-size: 44px !default;
|
||||
$addon-forum-border-color: $gray !default;
|
||||
$addon-forum-highlight-color: $gray-lighter !default;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@import "./globals.mixins.ionic.scss";
|
||||
@import "./globals.scss";
|
||||
|
||||
// Common styles.
|
||||
.text-left { text-align: left; }
|
||||
|
@ -126,12 +126,17 @@ ion-button.button-small ion-icon.faicon[slot] {
|
|||
font-size: 1.5em !important;
|
||||
}
|
||||
|
||||
[dir=rtl] ion-icon.icon-flip-rtl {
|
||||
[dir=rtl] ion-icon.icon-flip-rtl,
|
||||
[dir=rtl] ion-item::part(detail-icon),
|
||||
[dir=rtl] ion-icon.item-detail-icon {
|
||||
transform: scaleX(-1);
|
||||
}
|
||||
|
||||
// Buttons.
|
||||
ion-button, button, [role="button"] {
|
||||
ion-button,
|
||||
ion-fab-button,
|
||||
button,
|
||||
[role="button"] {
|
||||
min-height: var(--a11y-min-target-size);
|
||||
min-width: var(--a11y-min-target-size);
|
||||
}
|
||||
|
@ -203,7 +208,7 @@ ion-toolbar {
|
|||
// Modals.
|
||||
.core-modal-fullscreen .modal-wrapper {
|
||||
position: absolute;
|
||||
// @todo @include position(0 !important, null, null, 0 !important);
|
||||
@include position(0 !important, null, null, 0 !important);
|
||||
display: block;
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
|
@ -215,11 +220,10 @@ ion-toolbar {
|
|||
|
||||
@media only screen and (min-height: 400px) and (min-width: 300px) {
|
||||
.core-modal-lateral {
|
||||
// @todo @include core-split-area-end();
|
||||
|
||||
.modal-wrapper {
|
||||
position: absolute;
|
||||
@include position(0 !important, 0 !important, 0 !important, auto);
|
||||
@include position(0 !important, 0 !important, 0 !important, unset !important);
|
||||
display: block;
|
||||
height: 100% !important;
|
||||
width: auto;
|
||||
|
@ -422,6 +426,16 @@ ion-select::part(text) {
|
|||
text-decoration: underline;
|
||||
}
|
||||
|
||||
core-block ion-item-divider .core-button-spinner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@include margin-horizontal(10px);
|
||||
|
||||
ion-badge.core-course-download-courses-progress {
|
||||
@include margin(null, 12px, null, null);
|
||||
}
|
||||
}
|
||||
|
||||
// Horizontal scrolling elements
|
||||
.core-horizontal-scroll {
|
||||
display: flex;
|
||||
|
|
Loading…
Reference in New Issue